Component upgrading method, device and equipment

By receiving version upgrade instructions, obtaining change information, building graph structure data, performing dependency conflict analysis and component upgrade processing, the problem of low efficiency and accuracy of open source component upgrade in the existing technology is solved, and a more efficient and reliable component upgrade process is achieved.

CN119718367APending Publication Date: 2025-03-28CHINA TOWER CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411658512.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The existing open source component upgrade method relies on manual analysis, which leads to low time-consuming, efficiency and accuracy in the upgrade process.

Method used

By receiving version upgrade instructions, obtaining change information of the target component, building the graph structure data of the current and upgraded versions, performing dependency conflict analysis, and upgrading components based on the analysis results.

Benefits of technology

Improve the efficiency and accuracy of open source component upgrades, reduce the risk of human errors, and enhance the security and reliability of the upgrade process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718367A_ABST
    Figure CN119718367A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a component upgrading method, device and equipment. The method comprises the steps that a version upgrading instruction for a target component is received; in response to the version upgrading instruction, change information corresponding to the target component is obtained, and the change information comprises difference information between a current version and an upgraded version of the target component; constructing first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructing second graph structure data corresponding to the upgrade version according to change information related to a dependency item in the change information and the data dependency relationship corresponding to the current version; performing dependency conflict analysis on the first graph structure data and the second graph structure data, and determining dependency conflict information between the upgrade version and the current version; and upgrading the target component according to the dependency conflict information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This document relates to the field of computer technology, and in particular to a component upgrading method, device and equipment. Background Art

[0002] Open source technology, with its open, shared and free characteristics, has boosted the construction of digital software. Driven by the pressure of self-control, quality improvement and efficiency increase, the software industry is increasingly choosing open source technology products as part of its "distributed" architecture, and open source technology has become an important technical support for software development and construction.

[0003] The upgrade method of open source components often relies on manual analysis of version differences and writing upgrade solution documents, which is not only time-consuming and labor-intensive, but also has a high error rate. With the increase in the number of components and the increase in the frequency of component updates, the manual analysis of component upgrades has the problem of long upgrade process, low efficiency and accuracy. To this end, the embodiments of this specification provide a technical solution to improve the efficiency and accuracy of open source component upgrades. Summary of the invention

[0004] The purpose of the embodiments of this specification is to provide a technical solution that improves the efficiency and accuracy of open source component upgrades.

[0005] In order to implement the above technical solution, the embodiments of this specification are implemented as follows: A component upgrade method provided by an embodiment of the present specification includes: receiving a version upgrade instruction for a target component; in response to the version upgrade instruction, obtaining change information corresponding to the target component, the change information including difference information between a current version and an upgraded version of the target component; constructing first graph structure data corresponding to the current version according to a data dependency relationship corresponding to the current version, and constructing second graph structure data corresponding to the upgraded version according to change information related to dependencies in the change information and data dependency relationships corresponding to the current version; performing dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; and performing upgrade processing on the target component according to the dependency conflict information.

[0006] An embodiment of the present specification provides a component upgrade device, the device comprising: an instruction receiving module, used to receive a version upgrade instruction for a target component; an information acquisition module, used to respond to the version upgrade instruction and obtain change information corresponding to the target component, the change information including difference information between the current version and the upgraded version of the target component; an information extraction module, used to extract and process change information related to dependencies in the change information to obtain key change information; a data construction module, used to construct a first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and to construct a second graph structure data corresponding to the upgraded version according to the key change information and the data dependency relationship corresponding to the current version; a conflict analysis module, used to perform dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; a component upgrade module, used to upgrade the target component according to the dependency conflict information.

[0007] A component upgrade device provided in an embodiment of the present specification comprises: a processor; and a memory arranged to store computer executable instructions, wherein the executable instructions, when executed, cause the processor to: receive a version upgrade instruction for a target component; in response to the version upgrade instruction, obtain change information corresponding to the target component, wherein the change information includes difference information between a current version and an upgraded version of the target component; construct first graph structure data corresponding to the current version according to a data dependency relationship corresponding to the current version, and construct second graph structure data corresponding to the upgraded version according to change information related to dependencies in the change information and data dependency relationship corresponding to the current version; perform dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; and perform upgrade processing on the target component according to the dependency conflict information.

[0008] An embodiment of the present specification also provides a storage medium, which is used to store computer-executable instructions, and the executable instructions implement the following process when executed by a processor: receiving a version upgrade instruction for a target component; in response to the version upgrade instruction, obtaining change information corresponding to the target component, the change information including difference information between a current version and an upgraded version of the target component; constructing a first graph structure data corresponding to the current version based on a data dependency relationship corresponding to the current version, and constructing a second graph structure data corresponding to the upgraded version based on change information related to dependencies in the change information and data dependencies corresponding to the current version; performing dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; and performing upgrade processing on the target component based on the dependency conflict information.

[0009] An embodiment of the present specification also provides a computer program product, including a computer program, which implements the following process when executed by a processor: receiving a version upgrade instruction for a target component; in response to the version upgrade instruction, obtaining change information corresponding to the target component, the change information including difference information between a current version and an upgraded version of the target component; constructing first graph structure data corresponding to the current version based on a data dependency relationship corresponding to the current version, and constructing second graph structure data corresponding to the upgraded version based on change information related to dependencies in the change information and data dependency relationships corresponding to the current version; performing dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; and performing upgrade processing on the target component based on the dependency conflict information. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the technical solutions in the embodiments of this specification or the prior art, the drawings required for use in the embodiments or the prior art description will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative labor. Figure 1 This is an embodiment of a component upgrade method of this specification; Figure 2 This is another component upgrade method embodiment of the present specification; Figure 3 This is a schematic diagram of an open source component automatic upgrade system platform in this specification; Figure 4 This is an embodiment of a component upgrade device of this specification; Figure 5 This is an embodiment of a component upgrade device in this specification. DETAILED DESCRIPTION

[0011] The embodiments of this specification provide a component upgrading method, device and equipment.

[0012] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.

[0013] The embodiments of this specification provide a technical solution to improve the efficiency and accuracy of open source component upgrades. Open source technology has promoted the construction of digital software due to its open, shared, and free characteristics. Driven by the pressure of self-controllability, quality improvement, and efficiency increase, the software industry is increasingly choosing open source technology products as part of its "distributed" architecture, and open source technology has become an important technical support for software development and construction. The upgrade method of open source components often relies on manual analysis of version differences and writing upgrade solution documents, which is not only time-consuming and labor-intensive, but also has a high error rate. With the increase in the number of components and the increase in the frequency of component updates, the manual analysis of component upgrades has the problem of long upgrade process, low efficiency, and low accuracy. To this end, the embodiments of this specification provide a technical solution to improve the efficiency and accuracy of open source component upgrades. In this scheme, by receiving a version upgrade instruction for a target component, responding to the version upgrade instruction, obtaining the change information corresponding to the target component, wherein the change information may include the difference information between the current version and the upgraded version of the target component, constructing the first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructing the second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version, performing dependency conflict analysis on the first graph structure data and the second graph structure data, determining the dependency conflict information between the upgraded version and the current version, and performing upgrade processing on the target component according to the dependency conflict information. In this way, through the first graph structure data corresponding to the current version and the second graph structure data corresponding to the upgraded version, the dependency conflict information between the current version and the upgraded version can be quickly and accurately determined, and then the target component can be upgraded according to the dependency conflict information, which can avoid the inefficiency of manual analysis on the one hand, and reduce the risk of human error on the other hand, improve the security and reliability of the upgrade process, that is, improve the efficiency and accuracy of component upgrades.

[0014] like Figure 1 As shown, the embodiment of this specification provides a component upgrade method, and the execution subject of the method can be a server, wherein the server can be an independent server, or a server cluster composed of multiple servers, etc. In this embodiment, the execution subject is taken as an example to be described in detail, and the method can specifically include the following steps: In step S102, a version upgrade instruction for a target component is received.

[0015] The target component may be any importable component, for example, the target component may be an open source component whose source code is public and allows use, modification and distribution.

[0016] In implementation, the server may receive a version upgrade instruction from a user for a target component. Alternatively, the server may also query whether there is an upgradeable version of the target component based on a preset detection period (such as every three days, every week, etc.), and if there is an upgradeable version, the version upgrade instruction for the target component may be triggered. Alternatively, if there is an upgradeable version, the server may send information about the upgrade version to the user and receive a version upgrade instruction for the target component triggered by the user.

[0017] In addition, when there are multiple upgradeable versions of the target component, the version upgrade instruction may include the identifier of the upgraded version that needs to be upgraded this time. For example, when there are multiple upgradeable versions, the latest version may be determined as the upgraded version that needs to be upgraded this time, or the user-specified version may be determined as the upgraded version that needs to be upgraded this time.

[0018] In step S104, in response to the version upgrade instruction, the change information corresponding to the target component is obtained.

[0019] The change information may include difference information between the current version and the upgraded version of the target component.

[0020] In implementation, a version information acquisition module can be configured in the open source component automatic upgrade system platform. The version information acquisition module can be used to obtain metadata information of the current version and upgraded version of the target component, such as version number, release date, change log, etc., from the official repository or dependency management platform of the open source component through an API interface or crawler technology.

[0021] The server can determine the difference information between the current version and the upgraded version of the target component (ie, the change information corresponding to the target component) based on the metadata information.

[0022] In step S106, first graph structure data corresponding to the current version is constructed according to the data dependency relationship corresponding to the current version, and second graph structure data corresponding to the upgraded version is constructed according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version.

[0023] Among them, the first graph structure data and the second graph structure data can be any graph structure data. For example, the first graph structure data and the second graph structure data may include nodes corresponding to data packets, nodes corresponding to target components, and association relationships between nodes determined by dependencies between target components and data packets, and dependencies between data packets.

[0024] In implementation, the constructed first graph structure data and second graph structure data can be composed of entity nodes and association relationships, that is, the first graph structure data and the second graph structure data can be composed of a number of triples (h, r, t), where h and t represent the head entity node and the tail entity node of an association relationship, respectively, and r represents the association relationship between two entity nodes.

[0025] The server can construct the first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version. The server may extract and process the change information related to the dependency in the change information. For example, the extracted change information may include information such as addition, repair, and deletion of the dependency.

[0026] The server may determine the data dependency corresponding to the upgraded version based on the extracted change information and the data dependency corresponding to the current version, and then construct the second graph structure data corresponding to the upgraded version based on the data dependency corresponding to the upgraded version.

[0027] In addition, the server can identify new, deleted or changed dependencies by comparing dependency files (such as package.json, pom.xml, etc.) of different versions (i.e., the current version and the upgraded version), and use graph theory algorithms to analyze potential dependency conflicts, that is, the dependency conflict information can be determined based on the first graph structure data and the second graph structure data.

[0028] In step S108, dependency conflict analysis is performed on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version.

[0029] During implementation, when performing dependency conflict analysis on the first graph structure data and the second graph structure data, the server can determine whether there is a conflict in data dependencies between the upgraded version and the current version, whether there is a conflict in dependencies, etc. based on the first graph structure data and the second graph structure data, and determine the dependency conflict information between the upgraded version and the current version based on the dependency conflict analysis results.

[0030] In step S110, the target component is upgraded according to the dependency conflict information.

[0031] During implementation, the server can determine the processing strategy for data dependencies during the upgrade process based on the dependency conflict information, and upgrade the target component based on the processing strategy to avoid upgrade failures caused by failure to identify potential dependency conflict information during the version upgrade of the target component, thereby improving the success rate of component upgrades.

[0032] The embodiment of the present specification provides a component upgrade method, which receives a version upgrade instruction for a target component, responds to the version upgrade instruction, obtains the change information corresponding to the target component, wherein the change information may include the difference information between the current version and the upgraded version of the target component, constructs the first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructs the second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version, performs dependency conflict analysis on the first graph structure data and the second graph structure data, determines the dependency conflict information between the upgraded version and the current version, and upgrades the target component according to the dependency conflict information. In this way, through the first graph structure data corresponding to the current version and the second graph structure data corresponding to the upgraded version, the dependency conflict information between the current version and the upgraded version can be quickly and accurately determined, and then the target component can be upgraded according to the dependency conflict information, which can avoid the inefficiency of manual analysis on the one hand, and reduce the risk of human error on the other hand, improve the security and reliability of the upgrade process, that is, improve the efficiency and accuracy of component upgrade.

[0033] In practical applications, there are various specific processing methods for upgrading the target component according to the dependency conflict information in the above step S110. An optional processing method is provided below, such as Figure 2 As shown, the processing may specifically include the following steps S1102 to S1104.

[0034] In step S1102, the key change information contained in the change information is extracted based on the pre-trained information extraction model to obtain the key change information.

[0035] The information extraction model may be constructed based on a preset machine learning algorithm. For example, the information extraction model may be a Bidirectional Encoder Representations from Transformers (BERT) model.

[0036] In implementation, Figure 3 As shown, in the open source component automatic upgrade system platform, a difference analysis module can also be included. After the version information acquisition module completes the capture of version information, the captured data (such as change logs, etc.) can be passed to the difference analysis module for further processing.

[0037] The difference analysis module can be used to parse the obtained change logs and perform change log comparison, source code comparison, API comparison, and dependency package comparison to extract key change information, such as new features, performance optimization, security fixes, API changes, etc., and identify new, deleted, or changed dependencies, as well as potential dependency conflicts.

[0038] Specifically, the server can use a method combining natural language processing (NLP) technology and regular expressions to identify and process the change log to obtain change information, and then extract and process key change information contained in the change information based on a pre-trained information extraction model to obtain the key change information.

[0039] In addition, the version information acquisition module can also adopt an intelligent caching mechanism to reduce repeated requests and improve data acquisition efficiency.

[0040] In step S1104, the target component is upgraded according to the dependency conflict information and the key change information.

[0041] In implementation, the difference analysis module can also use a dependency parser (such as Maven or npm) to detect changes in dependencies and obtain dependency conflict supplementary information. The server can upgrade the target component based on the dependency conflict supplementary information, dependency conflict information and key change information.

[0042] In practical applications, there may be various specific processing methods for upgrading the target component according to the dependency conflict information and the key change information in the above step S1104. An optional processing method is provided below, which may specifically include the following processing steps A1 to A3.

[0043] In step A1, based on a document template corresponding to the component type of the target component, an upgrade plan corresponding to the target component is generated according to dependency conflict information and key change information.

[0044] In implementation, Figure 3 As shown, the corresponding document template can be determined according to the component type of the target component. For example, the component type of the target component can include a tool scenario template, a service scenario template, etc. Different component types can correspond to different document templates.

[0045] The open source component automatic upgrade system platform may include an upgrade plan document generation module, which can automatically fill in the document template of the upgrade plan document according to the results of the difference analysis (i.e., dependency conflict information and key change details), and generate an upgrade plan including upgrade steps, data dependencies, precautions and rollback plans. The upgrade archive document can be output in multiple formats such as Markdown, PDF, HTML, etc.

[0046] Specifically, the upgrade plan document generation module can use the template engine to automatically fill in key change information, dependency relationship changes, potential conflicts and other information in the dependency conflict information into the preset upgrade plan document template, and generate an upgrade plan that includes detailed upgrade steps, dependency relationship processing guidelines, precautions and rollback plans. Then, by using the integrated Markdown, PDF, HTML and other multi-format output capabilities, it can output upgrade plans that can meet the needs of different scenarios.

[0047] Among them, the upgrade plan document generation module can use template engines such as Jinja2 or Mustache to automatically generate documents, can combine front-end technologies (such as React or Vue.js) to enhance the interactivity of documents, and can also support user-defined templates to meet the personalized needs of different projects.

[0048] In step A2, a pre-trained document correction model is used to perform logic correction processing on the upgrade plan to obtain a target upgrade plan.

[0049] The document correction model may be any model that can perform logic correction processing, such as a natural language generation (NLG) model and a large language model.

[0050] In implementation, the open source component automatic upgrade system platform may also include a verification and optimization module, and the upgrade plan stable generation module may transmit the generated upgrade plan to the verification and optimization module for verification and optimization.

[0051] The verification and optimization module can verify and optimize the generated upgrade plan, that is, the server can use the natural language generation (NLG) model (i.e., the pre-trained document correction model) combined with the domain knowledge base to conduct a preliminary review of the upgrade plan to ensure the accuracy and readability of the document.

[0052] In step A3, the target component is upgraded according to the target upgrade plan.

[0053] The target upgrade plan may include upgrade steps, data dependencies, and rollback plans.

[0054] In implementation, the server may send the target upgrade plan to the preset processor, and receive feedback information from the preset processor on the target upgrade plan. Then, according to the feedback information, the target upgrade plan is corrected to obtain a corrected target upgrade plan, and the target component is upgraded according to the corrected target upgrade plan.

[0055] Alternatively, the server may also test the data dependencies in the target upgrade plan according to a pre-built test script to obtain test results, and determine whether there are any abnormalities in the data dependencies in the target upgrade plan based on the test results. If it is determined that there are abnormalities in the data dependencies in the target upgrade plan, the data dependencies in the target upgrade plan are corrected to obtain a corrected target upgrade plan, and then the target component may be upgraded according to the corrected target upgrade plan.

[0056] In this way, the upgrade plan can be modified and improved through the above-mentioned automated testing and / or manual review to obtain a target upgrade plan. Specifically, the automated testing script and / or manual review feedback information can be used to verify whether the steps in the upgrade plan are feasible, whether the dependencies are correct, etc., and then the upgrade plan can be modified and improved to obtain a target upgrade plan.

[0057] This integrated continuous integration / continuous deployment (CI / CD) process enables automated verification and optimization of documents.

[0058] In addition, the open source component automatic upgrade system platform can also include a user interface module, which can provide a friendly user interface to support users to input information about open source components, select upgrade versions, view generated upgrade plan documents, receive user feedback on documents, etc.

[0059] The user interface module can serve as a window for users to interact with the platform, receive user input, and display processing results.

[0060] Through the collaborative work of the version information acquisition module, the difference analysis module, the solution generation module and the user interaction module, the automatic upgrade solution generation function of the open source components based on version comparison can be realized. Specifically, the version information acquisition module can be used to obtain the algorithm and logic of version information; the difference analysis module can be used to analyze version differences and extract the algorithm and logic of key differences; the solution generation module can be used to generate the algorithm and template of the upgrade solution document; the user interaction module can be used to display the upgrade solution document and receive the interactive interface and logic of user feedback information.

[0061] Automated version tracking and update monitoring technology can ensure that target components that need to be updated are detected in a timely and accurate manner. Document generation templates and automated filling technology can generate structured and consistent upgrade plan documents.

[0062] In addition, the version information acquisition module can also be used to obtain the specific implementation method of version information from the official repository or version control system. The difference analysis module can also be used to parse the change log, extract key change information, and identify the algorithm and logic of dependency changes. The upgrade plan document generation module can also be used to automatically fill in the document template and generate the specific implementation method of the upgrade plan document. The verification and optimization module can also be used for the specific process and rules of automated testing and manual review.

[0063] Through automated version difference analysis and upgrade solution document generation, the time for manual analysis and document writing can be reduced, improving the efficiency of the upgrade process. It can also reduce the risk of human error and improve the security and reliability of the upgrade process.

[0064] In addition, the user-friendly interface allows users to use the system easily without professional technical background. It also supports multiple document formats to meet the needs of different users.

[0065] The embodiment of the present specification provides a component upgrade method, which receives a version upgrade instruction for a target component, responds to the version upgrade instruction, obtains the change information corresponding to the target component, wherein the change information may include the difference information between the current version and the upgraded version of the target component, constructs the first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructs the second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version, performs dependency conflict analysis on the first graph structure data and the second graph structure data, determines the dependency conflict information between the upgraded version and the current version, and upgrades the target component according to the dependency conflict information. In this way, through the first graph structure data corresponding to the current version and the second graph structure data corresponding to the upgraded version, the dependency conflict information between the current version and the upgraded version can be quickly and accurately determined, and then the target component can be upgraded according to the dependency conflict information, which can avoid the inefficiency of manual analysis on the one hand, and reduce the risk of human error on the other hand, improve the security and reliability of the upgrade process, that is, improve the efficiency and accuracy of component upgrade.

[0066] The above is a component upgrade method provided in the embodiment of this specification. Based on the same idea, the embodiment of this specification also provides a component upgrade device, such as Figure 4 shown.

[0067] The component upgrade device comprises: an instruction receiving module 401, an information acquisition module 402, an information extraction module 403, a data construction module 404, a conflict analysis module 405 and a component upgrade module 406, wherein: The instruction receiving module 401 is used to receive a version upgrade instruction for a target component; An information acquisition module 402 is used to acquire change information corresponding to the target component in response to the version upgrade instruction, wherein the change information includes difference information between the current version and the upgraded version of the target component; An information extraction module 403 is used to extract and process the change information related to the dependency in the change information to obtain key change information; The data construction module 404 is used to construct first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and to construct second graph structure data corresponding to the upgraded version according to the key change information and the data dependency relationship corresponding to the current version; A conflict analysis module 405 is used to perform dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; The component upgrade module 406 is used to upgrade the target component according to the dependency conflict information.

[0068] In the embodiment of this specification, the component upgrade module 406 is used to: Extracting and processing the key change information contained in the change information according to a pre-trained information extraction model to obtain the key change information, wherein the information extraction model is constructed based on a preset machine learning algorithm; The target component is upgraded according to the dependency conflict information and the key change information.

[0069] In the embodiment of this specification, the component upgrade module 406 is used to: Based on a document template corresponding to the component type of the target component, and according to the dependency conflict information and the key change information, generating an upgrade plan corresponding to the target component; Using a pre-trained document correction model, the upgrade plan is logically corrected to obtain a target upgrade plan; According to the target upgrade plan, the target component is upgraded.

[0070] In the embodiment of this specification, the component upgrade module 406 is used to: Sending the target upgrade plan to a preset processor, and receiving feedback information from the preset processor regarding the target upgrade plan; The target upgrade plan is corrected according to the feedback information to obtain a corrected target upgrade plan, and the target component is upgraded according to the corrected target upgrade plan.

[0071] In the embodiment of this specification, the target upgrade plan includes upgrade steps, data dependencies and rollback plans.

[0072] In the embodiment of this specification, the component upgrade module 406 is used to: According to the pre-built test script, test the data dependency in the target upgrade solution to obtain the test result; Determine, based on the test results, whether there is an abnormality in the data dependency relationship in the target upgrade solution; When it is determined that there is an abnormality in the data dependency relationship in the target upgrade plan, the data dependency relationship in the target upgrade plan is corrected to obtain a corrected target upgrade plan, and the target component is upgraded according to the corrected target upgrade plan.

[0073] The embodiment of the present specification provides a component upgrade device, which receives a version upgrade instruction for a target component, responds to the version upgrade instruction, obtains the change information corresponding to the target component, wherein the change information may include the difference information between the current version and the upgraded version of the target component, constructs the first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructs the second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version, performs dependency conflict analysis on the first graph structure data and the second graph structure data, determines the dependency conflict information between the upgraded version and the current version, and upgrades the target component according to the dependency conflict information. In this way, through the first graph structure data corresponding to the current version and the second graph structure data corresponding to the upgraded version, the dependency conflict information between the current version and the upgraded version can be quickly and accurately determined, and then the target component can be upgraded according to the dependency conflict information, which can avoid the inefficiency of manual analysis on the one hand, and reduce the risk of human error on the other hand, improve the security and reliability of the upgrade process, that is, improve the efficiency and accuracy of component upgrade.

[0074] The above is a component upgrade device provided in the embodiment of this specification. Based on the same idea, the embodiment of this specification also provides a component upgrade device, such as Figure 5 shown.

[0075] The component upgrade device may provide a terminal device or a server, etc. for the above-mentioned embodiment.

[0076] The component upgrade device may have relatively large differences due to different configurations or performances, and may include one or more processors 501 and memory 502, and the memory 502 may store one or more storage applications or data. Among them, the memory 502 may be a short-term storage or a persistent storage. The application stored in the memory 502 may include one or more modules (not shown in the figure), and each module may include a series of computer executable instructions in the component upgrade device. Furthermore, the processor 501 may be configured to communicate with the memory 502 to execute a series of computer executable instructions in the memory 502 on the component upgrade device. The component upgrade device may also include one or more power supplies 503, one or more wired or wireless network interfaces 504, one or more input and output interfaces 505, and one or more keyboards 506.

[0077] Specifically in this embodiment, the component upgrade device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer executable instructions in the component upgrade device, and the one or more programs are configured to be executed by one or more processors, including computer executable instructions for performing the following: Receive a version upgrade instruction for a target component; In response to the version upgrade instruction, acquiring change information corresponding to the target component, the change information including difference information between the current version and the upgraded version of the target component; Constructing first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructing second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version; Performing dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; The target component is upgraded according to the dependency conflict information.

[0078] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the component upgrade device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0079] The embodiment of the present specification provides a component upgrade device, which receives a version upgrade instruction for a target component, responds to the version upgrade instruction, obtains the change information corresponding to the target component, wherein the change information may include the difference information between the current version and the upgraded version of the target component, constructs the first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructs the second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version, performs dependency conflict analysis on the first graph structure data and the second graph structure data, determines the dependency conflict information between the upgraded version and the current version, and upgrades the target component according to the dependency conflict information. In this way, through the first graph structure data corresponding to the current version and the second graph structure data corresponding to the upgraded version, the dependency conflict information between the current version and the upgraded version can be quickly and accurately determined, and then the target component can be upgraded according to the dependency conflict information, which can avoid the inefficiency of manual analysis on the one hand, and reduce the risk of human error on the other hand, improve the security and reliability of the upgrade process, that is, improve the efficiency and accuracy of component upgrade.

[0080] Furthermore, based on the above Figures 1 to 3 In one embodiment, the present specification further provides a storage medium for storing computer executable instruction information. In a specific embodiment, the storage medium may be a USB flash drive, an optical disk, a hard disk, etc. When the computer executable instruction information stored in the storage medium is executed by the processor, the following process can be implemented: Receive a version upgrade instruction for a target component; In response to the version upgrade instruction, acquiring change information corresponding to the target component, the change information including difference information between the current version and the upgraded version of the target component; Constructing first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructing second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version; Performing dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; The target component is upgraded according to the dependency conflict information.

[0081] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the above-mentioned storage medium embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0082] The embodiment of the present specification provides a storage medium, which receives a version upgrade instruction for a target component, responds to the version upgrade instruction, obtains the change information corresponding to the target component, wherein the change information may include the difference information between the current version and the upgraded version of the target component, constructs the first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructs the second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version, performs dependency conflict analysis on the first graph structure data and the second graph structure data, determines the dependency conflict information between the upgraded version and the current version, and upgrades the target component according to the dependency conflict information. In this way, through the first graph structure data corresponding to the current version and the second graph structure data corresponding to the upgraded version, the dependency conflict information between the current version and the upgraded version can be quickly and accurately determined, and then the target component can be upgraded according to the dependency conflict information, which can avoid the inefficiency of manual analysis on the one hand, and reduce the risk of human error on the other hand, improve the security and reliability of the upgrade process, that is, improve the efficiency and accuracy of component upgrades.

[0083] Furthermore, based on the above Figures 1 to 3 In one or more embodiments of the present specification, a computer program product is provided, including a computer program. When the computer program in the computer program product is executed by a processor, the following process can be implemented: Receive a version upgrade instruction for a target component; In response to the version upgrade instruction, acquiring change information corresponding to the target component, the change information including difference information between the current version and the upgraded version of the target component; Constructing first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructing second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version; Performing dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; The target component is upgraded according to the dependency conflict information.

[0084] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the above-mentioned computer program product embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0085] The embodiment of the present specification provides a computer program product, which receives a version upgrade instruction for a target component, responds to the version upgrade instruction, obtains the change information corresponding to the target component, wherein the change information may include the difference information between the current version and the upgraded version of the target component, constructs the first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructs the second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version, performs dependency conflict analysis on the first graph structure data and the second graph structure data, determines the dependency conflict information between the upgraded version and the current version, and upgrades the target component according to the dependency conflict information. In this way, through the first graph structure data corresponding to the current version and the second graph structure data corresponding to the upgraded version, the dependency conflict information between the current version and the upgraded version can be quickly and accurately determined, and then the target component can be upgraded according to the dependency conflict information, which can avoid the inefficiency of manual analysis on the one hand, and reduce the risk of human error on the other hand, improve the security and reliability of the upgrade process, that is, improve the efficiency and accuracy of component upgrades.

[0086] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0087] In the 1990s, it was very clear whether the improvement of a technology was hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented with a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming themselves, without having to ask chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0088] The controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory. It is also known to those skilled in the art that, in addition to implementing the controller in a purely computer-readable program code manner, the controller may be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the devices for implementing various functions included therein may also be considered as structures within the hardware component. Or even, the devices for implementing various functions may be considered as both software modules for implementing the method and structures within the hardware component.

[0089] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0090] For the convenience of description, the above devices are described in terms of functions and are divided into various units. Of course, when implementing one or more embodiments of this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0091] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, one or more embodiments of this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0092] The embodiments of this specification are described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable fraud case serial and parallel device to produce a machine, so that the instructions executed by the processor of the computer or other programmable fraud case serial and parallel device generate instructions for implementing the processes in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0093] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable fraud case serial and parallel device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0094] These computer program instructions may also be loaded onto a computer or other programmable device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0095] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0096] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0097] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined in this article, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0098] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0099] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, one or more embodiments of this specification may be in the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Furthermore, one or more embodiments of this specification may be in the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0100] One or more embodiments of the present specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. One or more embodiments of the present specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0101] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0102] The above description is only an embodiment of this specification and is not intended to limit this document. For those skilled in the art, this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this specification should be included in the scope of the claims of this specification.

Claims

1. A component upgrade method, the method comprising: Receive a version upgrade instruction for a target component; In response to the version upgrade instruction, acquiring change information corresponding to the target component, the change information including difference information between the current version and the upgraded version of the target component; Constructing first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and constructing second graph structure data corresponding to the upgraded version according to the change information related to the dependency item in the change information and the data dependency relationship corresponding to the current version; Performing dependency conflict analysis on the first graph structure data and the second graph structure data to determine dependency conflict information between the upgraded version and the current version; The target component is upgraded according to the dependency conflict information.

2. The method according to claim 1, wherein the upgrading process of the target component according to the dependency conflict information comprises: Extracting and processing the key change information contained in the change information according to a pre-trained information extraction model to obtain the key change information, wherein the information extraction model is constructed based on a preset machine learning algorithm; The target component is upgraded according to the dependency conflict information and the key change information.

3. The method according to claim 2, wherein the upgrading process of the target component according to the dependency conflict information and the key change information comprises: Based on a document template corresponding to the component type of the target component, and according to the dependency conflict information and the key change information, generating an upgrade plan corresponding to the target component; Using a pre-trained document correction model, the upgrade plan is logically corrected to obtain a target upgrade plan; According to the target upgrade plan, the target component is upgraded.

4. The method according to claim 3, wherein the upgrading process of the target component according to the target upgrading scheme comprises: Sending the target upgrade plan to a preset processor, and receiving feedback information from the preset processor regarding the target upgrade plan; The target upgrade plan is corrected according to the feedback information to obtain a corrected target upgrade plan, and the target component is upgraded according to the corrected target upgrade plan.

5. The method according to claim 3, wherein the target upgrade solution includes upgrade steps, data dependencies, and a rollback solution.

6. The method according to claim 5, wherein the step of upgrading the target component according to the target upgrade scheme comprises: According to the pre-built test script, test the data dependency in the target upgrade solution to obtain the test result; Determine, based on the test results, whether there is an abnormality in the data dependency relationship in the target upgrade solution; When it is determined that there is an abnormality in the data dependency relationship in the target upgrade plan, the data dependency relationship in the target upgrade plan is corrected to obtain a corrected target upgrade plan, and the target component is upgraded according to the corrected target upgrade plan.

7. A component upgrading device, comprising: An instruction receiving module, used to receive a version upgrade instruction for a target component; An information acquisition module, configured to acquire, in response to the version upgrade instruction, change information corresponding to the target component, wherein the change information includes difference information between the current version and the upgraded version of the target component; An information extraction module, used to extract and process the change information related to the dependency in the change information to obtain key change information; A data construction module, configured to construct first graph structure data corresponding to the current version according to the data dependency relationship corresponding to the current version, and to construct second graph structure data corresponding to the upgraded version according to the key change information and the data dependency relationship corresponding to the current version; A conflict analysis module, configured to perform dependency conflict analysis on the first graph structure data and the second graph structure data, and determine dependency conflict information between the upgraded version and the current version; A component upgrade module is used to upgrade the target component according to the dependency conflict information.

8. An electronic device, characterized in that: The method comprises a processor, a memory and a computer program stored in the memory and executable on the processor, wherein the computer program implements the steps of the component upgrading method as claimed in any one of claims 1 to 6 when executed by the processor.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the component upgrading method according to any one of claims 1 to 6 are implemented.

10. A computer program product, characterized in that The invention comprises a computer program, which, when executed by a processor, implements the steps of the component upgrading method according to any one of claims 1 to 6.