CN117032756A - Software updating method and device, electronic equipment and storage medium - Google Patents

Software updating method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN117032756A
CN117032756A CN202311027679.9A CN202311027679A CN117032756A CN 117032756 A CN117032756 A CN 117032756A CN 202311027679 A CN202311027679 A CN 202311027679A CN 117032756 A CN117032756 A CN 117032756A
Authority
CN
China
Prior art keywords
module
updated
software
software version
file
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.)
Pending
Application number
CN202311027679.9A
Other languages
Chinese (zh)
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.)
FAW Group Corp
Original Assignee
FAW Group Corp
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 FAW Group Corp filed Critical FAW Group Corp
Priority to CN202311027679.9A priority Critical patent/CN117032756A/en
Publication of CN117032756A publication Critical patent/CN117032756A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal 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 invention discloses a software updating method, a device, electronic equipment and a storage medium. The method comprises the following steps: acquiring a file to be used corresponding to a device to be updated; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated; determining a target module to be updated from at least one module to be updated according to a pre-constructed software version tree and a file to be used; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; and updating the software of the target module to be updated based on the update file of the target module to be updated. The problem that in the prior art, the whole domain controller is upgraded, so that the upgrading efficiency is low and the cost is high is solved, the upgrading success rate is improved while the upgrading cost is reduced, and the effect of improving the upgrading efficiency is achieved.

Description

Software updating method and device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of computer processing technologies, and in particular, to a software updating method, a device, an electronic apparatus, and a storage medium.
Background
Along with the development of an automobile electronic and electric architecture, a single function controller gradually evolves into a domain controller integrating a plurality of functions, and the domain controller has higher requirement on system calculation power and more integrated functions, so that the requirement on online upgrading of controller software is gradually increased.
The existing upgrading method in the prior art is used for upgrading the whole domain controller, and the method has the problems of low upgrading efficiency and high cost.
Disclosure of Invention
The invention provides a software updating method, a device, electronic equipment and a storage medium, which are used for realizing the technical effects of reducing the updating cost, improving the updating success rate and improving the updating efficiency.
According to an aspect of the present invention, there is provided a software updating method, the method comprising:
acquiring a file to be used corresponding to a device to be updated; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated;
determining a target module to be updated from the at least one module to be updated according to a pre-constructed software version tree and the file to be used; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; the nodes in the software version tree represent the modules to be updated, and the node information of the nodes comprises historical software version identifiers of the modules to be updated;
And updating the software of the target module to be updated based on the update file of the target module to be updated.
According to another aspect of the present invention, there is provided a software updating apparatus comprising:
the file acquisition module is used for acquiring a file to be used corresponding to the device to be updated; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated;
the target to-be-updated module determining module is used for determining a target to-be-updated module from the at least one to-be-updated module according to a pre-constructed software version tree and the to-be-used file; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; the nodes in the software version tree represent the modules to be updated, and the node information of the nodes comprises historical software version identifiers of the modules to be updated;
and the software updating module is used for carrying out software updating on the target module to be updated based on the updating file of the target module to be updated.
According to another aspect of the present invention, there is provided an electronic apparatus including:
At least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the software updating method of any one of the embodiments of the present invention.
According to another aspect of the present invention there is provided a computer readable storage medium storing computer instructions for causing a processor to perform a software update method of any of the embodiments of the present invention.
According to the technical scheme, the file to be used corresponding to the device to be updated is obtained; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated; determining a target module to be updated from at least one module to be updated according to a pre-constructed software version tree and a file to be used; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; the method solves the problems of low upgrading efficiency and high cost caused by upgrading the whole domain controller in the prior art, realizes the realization of the differential upgrading of the modules while avoiding the upgrading of the whole device to be updated by constructing a software version tree based on the software version dependency relationship among different modules to be updated, so that the nodes in the software version tree represent the modules to be updated, the node information of the nodes comprises the historical software version identification of the modules to be updated, and further, after acquiring the files to be used comprising the update files corresponding to at least one module to be updated in the device to be updated, the software version dependency relationship is considered, and the target module to be updated is determined according to the software version tree and the files to be used.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the invention or to delineate the scope of the invention. Other features of the present invention will become apparent from the description that follows.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a software update method according to a first embodiment of the present invention;
FIG. 2 is a schematic diagram of a software version tree provided according to an embodiment of the present invention;
FIG. 3 is a flowchart of a version updating method according to a second embodiment of the present invention;
FIG. 4 is a schematic diagram of a domain controller according to a second embodiment of the present invention;
FIG. 5 is a schematic diagram of a module version mapping table according to a second embodiment of the present invention;
FIG. 6 is a schematic structural diagram of a software updating apparatus according to a third embodiment of the present invention;
Fig. 7 is a schematic structural diagram of an electronic device implementing a software updating method according to an embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Example 1
Fig. 1 is a flowchart of a software updating method according to an embodiment of the present invention, where the method may be performed by a software updating device, which may be implemented in hardware and/or software, and the software updating device may be configured in a computing device. As shown in fig. 1, the method includes:
s110, acquiring a file to be used corresponding to a device to be updated; the file to be used comprises an update file corresponding to at least one module to be updated in the device to be updated.
The file to be used may refer to an installation package for updating the device to be updated, wherein the installation package includes an update file of one or more modules to be updated integrated in the device to be updated. For example, the device to be updated may be a controller (ECU SoftWare), the module to be updated may be functional SoftWare, and each module to be updated is integrated into the controller to be controller system SoftWare, for example, the module to be updated may be SWC (SoftWare Component ), CSW (Chip SoftWare), CCSW (ChipCore SoftWare, board core SoftWare), BSW (Basic SoftWare), and the like.
In practical applications, a file to be used for a device to be updated issued by an upstream system may be received. Or, the device identifier may be obtained by manually, automatically or conditionally triggering the software update to generate a software update request, after receiving the software update request, by analyzing the software update request, where the device identifier characterizes the device to be updated, and further, an upgrade package corresponding to the device identifier may be obtained from a preset location and used as a file to be used. The file to be used is used for updating the software version of the device to be updated, and the file to be used comprises the update files of a plurality of modules to be updated under the device to be updated, so that the software version of the modules to be updated is updated through the update files, and the problems of resource waste and poor update efficiency caused by updating the whole device to be updated are avoided.
S120, determining a target module to be updated from at least one module to be updated according to a pre-constructed software version tree and a file to be used.
The software version tree comprises a plurality of nodes which are constructed based on the software version dependency relationship among different modules to be updated, the nodes represent the modules to be updated, and the node information of the nodes comprises the historical software version identifiers of the modules to be updated. The software version dependency relationship means that the upgrade of the software version of one module needs to be synchronously upgraded depending on the software version of another module so as to be normally applied. For example, there are root nodes, leaf nodes and intermediate nodes in the software version tree, each node represents a module to be updated, and two modules represented by connected nodes (which refer to child nodes and their corresponding parent nodes as connected nodes) have software version dependency. The historical software version identification characterizes the current software version of the device to be updated. For example, the software version identification may be represented by a software version number, such as 1.0, 2.0, or 1-1, 1-2.
In practical application, the file version identifier of the update file corresponding to each module to be updated in the file to be used and the historical software version identifier of the module to be updated represented by each node in the software version tree can be correspondingly compared, and if the file version identifier of the module to be updated is higher than the historical software version identifier, the module to be updated can be used as the target module to be updated. For example, the file version of the module 1 to be updated is identified as 2.0, the historical software version thereof is identified as 1.0, and 2.0 is higher than 1.0, and the module 1 to be updated can be regarded as the target module to be updated.
It should be noted that, there may be some modules that do not need to update a software version in the device to be updated, in order to improve the searching efficiency, the difference item of the publication may be accurately and effectively searched, and the inconsistent publication may be searched through the software version dependency relationship between different modules to be updated included in the software version tree, and the modules to be updated that are relied on by the bottom layer determine the target module to be updated, so as to ensure the success rate of updating the device.
In this embodiment, determining, according to a pre-built software version tree and a file to be used, a target module to be updated from at least one module to be updated includes: determining a module to be screened and historical software version identifiers of the module to be screened based on node information of leaf nodes and leaf nodes in the software version tree; and determining the target module to be updated based on the software version tree, the module to be filtered, the corresponding historical software version identifier and the file version identifier of the update file of at least one module to be updated.
Wherein leaf nodes in the software version tree may characterize the lowest level functional modules, which may require modules that rely on one or more nodes. For example, the functional module 1 represented by the leaf node 1 depends on the functional module 2 represented by the parent node 2 of the node 1, and the functional module 2 depends on the functional module 3 represented by the parent node 3 of the node 2, so that the updated functional module 1 can be normally used only after the functional module 2 and the functional module 3 are updated.
Specifically, a functional module represented by a leaf node in the software version tree can be used as a module to be screened, and the historical software version identification of the module to be screened is determined through the node information of the leaf node. Further, a software version tree can be searched from a leaf node to an upper node, the historical software version identifier of the module to be screened and the file version identifier corresponding to the matched module to be updated are compared, if the file version identifier is higher than the historical software version identifier, the module to be updated can be used as a target module to be updated, so that the target module to be updated on the leaf node is determined, then the upper layer is searched, a module with a dependency relationship is searched, the module is also used as the target module to be updated, and accordingly, a plurality of target modules to be updated can be obtained.
Optionally, based on the software version tree, the module to be filtered, the corresponding historical software version identifier, and the file version identifier of the update file of at least one module to be updated, the implementation manner of determining the target module to be updated may be: determining a module to be used matched with the module to be screened from at least one module to be updated; if the file version identifier of the update file of the module to be used is inconsistent with the historical software version identifier of the module to be screened matched with the file version identifier, the module to be screened corresponding to the inconsistency is used as the module to be queried; and determining a target module to be updated based on the software version tree and the module to be queried.
In practical application, a module matched with the module to be screened can be determined from at least one module to be updated, and the module to be used is taken as a module to be used, wherein the module to be used is a functional module which possibly needs software to be updated on a leaf node. Furthermore, the file version identifier of the update file of the module to be used and the historical software version identifier of the module to be screened matched with the file version identifier can be matched, if the version identifiers are inconsistent, the module to be screened can be confirmed to need to be subjected to software updating, and the module to be screened is used as a module to be queried, so that the functional modules needing software updating on leaf nodes are screened from the modules to be used. Still further, the software version tree is searched for from the corresponding node of the module to be queried to the upper node. For example, searching the father node of the node, searching from the father node to the upper node, and using the searched node as a module having a dependency relationship with the leaf node function module, and using the module as a target module to be updated.
Specifically, determining a target module to be updated based on the software version tree and the module to be queried includes: determining a father node of a node to which a module to be queried belongs based on a software version tree aiming at the first search; for searching after the first searching, taking a module to be updated represented by a father node as a module to be queried, and repeatedly executing the operation of determining the father node of the node to which the module to be queried belongs based on a software version tree; and determining a target module to be updated based on the determined all modules to be queried.
In this embodiment, after determining the module to be queried requiring software update on the leaf node, the parent node of the module to be queried may be searched upwards from the node of the module to be queried, and it is known that the node of the module to be queried and the parent node thereof have a software version dependency relationship. Further, the father node searched at this time can be used as a module to be queried, the father node is continuously searched upwards from the node of the module to be queried, and the father node searched at this time is used as the module to be queried, in this way, all nodes with software version dependency relationship with the node of the module to be queried on the leaf node can be searched, and the functional modules represented by the nodes can be used as target modules to be updated, so that software update is performed on the target modules to be updated, the upper version is updated accordingly when the lower version is updated, differential upgrade is further realized, and the upgrade efficiency is improved.
For example, referring to the software version tree diagram shown in FIG. 2, assume SWC1-4, SWC3-1-2, and SWC4-3 are modules to be queried on leaf nodes, CSW1 is a parent node of SWC1-4, CCSW3-1 is a parent node of SWC3-1-2, CSW4 is a parent node of SWC4-3, i.e., SWC1-4, SWC3-1-2, SWC4-3, CSW1, CCSW3-1, and CSW4 are all target modules to be updated.
S130, performing software update on the target module to be updated based on the update file of the target module to be updated.
In order to ensure the effectiveness of the software version tree, node information of nodes matched with the target to-be-updated module in the software version tree can be updated based on the file version identification of the update file in the process of updating the software of the target to-be-updated module based on the update file of the target to-be-updated module.
In this embodiment, in a process of performing software update on a target module to be updated based on an update file of the target module to be updated, for example, when the update is completed, a file version identifier of the update file is used to replace node information of a node matching with the target module to be updated in a software version tree, so that the software version tree has the latest software version information. The function module in the device to be updated, which needs to be updated, is determined through the updated software version tree, so that the updating and upgrading efficiency is improved, the success rate of software updating is ensured, and the device to be updated can be normally used.
According to the technical scheme, the file to be used corresponding to the device to be updated is obtained; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated; determining a target module to be updated from at least one module to be updated according to a pre-constructed software version tree and a file to be used; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; the method solves the problems of low upgrading efficiency and high cost caused by upgrading the whole domain controller in the prior art, realizes the realization of the differential upgrading of the modules while avoiding the upgrading of the whole device to be updated by constructing a software version tree based on the software version dependency relationship among different modules to be updated, so that the nodes in the software version tree represent the modules to be updated, the node information of the nodes comprises the historical software version identification of the modules to be updated, and further, after acquiring the files to be used comprising the update files corresponding to at least one module to be updated in the device to be updated, the software version dependency relationship is considered, and the target module to be updated is determined according to the software version tree and the files to be used.
Example two
Fig. 3 is a flowchart of a version updating method according to a second embodiment of the present invention, and on the basis of the foregoing embodiment, a software version tree may be pre-constructed. The specific implementation manner can be seen in the technical scheme of the embodiment. Wherein, the technical terms identical to or corresponding to the above embodiments are not repeated herein.
As shown in fig. 3, the method specifically includes the following steps:
s210, respectively determining an upper-layer associated module on which each module to be updated depends.
In this embodiment, the upper-layer associated module on which each module to be updated depends, that is, the upgrade of the module to be updated or the upgrade of the software version number of the associated module of the upper layer corresponding to the upgrade, may be determined based on the information such as the functional attribute and the deployment structure of the module to be updated.
For example, referring to fig. 4, the domain controller (i.e., the device to be updated) contains 4 chips, wherein the smallest functional module unit is SWC (SoftWare Component) and the base software is BSW (Basic SoftWare); depending on the individual chip function deployment scenario, the SWCs are integrated as CSW (Chip SoftWare) or CCSW (ChipCore SoftWare) in chips or cores. If the chip is a single type core (such as MCU chip), only one engineering is established to integrate the SWC, and the integrated software package is CSW; if the chip is SOC, a plurality of cores (such as chip 3 in FIG. 4) of MCU and MPU are contained, because the operating systems and middleware of MCU and MPU are different, software engineering needs to be respectively established for integration, and the integrated software package is CCSW; the chip software is integrated into the controller to become controller system software ESW (ECU SoftWare), and each chip software serves as a module to be updated. According to the division of the software units, the corresponding version number levels of the modules to be updated are respectively as follows: SWCV (SoftWare Component Version)/BSWV; CSWV or CCSWV; ESWV. Taking chip 1 as an example, CSW1 is an upper-layer association module of BSW1, SWC1-2, SWC1-3 and SWC 1-4.
S220, for each module to be updated, determining child nodes based on the module to be updated, and determining parent nodes of the child nodes based on the upper-layer association module corresponding to the module to be updated.
Specifically, the module to be updated may be used as a child node, and the last-level association module of the module to be updated may be used as a parent node of the child node, so as to build a software version tree according to the relationship.
And S230, constructing a software version tree based on the current version numbers of the modules to be updated of the child nodes, the father nodes and the modules to be updated.
In this embodiment, a tree structure is obtained by constructing child nodes and father nodes, the current version number of a module represented by a node is used as node information of the node, and then the tree structure is updated by the node information of the node to obtain a software version tree, and at this time, the software version includes the dependency relationship of the software version among the modules to be updated and the current version number of the module. For example, referring still to FIG. 2, ESW may be used as the root node, CSW or CCSW as the intermediate node, SWCV and BSWV as the leaf nodes.
In order to make the update condition of the software clearly known, the software version tree can be visualized, and the target module to be updated in the update completion or update state is displayed in a node form in the software version tree in a distinguishing way.
In this embodiment, the update condition of the software may also be represented in a chart form, and the specific implementation manner may be: determining cells to be filled and format information of the cells to be filled corresponding to each module to be updated based on software version dependency relations among different modules to be updated; determining filling information of cells to be filled corresponding to the module to be updated based on the current version number of the module to be updated; based on the cells to be filled, the format information and the filling information, a module version mapping table is generated so that in the process of updating the software of the target module to be updated based on the update file of the target module to be updated, display information in the cells to be updated corresponding to the target module to be updated in the module version mapping table is updated based on the file version identification of the update file.
The format information includes, but is not limited to, information including color, cell size, frame, pitch, etc. The display information includes font size, font type, color, and fill data, which may correspond to the fill information for the version identification.
In practical application, the position of each cell in the chart of each module to be updated can be determined through the software version dependency relationship among different modules to be updated, namely the upper and lower layer dependency relationship among the modules to be updated, and the format information of the cells can be configured based on the upper and lower layer dependency relationship. And taking the current version number of the module to be updated as filling information of the cell to be filled corresponding to the module to be updated. Further, the module version mapping table is generated through all the cells to be filled and the format information and the filling information corresponding to the cells to be filled, and the module version mapping table can be stored in an XML file form so as to be convenient for software reading. Still further, in the process of updating the software of the target to-be-updated module based on the update file of the target to-be-updated module, the filling data in the to-be-updated cell corresponding to the target to-be-updated module in the module version mapping table is replaced by the file version identifier of the update file, and the display information of the to-be-updated cell is changed to highlight the updated module cell, so that the difference between the software version number information can be clearly obtained, and the fault problem cause can be conveniently and rapidly located. For example, referring to the module version map table shown in FIG. 5, SWC1-4_001, SWC3-1-2_001, SWC4-3_001, CSW1_001, CCSW3-1_001, and CSW4_001 of the updated state are highlighted in a gray background.
S240, determining a target module to be updated from at least one module to be updated according to the pre-constructed software version tree and the file to be used.
S250, performing software update on the target module to be updated based on the update file of the target module to be updated.
According to the technical scheme, the association module on which each module to be updated depends is respectively determined, the child node is further determined based on the module to be updated, the father node of the child node is determined based on the association module corresponding to the module to be updated, the software version dependency relationship between the two modules to be updated is represented through the child node and the father node corresponding to the child node, and further, a software version tree is constructed and obtained through the software version dependency relationship and the current version number of the module to be updated, so that a target module to be updated needing to be updated is searched through the software version tree, and the software upgrading efficiency is improved.
Example III
Fig. 6 is a schematic structural diagram of a software updating apparatus according to a third embodiment of the present invention. As shown in fig. 6, the apparatus includes: a file acquisition module 310, a target to-be-updated module determination module 320, and a software update module 330.
The file obtaining module 310 is configured to obtain a file to be used corresponding to the device to be updated; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated; the target to-be-updated module determining module 320 is configured to determine a target to-be-updated module from the at least one to-be-updated module according to a pre-constructed software version tree and the to-be-used file; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; the nodes in the software version tree represent the modules to be updated, and the node information of the nodes comprises historical software version identifiers of the modules to be updated; and the software updating module 330 is configured to update the software of the target module to be updated based on the update file of the target module to be updated.
According to the technical scheme, the file to be used corresponding to the device to be updated is obtained; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated; determining a target module to be updated from at least one module to be updated according to a pre-constructed software version tree and a file to be used; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; the method solves the problems of low upgrading efficiency and high cost caused by upgrading the whole domain controller in the prior art, realizes the realization of the differential upgrading of the modules while avoiding the upgrading of the whole device to be updated by constructing a software version tree based on the software version dependency relationship among different modules to be updated, so that the nodes in the software version tree represent the modules to be updated, the node information of the nodes comprises the historical software version identification of the modules to be updated, and further, after acquiring the files to be used comprising the update files corresponding to at least one module to be updated in the device to be updated, the software version dependency relationship is considered, and the target module to be updated is determined according to the software version tree and the files to be used.
On the basis of the above device, optionally, the target module to be updated determining module 320 includes a module to be screened determining unit and a target module to be updated determining unit.
The to-be-screened module determining unit is used for determining to-be-screened modules and historical software version identifiers of the to-be-screened modules based on the leaf nodes in the software version tree and the node information of the leaf nodes;
the target module to be updated determining unit is configured to determine a target module to be updated based on the software version tree, the module to be filtered, the corresponding historical software version identifier, and the file version identifier of the update file of the at least one module to be updated.
On the basis of the device, optionally, the target module to be updated determining unit comprises a module to be used determining subunit, a module to be queried determining subunit and a target module to be updated determining subunit.
A module to be used determining subunit, configured to determine a module to be used that is matched with the module to be screened from the at least one module to be updated;
the module to be queried determines a subunit, and is used for taking the module to be queried corresponding to the inconsistency as the module to be queried if the file version identifier of the update file of the module to be used is inconsistent with the historical software version identifier of the module to be filtered matched with the file version identifier of the update file of the module to be used;
And the target module to be updated determining subunit is used for determining the target module to be updated based on the software version tree and the module to be queried.
On the basis of the device, optionally, the target module to be updated determining subunit comprises a father node determining subunit and a target module to be updated determining subunit.
The father node determining small unit is used for determining father nodes of the nodes to which the module to be queried belongs based on the software version tree aiming at the first searching; for searching after the first searching, taking a module to be updated represented by the father node as a module to be queried, and repeatedly executing the operation of determining the father node of the node to which the module to be queried belongs based on the software version tree;
the target module to be updated determines the small unit, and is used for determining the target module to be updated based on all the determined modules to be queried.
In addition to the above apparatus, optionally, the apparatus further includes: and the software version tree updating module is used for updating node information of nodes matched with the target to-be-updated module in the software version tree based on the file version identification of the update file in the process of updating the software of the target to-be-updated module based on the update file of the target to-be-updated module.
In addition to the above apparatus, optionally, the apparatus further includes: a software version tree construction module, the software version tree construction module comprising: the system comprises an association module determining unit, a node determining unit and a software version tree constructing unit.
The association module determining unit is used for determining association modules on which each module to be updated depends respectively;
a node determining unit, configured to determine, for each module to be updated, a child node based on the module to be updated, and determine a parent node of the child node based on an association module corresponding to the module to be updated;
and the software version tree construction unit is used for constructing the software version tree based on the current version numbers of the child nodes, the father nodes and the modules to be updated.
In addition to the above apparatus, optionally, the apparatus further includes: the mapping table construction module comprises: cell determination unit, padding information determination unit, and mapping table determination unit.
The cell determining unit is used for determining the cell to be filled corresponding to each module to be updated and the format information of the cell to be filled based on the software version dependency relationship among different modules to be updated;
The filling information determining unit is used for determining filling information of cells to be filled corresponding to the module to be updated based on the current version number of the module to be updated;
the mapping table determining unit is used for generating a module version mapping table based on the cells to be filled, the format information and the filling information, so that in the process of updating the software of the target module to be updated based on the update file of the target module to be updated, the display information in the cells to be updated, corresponding to the target module to be updated, in the module version mapping table is updated based on the file version identification of the update file; wherein the display information includes color and fill data.
The software updating device provided by the embodiment of the invention can execute the software updating method provided by any embodiment of the invention, and has the corresponding modules and beneficial effects of the executing method.
Example IV
Fig. 7 is a schematic structural diagram of an electronic device implementing a software updating method according to an embodiment of the present invention. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Electronic equipment may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 7, the electronic device 10 includes at least one processor 11, and a memory, such as a Read Only Memory (ROM) 12, a Random Access Memory (RAM) 13, etc., communicatively connected to the at least one processor 11, in which the memory stores a computer program executable by the at least one processor, and the processor 11 may perform various appropriate actions and processes according to the computer program stored in the Read Only Memory (ROM) 12 or the computer program loaded from the storage unit 18 into the Random Access Memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 may also be stored. The processor 11, the ROM 12 and the RAM 13 are connected to each other via a bus 14. An input/output (I/O) interface 15 is also connected to bus 14.
Various components in the electronic device 10 are connected to the I/O interface 15, including: an input unit 16 such as a keyboard, a mouse, etc.; an output unit 17 such as various types of displays, speakers, and the like; a storage unit 18 such as a magnetic disk, an optical disk, or the like; and a communication unit 19 such as a network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, digital Signal Processors (DSPs), and any suitable processor, controller, microcontroller, etc. The processor 11 performs the various methods and processes described above, such as a software update method.
In some embodiments, the software updating method may be implemented as a computer program tangibly embodied on a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 10 via the ROM 12 and/or the communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the software update method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the software update method in any other suitable way (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
A computer program for carrying out methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be implemented. The computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of the present invention, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, the computer readable storage medium may be a machine readable signal medium. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) through which a user can provide input to the electronic device. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), blockchain networks, and the internet.
The computing system may include clients and servers. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so that the defects of high management difficulty and weak service expansibility in the traditional physical hosts and VPS service are overcome.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present invention may be performed in parallel, sequentially, or in a different order, so long as the desired results of the technical solution of the present invention are achieved, and the present invention is not limited herein.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.

Claims (10)

1. A method of updating software, comprising:
acquiring a file to be used corresponding to a device to be updated; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated;
determining a target module to be updated from the at least one module to be updated according to a pre-constructed software version tree and the file to be used; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; the nodes in the software version tree represent the modules to be updated, and the node information of the nodes comprises historical software version identifiers of the modules to be updated;
And updating the software of the target module to be updated based on the update file of the target module to be updated.
2. The method according to claim 1, wherein determining a target module to be updated from the at least one module to be updated according to a pre-built software version tree and the file to be used comprises:
determining a module to be screened and a historical software version identifier of the module to be screened based on leaf nodes in the software version tree and node information of the leaf nodes;
and determining a target module to be updated based on the software version tree, the module to be filtered, the corresponding historical software version identifier and the file version identifier of the update file of the at least one module to be updated.
3. The method of claim 2, wherein the determining a target module to be updated based on the software version tree, the module to be filtered, and the corresponding historical software version identification, and the file version identification of the update file of the at least one module to be updated comprises:
determining a module to be used matched with the module to be screened from the at least one module to be updated;
If the file version identifier of the update file of the module to be used is inconsistent with the history software version identifier of the module to be screened matched with the file version identifier, the module to be screened corresponding to the inconsistency is used as a module to be queried;
and determining a target module to be updated based on the software version tree and the module to be queried.
4. The method of claim 3, wherein the determining a target module to be updated based on the software version tree and the module to be queried comprises:
determining a father node of a node to which the module to be queried belongs based on the software version tree aiming at the first search;
for searching after the first searching, taking a module to be updated represented by the father node as a module to be queried, and repeatedly executing the operation of determining the father node of the node to which the module to be queried belongs based on the software version tree;
and determining a target module to be updated based on the determined all modules to be queried.
5. The method as recited in claim 1, further comprising:
and updating node information of nodes matched with the target to-be-updated module in the software version tree based on the file version identification of the update file in the process of updating the software of the target to-be-updated module based on the update file of the target to-be-updated module.
6. The method of claim 1, wherein constructing the software version tree comprises:
determining an associated module on which each module to be updated depends respectively;
for each module to be updated, determining a child node based on the module to be updated, and determining a father node of the child node based on an association module corresponding to the module to be updated;
and constructing the software version tree based on the child node, the father node and the current version numbers of the modules to be updated.
7. The method as recited in claim 1, further comprising:
determining cells to be filled corresponding to each module to be updated and format information of the cells to be filled based on software version dependency relations among different modules to be updated;
determining filling information of cells to be filled corresponding to the module to be updated based on the current version number of the module to be updated;
generating a module version mapping table based on the cell to be filled, the format information and the filling information, so as to update display information in the cell to be updated corresponding to the target module to be updated in the module version mapping table based on a file version identifier of the update file in the process of updating the software of the target module to be updated based on the update file of the target module to be updated;
Wherein the display information includes color and fill data.
8. A software updating apparatus, comprising:
the file acquisition module is used for acquiring a file to be used corresponding to the device to be updated; the files to be used comprise update files corresponding to at least one module to be updated in the device to be updated;
the target to-be-updated module determining module is used for determining a target to-be-updated module from the at least one to-be-updated module according to a pre-constructed software version tree and the to-be-used file; the software version tree is constructed based on the software version dependency relationship among different modules to be updated; the nodes in the software version tree represent the modules to be updated, and the node information of the nodes comprises historical software version identifiers of the modules to be updated;
and the software updating module is used for carrying out software updating on the target module to be updated based on the updating file of the target module to be updated.
9. An electronic device, characterized in that the electronic device comprises:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
The memory stores a computer program executable by the at least one processor to enable the at least one processor to perform the software update method of any one of claims 1-7.
10. A computer readable storage medium, characterized in that the computer readable storage medium stores computer instructions for causing a processor to implement the software updating method of any of claims 1-7 when executed.
CN202311027679.9A 2023-08-15 2023-08-15 Software updating method and device, electronic equipment and storage medium Pending CN117032756A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311027679.9A CN117032756A (en) 2023-08-15 2023-08-15 Software updating method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311027679.9A CN117032756A (en) 2023-08-15 2023-08-15 Software updating method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117032756A true CN117032756A (en) 2023-11-10

Family

ID=88642711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311027679.9A Pending CN117032756A (en) 2023-08-15 2023-08-15 Software updating method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117032756A (en)

Similar Documents

Publication Publication Date Title
CN111768096A (en) Rating method and device based on algorithm model, electronic equipment and storage medium
CN117474091A (en) Knowledge graph construction method, device, equipment and storage medium
CN116578646A (en) Time sequence data synchronization method, device, equipment and storage medium
CN116028517A (en) Fusion database system and electronic equipment
CN115905322A (en) Service processing method and device, electronic equipment and storage medium
CN115934550A (en) Test method, test device, electronic equipment and storage medium
CN116009847A (en) Code generation method, device, electronic equipment and storage medium
CN117032756A (en) Software updating method and device, electronic equipment and storage medium
CN115495151A (en) Rule engine migration method, device, equipment, storage medium and program product
CN114896418A (en) Knowledge graph construction method and device, electronic equipment and storage medium
CN117742900B (en) Method, device, equipment and storage medium for constructing service call graph
CN114595231B (en) Database table generation method and device, electronic equipment and storage medium
CN117492822B (en) Change contrast method, device, electronic equipment and storage medium
CN115759233B (en) Model training method, graph data processing device and electronic equipment
CN115098520A (en) Device data updating method and device, electronic device and storage medium
CN117194435A (en) Index data updating method, device, equipment and storage medium
CN116225523A (en) Software configuration method, device, equipment and storage medium
CN116303369A (en) Automatic coding method and device based on database, electronic equipment and medium
CN118113916A (en) Data processing method, device, electronic equipment and storage medium
CN117171214A (en) Database information comparison method and device, electronic equipment and storage medium
CN118057384A (en) Method, device, equipment and medium for constructing petrophysical modeling flow
CN116881368A (en) Data synchronization method and device, electronic equipment and storage medium
CN115827588A (en) Method, device, equipment and storage medium for generating business global serial number
CN115238183A (en) Time information determination method and device, storage medium, electronic equipment and product
CN116108254A (en) Object matching method, device, equipment and medium

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