CN116755747A - Software development and upgrade management method and device and electronic equipment - Google Patents

Software development and upgrade management method and device and electronic equipment Download PDF

Info

Publication number
CN116755747A
CN116755747A CN202311030322.6A CN202311030322A CN116755747A CN 116755747 A CN116755747 A CN 116755747A CN 202311030322 A CN202311030322 A CN 202311030322A CN 116755747 A CN116755747 A CN 116755747A
Authority
CN
China
Prior art keywords
software
coupling
tie
version
product
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311030322.6A
Other languages
Chinese (zh)
Other versions
CN116755747B (en
Inventor
尹相柱
马辉
赖崇峰
邱建文
杨嘉俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Delian Minghai New Energy Co ltd
Original Assignee
Shenzhen Delian Minghai New Energy Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Delian Minghai New Energy Co ltd filed Critical Shenzhen Delian Minghai New Energy Co ltd
Priority to CN202311030322.6A priority Critical patent/CN116755747B/en
Publication of CN116755747A publication Critical patent/CN116755747A/en
Application granted granted Critical
Publication of CN116755747B publication Critical patent/CN116755747B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

The application relates to the technical field of software development of databases, in particular to a method and a device for managing software development and upgrading and electronic equipment. According to the method, a network data structure of the software is maintained by establishing a related tie database, before the software or the product is upgraded, according to the upgrading tie and the coupling tie, the upgrading relation and the coupling relation between the software are searched, the couplable software is selected for upgrading, and meanwhile, the corresponding change of the product version is controlled when the software version is changed, so that the upgrading of the software version can be easily maintained, the maintenance cost of engineers on software version management is greatly reduced, and the efficiency of software version management is improved. In addition, based on the established association tie database, the existing software can easily search the compatibility relation in the product, thereby providing stability guarantee for the production assembly of the product and the after-sales maintenance of the product, and improving the traceability of version iteration and software version iteration.

Description

Software development and upgrade management method and device and electronic equipment
Technical Field
The application relates to the technical field of software development of databases, in particular to a method and a device for managing software development and upgrading and electronic equipment.
Background
The iterative upgrade of software is the stage that each software must pass since release. Whether it be a function change, performance optimization, BUG fix, or other requirement that a software change be made, will cause the software to perform an upgraded version of the action.
When a product (or system) contains a plurality of software which are independently developed, independently operated and have high coupling degree functionally, and part of the software exists in other products, the software is upgraded, so that not only all the related products, but also the compatibility among the functional coupling software are considered, and the version iteration of each software is required to be clearly known, otherwise, the upgrading iteration can cause abnormal problems of all the related products which are normally used, and the system or the product can be paralyzed in operation in serious cases.
From the perspective of a software development engineer, software upgrades are typically evaluated by the development engineer, and the engineer can easily manage each associated product version when there is only a small amount of product in one piece of software. However, in practice, a lot of products are related to one piece of software, so that development engineers are very hard to manage, and a plurality of pieces of software are updated at the same time, so that due to high coupling degree between the pieces of software, the development engineers have very hard to deal with the problem of software compatibility of each product. In addition, the maintenance and upgrade of the software can also have personnel variation, and when personnel for upgrading and maintaining do not know the coupling association relationship between the software and the iteration relationship of the software, the upgrading can become harder.
In the product assembly angle, a product is composed of a plurality of hardware modules, each hardware module needs to download corresponding software, and the product assembly is to combine the hardware modules with the software to form the product. However, compatibility problems arise due to other factors, such as the fact that the software is downloaded to the corresponding hardware module prior to assembly, and that the corresponding software in the hardware module is not the most current version. Such as: assuming that the product contains 2 pieces of software, namely software a and software b, each piece of software starts from a version V1, 5 versions of V1 to V5 of the software a are arranged on the hands of a product assembler, 50 assembly modes are assembled and combined, and some assembly modes can lead to the product not to normally operate, and the assembly cannot be carried out, so that incompatibility can be caused.
In addition, as the number of software is increased and the number of iterative versions of the software is increased, more complicated situations can occur, so that the production/maintenance cost is increased and the period is prolonged.
Disclosure of Invention
The embodiment of the application mainly solves the technical problems that incompatibility or product abnormality often occurs in the current software upgrading method.
In order to solve the technical problems, one technical scheme adopted by the embodiment of the application is as follows: the software development upgrade management method comprises the following steps: establishing a related tie database of product software, wherein the related tie database comprises related ties with two dimensions, one is aimed at coupling ties among different software which are coupled with each other in each product, and the other is aimed at upgrading ties among different products, which are identical in software but different in version; detecting whether a specific product is updated currently; if not, upgrading the specific software and the unspecified coupling tie; if yes, upgrading the specific software in the specific coupling tie.
Optionally, the establishing the association tie database of the product software includes: acquiring at least one product and software corresponding to the product, wherein the product comprises product information consisting of a product type and a product version, and the software comprises software information consisting of a software type and a software version; establishing a software node according to the software information, and associating the software node according to the product information to obtain a coupling tie corresponding to each product; according to the software information, associating the software nodes of the same software type and different software versions to obtain upgrading bands corresponding to each software; the coupling ligament and the upgrade ligament together form a database of a mesh data structure.
Optionally, the upgrading the specific software and the unspecified coupling tie includes: determining at least one piece of software to be upgraded as target software; searching the highest-order version of the target software in the associated tie database; and upgrading the target software based on the highest-order version to form a new coupling tie and updating an upgrading tie corresponding to the target software.
Optionally, the method further comprises: highlighting the target software of the highest-order version; and/or displaying the highest-order version of the target software and the coupling tie related to the target software, and hiding the coupling tie related to the non-target software and the non-target software.
Optionally, the upgrading the specific software in the specific coupling tie includes: determining a coupling tie to be upgraded as a first coupling tie, determining software to be upgraded as target software, and determining other software except the target software in the first coupling tie as first coupling software; searching the same type of coupling tie of the first coupling tie in the associated tie database; searching target software of a highest-order version according to the first coupling tie and the same type of coupling tie, wherein the target software of the highest-order version is target software of a first version; searching whether target software higher than the first version target software exists in the associated tie database; if higher-order target software exists, determining the higher-order target software as second version target software, and determining a coupling tie where the higher-order target software is located as the second coupling tie, wherein other software except the target software in the second coupling tie is second coupling software; upgrading based on the second version of target software to obtain a new version of target software, wherein the new version of target software can simultaneously couple the first coupling software and the second coupling software; a new coupling ligament is formed and the upgrade ligament is updated.
Optionally, if there are at least two higher-order target software, and the coupling bands where the at least two higher-order target software are located are of different types, the method further includes: selecting one or more of the at least two higher-order target software as second-version target software, and determining a coupling tie where the second-version target software is located as the second coupling tie, wherein other software except the target software in the second coupling tie is second coupling software; upgrading based on the second version of target software to obtain a new version of target software, wherein the new version of target software can simultaneously couple the first coupling software and the second coupling software; a new coupling ligament is formed and the upgrade ligament is updated.
Optionally, if there is a higher-order target software and at least two coupling ties where the higher-order target software is located belong to heterogeneous coupling ties of the same type, the method further includes: determining the target software as second-version target software, and selecting a coupling tie of a highest-order version of at least two coupling ties as the second coupling tie, wherein other software except the target software in the second coupling tie is second coupling software; upgrading based on the second version of target software to obtain a new version of target software, wherein the new version of target software can simultaneously couple the first coupling software and the second coupling software; a new coupling ligament is formed and the upgrade ligament is updated.
In order to solve the technical problems, another technical scheme adopted by the embodiment of the application is as follows: provided is a software development upgrade management apparatus including: the database module is used for establishing a related tie database of product software, and the related tie database comprises related ties with two dimensions, namely a coupling tie between different software which are coupled with each other in each product, and an upgrading tie between the same software and different versions for different products; the upgrade detection module is used for detecting whether a specific product is upgraded currently; the first upgrading module is used for upgrading the specific software and the unspecified coupling tie when upgrading the unspecified product in the associated tie database; and the second upgrading module is used for upgrading specific software in the specific coupling tie when upgrading a specific product in the associated tie database.
In order to solve the above technical problems, another technical solution adopted by the embodiment of the present application is: there is provided an electronic device including: at least one processor; a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the software development upgrade management method described above.
In order to solve the above technical problems, another technical solution adopted by the embodiment of the present application is: there is provided a non-transitory computer-readable storage medium storing computer-executable instructions for causing a computer to execute the software development upgrade management method described above.
Different from the situation of related technology, the embodiment of the application provides a software development upgrade management method, a device and electronic equipment. The method comprises the steps of establishing an association tie database comprising association ties with two dimensions, wherein one is aimed at the coupling ties among different software which are coupled with each other in each product, and the other is aimed at the upgrading ties among different products, of the same software but different versions; before upgrading the software or the product, according to the upgrading tie and the coupling tie, firstly searching the upgrading relation and the coupling relation between the software, then selecting the couplable software for upgrading, and simultaneously controlling the corresponding change of the product version when the software version is changed. Therefore, the upgrade of the software version can be easily maintained, the maintenance cost of engineers on the software version management is greatly reduced, and the efficiency of the software version management is improved. In addition, based on the established association tie database, the existing software can easily search the compatibility relation in the product, stability guarantee is provided for production and assembly of the product and after-sales maintenance of the product, the risk that the product cannot be normally used or even damaged when the internal software of the product is incompatible is avoided, and meanwhile traceability of version iteration and software version iteration is improved.
Drawings
One or more embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which the figures of the drawings are not to scale, unless expressly stated otherwise.
FIG. 1 is a schematic flow chart of a software development upgrade management method according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a method for creating an association tie database according to an embodiment of the present application;
FIG. 3 is a frame structure diagram of an energy storage power supply according to an embodiment of the present application;
FIGS. 4 a-4 e are diagrams illustrating two product software upgrades and associated tie database creation processes according to embodiments of the present application;
FIG. 5 is a schematic diagram of a method for upgrading specific software according to an embodiment of the present application;
FIGS. 6a and 6b are examples of the corresponding associated tie database of FIG. 5 before and after upgrades;
FIG. 7 is a schematic diagram of a method for upgrading specific software in specific ones of the coupling ties provided by an embodiment of the present application;
FIGS. 8a and 8b are examples of the corresponding associated tie database of FIG. 7 before and after an upgrade;
FIG. 9 is a schematic diagram of another method for upgrading specific software in specific ones of the coupling ties provided by an embodiment of the present application;
FIGS. 10a and 10b are examples of the corresponding associated tie database of FIG. 9 before and after an upgrade;
FIG. 11 is a schematic diagram of yet another method for upgrading specific software in specific ones of the coupling ties provided by an embodiment of the present application;
FIGS. 12a and 12b are examples of the corresponding associated tie database of FIG. 11 before and after upgrades;
FIG. 13 is a schematic diagram of a software development upgrade management apparatus according to an embodiment of the present application;
fig. 14 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application. It should be noted that, if not in conflict, the features of the embodiments of the present application may be combined with each other, which are all within the protection scope of the present application. In addition, while the division of functional blocks is performed in a device diagram and the logic sequence is shown in a flowchart, in some cases, the steps shown or described may be performed in a different order than the block division in a device diagram or the sequence in a flowchart.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The term "and/or" as used in this specification includes any and all combinations of one or more of the associated listed items. The present application has been made keeping in mind the above problems occurring in the prior art, and has been accomplished by the present inventors through a practical and intensive study, so that the discovery process of the above problems and the solutions to the problems hereinafter proposed by the present application should be all contributions of the present inventors to the present application during the course of the present disclosure.
Referring to fig. 1, an embodiment of the present application provides a software development upgrade management method, by creating and maintaining a mesh data structure of software, before upgrading software or a product, according to an upgrade tie and a coupling tie, searching an upgrade relationship and a coupling relationship between software, and then selecting couplable software for upgrading, and at the same time, controlling a change corresponding to a product version when the software version is changed, the method includes:
S11, establishing a related tie database of product software, wherein the related tie database comprises related ties with two dimensions, namely a coupling tie between different software which are coupled with each other in each product, and an upgrading tie between the same software and different versions for different products.
Specifically, referring to fig. 2, the creating the association tie database of the product software includes:
s111, acquiring at least one product and software corresponding to the product. The product includes product information consisting of a product type and a product version, and the software includes software information consisting of a software type and a software version.
To make the structure of the database clear, the product and software can be divided into two hierarchical levels, such as: assume that (A.V1) is taken as a product code, wherein A represents a product model, and V1 represents a product version; let (a.01) be the software code, where a represents the software type and 01 represents the software version. In other embodiments, the product and software may be divided into multiple onion-like levels (3 or more), such as: assume that (A.100.V1) is taken as a product code, wherein A represents a product category, 100 represents a product model, and V1 represents a product version; let (a.1002.01) be the software code, where a represents the software category, 1002 represents the software model, and 01 represents the software version. Regardless of the hierarchy, the minimum hierarchy of software represents the minimum unit of software promotion. Such as: only the software versions in the plurality of software are different, and the software belongs to the same type of software with different versions; assuming that the software model or software type of the two pieces of software are different, the two pieces of software belong to different pieces of software. Whatever the hierarchy, the minimum hierarchy is different, it is a different product.
S112, establishing a software node according to the software information, and associating the software node according to the product information so as to obtain a coupling tie corresponding to each product.
Each software is defined as a node, and each node has an own unique SN unique identifier, wherein the SN unique identifier is an identifier mode with a version number, is not repeated, and can uniquely mark one software. Taking ARM (1001.01) as an example, ARM is a software category, 1001 is a software model, and 01 is a software version.
Each product contains a plurality of pieces of mutually coupled software, and the mutually coupled pieces of mutually coupled software are connected in a relation to form the product. A coupling tie is actually a product.
Taking a household energy storage power supply as an example, the household energy storage power supply can be classified into: miniature (portable/outdoor) energy storage power supplies, household energy storage power supplies and commercial energy storage power supplies. Each energy storage power supply has different capacity, power and functions, but has similar structure/module, and as shown in fig. 3, the energy storage power supply mainly comprises an energy storage battery, an inversion unit (PCS), a main control unit, a communication unit and a man-machine interaction unit; the main control unit is respectively connected with the energy storage battery, the inversion unit, the communication unit and the man-machine interaction unit, and the inversion unit is connected with the energy storage battery; each part/unit has a separate chip for executing the associated software control algorithm and for implementing the respective function.
The energy storage battery includes a battery pack and a Battery Management System (BMS); the battery pack is responsible for energy storage; the battery management system is commonly called a battery manager and is responsible for the functions of battery detection, evaluation, protection, equalization, communication and the like, and the main algorithms include an SOC/SOH/SOP algorithm, an electric quantity equalization algorithm, an overvoltage and undervoltage protection algorithm and the like.
An inversion unit (PCS) controls the charging and discharging processes of the energy storage battery, realizes electric energy conversion and circuit control, converts alternating current of a power grid into direct current on one hand, prepares for charging the energy storage battery, and has a rectification function; on the other hand, the direct current generated by the photovoltaic power generation or energy storage battery is converted into alternating current, and the alternating current has an inversion function, and related functions are realized by a DSP chip, such as control and algorithm related to grid-connected feed, inversion output control strategy, algorithm and the like.
The main control unit adopts an ARM chip, and comprises an Energy Management System (EMS), wherein the EMS is a brain of a decision center of the whole energy storage power supply, is responsible for data acquisition and analysis, network monitoring and optimal scheduling, gives out a scheduling strategy of multi-scale coordinated control, automatically maintains the stable voltage frequency of the micro-grid, and realizes the effective utilization of renewable energy sources and the safe and economical energy storage power supply through reasonable energy management. The core control strategy comprises a frequency regulation strategy, a voltage regulation strategy, a peak clipping and valley filling strategy, a power grid stirring stabilization strategy, a target load real-time tracking strategy, a planned energy storage processing strategy and the like.
The communication unit adopts an IOT chip to realize the functions related to external communication of the energy storage power supply, such as control, data state display and OTA (over the air technology) upgrading of equipment through Bluetooth, wifi, 4G and the like.
The man-machine interaction unit comprises a man-machine interaction interface and an HMI chip, wherein the man-machine interaction interface is usually a touch display screen, and a user controls state information of equipment operation and controls the equipment and the like through the man-machine interaction unit.
Taking an associated tie database formed by a product as an example, as shown in fig. 4a, for example, the software included in the first version a_v1 of the energy storage power supply a includes ARM1001.01, DSP2001.01, BMS3001.01, HMI4001.01, IOT5001.01, that is, the coupling tie corresponding to the product version a_v1.
S113, associating software nodes of the same software type and different software versions according to the software information so as to obtain upgrading bands corresponding to each piece of software.
And acquiring all software versions corresponding to the software nodes, and associating all software versions to obtain upgrading links corresponding to the software nodes. The upgrade tie is a connection of different versions of the same type of software, i.e., upgrade paths of the same type of software.
Assuming that the ARM engineer initiates an upgrade, and upgrades ARM at the time of product upgrade, the engineer retrieves A_V1 in the mesh data structure, and the engineer determines that A_V1 is upgraded to A_V2, then the upgraded associated ligament database is shown in FIG. 4b, and the second version A_V2 of product A contains software including ARM1001.02, DSP2001.01, BMS3001.01, HMI4001.01 and IOT5001.01, namely the coupling ligament corresponding to the product version A_V2, wherein an upgrade ligament is formed between ARM1001.01 and ARM 1001.02.
The upgrade scenario from fig. 4a to fig. 4b is typically an upgrade initiated for a certain software occurrence due to a BUG repair, a function change, a function addition, etc. Taking an energy storage power supply as an example, one practical application scenario is as follows: after the developed A_V1 product is connected with a solar photovoltaic panel, whether a line of the solar photovoltaic panel is in an on state or not needs to be confirmed through a human-computer interaction interface (touch display screen), and the A_V1 product needs a user to be close to the touch display screen of equipment and shield sunlight to see the display state on the screen clearly under strong outdoor sunlight, so that a development engineer needs to update the version of the product after receiving market feedback, ARM software is updated to ARM1001.02 version, and meanwhile, the product is updated to A_V2 from A_V1, and the following steps are realized: and (3) utilizing the illumination LED lamp on the product A to flash twice after the charging circuit is connected.
Based on the above example, assuming that the BMS initiates the upgrade simultaneously with the DSP engineers, the engineers retrieve A_V1, A_V2 in the mesh data structure, both engineers determine to upgrade A_V2 to A_V3, the upgraded associated ligament database is shown in FIG. 4c, the third version A_V3 of product A contains software ARM1001.02, DSP2001.02, BMS3001.02, HMI4001.01, IOT5001.01, i.e., the coupling ligament corresponding to the product version A_V3. An upgrade tie is also formed between DSP2001.01 and DSP2001.02, and between BMS3001.01 and BMS 3001.02.
Similarly, the upgrade scenario from fig. 4b to fig. 4c generally initiates an upgrade for multiple software simultaneous BUG repair, function change, function addition, and the like. Taking an energy storage power supply as an example, one practical application scenario is as follows: after the developed A_V2 product is connected with the grid, the user power grid is suddenly short-circuited after the market feeds back the product, and the problem that the SOC transient jump of the BMS is recovered is caused by probability, so that two software of the DSP2001.01 and the BMS3001.01 are required to be upgraded to the versions of the DSP2001.02 and the BMS3001.02, and meanwhile, the product is upgraded from the A_V2 to the A_V3.
S114, associating the coupling tie with the upgrading tie to form a database of a mesh data structure.
On the basis of the above example, assuming that there is a new project requirement at this time, a new product is required to be made based on the product a, named as the product B, a new ARM (1002.01) and a new HMI (4002.01) need to be created, and after the product B is created by using the DSP, BMS and IOT of the original product a, a new association tie database is shown in fig. 4d, software corresponding to the first version b_v1 of the product B includes HMI4002.01, ARM1002.01, DSP2001.02, BMS3001.02 and IOT5001.01, that is, coupling ties corresponding to the version b_v1 of the product.
The upgrade scenario from fig. 4c to fig. 4d is generally another requirement situation of an existing product to meet the market, and a product corresponding to the market requirement is derived from the product. Taking an energy storage power supply as an example, compared with a product A, the product B is modified by an ARM hardware peripheral circuit on the product B, a new algorithm is introduced, and a set of brand new UI (User Interface) is used on an HMI screen of the product B; the DSP, BMS, IOT of product B is consistent with the software used by product a, but ARM and HMI are new software developed independently.
Based on the above example, assuming that the IOT engineer upgrades the IOT, the engineer retrieves products a_v1, a_v2, a_v3 and b_v1 in the mesh data structure, the engineer decides to upgrade a_v3 and b_v1, and the upgraded association tie database is shown in fig. 4e, software corresponding to the second version b_v2 of the product B includes HMI4002.01, ARM1002.01, DSP2001.02, BMS3001.02 and IOT5001.02, that is, coupling ties corresponding to the product version b_v2; the software corresponding to the fourth version a_v4 of the product a includes ARM1001.02, DSP2001.02, BMS3001.02, HMI4001.01, IOT5001.02, i.e., a coupling tie corresponding to the product version a_v4, wherein an upgrade tie is also formed between IOT5001.01 and IOT 5001.02.
In the upgrading from fig. 4d to fig. 4e, taking the energy storage power supply as an example, the communication between the IOT and the server of the old product adopts an unencrypted mode, and is easy to attack by hackers to be controlled remotely, so maintenance and upgrading are required for IOT software, the communication mode is changed into secure encrypted communication, IOT5001.01 is upgraded to IOT5001.02, and products a and B are also upgraded to versions a_v4 and b_v2 in a following way.
It should be noted that the association tie database includes association ties of two dimensions, namely a coupling tie and an upgrade tie, one of which is a product for the coupling ties between different software that are coupled to each other in each product; and the second is to upgrade the tie between different versions of the same software, upgrade the tie to different products.
When each software type in the plurality of coupling bands is the same and only the version of the software is different, the plurality of coupling bands are of the same type (same type of product), e.g., products a_v1 and a_v2 in fig. 4b belong to the same type of product; when one of the software types is different in the plurality of coupling bands, the plurality of coupling bands are of different types (different types of products), for example, products a_v1 and b_v1 in fig. 4d belong to different types of products.
The database as above may be stored in a remote server or a local server for access, download and update.
S12, detecting whether a specific product is updated currently.
Whether a particular product is upgraded, i.e., whether a particular coupling tie in the associated tie database is upgraded.
If not, step S13 is executed to upgrade the specific software and the unspecified coupling tie. Specifically, referring to fig. 5, the upgrading the specific software, and the unspecified coupling band includes:
s131, determining at least one piece of software to be upgraded as target software. At this time, the software may be directly upgraded to be an access point, and the software to be upgraded is determined to be the target software, and it may be understood that the software to be upgraded may be one or more.
S132, searching the highest-order version of the target software in the associated tie database.
Wherein, because there may be multiple coupling bands and multiple upgrading bands in the database, in order to facilitate the engineer to confirm the target software, after searching the highest-order version of the target software, the method may further include:
a. highlighting the highest-order version of the target software. For example in different colours, blinking, bolding etc.
And/or the number of the groups of groups,
b. and displaying the highest-order version of the target software and the coupling tie related to the target software, and hiding the coupling tie related to the non-target software and the non-target software.
And S133, upgrading the target software based on the highest-order version to form a new coupling tie and updating an upgrading tie corresponding to the target software.
Assuming that, because of product requirement upgrade, engineers responsible for the type initiate upgrade for specific software separately, please take specific software a.1001 and unspecified coupling bands in the associated band database shown in fig. 6a as an example to upgrade, determine the software a.1001 to be upgraded as target software, find the highest-order version of the target software a.1001 in the database as 03, upgrade the new version of the target software a.1001 on the basis of the highest-order version 03, form new coupling bands and upgrade bands, and upgrade the upgrade bands.
Only A.V4 in the associated ligament database shown in the figure contains target software, so that only a new coupling ligament A.V5 is generated and an upgrade ligament is updated: (a.1001.01) → (a.1001.02) → (a.1001.03) → (a.1001.04), and the updated associated tie database is shown in fig. 6 b. When there are multiple coupling ties including the target software, all or part of the coupling ties containing the target software are updated.
In general, the coupling tie (type product) where the highest version of the target software is located is generally the latest product model, and the updating iteration is performed on the latest product model in general, so that the old product model can be avoided. Based on this, in some cases, there may be a case where the highest version of the target software exists only in the type B product, but not in the type a product (i.e., the type a product does not have the highest version of the target software), and thus, the upgrade is performed according to the above-described upgrade step, which is equivalent to upgrading only the type B product, not the type a product.
If yes, step S14 is executed to upgrade the specific software in the specific coupling link.
Specifically, as shown in fig. 7, the upgrading specific software in the specific coupling band includes:
s141, determining a coupling tie to be upgraded as a first coupling tie, determining software to be upgraded as target software, and determining other software except the target software in the first coupling tie as first coupling software.
S142, searching the same type of coupling tie of the first coupling tie in the associated tie database. Wherein each software type of the same type of coupling tie and the first coupling tie is the same and only the version of the software is different.
S143, searching target software of the highest-order version according to the first coupling tie and the same-type coupling tie, wherein the target software of the highest-order version is the target software of the first version.
In order to facilitate the engineer to confirm the first version of the target software, after the first version of the target software is found, the first version of the target software can be highlighted, for example, the first version of the target software is highlighted in different colors, flickering, thickening and the like; or hiding the original association tie database, and directly displaying the first version of target software and the related coupling ties.
S144, searching whether target software higher than the first version target software exists in the associated tie database.
If there is a higher-order target software, step S1451 is executed to determine the higher-order target software as a second version target software, and determine a coupling tie where the higher-order target software is located as the second coupling tie, where the other software in the second coupling tie except for the higher-order target software is the second coupling software.
S146, upgrading based on the second version of target software to obtain a new version of target software, wherein the new version of target software can simultaneously couple the first coupling software and the second coupling software;
S147, forming a new coupling tie and updating the upgrade tie.
Referring to fig. 8a and 8b, taking upgrading c.v1 in fig. 8a as an example, determining the coupling ligament c.v1 to be upgraded as a first coupling ligament, the software c.3001 to be upgraded as target software, and other software a.1001 and b.2001 in the first coupling ligament except the target software as first coupling software.
And searching the same-type coupling tie C.V2 of the first coupling tie in the associated tie database, and searching the highest-order version target software c.3001.02 in the first coupling tie C.V1 and the same-type coupling tie C.V2 as first-version target software, namely, searching the highest-order version target software c.3001.02 in the same-type product.
Whether there is higher-order object software than the first version object software is searched in the associated tie database, and in this embodiment, the result of the search is that there is a higher-order object software, c.3001.03. At this time, c.3001.03 is used as the second version of target software to find higher-order target software than the first version of target software in the heterogeneous product; the coupling tie D.V1 is a second coupling tie, and b.2001.01 and d.4001.01 in the second coupling tie are second coupling software.
The new version of the target software is updated, and the updated associated tie database is shown in fig. 8b, so that the new version of the target software (c.3001.04) can simultaneously couple the first coupling software (a.1001.01, b.2001.01) and the second coupling software (b.2001.01, d.4001.01), simultaneously form new coupling ties c.v3 and d.v2, and update the updated tie (c.3001.01) → (c.3001.02) → (c.3001.03) → (c.3001.04).
Unlike the examples of fig. 6a and 6b, the example of fig. 6a does not specify a product type, and the example of fig. 8a and 8b specifies a product type (upgrade c.v1), and in addition to updating the product (c.v1) of the type, other types of products (d.v1) where the target software of the highest-order version is located are required to be compatible, so that new target software compatible with both the product of the type and other types of products is updated.
In some embodiments, as shown in fig. 9, if there are at least two higher-order target software and the coupling ties where the at least two higher-order target software is located are of different types (i.e., there are multiple heterogeneous coupling ties), step S1452 is performed to select one or more of the at least two higher-order target software as a second version target software, and determine the coupling tie where the second version target software is located as the second coupling tie, where the other software in the second coupling tie except for the target software is a second coupling software. And based on the obtained second version of the target software and the second coupling tie, continuing to perform step S146 and step S147.
Referring to fig. 10a and fig. 10b, taking upgrading e.v1 in fig. 10a as an example, determining the coupling tie e.v1 to be upgraded as a first coupling tie, where the software g.3001 to be upgraded is target software, and other software e.1001 and f.2001 in the first coupling tie except the target software is first coupling software.
And searching the same type of coupling tie E.V2 of the first coupling tie in the associated tie database, and searching the highest-order version of target software g.3001.02 in the first coupling tie E.V1 and the same type of coupling tie E.V2 as the first-version of target software, namely, searching the highest-order version of target software g.3001.02 in the same type of product.
In this embodiment, the search result is that there are two higher-order target software, g.3001.03 and g.3001.04, and the coupling ties where the two higher-order target software are located are of different types (i.e. there are multiple different types of coupling ties). At this time, g.3001.03 and the coupling tie f.v1 where it is located, and/or g.3001.04 and the coupling tie g.v1 where it is located are used as the second version of the target software and the second coupling tie, and (f.2001.01, h.4001.01) and/or (e.1001.01, h.4001.01) in the second coupling tie are used as the second coupling software.
The target software is updated with a new version, and the updated database is shown in fig. 10b, so that the new version of the target software (g.3001.05) can simultaneously couple the first coupling software (e.1001.01 and f.2001.01) and the second coupling software (f.2001.01, h.4001.01) and/or (e.1001.01, h.4001.01), and form new coupling ties e.v3, f.v2 and/or g.v2 and update the upgrading ties (g.3001.01) → (g.3001.02) → (g.3001.03) → (g.3001.04) → (g.3001.05).
In some embodiments, as shown in fig. 11, if there is a higher-order target software, and at least two coupling ties where the higher-order target software is located belong to a heterogeneous coupling tie of the same type, step S1453 is performed to determine the higher-order target software as a second version of the target software, and select a coupling tie of a highest-order version of the at least two coupling ties as the second coupling tie, where other software than the target software in the second coupling tie is second coupling software. And based on the obtained second version of the target software and the second coupling tie, continuing to perform step S146 and step S147.
Referring to fig. 12a and 12b, taking the upgrade of j.v1 in fig. 12a as an example, the coupling ligament j.v1 to be upgraded is determined as a first coupling ligament, the software m.3001 to be upgraded is target software, and other software j.1001 and k.2001 in the first coupling ligament except the target software are first coupling software.
And searching the same type of coupling tie J.V2 of the first coupling tie in the associated tie database, and searching the highest-order version of target software m.3001.02 in the first coupling tie J.V1 and the same type of coupling tie J.V2 as the first-version of target software, namely, searching the highest-order version of target software m.3001.02 in the same type of product.
In this embodiment, the result of the search is that there is a higher-order target software, m.3001.03, and two coupling ties k.v1 and k.v2 where the higher-order target software is located belong to the same type of heterogeneous coupling tie (k.v1 and k.v2 are heterogeneous with respect to j.v1). At this time, m.3001.03 and the coupling tie k.v2 where it is located are taken as the second version of the target software and the second coupling tie, and k.2001.01 and n.4001.02 in the second coupling tie are taken as the second coupling software.
The new version of the target software is updated, and the updated database is shown in fig. 12b, so that the new version of the target software (m.3001.04) can simultaneously couple the first coupling software (j.1001.01 and k.2001.01) and the second coupling software (k.2001.01 and n.4001.02), simultaneously form new coupling ties j.v3 and k.v2 and update the update ties (m.3001.01) → (m.3001.02) → (m.3001.03) → (m.3001.04).
According to the software development upgrading management method provided by the embodiment of the application, the mesh data structure of the software is established and maintained, before the software or the product is upgraded, according to the upgrading tie and the coupling tie, the upgrading relation and the coupling relation between the software are searched, the couplable software is selected for upgrading, and meanwhile, the corresponding change of the product version is controlled during the change of the software version. Therefore, the upgrade of the software version can be easily maintained, the maintenance cost of engineers on the software version management is greatly reduced, and the efficiency of the software version management is improved. In addition, based on the established association tie database, the existing software can easily search the compatibility relation in the product, stability guarantee is provided for production and assembly of the product and after-sales maintenance of the product, the risk that the product cannot be normally used or even damaged when the internal software of the product is incompatible is avoided, and meanwhile traceability of version iteration and software version iteration is improved.
An embodiment of the present application provides a software development upgrade management apparatus, as shown in fig. 13, the software development upgrade management apparatus 200 includes: a database module 21, an upgrade detection module 22, a first upgrade module 23, and a second upgrade module 24.
In particular, the database module 21 may build an associated tie database of product software, the associated tie database including coupling ties. The upgrade detection module 22 may detect whether a particular of the coupling ties in the associated tie database is currently being upgraded. The first upgrade module 23 may upgrade specific software and the unspecified coupling tie when upgrading the unspecified coupling tie in the associated tie database. The second upgrade module 24 may upgrade specific software in a specific one of the coupling ties when upgrading the specific one of the coupling ties in the associated tie database.
It should be noted that, the software development upgrade management device may execute the software development upgrade management method provided by the embodiment of the present application, and has the corresponding functional modules and beneficial effects of the execution method. Technical details which are not described in detail in the embodiments of the software development and upgrade management apparatus may be referred to the software development and upgrade management apparatus provided in the embodiments of the present application.
Referring to fig. 14, fig. 14 is a schematic structural diagram of an electronic device 300 according to an embodiment of the present application, and the electronic device 300 may be used to execute the software development upgrade management method described above. The electronic device 300 includes:
At least one processor 31, and a memory 32 communicatively coupled to the at least one processor 31, one processor 31 being illustrated in fig. 13.
The processor 31 and the memory 32 may be connected by a bus or otherwise, which is illustrated in fig. 13 as a bus connection.
The memory 32 is used as a non-volatile computer readable storage medium for storing non-volatile software programs, non-volatile computer executable programs, and modules, such as program instructions/modules corresponding to the software development upgrade management method in the embodiment of the present application. The processor 31 executes various functional applications of the server and data processing by running nonvolatile software programs, instructions, and modules stored in the memory 32, that is, implements the above-described method embodiment software development upgrade management method.
The memory 32 may include a storage program area that may store an operating system, at least one application program required for functions, and a storage data area; the storage data area may store data created according to the use of the firmware system, and the like. In addition, memory 32 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 32 may optionally include memory located remotely from processor 31, which may be connected to the firmware system via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The one or more modules are stored in the memory 32 and when executed by the one or more processors 31 perform the software development upgrade management method of any of the method embodiments described above, e.g., perform the method steps described above and implement the functions of the modules in fig. 13.
The product can execute the software development upgrading management method provided by the embodiment of the application, and has the corresponding functional modules and beneficial effects of the execution method. Technical details which are not described in detail in the present embodiment can be referred to the software development upgrade management method provided in the embodiment of the present application.
From the above description of embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus a general purpose hardware platform, or may be implemented by hardware. Those skilled in the art will appreciate that implementing all or part of the above described embodiment methods may be accomplished by way of computer program in a computer program product for instructing a relevant apparatus to carry out the above described embodiment methods. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting; the technical features of the above embodiments or in the different embodiments may also be combined within the idea of the application, the steps may be implemented in any order, and there are many other variations of the different aspects of the application as described above, which are not provided in detail for the sake of brevity; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the application.

Claims (10)

1. The software development upgrading management method is characterized by comprising the following steps of:
establishing a related tie database of product software, wherein the related tie database comprises related ties with two dimensions, one is aimed at coupling ties among different software which are coupled with each other in each product, and the other is aimed at upgrading ties among different products, which are identical in software but different in version;
Detecting whether a specific product is updated currently;
if not, upgrading the specific software and the unspecified coupling tie;
if yes, upgrading the specific software in the specific coupling tie.
2. The method of claim 1, wherein the creating an associated tie database of product software comprises:
acquiring at least one product and software corresponding to the product, wherein the product comprises product information consisting of a product type and a product version, and the software comprises software information consisting of a software type and a software version;
establishing a software node according to the software information, and associating the software node according to the product information to obtain a coupling tie corresponding to each product;
according to the software information, associating the software nodes of the same software type and different software versions to obtain upgrading bands corresponding to each software;
the coupling ligament and the upgrade ligament together form a database of a mesh data structure.
3. The method of claim 1 or 2, wherein the upgrading the specific software, the unspecified coupling tie comprises:
Determining at least one piece of software to be upgraded as target software;
searching the highest-order version of the target software in the associated tie database;
and upgrading the target software based on the highest-order version to form a new coupling tie and updating an upgrading tie corresponding to the target software.
4. A method according to claim 3, characterized in that the method further comprises:
highlighting the target software of the highest-order version; and/or the number of the groups of groups,
and displaying the highest-order version of the target software and the coupling tie related to the target software, and hiding the coupling tie related to the non-target software and the non-target software.
5. The method of claim 1 or 2, wherein the upgrading of particular software in particular ones of the coupling ties comprises:
determining a coupling tie to be upgraded as a first coupling tie, determining software to be upgraded as target software, and determining other software except the target software in the first coupling tie as first coupling software;
searching the same type of coupling tie of the first coupling tie in the associated tie database;
searching target software of a highest-order version according to the first coupling tie and the same type of coupling tie, wherein the target software of the highest-order version is target software of a first version;
Searching whether target software higher than the first version target software exists in the associated tie database;
if higher-order target software exists, determining the higher-order target software as second version target software, and determining a coupling tie where the higher-order target software is located as the second coupling tie, wherein other software except the higher-order target software in the second coupling tie is second coupling software;
upgrading based on the second version of target software to obtain a new version of target software, wherein the new version of target software can simultaneously couple the first coupling software and the second coupling software;
a new coupling ligament is formed and the upgrade ligament is updated.
6. The method of claim 5, wherein if there are at least two higher order target software and the coupling tie in which the at least two higher order target software is located is of a different type, the method further comprises:
selecting one or more of the at least two higher-order target software as second-version target software, and determining a coupling tie where the second-version target software is located as the second coupling tie, wherein other software except the target software in the second coupling tie is second coupling software;
Upgrading based on the second version of target software to obtain a new version of target software, wherein the new version of target software can simultaneously couple the first coupling software and the second coupling software;
a new coupling ligament is formed and the upgrade ligament is updated.
7. The method of claim 5, wherein if there is a higher-order target software and at least two coupling ties in which the higher-order target software is located are heterogeneous coupling ties of the same type, the method further comprises:
determining the higher-order target software as second-version target software, and selecting a coupling tie of a highest-order version of at least two coupling ties as the second coupling tie, wherein other software except the target software in the second coupling tie is second coupling software;
upgrading based on the second version of target software to obtain a new version of target software, wherein the new version of target software can simultaneously couple the first coupling software and the second coupling software;
a new coupling ligament is formed and the upgrade ligament is updated.
8. A software development upgrade management apparatus, comprising:
The database module is used for establishing a related tie database of product software, and the related tie database comprises related ties with two dimensions, namely a coupling tie between different software which are coupled with each other in each product, and an upgrading tie between the same software and different versions for different products;
the upgrade detection module is used for detecting whether a specific product is upgraded currently;
the first upgrading module is used for upgrading the specific software and the unspecified coupling tie when upgrading the unspecified product in the associated tie database;
and the second upgrading module is used for upgrading specific software in the specific coupling tie when upgrading a specific product in the associated tie database.
9. An electronic device, comprising:
at least one processor;
a memory communicatively coupled to the at least one processor;
wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the software development upgrade management method of any one of claims 1-7.
10. A non-transitory computer-readable storage medium storing computer-executable instructions for causing a computer to perform the software development upgrade management method according to any one of claims 1-7.
CN202311030322.6A 2023-08-16 2023-08-16 Software development and upgrade management method and device and electronic equipment Active CN116755747B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311030322.6A CN116755747B (en) 2023-08-16 2023-08-16 Software development and upgrade management method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311030322.6A CN116755747B (en) 2023-08-16 2023-08-16 Software development and upgrade management method and device and electronic equipment

Publications (2)

Publication Number Publication Date
CN116755747A true CN116755747A (en) 2023-09-15
CN116755747B CN116755747B (en) 2023-10-24

Family

ID=87949994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311030322.6A Active CN116755747B (en) 2023-08-16 2023-08-16 Software development and upgrade management method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN116755747B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060559A1 (en) * 2015-08-25 2017-03-02 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
US20190250898A1 (en) * 2018-02-09 2019-08-15 Forescout Technologies, Inc. Enhanced device updating
CN111045708A (en) * 2019-12-20 2020-04-21 新华三大数据技术有限公司 Software upgrading method, electronic device and computer readable storage medium
CN112783542A (en) * 2021-02-04 2021-05-11 华东交通大学 Software upgrading method and device and readable storage medium
US20220236973A1 (en) * 2021-01-22 2022-07-28 Dell Products L.P. Automated software upgrade download control based on device issue analysis
CN114816509A (en) * 2022-04-29 2022-07-29 蚂蚁区块链科技(上海)有限公司 Block chain version compatibility verification method and device and electronic equipment
CN116088893A (en) * 2022-12-08 2023-05-09 北京知道创宇信息技术股份有限公司 Upgrade package generation method, device, electronic equipment and computer readable storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060559A1 (en) * 2015-08-25 2017-03-02 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
US20190250898A1 (en) * 2018-02-09 2019-08-15 Forescout Technologies, Inc. Enhanced device updating
CN111045708A (en) * 2019-12-20 2020-04-21 新华三大数据技术有限公司 Software upgrading method, electronic device and computer readable storage medium
US20220236973A1 (en) * 2021-01-22 2022-07-28 Dell Products L.P. Automated software upgrade download control based on device issue analysis
CN112783542A (en) * 2021-02-04 2021-05-11 华东交通大学 Software upgrading method and device and readable storage medium
CN114816509A (en) * 2022-04-29 2022-07-29 蚂蚁区块链科技(上海)有限公司 Block chain version compatibility verification method and device and electronic equipment
CN116088893A (en) * 2022-12-08 2023-05-09 北京知道创宇信息技术股份有限公司 Upgrade package generation method, device, electronic equipment and computer readable storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
倪俊: "整车软件版本集成管理方法", 上海汽车, no. 02, pages 39 - 42 *

Also Published As

Publication number Publication date
CN116755747B (en) 2023-10-24

Similar Documents

Publication Publication Date Title
CN108288855B (en) Dynamic strategy simulation and optimization method based on micro-grid
CN101741143B (en) Method for realizing integral configuration of electric automation system
EP3207615B1 (en) Power path information generation device, method for generating power path information, and computer program
CN113347225B (en) OTA (over the air) upgrading method and server for terminal equipment of Internet of things
CN104505820B (en) Based on the power distribution network intelligent reconstruction method that multi-information correlation is utilized
CN101916194A (en) Method for deploying node procedure of wireless sensing network
CN103874113A (en) Wireless network maintenance method, device and system
CN103631627A (en) Equipment configuration method, configuration-file generation method and configuration system
CN204424942U (en) Charging of mobile devices device
CN108616124B (en) Power distribution network reconstruction calculation method based on ordered binary decision diagram
CN103605814A (en) Information processing method and information processing system in substation transformation process
CN114725926A (en) Toughness-improvement-oriented black start strategy for distributed resource-assisted main network key nodes
CN116755747B (en) Software development and upgrade management method and device and electronic equipment
CN116742678A (en) Comprehensive energy management system of master-slave control architecture and predictive control method
Giannelos et al. Option value of dynamic line rating and storage
CN116737208B (en) Software maintenance upgrade management method and device and electronic equipment
CN106849263A (en) A kind of power supply unit, electric power system, method of supplying power to
CN104407885A (en) Method for simultaneously loading programs for FPGA (field programmable gate array) in multiple pattern generators
CN111476487A (en) Self-adaptive energy management method and device based on block chain and equipment
CN112835647B (en) Application software configuration method, configuration device, storage medium and electronic device
CN115333113A (en) Electric power allotment system based on machine learning
CN109657332B (en) Method and system for decoupling electromagnetic transient automatic modeling of large-scale power grid
CN114237880A (en) Flexible resource planning method and terminal based on CG & S distributed computing method
Jia Design and implementation of MAS in renewable energy power generation system
KR20210046263A (en) Distribution operation system of application program for distribution analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Yin Xiangzhu

Inventor after: Ma Hui

Inventor after: Lai Chongfeng

Inventor after: Qiu Jianwen

Inventor after: Yang Jiajun

Inventor before: Yin Xiangzhu

Inventor before: Ma Hui

Inventor before: Lai Chongfeng

Inventor before: Qiu Jianwen

Inventor before: Yang Jiajun

CB03 Change of inventor or designer information