[go: up one dir, main page]

CN120256460A - Software package processing method, device, computer equipment and storage medium - Google Patents

Software package processing method, device, computer equipment and storage medium Download PDF

Info

Publication number
CN120256460A
CN120256460A CN202410011605.4A CN202410011605A CN120256460A CN 120256460 A CN120256460 A CN 120256460A CN 202410011605 A CN202410011605 A CN 202410011605A CN 120256460 A CN120256460 A CN 120256460A
Authority
CN
China
Prior art keywords
dependency
software package
target
dependent
target software
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
CN202410011605.4A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202410011605.4A priority Critical patent/CN120256460A/en
Publication of CN120256460A publication Critical patent/CN120256460A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The present application relates to a method, an apparatus, a computer device, a storage medium and a computer program product for processing a software package. The method can be applied to the field of artificial intelligence, such as a scene of searching visual dependency data of a software package through an intelligent terminal, and comprises the steps of responding to a query request, obtaining a target software package, searching a dependency symbol table of the target software package, inquiring the dependency software package with a dependency relationship with the target software package according to the dependency symbol table, continuously inquiring the dependency software package with the dependency relationship with the target software package based on the dependency software package when the dependency hierarchy between the dependency software package and the target software package does not meet a stop condition until the stop condition is met, obtaining the dependency software packages of different dependency hierarchies, and generating the visual dependency data of the target software package based on the target software package and the dependency software packages of different dependency hierarchies. By adopting the method, the efficiency of inquiring the dependent data can be improved.

Description

Software package processing method, device, computer equipment and storage medium
Technical Field
The present application relates to the field of computer technology, and in particular, to a method, an apparatus, a computer device, a storage medium, and a computer program product for processing a software package.
Background
RPM (RED HAT PACKAGE MANAGER, red cap software package management) software packages are software packages in an RPM format, complex dependency relations exist among the RPM software packages in the system, and under the condition of application program changing such as release of an application program version, software upgrading and the like, each RPM software package influenced by the application program changing needs to be determined to carry out batch changing.
In the related art, generally, one level of dependency data is obtained through yum and dnf, each of yum and dnf is an RPM software package manager, and then the complete dependency data can be obtained through manual repeated calling, so that all affected RPM software packages are determined, and the efficiency of determining the dependency data is low.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a method, an apparatus, a computer device, a computer readable storage medium, and a computer program product for processing a software package, which can improve the efficiency of querying dependent data.
In a first aspect, the present application provides a method for processing a software package. The method comprises the following steps:
The method comprises the steps of responding to a query request, obtaining a target software package corresponding to software package information in the query request, searching a dependency symbol table of the target software package according to a query type carried by the query request, inquiring a dependency software package with a dependency relationship with the target software package according to a dependency item included in the dependency symbol table, continuously inquiring the dependency software package with the target software package based on the dependency software package when a dependency level between the dependency software package and the target software package does not meet a stop condition until the dependency level between the currently inquired dependency software package and the target software package meets the stop condition, obtaining the dependency software packages of different dependency levels, and generating visualized dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
In a second aspect, the application further provides a processing device of the software package. The device comprises:
the target software package acquisition module is used for responding to the query request and acquiring a target software package corresponding to the software package information in the query request;
the dependence symbol table searching module is used for searching a dependence symbol table of the target software package according to the query type carried by the query request;
the first dependency software package inquiring module is used for inquiring the dependency software package with the dependency relationship with the target software package according to the dependency items included in the dependency symbol table;
The second dependence software package query module is used for continuously querying the dependence software package with the dependence relation with the target software package based on the dependence software package when the dependence level between the dependence software package and the target software package does not meet the stop condition until the dependence level between the currently queried dependence software package and the target software package meets the stop condition, so as to obtain the dependence software package of each different dependence level;
and the dependency data generation module is used for generating visualized dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
In a third aspect, the present application also provides a computer device. The computer device comprises a memory storing a computer program and a processor which when executing the computer program performs the steps of:
The method comprises the steps of responding to a query request, obtaining a target software package corresponding to software package information in the query request, searching a dependency symbol table of the target software package according to a query type carried by the query request, inquiring a dependency software package with a dependency relationship with the target software package according to a dependency item included in the dependency symbol table, continuously inquiring the dependency software package with the target software package based on the dependency software package when a dependency level between the dependency software package and the target software package does not meet a stop condition until the dependency level between the currently inquired dependency software package and the target software package meets the stop condition, obtaining the dependency software packages of different dependency levels, and generating visualized dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
In a fourth aspect, the present application also provides a computer-readable storage medium. The computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
The method comprises the steps of responding to a query request, obtaining a target software package corresponding to software package information in the query request, searching a dependency symbol table of the target software package according to a query type carried by the query request, inquiring a dependency software package with a dependency relationship with the target software package according to a dependency item included in the dependency symbol table, continuously inquiring the dependency software package with the target software package based on the dependency software package when a dependency level between the dependency software package and the target software package does not meet a stop condition until the dependency level between the currently inquired dependency software package and the target software package meets the stop condition, obtaining the dependency software packages of different dependency levels, and generating visualized dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
In a fifth aspect, the present application also provides a computer program product. The computer program product comprises a computer program which, when executed by a processor, implements the steps of:
The method comprises the steps of responding to a query request, obtaining a target software package corresponding to software package information in the query request, searching a dependency symbol table of the target software package according to a query type carried by the query request, inquiring a dependency software package with a dependency relationship with the target software package according to a dependency item included in the dependency symbol table, continuously inquiring the dependency software package with the target software package based on the dependency software package when a dependency level between the dependency software package and the target software package does not meet a stop condition until the dependency level between the currently inquired dependency software package and the target software package meets the stop condition, obtaining the dependency software packages of different dependency levels, and generating visualized dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
According to the processing method, the device, the computer equipment, the storage medium and the computer program product of the software package, the target software package is obtained through the software package information in the query request, the dependency symbol table of the target software package is searched according to the query type, then the dependency software package with the dependency relationship with the target software package is queried according to the dependency item included in the dependency symbol table, when the dependency level corresponding to the dependency software package does not meet the stop condition, the dependency software package with the dependency relationship with the target software package is continuously queried based on the dependency software package until the queried dependency level of the dependency software package meets the stop condition, so that the dependency software packages with different dependency levels can be queried, and when the software package needs to be changed, the dependency software package with each dependency level with the dependency relationship with the target software package can be queried without manual repeated calling, so that the efficiency of querying dependency data is improved.
Drawings
FIG. 1 is an application environment diagram of a method of processing a software package in one embodiment;
FIG. 2 is a flow diagram of a method of processing a software package in one embodiment;
FIG. 3 is a schematic diagram of a dependency tree in one embodiment;
FIG. 4 is a schematic diagram of a dependency tree in another embodiment;
FIG. 5 is a schematic diagram of a process flow for implementing a dependency store service in one embodiment;
FIG. 6 is a flow diagram of a process for looking up dependent packages of different query types in one embodiment;
FIG. 7 is a schematic diagram of the same dependency software package corresponding to different dependency levels in one embodiment;
FIG. 8 is a flow diagram of a process for looking up a dependency software package for each dependency level when query types are different, in one embodiment;
FIG. 9 is a flow diagram of generating visualized dependent data when the query request is a dependent priority query request, in one embodiment;
FIG. 10 is a reference diagram of determining whether a software package to be processed satisfies a priority processing condition in one embodiment;
FIG. 11 is a schematic diagram of three processing stages involved in a method of processing a software package in one embodiment;
FIG. 12 is a schematic diagram of a processing system for a software package in one embodiment;
FIG. 13 is a flow chart of a method of processing a software package according to another embodiment;
FIG. 14 is a block diagram of a processing device for a software package in one embodiment;
Fig. 15 is an internal structural view of a computer device in one embodiment.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
The processing method of the software package provided by the embodiment of the application can be applied to an application environment shown in figure 1. Wherein the terminal 102 communicates with the server 104 via a network. The data storage system may store data that the server 104 needs to process. The data storage system can be integrated on the server 104, can be placed on the cloud or other network servers, and the processing method of the software package can be executed by the terminal 102 or the server 104, or can be executed cooperatively by the terminal 102 and the server 104.
Taking the execution of a software package processing method through a terminal 102 as an example, the terminal 102 responds to a query request to obtain a target software package corresponding to software package information in the query request, the terminal 102 searches a dependency symbol table of the target software package according to a query type carried by the query request, the terminal 102 queries a dependency software package with a dependency relationship with the target software package according to a dependency item included in the dependency symbol table, when a dependency level between the dependency software package and the target software package does not meet a stop condition, the terminal 102 continues to query the dependency software package with the target software package according to the dependency software package until the currently queried dependency level between the dependency software package and the target software package meets the stop condition to obtain the dependency software package of different dependency levels, and the terminal 102 generates visualized dependency data of the target software package based on the target software package and the dependency software package of different dependency levels.
The terminal 102 may be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, an internet of things device, and a portable wearable device, and the internet of things device may be a smart speaker, a smart television, a smart air conditioner, and a smart vehicle device. The portable wearable device may be a smart watch, smart bracelet, headset, or the like.
The server 104 may be a separate physical server or may be a service node in a blockchain system, where a peer-to-peer network is formed between the service nodes.
The server 104 may be a server cluster formed by a plurality of physical servers, and may be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), and basic cloud computing services such as big data and artificial intelligence platforms.
The terminal 102 and the server 104 may be connected by a communication connection manner such as bluetooth, USB (Universal Serial Bus ) or a network, which is not limited in this disclosure.
In some embodiments, as shown in fig. 2, a method for processing a software package is provided, where the method is performed by a server or a terminal in fig. 1, and may also be performed by the server and the terminal in fig. 1 cooperatively, where the method is illustrated by the terminal in fig. 1 as an example, and includes the following steps:
Step 202, in response to the query request, obtaining a target software package corresponding to the software package information in the query request.
The query request is used for querying the dependent data of a certain software package, the software package is in an RPM format, and is also called an RPM software package, and the query request can be initiated by a user through a software package processing interactive interface of the terminal.
The dependency data is used for reflecting the dependency relationship between the software package and other software packages, namely, the query request is used for querying the dependency relationship between a certain software package and other software packages, and the dependency relationship between the software packages can be at least one of an installation process or a compiling process of the software packages and depends on the other software package.
In practical application, there is an application program which depends on a library file or other resources to realize functions, and at least one of the installation process or the compiling process of the application program corresponding software package depends on the library file or other resources, when the library file or other resources are provided by another application program, a dependency relationship exists between the application program corresponding software package and another application program corresponding software package, for example, in the installation process of the software package A1, the library file k1 needs to be called, and the library file k1 is provided by the software package A2, and then the dependency relationship exists between the software package A1 and the software package A2.
The package information may be a package name, and the package name of the target package is the package name included in the query request.
In some embodiments, a user can input software package information through a software package processing interaction interface of the terminal, initiate a query request according to the software package information, enable the query request to comprise the software package information, respond to the query request, acquire package names (software package information) included in the query request, acquire package names of all software packages in a software warehouse, and take the software package with the package names consistent with the package names included in the query request as a target software package.
Step 204, searching the dependency symbol table of the target software package according to the query type carried by the query request.
The query type is used for representing the dependency type of the software package, the dependency type can be a dependency type or a dependent type, the dependency type is the dependency type of the software package depending on other software packages, and the dependent type is the dependency type of the software package depending on other software packages.
The method includes the steps that in the installation process of a software package A1, a library file k1 needs to be called, the library file k1 is provided by a software package A2, the software package A1 depends on the software package A2, the software package A2 depends on the software package 1, when a target software package is the software package A1 and the query type is the dependent type, the software package A2 which needs to be queried to be relied on by the software package A1 is indicated, and when the target software package is the software package A2 and the query type is the dependent type, the software package A2 which needs to be queried to be relied on by the software package A1 is indicated.
The dependency symbol table of the target software package comprises dependency symbols of the target software package belonging to the query type, the number of the dependency symbols being at least one.
In some embodiments, a user inputs the software package information through a software package processing interaction interface of the terminal, inputs a query type, generates a query request according to the software package information and the query type, and the terminal responds to the query request to acquire an initial dependency symbol table of the target software package according to the software package information, and acquires a dependency symbol table corresponding to the query type in the initial dependency symbol table of the target software package.
In some embodiments, step 204 includes looking up a first dependency symbol table in the dependency symbol table that includes dependency items required by the target software package when the query type carried by the query request is a dependency type, and looking up a second dependency symbol table in the dependency symbol table that includes dependency items provided by the target software package when the query type carried by the query request is a dependent type.
The dependency symbol summary table comprises all software packages in a software warehouse and dependency symbols belonging to different query types, and illustratively, the software warehouse comprises a software package A1, a software package A2, a software package A3 and a software package A4, wherein the software package A1 has the dependency symbols belonging to the dependency type and the dependency symbols belonging to the dependent type, and likewise, the software package A2, the software package A3 and the software package A4 also have the dependency symbols belonging to the dependency type and the dependency symbols belonging to the dependent type, and the dependency symbol summary table comprises the dependency symbols belonging to the dependency type and the dependency symbols belonging to the dependent type, respectively, of the software package A1, the software package A2, the software package A3 and the software package A4.
The dependency term may be a library file or other resource, and may also be a specific function, interface, or method in the library file.
The dependency items required by the target software package are dependency items required to be called by the target software package from other software packages, and in other words, the dependency items required by the target software package are dependency items required to be provided by other software packages, and the first dependency symbol table comprises dependency symbols corresponding to the dependency items required to be called by the target software package from other software packages.
The dependency items provided by the target software package are depended by other software packages, and in other words, the dependency items provided by the target software package are dependency items provided by the target software package for other software package calls, and the second symbol table comprises dependency symbols corresponding to the dependency items provided by the target software for other software package calls.
In some embodiments, the dependency symbol table is stored in a local memory of the terminal, the terminal can directly access the dependency symbol table, the initial dependency symbol table belonging to the target software package is queried through the dependency symbol table, the initial dependency symbol table comprises all dependency symbols related to the target software package, specifically comprises the dependency symbols belonging to the dependency type and the dependency symbols belonging to the depended type of the target software package, the terminal searches a corresponding first symbol table or a corresponding second symbol table in the initial dependency symbol table according to the query type, when the query type is the dependency type, the terminal searches the dependency symbols belonging to the dependency type from the initial dependency symbol table, determines the first dependency symbol table according to the dependency symbols belonging to the dependency type, when the query type is the depended type, searches the dependency symbols belonging to the depended type from the initial dependency symbol table, and determines the second dependency symbol table according to the dependency symbols belonging to the depended type.
Illustratively, when the query type is a dependency type, the Requires symbol of the target software package (the dependency symbol belonging to the dependency type) is searched in the dependency symbol table, the first dependency symbol table is determined according to the Requires symbol of the target software package, and the Requires represents the requirement, and thus the dependency symbol of the dependency item required by the target software package is represented by the Requires.
When the query type is a dependent type, the Provides symbols of the target software package (the dependent symbols belonging to the dependent type) are searched in the dependent symbol table, the first dependent symbol table is determined according to the Provides symbols of the target software package, provides represents the provision, and thus the dependent symbols of the dependent items provided by the target software package are represented by Provides.
In some embodiments, the dependency symbol summary table is maintained by a server, the terminal can send a dependency symbol query request to the server, the dependency symbol query request carries a package name and a query type of a target software package, when the query type is the dependency type, the server searches a first dependency symbol table of the target software package in the dependency symbol summary table in response to the dependency symbol query request, the terminal acquires the first dependency symbol table returned by the server, when the query type is the dependent type, the server searches a second dependency symbol table of the target software package in the dependency symbol summary table in response to the dependency symbol query request, and the terminal acquires the second dependency symbol table returned by the server.
In the above embodiment, for the target software package, the first dependency symbol table corresponding to the dependency type of the target software package may be searched, and the second dependency symbol table of the dependent type of the target software package may also be searched, so as to meet various application scene requirements of dependency relation searching, and improve the adaptability of the software package processing method.
And step 206, inquiring the dependent software package with the dependency relationship with the target software package according to the dependency item included in the dependency symbol table.
The dependency symbol table further comprises dependency items corresponding to the dependency symbols, the dependency symbols are identification symbols of the dependency items, namely, the dependency symbols and the dependency items have corresponding relations, and the number of the dependency items is at least one.
Specifically, the terminal traverses the dependency item of the dependency symbol table, acquires the dependency item from the dependency symbol table of other software packages for the currently traversed dependency item, and takes a certain other software package as the dependency software package with the dependency relation with the target software package if the dependency item is acquired from the dependency symbol table of the certain other software package.
Since the number of dependent items is at least one, the number of dependent software packages queried from the dependency symbol table is at least one.
It should be noted that, depending on different query types, the dependency relationship between the queried dependency software package and the target software package is different, for example, when the query type is the dependency type, the dependency relationship between the queried dependency software package and the target software package is used to represent that the target software package depends on the dependency software package (the target software package needs to call the dependency item provided by the dependency software package), and when the query type is the dependent type, the dependency relationship between the queried dependency software package and the target software package is used to represent that the target software package depends on the dependency software package (the target software package provides the dependency item required by the dependency software package).
In some embodiments, a dependency software package with a dependency relationship with a target software package is queried according to dependency items included in a dependency symbol table, wherein the dependency software package comprises traversing the dependency items needed by the target software package to obtain a first target dependency item when the dependency symbol table includes the dependency items needed by the target software package, acquiring a first reference dependency symbol table of each software package, wherein the first reference dependency symbol table is used for representing the dependency items provided by the software package, and querying each software package for the dependency software package providing the first target dependency item based on the first reference dependency symbol table of each software package.
When the dependency symbol table comprises dependency items required by the target software package, the query type is the dependency type, and the first target dependency item is one traversed dependency item in the dependency symbol table corresponding to the dependency type. The first reference dependency symbol table is a reference dependency symbol table of the software package belonging to the type to be relied.
The method comprises the steps of obtaining a first reference dependency symbol table of a software package belonging to a dependent type by a terminal, searching the first target dependency item in the first reference dependency symbol table, skipping the software package if the first target dependency item is not found in the first reference dependency symbol table until the first target dependency item is found in the first reference dependency symbol table of a certain software package, obtaining the dependency software package providing the first target dependency item by the terminal after the terminal completes traversing the dependency items in the dependency symbol table.
It should be noted that the same dependency package may provide at least one dependency item required by the target package, and thus the number of each dependency package to be searched may be smaller than the number of dependency items required by the target package.
The software repository comprises a target software package A1, a software package A2, a software package A3 and a software package A4, the dependence items needed by the target software package A1 are determined according to the dependence symbol table and comprise a dependence item R1 and a dependence item R2, for the traversed dependence item R1 (first target dependence item), the dependence item R1 is searched in a first reference dependence symbol table of the software package A2 belonging to the dependence type, if the first reference dependence symbol table of the software package A2 comprises the dependence item R1, the software package A2 is a dependence software package providing the dependence item R1, for the traversed dependence item R2 (first target dependence item), the dependence item R2 is searched in a first reference dependence symbol table of the software package A2 belonging to the dependence type, if the first reference dependence symbol table of the software package A2 does not comprise the dependence item R2, the dependence item R2 is continuously searched in a first reference dependence symbol table of the software package A3, if the first reference symbol table of the software package A3 comprises the dependence item R2 is the dependence item R2, the dependence item R2 is searched for the first reference symbol table of the software package A2, and the dependence item A2 is determined to exist according to the target dependence item A3.
In the above embodiment, when the dependency symbol table includes the dependency items required by the target software package, the dependency software package providing the dependency items required by the target software package is searched according to the first reference dependency symbol table of each software package, and the dependency software package having the dependency relationship with the target software package can be quickly queried through the corresponding relationship between the dependency symbol table of the target software package and the first reference dependency symbol table of the software package, thereby improving the efficiency of querying the dependency software package.
In some embodiments, the dependency software package with the dependency relation with the target software package is queried according to the dependency items included in the dependency symbol table, and the method comprises traversing the dependency items provided by the target software package to obtain second target dependency items when the dependency symbol table includes the dependency items provided by the target software package, acquiring second reference dependency symbol tables of the software packages, wherein the second reference dependency symbol tables are used for representing the dependency items required by the software packages, and querying the dependency software packages requiring the second target dependency items in the software packages based on the second reference dependency symbol tables of the software packages.
When the dependency symbol table comprises the dependency items provided by the target software package, the query type is the dependent type, and the second target dependency item is one traversed in the dependency symbol table corresponding to the dependent type. The second reference dependency symbol table is a reference dependency symbol table of the software package belonging to the dependency type.
Specifically, when the query type is a dependent type, the dependency symbol table comprises dependency items provided by the target software package, and the terminal traverses the dependency symbol table to obtain a second target dependency item; for each software package, the terminal acquires a second reference dependency symbol table of the software package belonging to the dependent type, searches a second target dependency item in the second reference dependency symbol table, skips the software package until the operation of searching the second target dependency item in the second reference dependency symbol table of each software package is completed, takes the software package including the second target dependency item in the second reference dependency symbol as a dependent software package requiring the second target dependency item, and obtains each dependent software package requiring each dependency item after the terminal completes traversing each dependency item in the dependency symbol table.
It should be noted that the same dependency may be required by multiple packages, and thus the number of each dependency package being searched may be greater than the number of dependencies provided by the target package.
The software repository includes a target software package A1, a software package A2, a software package A3 and a software package A4, the dependency items provided by the target software package A1 include a dependency item P1 and a dependency item P2 determined according to the dependency symbol table, the traversed dependency item P1 (second target dependency item) is searched for in a second reference dependency symbol table belonging to the type to be relied of the software package A2, if the second reference dependency symbol table of the software package A2 includes the dependency item P1, the software package A2 is a dependency software package requiring the dependency item P1, the dependency item P1 is searched for in the second reference dependency symbol tables of the software package A3 and the software package A4, so as to obtain each dependency software package requiring the dependency item P1, and for the traversed dependency item P2 (second target dependency item), each dependency software package requiring the dependency item P2 is searched for in the same manner as the above-mentioned dependency software package requiring the dependency item P1.
In the above embodiment, when the dependency symbol table includes the dependency item provided by the target software package, the dependency software package requiring the dependency item provided by the target software package is searched according to the second reference dependency symbol table of each software package, and the dependency software package having the dependency relationship with the target software package can be quickly queried through the corresponding relationship between the dependency symbol table of the target software package and the second reference dependency symbol table of the software package, thereby improving the efficiency of querying the dependency software package.
And step 208, continuously inquiring the dependent software package with the dependency relation with the target software package based on the dependent software package when the dependency level between the dependent software package and the target software package does not meet the stop condition until the dependency level between the currently inquired dependent software package and the target software package meets the stop condition, so as to obtain the dependent software package of each different dependency level.
The more the dependency levels between the dependency software package and the target software package, the higher the complexity of the dependency relationship between the dependency software package and the target software package.
In another aspect, the dependency level may reflect the number of intermediate dependency packages required to form a dependency relationship between the target software package and the dependency software package, the higher the number of intermediate dependency software packages required, the higher the dependency level, and it should be understood that a dependency relationship also exists between the required intermediate dependency software packages and the target software package, and the dependency level corresponding to the intermediate dependency software packages is lower than the dependency level corresponding to the dependency software packages.
Specifically, when the dependency relationship between the target software package and the dependency software package can be directly formed according to the target software package and the dependency software package, that is, the dependency item required by the target software package is provided by the dependency software package, or the dependency item required by the dependency software package is provided by the target software package, the dependency level is lower, the dependency relationship between the target software package and the dependency software package is simpler, and when the dependency relationship between the target software package and the dependency software package requires at least one intermediate dependency software package, such as the dependency relationship between the target software package and the dependency software package, the dependency item required by the target software package is provided by the intermediate dependency software package, and the dependency item required by the intermediate dependency software package is provided by the dependency software package, so that the dependency level between the target software package and the dependency software package is higher, and the dependency relationship between the target software package and the dependency software package is more complex.
It should be noted that, when the dependency relationship between the target software package and the dependent software package needs to be formed by at least one intermediate dependent software package, the dependency relationship between the target software package and the dependent software package includes the dependency relationship between the target software package and the intermediate dependent software package, and the dependency relationship between the intermediate dependent software package and the dependent software package, so the dependency relationship between the target software package and the dependent software package can be considered to be relatively complex.
Illustratively, the dependencies are B1-B2-B3, which represent that the target software package B1 depends on the software package B2 (intermediate dependency software package), and the software package B2 depends on the dependency software package B3, namely, the dependency between the target software package B1 and the dependency software package B3, including the dependency between the target software package B1 and the software package B2, and the dependency between the software package B2 and the dependency software package B3.
In practical applications, when the dependency items required for the target software package are provided by the dependency software package or the dependency items required for the dependency software package are provided by the target software package, the dependency level between the target software package and the dependency software package may be set to 1.
It should be noted that, the dependency level between the target software package and the dependency software package may be understood as the dependency level corresponding to the dependency software package, for example, the dependency level between the target software package and the dependency software package is 1, and may indicate that the dependency level corresponding to the dependency software package is 1.
The stopping condition can be that the dependence level is equal to the query level, the query level can be set by a user according to the query requirement or can be a default preset level, when the query level is set by the user, the user can input the query type and the query level while inputting the software package information through a software package processing interactive interface of the terminal, a query request is generated according to the software package information, the query type and the query level, and the terminal can acquire the query level in the query request.
Specifically, the terminal responds to a query request, searches a dependency symbol table of a target software package according to dependency levels included in the query request, package information and query types, determines the dependency levels between the dependency software package and the target software package after querying the dependency software package with the dependency relationship with the target software package, acquires the query levels included in the query request, and determines that the dependency levels do not meet a stop condition when the dependency levels are smaller than the query levels.
When the dependency level does not meet the stop condition, the currently queried dependency software package is the dependency software package with the lower dependency level, and the dependency software package with the higher dependency level needs to be queried continuously, so that the dependency software package with the dependency relationship with the target software package is queried continuously based on the dependency software package.
It should be noted that, step 204 and step 206 are performed, and refer to querying the dependency software package based on the dependency symbol table of the target software package, that is, querying based on the target software package, and continuing to query the dependency software package having a dependency relationship with the target software package based on the dependency software package.
The method comprises the steps that a terminal searches a reference dependency symbol table of a dependent software package according to a query type carried by a query request, queries other dependent software packages with dependency relations with the dependent software package according to dependency items included in the reference dependency symbol table, queries other dependent software packages with dependency relations with a target software package, namely the queried other dependent software packages are currently queried dependent software packages, determines dependency relations between the other dependent software packages and the target software package according to the dependency relations between the dependent software packages and the target software package, for example, the dependency relations between the other dependent software packages (currently queried dependent software packages) and the target software package are equal to the dependency relations between the dependent software packages and the target software package plus 1, and obtains the dependent software packages with different dependency relations under the condition that the dependency relations of the currently queried dependent software packages meet stop conditions.
It should be noted that the reference dependency symbol table may be a first reference dependency symbol table corresponding to a dependency type, or may be a second reference dependency symbol table corresponding to a dependent type.
Illustratively, the query level is 3, the step 204 and the step 206 are executed to obtain the dependency software package C1, the dependency level between the dependency software package C1 and the target software package is 1, it may be determined that the dependency level corresponding to the dependency software package C1 does not satisfy the stop condition, the terminal obtains the reference dependency symbol table C1 belonging to the query type of the dependency software package C1, for the dependency item in the reference dependency symbol table C1, obtains the dependency item from the reference dependency symbol tables in other software packages, obtains other software packages C2 corresponding to the reference dependency symbol table including the dependency item as the currently queried dependency software package C2, and may determine that the dependency level between the dependency software package C2 and the target software package is 2, and the dependency level corresponding to the dependency software package C2 is not equal to the query level, so that the dependency level corresponding to the dependency software package C2 does not satisfy the stop condition, continues the specific process of obtaining the dependency software package C3 based on the dependency software package C2 query and the target software package based on the dependency software package C2, and the process obtaining the dependency level corresponding to the dependency package C2 based on the dependency package C1 query is the same, and the dependency level corresponding to the dependency level 3 corresponding to the target software package C3 can be determined as the stop condition that the dependency level corresponding to the dependency level 3 is 3.
It will be appreciated that step 208 is a process of progressively querying the dependent packages of higher dependency levels depending on whether a stop condition is met.
At step 210, visual dependency data for the target software package is generated based on the target software package and the dependency software packages for each of the different dependency levels.
The visualized dependent data can reflect a dependent software package with a dependent relation with a target software package and a dependent level corresponding to each dependent software package.
Specifically, the terminal may generate visual dependency data in text form based on the target software package and the dependency software packages of different dependency levels, generate visual dependency data in image form based on the target software package and the dependency software packages of different dependency levels, and obtain visual dependency data in image-text form based on the generated visual dependency data in text form and the visual dependency data in image form.
In some embodiments, the query request is a dependency level query request, and the generating of visual dependency data for the target software package based on the target software package and the dependency software packages for the different dependency levels includes generating a dependency tree for the target software package based on the target software package and the dependency software packages for the different dependency levels, and converting the dependency tree into visual dependency data for the multimedia types.
The dependency level query request is used for querying a dependency software package with a dependency relationship with a target software package and a dependency level between the dependency software package and the target software package.
The dependency tree may reflect the dependencies between the target software package and each of the dependent software packages, as well as the dependency levels to which each of the dependent software packages corresponds.
The terminal takes the target software package and each dependent software package as nodes, determines father-son relations between the target software package and the nodes corresponding to each dependent software package according to the dependency relations between the target software package and each dependent software package and the dependency levels corresponding to each dependent software package, takes the nodes corresponding to the target software package as root nodes, generates a dependency relation tree according to the father-son relations between the root nodes and each node, performs visualization processing on the dependency relation tree to obtain visualized dependent data, and performs visualization processing on the dependency relation tree in practical application, namely, the dependency relation tree can be converted into the visualized dependent data in json format, so that the method is easy to read.
For example, if the dependency level corresponding to the dependency software package D2 having the dependency relationship with the target software package D1 is 1, the root node D1 corresponding to the target software package D1 and the node D2 corresponding to the dependency software package D2 have a parent-child relationship, the node D2 is a child node of the root node D1, the dependency level corresponding to the dependency software package D3 is 1, it may also be determined that the node D3 corresponding to the dependency software package D3 is a child node of the root node D1, the dependency level corresponding to the dependency software package D4 is 2, the dependency relationship between the target software package D1 and the dependency software package D4, including the dependency relationship between the target software package D1 and the dependency software package D2, and the dependency relationship between the dependency software package D2 and the dependency software package D4, and the node D2 corresponding to the dependency software package D4 have a parent-child relationship, and a dependency relationship tree as shown in fig. 3 may be generated.
In practical applications, the number of dependency packages of each dependency level may be greater than 1, for example, 2 dependency packages corresponding to a dependency level 1 may be queried, based on the 2 dependency packages, 5 dependency packages corresponding to a dependency level 2 may be queried, and based on the 5 dependency packages, 2 dependency packages corresponding to a dependency level 3 may be queried, so dependency trees corresponding to dependency packages of 3 different dependency levels are shown in fig. 4.
In some embodiments, a dependency relationship tree of a target software package is generated according to the target software package and dependency software packages of different dependency levels, and the method comprises the steps of generating a node wiring diagram according to the target software package, the dependency software packages of different dependency levels and the dependency relationship between the target software package and the dependency software packages, acquiring a ring path in the node wiring diagram, determining target diagram nodes according to the dependency times of diagram nodes in the ring path, acquiring two reference diagram nodes connected with the target diagram nodes, selecting the target reference diagram nodes from the two reference diagram nodes, disconnecting edges between the target reference diagram nodes and the target diagram nodes, obtaining an updated node wiring diagram, and generating a dependency relationship tree according to the updated node wiring diagram.
The node wiring diagram comprises graph nodes and edges between the graph nodes, wherein the target software package and each dependent software package are used as the graph nodes, the edges between the graph nodes are determined according to the dependency relationship between the target software package and each dependent software package and the dependency relationship between each dependent software package, and the node wiring diagram is generated.
The method comprises the steps of performing depth-first traversal on a node interconnection graph to obtain annular paths in the node interconnection graph, and performing ring removing operation on each annular path, wherein the ring removing operation comprises the steps of determining target graph nodes in the annular paths according to dependence times, selecting target reference graph nodes from two reference graph nodes connected with the target graph nodes, and disconnecting edges between the target graph nodes and the target reference graph nodes.
Specifically, determining the target graph node according to the dependency frequency of the graph nodes in the circular path may obtain the dependency frequency of each graph node in the circular path, and use the graph node with the minimum dependency frequency as the target graph node, where the dependency frequency of the graph node may be the frequency of occurrence of the graph node in each obtained circular path, or may be the frequency of referencing of all the software packages by the dependency software packages corresponding to the graph node, and the frequency of referencing of all the software packages by the dependency software packages corresponding to the graph node may be determined based on the metadata file (repodata).
Selecting a target reference graph node from the two reference graph nodes, namely acquiring the dependence times of the reference graph node, and taking the reference graph node with smaller dependence times as the target reference graph node; for example, the two reference graph nodes include a reference graph node u1 and a reference graph node u2, and when the number of dependencies of the reference graph node u1 is smaller than the number of dependencies of the reference graph node u2, the reference graph node u1 is taken as the target reference graph node.
The target reference graph node is selected from the two reference graph nodes, or the reference graph node with the higher corresponding dependency level in the two reference graph nodes is used as the target reference graph node, or one reference graph node is randomly selected from the two reference graph nodes as the target reference graph node.
The fewer the number of dependency times of the graph node, the weaker the dependency relationship of the dependency software package corresponding to the graph node, the smaller the influence of the dependency software package on other dependency software packages when the software package is processed, so that the ring path is broken from the target graph node with the minimum number of dependency times in the ring path, and the influence on other dependency software packages is the smallest.
And disconnecting edges between the target reference graph nodes and the target graph nodes to obtain an updated node wiring diagram generation dependency relationship tree, and generating the dependency relationship tree according to the updated node wiring diagram, wherein each graph node in the updated node wiring diagram is respectively used as each node, the graph node corresponding to the target software package is used as a root node, and connecting lines among the nodes are determined according to the edges among the graph nodes to obtain the dependency relationship tree.
The method is characterized in that the edge between the target reference graph node and the target graph node is disconnected, which is equivalent to disconnecting the dependency relationship between the target reference graph node corresponding software package and the target graph node corresponding software package, so that the dependency relationship between the target software package and each dependency software package and the dependency relationship between each dependency software package are simplified, the complexity of a dependency relationship tree generated according to the updated node wiring graph is further reduced, and the efficiency of processing the software package can be improved based on the dependency relationship tree when the software package is processed.
In the above embodiment, the dependency relationship tree of the target software package is generated according to the target software package and the dependency software packages of different dependency levels, and then the dependency relationship tree is converted into the visual dependency data, so that the dependency relationship between the target software package and the dependency software package can be more intuitively understood through the visual dependency data corresponding to the dependency relationship tree.
In the processing method of the software package, the target software package is obtained through the software package information in the query request, the dependency symbol table of the target software package is searched according to the query type, then the dependency software package with the dependency relation with the target software package is queried according to the dependency item included in the dependency symbol table, when the dependency level corresponding to the dependency software package does not meet the stop condition, the dependency software package with the dependency relation with the target software package is continuously queried based on the dependency software package until the queried dependency level of the dependency software package meets the stop condition, so that the dependency software packages of different dependency levels can be queried, when the software package is required to be changed, the dependency software package of each dependency level with the target software package can be queried without manual repeated call, and the efficiency of querying the dependency data is improved.
In some embodiments, before the target software package corresponding to the software package information in the query request is acquired in response to the query request, the method further comprises the steps of sending a data acquisition request to a server, receiving a metadata file returned by the server in response to the data acquisition request, and analyzing the metadata file to obtain a dependency symbol summary table comprising dependency symbols of each software package.
Wherein the data acquisition request includes a uniform resource locator (Uniform Resource Locator, URL) for locating a metadata file, the metadata file being a database file (repodata) of the software package repository.
Specifically, the terminal obtains the URL of the metadata file, generates a data acquisition request according to the URL, sends the data acquisition request to the server, determines repodata according to the URL included in the data acquisition request in response to the data acquisition request, returns repodata to the terminal, receives repodata, analyzes repodata to obtain the dependent symbols of all software packages in the software warehouse, and can generate a dependent symbol summary table according to the package names of the software packages and the corresponding relationship of the dependent symbols.
After obtaining the dependency symbol summary table, the dependency symbol summary table may be saved as redis to promote the efficiency of querying the dependency symbol table of the target software package and the first reference dependency symbol table or the second reference dependency symbol table of each software package based on the dependency symbol summary table, redis (Remote Dictionary Server) is a key value database.
Under a possible application scenario, as shown in fig. 5, after a terminal obtains a metadata file (repodata) from a server, the terminal analyzes repodata to obtain dependency symbols of all software packages in a software warehouse, a dependency symbol total table can be generated according to package names of the software packages and corresponding relations of the dependency symbols, the dependency symbol total table is stored in a redis form, a dependency relation storage service can be realized, when dependency data is required to be queried, a query request can be initiated to the dependency relation storage service, the dependency symbol table of a target software package is returned through the dependency relation storage service, and a first reference dependency symbol table or a second reference dependency symbol table of each software package can be obtained through the dependency relation storage service so as to facilitate subsequent determination of the dependency software package.
In the embodiment, the metadata file is obtained from the server in advance, and the metadata file is analyzed to obtain the dependency symbol summary table, so that the terminal locally has the dependency symbol summary table, and thus when the dependency data needs to be queried, the dependency symbol table of the query target software package and the first reference dependency symbol table or the second reference dependency symbol table of each software package do not need to be obtained through the metadata file on the line, network overhead required by querying the dependency symbol table is avoided, the problem that the network state influences the on-line query efficiency is avoided, and the efficiency of querying the dependency symbol table, the first reference dependency symbol table and the second reference dependency symbol table is improved.
In some embodiments, the first dependency symbol table comprises a first compiling dependency symbol table or a first installation dependency symbol table, and when the query type carried by the query request is a dependency type, searching the first dependency symbol table comprising the dependency items required by the target software package in the dependency symbol table comprises searching the first compiling dependency symbol table comprising the dependency items required by compiling the target software package in the dependency symbol table when the query type carried by the query request is a compiling dependency type, and when the query type carried by the query request is an installation dependency type, searching the first installation dependency symbol table comprising the dependency items required by installing the target software package in the dependency symbol table.
The compiling dependency type is a dependency type depending on other software packages in the compiling process of the target software package, and the installation dependency type is a dependency type depending on other software packages in the installing process of the target software package.
Illustratively, during the installation process of the software package A1, the library file k1 needs to be called, and the library file k1 is provided by the software package A2, then the dependency type between the software package A1 and the software package A2 is an installation dependency type.
The first compiling dependency symbol table comprises dependency items required by the target software package when compiling the target software package, and the first installing dependency symbol table comprises dependency items required by the target software package when installing the target software package, wherein the dependency items required by the target software package are provided by other software packages.
Specifically, when the query type is a compiling dependency type, the terminal acquires all dependency symbols of the target software package in the dependency symbol summary table, queries the dependency symbols belonging to the compiling dependency type in all dependency symbols of the target software package, and determines a first compiling dependency symbol table according to the dependency symbols belonging to the compiling dependency type.
Illustratively, when the query type is a compile dependency type, the src Requires symbol of the target software package (the dependency symbol belonging to the compile dependency type) is searched in the dependency symbol table, a first compile dependency symbol table is determined according to the src Requires symbol of the target software package, and the src file is a compilable file, so that the dependency symbol of the compile dependency type is represented by the src Requires.
When the query type is the installation dependency type, the terminal acquires all the dependency symbols of the target software package in the dependency symbol summary table, queries the dependency symbols belonging to the installation dependency type in all the dependency symbols of the target software package, and determines a first installation dependency symbol table according to the dependency symbols belonging to the installation dependency type.
Illustratively, when the query type is an installation dependency type, the bin Requires symbol (the dependency symbol belonging to the installation dependency type) of the target software package is searched in the dependency symbol table, the first installation dependency symbol table is determined according to the bin Requires symbol of the target software package, and the bin file is a binary file and can be directly installed, so that the dependency symbol of the installation dependency type is represented by the bin Requires.
Under a possible scenario, the dependency types may include a compiling dependency type and an installation dependency type, and the first dependency symbol table includes a first compiling dependency symbol table and a first installation dependency symbol table, so that the dependency data of the target software package under the scenario of compiling the target software package may be queried, and the dependency data of the target software package under the scenario of installing the target software package may also be queried.
In the above embodiment, the first compiling dependency symbol table corresponding to the dependency item required for compiling the target software package may be obtained, and the first installation dependency symbol table corresponding to the dependency item required for installing the target software package may also be obtained, so that the dependency data in the scene of compiling the target software package or in the scene of installing the target software package may be queried later, the query requirement of various dependency data may be satisfied, and the applicability of the software package processing method is improved.
In some embodiments, the dependency type can be a compiling dependency type or an installation dependency type, when the dependency type is a compiling dependency type, the dependency symbol table is a first compiling dependency symbol table, and the dependency software package with the dependency relation with the target software package is queried according to the dependency items included in the dependency symbol table.
When the dependency type is an installation dependency type, the dependency symbol table is a first installation dependency symbol table, and the dependency software package with the dependency relation with the target software package is queried according to the dependency items included in the dependency symbol table; based on the first reference dependency symbol table of each software package, querying each software package for the dependent software package providing the first target installation dependency item.
In some embodiments, the dependent type can be a compiled dependent type or an installed dependent type, and querying a dependent software package having a dependency relationship with a target software package according to a dependency item included in a dependency symbol table comprises traversing to obtain a second target dependency item in the dependency item provided by the second dependency symbol table, obtaining a second reference compiled dependency symbol table of each software package, and querying the dependent software package dependent on the second target compiled dependent item in each software package based on the second reference compiled dependency symbol table of each software package.
When the dependency type is the installation dependent type, inquiring the dependency software package with the dependency relation with the target software package according to the dependency item included in the dependency symbol table, wherein the method comprises the steps of traversing the dependency item provided by the second dependency symbol table to obtain a second target dependency item, obtaining a second reference installation dependency symbol table of each software package, and inquiring the dependency software package which depends on the second target installation dependent item in each software package based on the second reference installation dependency symbol table of each software package.
Illustratively, as shown in fig. 6, when the query type is a compiling dependency type, in the dependency symbol table, the src required symbol of the target software package is searched, a first compiling dependency symbol table is determined according to the src required symbol of the target software package, provides symbols of each software package are obtained, a first reference dependency symbol table of each software package is obtained, a dependent software package of the target software package is determined according to the first compiling dependency symbol table and the first reference dependency symbol table of each software package, and the dependent software package can provide dependency items required by the target software package in compiling.
When the query type is an installation dependency type, searching a bin Requires symbol of a target software package in a dependency symbol table, determining a first installation dependency symbol table according to the bin Requires symbol of the target software package, acquiring Provides symbols of each software package, obtaining a first reference dependency symbol table of each software package, determining a dependency software package of the target software package according to the first installation dependency symbol table and the first reference dependency symbol table of each software package, and providing dependency items required by the target software package during installation.
When the query type is the compiled dependent type, the Provides symbols of the target software package are searched in the dependency symbol table, a second dependency symbol table is determined according to the Provides symbols of the target software package, the src Requires symbols of each software package are obtained, a second reference compiling dependency symbol table of each software package is obtained, the dependent software package of the target software package is determined according to the second dependency symbol table and the second reference compiling dependency symbol table of each software package, and the target software package can provide the dependency items required by the dependent software package in compiling.
When the query type is the type of being depended on in installation, the Provides symbols of the target software package are searched in the dependency symbol table, a second dependency symbol table is determined according to the Provides symbols of the target software package, the bin Requires symbols of all the software packages are obtained, a second reference installation dependency symbol table of all the software packages is obtained, the dependent software package of the target software package is determined according to the second dependency symbol table and the second reference installation dependency symbol table of all the software packages, and the target software package can provide the dependency items required by the dependent software package in installation.
In the embodiment, the dependency software package providing the required dependency items of the target software package during compiling or installing can be searched, and the dependency software package providing the required dependency items of the target software package during compiling or installing can be searched, so that the query requirements of various dependency data are met, and the applicability of the processing method of the software package is improved.
In some embodiments, the dependency relationship between the dependency software package and the target software package is a direct dependency relationship or an indirect dependency relationship, and after querying the dependency software package with the target software package according to the dependency item included in the dependency symbol table, the method further comprises taking a preset dependency level as the dependency level between the dependency software package and the target software package when the dependency relationship between the dependency software package and the target software package is the direct dependency relationship, acquiring the number of at least one intermediate dependency software package forming the indirect dependency relationship when the dependency relationship between the dependency software package and the target software package is the indirect dependency relationship, and determining the dependency level between the dependency software package and the target software package according to the number of at least one intermediate dependency software package and the preset dependency level.
The method includes the steps that query types are taken as dependency types for illustration, direct dependency relationship between a dependent software package and a target software package can reflect that the target software package can directly call dependency items provided by the dependent software package, indirect dependency relationship between the dependent software package and the target software package can reflect that the target software package needs to call the dependency items of an intermediate dependent software package first, the intermediate dependent software package calls the dependency items provided by the dependent software package again, namely, when the indirect dependency relationship exists between the dependent software package and the target software package, the dependency relationship between the dependent software package and the target software package needs to be formed by at least one intermediate dependent software package, and illustration is needed to be made that the intermediate dependent software package with the target software package which has the direct dependency relationship is also the dependent software package.
Illustratively, the target software package E1 depends on the dependent software package E2, the dependent software package E2 depends on the dependent software package E3, and then the dependency between the target software package E1 and the dependent software package E2 is a direct dependency, and the dependency between the target software package E1 and the dependent software package E3 is an indirect dependency.
In practical applications, the preset dependency level may be 1, that is, when the dependency relationship between the dependent software package and the target software package is a direct dependency relationship, the dependency level corresponding to the dependent software package is 1, for example, in the above example, the dependency relationship between the target software package E1 and the dependent software package E2 is a direct dependency relationship, and then the dependency level of the dependent software package is 1.
When the dependency relationship between the dependency software package and the target software package is an indirect dependency relationship, the number of at least one intermediate dependency software package forming the indirect dependency relationship is obtained, and the preset dependency level and the number of at least one intermediate dependency software package are summed to obtain the dependency level between the dependency software package and the target software package, for example, in the above example, the intermediate dependency software package forming the dependency relationship between the target software package E1 and the dependency software package E3 is the dependency software package E2, that is, the number of intermediate dependency software packages is 1, and when the preset dependency level is 1, the dependency level corresponding to the dependency software package E3 is 2.
In practical applications, the process of obtaining the dependency software packages of different dependency levels in step 208 is a process of gradually querying the dependency software packages of higher dependency levels according to whether the stop condition is satisfied, and when each time the dependency software package is queried, the dependency level corresponding to the queried dependency software package can be determined according to a preset dependency level or the dependency level corresponding to the previously queried dependency software package.
The method comprises the steps of inquiring the obtained dependent software package based on a dependence symbol table of a target software package, wherein the corresponding dependence level is a preset dependence level, and determining the dependence level corresponding to the current inquired dependent software package according to the dependence level corresponding to the previously inquired dependent software package, which has a direct dependence relationship with the current inquired dependent software package, for each current inquired dependent software package, wherein the dependence level corresponding to the current inquired dependent software package is higher than the dependence level corresponding to the previously inquired dependent software package by 1 level.
For example, the dependency level corresponding to the dependency software package E2 is 1, the dependency software package E3 is obtained based on the dependency symbol query of the dependency software package E2, and the dependency level of the dependency software package E3 is equal to the dependency level corresponding to the dependency software package E2 plus 1, i.e. the dependency level of the dependency software package E3 is 2.
It should be noted that, since the target software package may have multiple dependent items, the same dependent software package may correspond to different dependent levels, for example, the dependent item f1 and the dependent item f2 related to the target software package E1 may include the dependent item f1 and the dependent item f2, the dependent item f1 is provided by the dependent software package E2, the dependent item f2 is provided by the dependent software package E3, the dependent software package corresponding to the dependent level 1 further includes the dependent software package E2 and the dependent software package E3, the dependent item f2 related to the target software package E2 includes the dependent item f3 and the dependent item f4, the dependent item f4 is provided by the dependent software package E4 further includes the dependent software package E3 and the dependent software package E4, and the dependent level of the target software package E1, the dependent software package E3 and the dependent software package E4 is shown in fig. 7, it is seen that the dependent software package E3 corresponds to the dependent level 1 and also corresponds to the dependent level 2.
In the above embodiment, the dependency level corresponding to each dependent software package is determined through the direct dependency relationship or the indirect dependency relationship between the dependent software package and the target software package, so that whether the stopping condition is satisfied or not is judged later, and the dependency relationship between each dependent software package and the target software package can be reflected more clearly through the dependency level.
In some embodiments, the method comprises the steps of continuously inquiring the dependent software package with the dependency relationship with the target software package based on the dependent software package until the currently inquired dependent software package and the target software package have the dependency relationship meeting the stop condition to obtain the dependent software package of each different dependency relationship, wherein the method comprises the steps of determining the dependent state of the dependent software package; and continuously inquiring the dependent software package with the dependency relationship with the target software package based on the dependent software package when the dependent state does not meet the cyclic dependency condition, and obtaining the dependent software package of different dependent levels until the dependent level between the currently inquired dependent software package and the target software package meets the stop condition or the dependent state between the currently inquired dependent software package and the target software package meets the cyclic dependency condition.
The dependency state comprises a circular dependency state or a non-circular dependency state, wherein the circular dependency state of the dependency software package refers to the dependency item provided by the target software package and the dependency software package which is queried previously, and the dependency software package also needs to invoke the dependency item provided by the target software package or the dependency software package which is queried previously.
Specifically, when the queried dependent software package is a target software package or a previously queried dependent software package of the target software package, determining that the queried dependent state of the dependent software package is a cyclic dependent state, and when the dependent state between the dependent software package and the target software package is the cyclic dependent state, satisfying the cyclic dependent condition, and when the queried dependent software package is not the target software package or the previously queried dependent software package of the target software package, determining that the queried dependent state is a non-cyclic dependent state, and not satisfying the cyclic dependent condition.
By way of example, the target software package B1, the previously queried dependent software package includes a dependent software package B2, a dependent software package B3 and a dependent software package B1, the dependency relationship between the target software package B1 and the previously queried dependent software package can be expressed as B1-B2-B3-B4, and if the currently queried dependent software package is B1, B2 or B3, the determination that the cyclic dependency condition is satisfied, for example, if the currently queried dependent software package is B2, the dependency relationship can be expressed as B1-B2-B3-B4-B2, and if the B2-B3-B4-B2 has a cyclic dependency relationship.
Illustratively, as shown in fig. 8, when the query type is a dependency type, the Requires symbol of the target software package is searched in the dependency symbol table, the dependency software package is determined based on the Requires symbol of the target software package and Provides symbols of each software package, whether the level of the dependency software package is equal to the query level is determined, whether the dependency state of the dependency software package meets the cyclic dependency condition is determined, and when both are not met, the dependency software package of the higher dependency level is determined according to the Requires symbol of the dependency software package and Provides symbols of each software package.
When the query type is the relied type, the Provides symbols of the target software package are searched in the relying symbol summary table, the relying software package is determined based on the Provides symbols of the target software package and the Requires symbols of the software packages, whether the level of the relying software package is equal to the query level is judged, whether the relying state of the relying software package meets the cyclic dependency condition is judged, and when both the relying state and the relying state are not met, the relying software package with the higher relying level is determined according to the Provides symbols of the relying software package and the Requires symbols of the software packages.
When the level of the queried dependent software package is equal to the query level or the dependent state of the dependent software package meets the cyclic dependency condition, the dependent software package of each different dependent level is obtained, specifically, the currently queried dependent software package is discarded, and the dependent software package of each dependent level of the previous query is used as the dependent software package of each different dependent level.
If the cyclic dependency condition is satisfied, if the dependent software package is continuously queried, a plurality of repeated cyclic dependency relationships occur, which results in complex dependency relationships between the dependent software packages of each dependency level, and it is difficult to accurately analyze the output dependent data.
In the above embodiment, whether the cyclic dependency condition is satisfied is determined according to the dependency state of the dependent software package, so that the occurrence of multiple repeated cyclic dependency relationships is avoided, the dependency relationship among the dependent software packages of each dependency level is clearer, and the quality of the output dependent data is further improved.
In some embodiments, the query request is a dependency priority query request, as shown in fig. 9, visual dependency data of a target software package is generated based on the target software package and dependency software packages of different dependency levels, including step 901, generating a dependency tree of the target software package based on the target software package and dependency software packages of different dependency levels, the dependency tree including nodes corresponding to the target software package and each dependency software package, step 902, performing node traversal on the dependency levels in the dependency tree to obtain nodes to be processed, step 903, determining the priority of the software package to be processed when the software package to be processed corresponding to the nodes to be processed meets the priority processing condition, and step 904, generating visual dependency data of the target software package according to the priority of the software package to be processed corresponding to each traversed node to be processed.
The dependency priority query request is used for querying a dependency software package with a dependency relationship with a target software package, a dependency level between the dependency software package and the target software package and a priority of the dependency software package, wherein the priority refers to a priority of a change order, and the higher the priority of the dependency software package is, the higher the change order of the dependency software package is.
The method comprises the steps of generating a dependency tree of a target software package, wherein the process of generating the dependency tree of the target software package can refer to the description of the specific process of generating the dependency tree in the embodiment, after the dependency tree is obtained, a terminal traverses nodes in the dependency tree, determines whether the software package to be processed corresponding to the node to be processed meets a priority processing condition according to the software package corresponding to other nodes, the hierarchy of which is lower than the node to be processed, in the dependency tree, and determines the priority of the software package to be processed when the priority processing condition is met.
The determining of the priority of the to-be-processed package may be that when there is a priority of the to-be-processed package determined by the previous traversal, and the to-be-processed package by the previous traversal corresponds to a different dependency level than the to-be-processed package by the current traversal, the priority of the to-be-processed package by the current traversal is determined according to the priority of the to-be-processed package by the previous traversal, and the priority of the to-be-processed package by the previous traversal may be higher than the priority of the to-be-processed package by the current traversal by 1, that is, the priority of the to-be-processed package by the traversal in the higher dependency level may be lower than the priority of the to-be-processed package by the traversal in the lower dependency level.
When the priority of the to-be-processed software package which is determined to be traversed in advance does not exist, taking the preset priority as the priority of the to-be-processed software package which is traversed currently, wherein the preset priority represents the highest priority.
When the priority of the previously traversed to-be-processed software package exists and the previously traversed to-be-processed software package corresponds to the same dependency level as the currently traversed to-be-processed software package, namely, for each to-be-processed software package corresponding to the same dependency level, if all traversed to-be-processed software packages in the dependency level meet the priority processing condition, the priorities of traversed to-be-processed software packages in the dependency level are the same.
When the to-be-processed software package meets the priority processing condition, the to-be-processed software package is indicated to be processed preferentially, and other software packages with the priority lower than that of the to-be-processed software package are not affected.
For each dependent software package of the same dependency level, a part of dependent software packages may meet the priority processing condition, another part of dependent software may not meet the priority processing condition, and further, each dependent software package of the same dependency level may have a different change sequence when the software package is processed.
In the embodiment, node traversal is performed on the dependency levels in the dependency relationship tree to obtain the node to be processed, and when the software package to be processed corresponding to the node to be processed meets the priority processing condition, the priority of the node to be processed is determined, and then when the software package is changed, the change order of each software package can be determined according to the priority, the software package with high priority is processed preferentially, so that the problems that the error of the software package change process and the unavailability of the software package after processing caused by the undefined change order are avoided, all the dependency software packages are prevented from being processed in full quantity, the hardware resources occupied by the software package processing are saved, and the accuracy of the software package processing is improved.
In some embodiments, node traversal is performed on dependency levels in a dependency relationship tree to obtain nodes to be processed, wherein the node traversal is performed on each dependency level in the dependency relationship tree to obtain the nodes to be processed, the node traversal is performed on each node in the dependency level to obtain the nodes to be processed, and after the nodes to be processed are obtained, the node traversal is skipped until the node traversal of each node in the dependency level to be processed is completed to obtain the priority of each software package to be processed meeting the priority processing condition, and the priority of each traversed software package to be processed corresponding to each node to be processed is obtained when the level traversal of each dependency level is completed.
The dependency levels to be processed are one of the dependency levels, and the nodes to be processed are one of the nodes of the dependency levels to be processed.
Specifically, the terminal may perform level traversal on each dependency level in order of the dependency level from low to high, so the dependency level to be processed traversed for the first time may be dependency level 1.
And when the node traversing of each node in the dependence level to be processed is completed, obtaining the priority of each dependence level, continuing to carry out level traversing on each dependence level according to the order from low dependence level to high dependence level, obtaining the next dependence level to be processed, and determining the priority of the to-be-processed software package meeting the priority processing condition in the next dependence level to be processed according to the same mode as the priority of each to-be-processed software package in the dependence level to be processed, until the node traversing of each dependence level is completed, so as to obtain the priority of the to-be-processed software package corresponding to each traversed to the dependence level.
It should be noted that, the traversed to-be-processed software packages meeting the priority processing conditions in the first to-be-processed dependency level are different from the traversed to-be-processed software packages meeting the priority processing conditions in the second to-be-processed dependency level, and as the same to-be-processed software package may exist and correspond to different dependency levels, the traversed to-be-processed software packages not meeting the priority processing conditions in the first to-be-processed dependency level may meet the priority processing conditions in the second to-be-processed dependency level, and according to the manner of the embodiment, finally all to-be-processed software packages may meet the priority processing conditions in different dependency levels, and the priority of each to-be-processed software package may be determined.
In the above embodiment, node traversal is performed on each node in each dependency level to be processed, whether the to-be-processed software package of each to-be-processed node in the dependency level to be processed meets the priority processing condition is judged, if yes, the priority of the to-be-processed software package is determined, and if not, the to-be-processed node is skipped, so that the priority ordering of each to-be-processed software package in the same dependency level is realized, and when the software package is changed, the changing sequence of each software package can be determined according to the priority, the software package with high priority is preferentially processed, the problem that the software package is wrongly caused by the undefined changing sequence and the software package is unavailable after being processed is avoided, all the dependent software packages are also avoided to be processed in full, the hardware resources occupied by the software package processing are saved, and the accuracy of the software package processing is improved.
In some embodiments, after obtaining the node to be processed, the method further comprises obtaining an associated node in a dependency relationship tree according to a software package to be processed corresponding to the node to be processed, wherein the software package corresponding to the associated node is the software package to be processed, determining that the software package to be processed meets the priority processing condition when the dependency level to which the associated node belongs is lower than the dependency level to which the node to be processed belongs, and determining that the software package to be processed does not meet the priority processing condition when the associated node is not obtained or the obtained dependency level to which the associated node belongs is higher than the dependency level to which the node to be processed.
The software packages corresponding to the associated nodes and the nodes to be processed are the same.
Specifically, for the node to be processed traversed in the dependency level to be processed, a software package to be processed corresponding to the node to be processed is obtained, if the software package to be processed does not belong to other dependency levels, or the software package to be processed also belongs to other dependency levels, and the other dependency levels are lower than the dependency level to be processed, the software package to be processed meets the priority processing condition, and if the software package to be processed still belongs to the other dependency levels, and the other dependency levels are higher than the dependency level to be processed, the software package to be processed does not meet the priority processing condition.
In the case where the dependency level to be processed is 1, when the traversed node to be processed is x1, the software package to be processed corresponding to the node to be processed x1 is B, the dependency tree does not include the associated node corresponding to the node to be processed x1, the software package to be processed corresponding to the node to be processed x1 is B, and satisfies the priority processing condition, when the traversed node to be processed is x2, the software package to be processed corresponding to the node to be processed x2 is C, the dependency tree includes the associated node x3 corresponding to the node to be processed x2, the associated node x3 corresponds to the dependency level 2, and the dependency level 2 is higher than the dependency level 1, so that the software package to be processed C does not satisfy the priority processing condition.
Under the condition that the dependency level to be processed is 2, when traversing to the node x3 to be processed, the dependency level of the associated node x1 corresponding to the node x3 to be processed is lower than the dependency level of the node x3 to be processed, the software package C corresponding to the node x3 to be processed meets the priority processing condition, when traversing to the node x4 to be processed, the software package corresponding to the node x4 to be processed is D, the dependency tree comprises the associated node x6 corresponding to the node x4 to be processed, the associated node x6 corresponds to the dependency level 3, the dependency level 3 is higher than the dependency level 2, so that the software package D to be processed does not meet the priority processing condition, when traversing to the node x5 to be processed, the software package corresponding to the node x5 to be processed is E, the associated node x7 corresponding to the node x5 to be processed is included in the dependency tree, the associated node x7 corresponds to the dependency level 3, and the dependency level 3 is higher than the dependency level 2, so that the software package E to be processed does not meet the priority processing condition.
Under the condition that the dependency level to be processed is 3, when traversing to the node x6 to be processed, the dependency level of the associated node x4 corresponding to the node x6 to be processed is lower than the dependency level of the node x6 to be processed, the software package D corresponding to the node x6 to be processed meets the priority processing condition, when traversing to the node x7 to be processed, the dependency level of the associated node x5 corresponding to the node x7 to be processed is lower than the dependency level of the node x7 to be processed, and the software package E corresponding to the node x7 to be processed meets the priority processing condition.
Illustratively, as shown in fig. 11, the processing method of the software package includes three processing stages, the first stage is to cache the dependency symbol table locally, the second stage is to find the dependency software package of each dependency level, the third stage is to generate a dependency relationship tree according to the dependency software package of each dependency level, and to determine the priority of each dependency software package, and generate visualized dependency data according to the priority of each dependency software package.
In the above embodiment, according to the dependency level of the to-be-processed software package in the dependency relationship tree, whether the currently traversed to-be-processed software package meets the priority processing condition is determined, so that the accuracy of the determined priority of the to-be-processed software package is improved.
In some embodiments, the processing method of the software package can be applied to the dependency data when searching for the compiling target software package, the dependency data when searching for the installing target software package, the dependency data when searching for the compiling dependency of the target software package and the dependency data when searching for the installing dependency of the target software package, and as shown in fig. 12, the processing method of the software package can be applied to the processing system of the software package, and the processing system of the software package comprises a dependency relationship storage service, a dependency relationship analysis service and a priority ranking service.
The terminal generates a data acquisition request according to the URL in advance, sends the data acquisition request to the server, the server responds to the data acquisition request, determines repodata (metadata file) according to the URL included in the data acquisition request, returns repodata to the terminal, receives repodata, analyzes repodata to obtain the dependent symbols of all software packages in the software warehouse, can generate a dependent symbol total table according to the package names of the software packages and the corresponding relation of the dependent symbols, and realizes a dependent relation storage service according to the dependent symbol total table.
The method includes the steps of taking dependency data to be inquired and compiled when target software packages are required to be compiled as an example to be explained, generating an inquiry request according to compiling dependency types, inquiry levels and package names by a terminal, wherein the inquiry levels are 2, storing target software packages Y0 corresponding to service inquiry package names by the terminal through dependency relationships, searching src Requires symbols of the target software packages Y0 to obtain a first compiling dependency symbol table, searching Provides symbols of each software package to obtain a first reference dependency symbol table of each software package, sending the first compiling dependency symbol table and the first reference dependency symbol table to a dependency relationship analysis service, and determining each dependency software package (the dependency software package Y1 and the dependency software package Y2) of the target software package Y0 through the dependency relationship analysis service, wherein the dependency levels of each dependency software package are 1.
The method comprises the steps of searching a dependency software package based on a dependency software package with a dependency level of 1 continuously, searching an src Requires symbol of the dependency software package Y1 and Provides symbols of each software package through a dependency relation storage service for the dependency software package Y1, sending the src Requires symbol of the dependency software package Y1 and Provides symbols of each software package to a dependency relation analysis service, searching a dependency software package Y3 and a dependency software package Y4 with the dependency level of 2 through the dependency relation analysis service, and similarly searching a dependency software package Y5 with the dependency level of 2 based on the dependency software package Y2, and meeting a stop condition to obtain the dependency software packages with the dependency level of 1 and the dependency level 2.
The terminal generates a dependency relationship tree according to the dependency relationship among the target software package Y0, the dependency software packages of the dependency level 1 and the dependency level 2 and the dependency relationship among the target software package Y0 and each dependency software package through the dependency relationship analysis service, sends the dependency relationship tree to the priority ordering service, processes the dependency relationship tree through the priority ordering service to obtain the priority of each dependency software package, and generates the visualized dependency data of the target software package according to the priority output of each dependency software package.
In some embodiments, as shown in fig. 13, the processing method of the software package includes:
step 1301, sending a data acquisition request to a server, receiving a metadata file returned by the server in response to the data acquisition request, and parsing the metadata file to obtain a dependency symbol summary table including dependency symbols of each software package.
In step 1302, in response to the query request, a target software package corresponding to the software package information in the query request is obtained.
In step 1303, when the query type carried by the query request is a compiling dependency type, a first compiling dependency symbol table including dependency items required for compiling the target software package is queried in a dependency symbol table, when the query type carried by the query request is an installation dependency type, a first installation dependency symbol table including dependency items required for installing the target software package is queried in the dependency symbol table, when the query type carried by the query request is a depended type, a second dependency symbol table including dependency items provided by the target software package is queried in the dependency symbol table, and the dependency symbol table package includes the first compiling dependency symbol table, the first installation dependency symbol table, or the second dependency symbol table.
In step 1304A, when the dependency symbol table includes the dependency items required by the target software package, traversing the dependency items required by the target software package to obtain first target dependency items, obtaining a first reference dependency symbol table of each software package, where the first reference dependency symbol table is used to represent the dependency items provided by the software package, and querying each software package for the dependency software package providing the first target dependency items based on the first reference dependency symbol table of each software package.
Step 1304B, traversing the dependency symbol table in the dependency item provided by the target software package to obtain a second target dependency item, obtaining a second reference dependency symbol table of each software package, wherein the second reference dependency symbol table is used for representing the dependency item required by the software package, and querying the dependency software package requiring the second target dependency item in each software package based on the second reference dependency symbol table of each software package.
Step 1305, when the dependency relationship between the dependent software package and the target software package is a direct dependency relationship, the preset dependency level is used as the dependency level between the dependent software package and the target software package, when the dependency relationship between the dependent software package and the target software package is an indirect dependency relationship, the number of at least one middle dependent software package forming the indirect dependency relationship is obtained, and the dependency level between the dependent software package and the target software package is determined according to the number of at least one middle dependent software package and the preset dependency level.
And step 1306, when the dependency level between the dependent software package and the target software package does not meet the stop condition, determining the dependency state of the dependent software package, and when the dependency state does not meet the cyclic dependency condition, continuously inquiring the dependent software package with the dependency relationship with the target software package based on the dependent software package until the currently inquired dependency level between the dependent software package and the target software package meets the stop condition or the currently inquired dependency state between the dependent software package and the target software package meets the cyclic dependency condition, and obtaining the dependent software package of each different dependency level.
Step 1307A, when the query request is a dependency level query request, generating a dependency tree of the target software package according to the target software package and the dependency software packages of different dependency levels, converting the dependency tree into visual dependency data of a multimedia type, and generating the visual dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
Step 1307B1, when the query request is a dependency priority query request, generating a dependency tree of the target software package based on the target software package and the dependency software packages of different dependency levels, wherein the dependency tree comprises nodes corresponding to the target software package and the dependency software packages respectively, performing level traversal on the dependency levels in the dependency tree to obtain a to-be-processed dependency level, and performing node traversal on the nodes in the to-be-processed dependency level to obtain the to-be-processed node.
Step 1307B2, according to the to-be-processed software package corresponding to the to-be-processed node, acquiring the associated node in the dependency relationship tree, wherein the software package corresponding to the associated node is the to-be-processed software package, determining that the to-be-processed software package meets the priority processing condition when the dependency level to which the associated node belongs is lower than the dependency level to which the to-be-processed node belongs, determining that the to-be-processed software package does not meet the priority processing condition when the associated node is not acquired or the acquired dependency level to which the associated node belongs is higher than the dependency level to which the to-be-processed node belongs, determining that the to-be-processed software package meets the priority processing condition when the to-be-processed software package corresponding to the to-be-processed node meets the priority processing condition, skipping the to-be-processed node until node traversal of each node in the to-be-processed dependency level is completed, and obtaining the priority of each to-be-processed software package meeting the priority processing condition.
Step 1307B3, under the condition that the hierarchical traversal of each dependency level is completed, obtaining the priority of the corresponding to each traversed to-be-processed software package, and generating the visualized dependent data of the target software package according to the priority of the corresponding to each traversed to-be-processed software package.
In the processing method of the software package, the target software package is obtained through the software package information in the query request, the dependency symbol table of the target software package is searched according to the query type, then the dependency software package with the dependency relation with the target software package is queried according to the dependency item included in the dependency symbol table, when the dependency level corresponding to the dependency software package does not meet the stop condition, the dependency software package with the dependency relation with the target software package is continuously queried based on the dependency software package until the queried dependency level of the dependency software package meets the stop condition, so that the dependency software packages of different dependency levels can be queried, when the software package is required to be changed, the dependency software package of each dependency level with the target software package can be queried without manual repeated call, and the efficiency of querying the dependency data is improved.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a software package processing device for realizing the above related software package processing method. The implementation of the solution provided by the device is similar to the implementation described in the above method, so the specific limitation in the embodiments of the processing device for one or more software packages provided below may refer to the limitation of the processing method for a software package hereinabove, and will not be described herein.
In some embodiments, as shown in FIG. 14, a software package processing apparatus is provided, comprising a target software package acquisition module 1401, a dependency symbol table lookup module 1402, a first dependency software package query module 1403, a second dependency software package query module 1404, and a dependency data generation module 1405, wherein:
A target software package obtaining module 1401, configured to obtain a target software package corresponding to the software package information in the query request in response to the query request;
a dependency symbol table searching module 1402, configured to search a dependency symbol table of the target software package according to a query type carried by the query request;
A first dependency software package query module 1403, configured to query a dependency software package having a dependency relationship with a target software package according to a dependency term included in the dependency symbol table;
A second dependency software package query module 1404, configured to continuously query, based on the dependency software package, the dependency software package having a dependency relationship with the target software package when the dependency level between the dependency software package and the target software package does not satisfy the stop condition, until the dependency level between the currently queried dependency software package and the target software package satisfies the stop condition, to obtain dependency software packages of different dependency levels;
the dependency data generation module 1405 is configured to generate visualized dependency data of the target software package based on the target software package and the dependency software packages of the different dependency levels.
In some embodiments, the dependency symbol table lookup module 1402 is further configured to, when the query type carried by the query request is a dependency type, lookup a first dependency symbol table including dependency items required by the target software package in the dependency symbol table, and when the query type carried by the query request is a dependent type, lookup a second dependency symbol table including dependency items provided by the target software package in the dependency symbol table.
In some embodiments, the first dependency symbol table comprises a first compiling dependency symbol table or a first installation dependency symbol table, the dependency symbol table lookup module 1402 is further configured to query the dependency symbol table for the first compiling dependency symbol table including dependency items required for compiling the target software package when the query type carried by the query request is a compiling dependency type, and query the dependency symbol table for the first installation dependency symbol table including dependency items required for installing the target software package when the query type carried by the query request is an installation dependency type.
In some embodiments, the processing device of the software package further comprises a symbol dependent summary acquisition module for
The method comprises the steps of sending a data acquisition request to a server, receiving metadata files returned by the server in response to the data acquisition request, and analyzing the metadata files to obtain a dependency symbol summary table comprising dependency symbols of each software package.
In some embodiments, the first dependency software package querying module 1403 is further configured to traverse the dependency items required by the target software package to obtain first target dependency items when the dependency symbol table includes the dependency items required by the target software package, obtain a first reference dependency symbol table of each software package, where the first reference dependency symbol table is used to represent the dependency items provided by the software package, and query each software package for the dependency software package that provides the first target dependency items based on the first reference dependency symbol table of each software package.
In some embodiments, the first dependency software package querying module 1403 is further configured to traverse the dependency items provided by the target software package to obtain second target dependency items when the dependency symbol table includes the dependency items provided by the target software package, obtain a second reference dependency symbol table of each software package, where the second reference dependency symbol table is used to represent the dependency items required by the software package, and query each software package for the dependency software package requiring the second target dependency items based on the second reference dependency symbol table of each software package.
In some embodiments, the dependency relationship between the dependency software package and the target software package is a direct dependency relationship or an indirect dependency relationship, the software package processing device further comprises a dependency symbol summary table acquisition module, a dependency level determination module, and the dependency level determination module is used for taking a preset dependency level as the dependency level between the dependency software package and the target software package when the dependency relationship between the dependency software package and the target software package is the direct dependency relationship, acquiring the number of at least one intermediate dependency software package forming the indirect dependency relationship when the dependency relationship between the dependency software package and the target software package is the indirect dependency relationship, and determining the dependency level between the dependency software package and the target software package according to the number of at least one intermediate dependency software package and the preset dependency level.
In some embodiments, the second dependency software package query module 1404 is further configured to determine a dependency state of the dependency software package, and when the dependency state does not satisfy the cyclic dependency condition, continuously query the dependency software package having a dependency relationship with the target software package based on the dependency software package until a dependency level between the currently queried dependency software package and the target software package satisfies a stop condition, or when the dependency state between the currently queried dependency software package and the target software package satisfies the cyclic dependency condition, obtain the dependency software package of each different dependency level.
In some embodiments, the query request is a dependency level query request, the dependency data generation module 1405 is further configured to generate a dependency tree of the target software package according to the target software package and the dependency software packages of different dependency levels, and convert the dependency tree into visual dependency data of the multimedia type.
In some embodiments, the query request is a dependency priority query request, the dependency data generation module 1405 is further configured to generate a dependency tree of the target software package based on the target software package and dependency software packages of different dependency levels, the dependency tree includes nodes corresponding to the target software package and each dependency software package, the dependency levels in the dependency tree are traversed by the nodes to obtain nodes to be processed, when the packages to be processed corresponding to the nodes to be processed meet a priority processing condition, the priority of the packages to be processed is determined, and visual dependency data of the target software package is generated according to the traversed priorities of the packages to be processed corresponding to each node to be processed.
In some embodiments, the dependency data generating module 1405 is further configured to perform level traversal on each dependency level in the dependency tree to obtain a to-be-processed dependency level, perform node traversal on each node in the to-be-processed dependency level to obtain a to-be-processed node, skip the to-be-processed node when the to-be-processed software package does not satisfy the priority processing condition until node traversal of each node in the to-be-processed dependency level is completed to obtain a priority of each to-be-processed software package satisfying the priority processing condition, and obtain a priority of the to-be-processed software package corresponding to each traversed to-be-processed node when level traversal of each dependency level is completed.
In some embodiments, the dependency data generating module 1405 is further configured to obtain an association node from the dependency relationship tree according to a to-be-processed software package corresponding to the to-be-processed node, where the software package corresponding to the association node is the to-be-processed software package, determine that the to-be-processed software package meets the priority processing condition when the dependency level to which the association node belongs is lower than the dependency level to which the to-be-processed node belongs, and determine that the to-be-processed software package does not meet the priority processing condition when the association node is not obtained or the obtained dependency level to which the association node belongs is higher than the dependency level to which the to-be-processed node belongs.
The respective modules in the processing device of the software package may be implemented in whole or in part by the software package, hardware, and a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in a software package in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In some embodiments, a computer device is provided, which may be a terminal, and the internal structure of which may be as shown in fig. 15. The computer device includes a processor, a memory, an input/output interface, a communication interface, a display unit, and an input means. The processor, the memory and the input/output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input/output interface. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The input/output interface of the computer device is used to exchange information between the processor and the external device. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless mode can be realized through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. The computer program is executed by a processor to implement a method of processing a software package. The display unit of the computer equipment is used for forming a visual picture, and can be a display screen, a projection device or a virtual reality imaging device, wherein the display screen can be a liquid crystal display screen or an electronic ink display screen, the input device of the computer equipment can be a touch layer covered on the display screen, can also be a key, a track ball or a touch pad arranged on a shell of the computer equipment, and can also be an external keyboard, a touch pad or a mouse and the like.
It will be appreciated by those skilled in the art that the structure shown in fig. 15 is merely a block diagram of a portion of the structure associated with the present inventive arrangements and is not limiting of the computer device to which the present inventive arrangements are applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In some embodiments, a computer device is provided comprising a memory and a processor, the memory having stored therein a computer program, the processor when executing the computer program performing the steps of:
The method comprises the steps of responding to a query request, obtaining a target software package corresponding to software package information in the query request, searching a dependency symbol table of the target software package according to a query type carried by the query request, inquiring a dependency software package with a dependency relationship with the target software package according to a dependency item included in the dependency symbol table, continuously inquiring the dependency software package with the target software package based on the dependency software package when a dependency level between the dependency software package and the target software package does not meet a stop condition until the dependency level between the currently inquired dependency software package and the target software package meets the stop condition, obtaining the dependency software packages of different dependency levels, and generating visualized dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
In some embodiments, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, performs the steps of:
The method comprises the steps of responding to a query request, obtaining a target software package corresponding to software package information in the query request, searching a dependency symbol table of the target software package according to a query type carried by the query request, inquiring a dependency software package with a dependency relationship with the target software package according to a dependency item included in the dependency symbol table, continuously inquiring the dependency software package with the target software package based on the dependency software package when a dependency level between the dependency software package and the target software package does not meet a stop condition until the dependency level between the currently inquired dependency software package and the target software package meets the stop condition, obtaining the dependency software packages of different dependency levels, and generating visualized dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
In some embodiments, a computer program product is provided comprising a computer program which, when executed by a processor, performs the steps of:
The method comprises the steps of responding to a query request, obtaining a target software package corresponding to software package information in the query request, searching a dependency symbol table of the target software package according to a query type carried by the query request, inquiring a dependency software package with a dependency relationship with the target software package according to a dependency item included in the dependency symbol table, continuously inquiring the dependency software package with the target software package based on the dependency software package when a dependency level between the dependency software package and the target software package does not meet a stop condition until the dependency level between the currently inquired dependency software package and the target software package meets the stop condition, obtaining the dependency software packages of different dependency levels, and generating visualized dependency data of the target software package based on the target software package and the dependency software packages of different dependency levels.
It should be noted that, the user information (including but not limited to user equipment information, user personal information, etc.) and the data (including but not limited to data for analysis, stored data, presented data, etc.) related to the present application are both information and data authorized by the user or sufficiently authorized by each party, and the collection, use and processing of the related data are required to meet the related regulations.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magneto-resistive random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (PHASE CHANGE Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in various forms such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc. The databases referred to in the embodiments provided herein may include at least one of a relational database and a non-relational database. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processor referred to in the embodiments provided in the present application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, or the like, but is not limited thereto.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples illustrate only a few embodiments of the application and are described in detail herein without thereby limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of the application should be assessed as that of the appended claims.

Claims (16)

1.一种软件包的处理方法,其特征在于,所述方法包括:1. A method for processing a software package, characterized in that the method comprises: 响应于查询请求,获取与所述查询请求中的软件包信息对应的目标软件包;In response to the query request, obtaining a target software package corresponding to the software package information in the query request; 依据所述查询请求携带的查询类型查找所述目标软件包的依赖符号表;Searching the dependency symbol table of the target software package according to the query type carried in the query request; 根据所述依赖符号表包括的依赖项查询与所述目标软件包存在依赖关系的依赖软件包;Querying dependent software packages having a dependency relationship with the target software package according to the dependency items included in the dependency symbol table; 当所述依赖软件包与所述目标软件包之间的依赖层级不满足停止条件时,基于所述依赖软件包继续查询与所述目标软件包存在依赖关系的依赖软件包,直至当前查询到的所述依赖软件包与所述目标软件包之间的依赖层级满足所述停止条件,得到各不同依赖层级的依赖软件包;When the dependency level between the dependent software package and the target software package does not satisfy the stopping condition, continue to query the dependent software package that has a dependency relationship with the target software package based on the dependent software package until the currently queried dependency level between the dependent software package and the target software package satisfies the stopping condition, thereby obtaining dependent software packages of different dependency levels; 基于所述目标软件包和各不同所述依赖层级的依赖软件包,生成所述目标软件包的可视化依赖数据。Based on the target software package and the dependent software packages at different dependency levels, visualized dependency data of the target software package is generated. 2.根据权利要求1所述的方法,其特征在于,所述依据所述查询请求携带的查询类型查找所述目标软件包的依赖符号表,包括:2. The method according to claim 1, wherein searching the dependency symbol table of the target software package according to the query type carried in the query request comprises: 当所述查询请求携带的查询类型为依赖类型时,在依赖符号总表中查找包括所述目标软件包所需的依赖项的第一依赖符号表;When the query type carried by the query request is a dependency type, searching the dependency symbol master table for a first dependency symbol table including the dependency items required by the target software package; 当所述查询请求携带的查询类型为被依赖类型时,在所述依赖符号总表中查找包括所述目标软件包所提供的依赖项的第二依赖符号表。When the query type carried in the query request is a dependent type, the second dependent symbol table including the dependent items provided by the target software package is searched in the dependent symbol master table. 3.根据权利要求2所述的方法,其特征在于,所述第一依赖符号表包括第一编译依赖符号表或第一安装依赖符号表;3. The method according to claim 2, characterized in that the first dependency symbol table comprises a first compilation dependency symbol table or a first installation dependency symbol table; 所述当所述查询请求携带的查询类型为依赖类型时,在依赖符号总表中查找包括所述目标软件包所需的依赖项的第一依赖符号表,包括:When the query type carried by the query request is a dependency type, searching the dependency symbol master table for a first dependency symbol table including the dependency items required by the target software package comprises: 当所述查询请求携带的查询类型为编译依赖类型时,在依赖符号总表中查询包括编译所述目标软件包所需的依赖项的第一编译依赖符号表;When the query type carried by the query request is a compile dependency type, querying a first compile dependency symbol table including dependency items required for compiling the target software package in the dependency symbol master table; 当所述查询请求携带的查询类型为安装依赖类型时,在所述依赖符号总表中查询包括安装所述目标软件包所需的依赖项的第一安装依赖符号表。When the query type carried in the query request is an installation dependency type, a first installation dependency symbol table including dependency items required for installing the target software package is queried in the dependency symbol master table. 4.根据权利要求3所述的方法,其特征在于,所述响应于查询请求,获取与所述查询请求中的软件包信息对应的目标软件包之前,还包括:4. The method according to claim 3, characterized in that before the step of responding to the query request and obtaining the target software package corresponding to the software package information in the query request, the method further comprises: 向服务器发送数据获取请求;Send a data acquisition request to the server; 接收所述服务器响应于所述数据获取请求而返回的元数据文件;receiving a metadata file returned by the server in response to the data acquisition request; 对所述元数据文件进行解析,得到包括各软件包的依赖符号的所述依赖符号总表。The metadata file is parsed to obtain the dependency symbol list including dependency symbols of each software package. 5.根据权利要求1所述的方法,其特征在于,所述根据所述依赖符号表包括的依赖项查询与所述目标软件包存在依赖关系的依赖软件包,包括:5. The method according to claim 1, characterized in that the step of searching for dependent software packages having a dependency relationship with the target software package according to the dependency items included in the dependency symbol table comprises: 当所述依赖符号表包括所述目标软件包所需的依赖项时,在所述目标软件包所需的依赖项中遍历得到第一目标依赖项;When the dependency symbol table includes dependencies required by the target software package, traversing the dependencies required by the target software package to obtain a first target dependency; 获取各软件包的第一参考依赖符号表;所述第一参考依赖符号表用于表示所述软件包所提供的依赖项;Obtaining a first reference dependency symbol table of each software package; the first reference dependency symbol table is used to represent dependencies provided by the software package; 基于所述各软件包的第一参考依赖符号表,在所述各软件包中查询提供所述第一目标依赖项的依赖软件包。Based on the first reference dependency symbol table of each software package, a dependent software package that provides the first target dependency is searched in each software package. 6.根据权利要求1所述的方法,其特征在于,所述根据所述依赖符号表包括的依赖项查询与所述目标软件包存在依赖关系的依赖软件包,包括:6. The method according to claim 1, characterized in that the step of searching for dependent software packages having a dependency relationship with the target software package according to the dependency items included in the dependency symbol table comprises: 当所述依赖符号表包括所述目标软件包所提供的依赖项时,在所述目标软件包所提供的依赖项中遍历得到第二目标依赖项;When the dependency symbol table includes the dependency items provided by the target software package, traversing the dependency items provided by the target software package to obtain a second target dependency item; 获取各软件包的第二参考依赖符号表;所述第二参考依赖符号表用于表示所述软件包所需的依赖项;Obtaining a second reference dependency symbol table of each software package; the second reference dependency symbol table is used to represent dependencies required by the software package; 基于所述各软件包的第二参考依赖符号表,在所述各软件包中查询需要所述第二目标依赖项的依赖软件包。Based on the second reference dependency symbol table of each software package, the software packages are searched for dependent software packages that require the second target dependency item. 7.根据权利要求1所述的方法,其特征在于,所述依赖软件包与所述目标软件包之间的依赖关系为直接依赖关系或间接依赖关系;7. The method according to claim 1, characterized in that the dependency relationship between the dependent software package and the target software package is a direct dependency relationship or an indirect dependency relationship; 根据所述依赖符号表包括的依赖项查询与所述目标软件包存在依赖关系的依赖软件包之后,还包括:After searching for dependent software packages having a dependency relationship with the target software package according to the dependency items included in the dependency symbol table, the method further includes: 当所述依赖软件包与所述目标软件包之间的依赖关系为所述直接依赖关系时,将预设依赖层级作为所述依赖软件包与所述目标软件包之间的依赖层级;When the dependency relationship between the dependent software package and the target software package is the direct dependency relationship, using a preset dependency level as the dependency level between the dependent software package and the target software package; 当所述依赖软件包与所述目标软件包之间的依赖关系为所述间接依赖关系时,获取构成所述间接依赖关系的至少一个中间依赖软件包的数量;When the dependency relationship between the dependent software package and the target software package is the indirect dependency relationship, obtaining the number of at least one intermediate dependent software package constituting the indirect dependency relationship; 依据所述至少一个中间依赖软件包的数量和所述预设依赖层级,确定所述依赖软件包与所述目标软件包之间的依赖层级。The dependency level between the dependent software package and the target software package is determined according to the number of the at least one intermediate dependent software package and the preset dependency level. 8.根据权利要求1所述的方法,其特征在于,所述基于所述依赖软件包继续查询与所述目标软件包存在依赖关系的依赖软件包,直至当前查询到的所述依赖软件包与所述目标软件包之间的依赖层级满足所述停止条件,得到各不同依赖层级的依赖软件包,包括:8. The method according to claim 1, characterized in that the step of continuing to query dependent software packages having a dependency relationship with the target software package based on the dependent software package until the dependency level between the currently queried dependent software package and the target software package meets the stop condition, and obtaining dependent software packages of different dependency levels, comprises: 确定所述依赖软件包的依赖状态;Determining the dependency status of the dependent software package; 当所述依赖状态不满足循环依赖条件时,基于所述依赖软件包继续查询与所述目标软件包存在依赖关系的依赖软件包,直至当前查询到的所述依赖软件包与所述目标软件包之间的依赖层级满足所述停止条件,或当前查询到的所述依赖软件包与所述目标软件包之间的依赖状态满足所述循环依赖条件时,得到各不同依赖层级的依赖软件包。When the dependency status does not satisfy the circular dependency condition, the dependent software package having a dependency relationship with the target software package is continuously queried based on the dependent software package until the dependency level between the currently queried dependent software package and the target software package satisfies the stop condition, or the dependency status between the currently queried dependent software package and the target software package satisfies the circular dependency condition, thereby obtaining dependent software packages of different dependency levels. 9.根据权利要求1至8中任一项所述的方法,其特征在于,所述查询请求为依赖层级查询请求;所述基于所述目标软件包和各不同所述依赖层级的依赖软件包,生成所述目标软件包的可视化依赖数据,包括:9. The method according to any one of claims 1 to 8, wherein the query request is a dependency level query request; and the generating of the visualized dependency data of the target software package based on the target software package and the dependent software packages at different dependency levels comprises: 依据所述目标软件包和各不同所述依赖层级的依赖软件包,生成所述目标软件包的依赖关系树;Generating a dependency tree of the target software package according to the target software package and dependent software packages at different dependency levels; 将所述依赖关系树转换为多媒体类型的可视化依赖数据。The dependency tree is converted into multimedia-type visual dependency data. 10.根据权利要求1至8中任一项所述的方法,其特征在于,所述查询请求为依赖优先级查询请求;所述基于所述目标软件包和各不同所述依赖层级的依赖软件包,生成所述目标软件包的可视化依赖数据,包括:10. The method according to any one of claims 1 to 8, wherein the query request is a dependency priority query request; and the generating of the visual dependency data of the target software package based on the target software package and the dependent software packages at different dependency levels comprises: 基于所述目标软件包和各不同所述依赖层级的依赖软件包,生成所述目标软件包的依赖关系树;所述依赖关系树包括所述目标软件包和各所述依赖软件包分别对应的节点;Based on the target software package and the dependent software packages at different dependency levels, a dependency tree of the target software package is generated; the dependency tree includes nodes corresponding to the target software package and each of the dependent software packages; 对所述依赖关系树中的依赖层级进行节点遍历,得到待处理节点;Traversing nodes of the dependency hierarchy in the dependency tree to obtain nodes to be processed; 当所述待处理节点对应的待处理软件包满足优先处理条件时,确定所述待处理软件包的优先级;When the software package to be processed corresponding to the node to be processed meets the priority processing condition, determining the priority of the software package to be processed; 依据遍历的各所述待处理节点对应的待处理软件包的优先级,生成所述目标软件包的可视化依赖数据。The visualized dependency data of the target software package is generated according to the priorities of the software packages to be processed corresponding to the traversed nodes to be processed. 11.根据权利要求10所述的方法,其特征在于,所述对所述依赖关系树中的依赖层级进行节点遍历,得到待处理节点,包括:11. The method according to claim 10, characterized in that the step of traversing nodes in the dependency hierarchy in the dependency tree to obtain nodes to be processed comprises: 对所述依赖关系树中的各依赖层级进行层级遍历,得到待处理依赖层级;Performing a hierarchical traversal on each dependency level in the dependency tree to obtain a dependency level to be processed; 对所述待处理依赖层级中的各节点进行节点遍历,得到待处理节点;Perform node traversal on each node in the dependency level to be processed to obtain a node to be processed; 所述得到待处理节点之后,还包括:After obtaining the node to be processed, the method further includes: 当所述待处理软件包不满足所述优先处理条件时,跳过所述待处理节点,直至完成对所述待处理依赖层级中各节点的节点遍历,得到满足所述优先处理条件的各待处理软件包的优先级;When the software package to be processed does not meet the priority processing condition, skip the node to be processed until the node traversal of each node in the dependency hierarchy to be processed is completed to obtain the priority of each software package to be processed that meets the priority processing condition; 在完成对所述各依赖层级的层级遍历的情况下,得到遍历的各所述待处理节点对应的待处理软件包的优先级。When the hierarchical traversal of the dependency hierarchies is completed, the priority of the to-be-processed software package corresponding to each of the traversed to-be-processed nodes is obtained. 12.根据权利要求11所述的方法,其特征在于,所述得到待处理节点之后,还包括:12. The method according to claim 11, characterized in that after obtaining the node to be processed, it also includes: 依据所述待处理节点对应的待处理软件包,在所述依赖关系树中获取关联节点;所述关联节点对应的软件包为所述待处理软件包;According to the software package to be processed corresponding to the node to be processed, obtaining an associated node in the dependency tree; the software package corresponding to the associated node is the software package to be processed; 当所述关联节点所属的依赖层级低于所述待处理节点所属的依赖层级时,确定所述待处理软件包满足优先处理条件;When the dependency level to which the associated node belongs is lower than the dependency level to which the node to be processed belongs, determining that the software package to be processed meets the priority processing condition; 当未获取到所述关联节点,或者获取的所述关联节点所属的依赖层级高于所述待处理节点所属的依赖层级时,确定所述待处理软件包不满足所述优先处理条件。When the associated node is not obtained, or the dependency level to which the associated node is obtained is higher than the dependency level to which the node to be processed belongs, it is determined that the software package to be processed does not meet the priority processing condition. 13.一种软件包的处理装置,其特征在于,所述装置包括:13. A software package processing device, characterized in that the device comprises: 目标软件包获取模块,用于响应于查询请求,获取与所述查询请求中的软件包信息对应的目标软件包;A target software package acquisition module, configured to, in response to a query request, acquire a target software package corresponding to the software package information in the query request; 依赖符号表查找模块,用于依据所述查询请求携带的查询类型查找所述目标软件包的依赖符号表;A dependency symbol table search module, used for searching the dependency symbol table of the target software package according to the query type carried in the query request; 第一依赖软件包查询模块,用于根据所述依赖符号表包括的依赖项查询与所述目标软件包存在依赖关系的依赖软件包;A first dependent software package query module, used for querying dependent software packages having a dependency relationship with the target software package according to the dependency items included in the dependent symbol table; 第二依赖软件包查询模块,用于当所述依赖软件包与所述目标软件包之间的依赖层级不满足停止条件时,基于所述依赖软件包继续查询与所述目标软件包存在依赖关系的依赖软件包,直至当前查询到的所述依赖软件包与所述目标软件包之间的依赖层级满足所述停止条件,得到各不同依赖层级的依赖软件包;A second dependent software package query module is used for, when the dependency level between the dependent software package and the target software package does not satisfy the stopping condition, continuing to query dependent software packages having a dependency relationship with the target software package based on the dependent software package until the currently queried dependency level between the dependent software package and the target software package satisfies the stopping condition, thereby obtaining dependent software packages of different dependency levels; 依赖数据生成模块,用于基于所述目标软件包和各不同所述依赖层级的依赖软件包,生成所述目标软件包的可视化依赖数据。The dependency data generating module is used to generate visual dependency data of the target software package based on the target software package and the dependent software packages at different dependency levels. 14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。14. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein the processor implements the steps of the method according to any one of claims 1 to 12 when executing the computer program. 15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。15. A computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented. 16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。16. A computer program product, comprising a computer program, characterized in that when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.
CN202410011605.4A 2024-01-02 2024-01-02 Software package processing method, device, computer equipment and storage medium Pending CN120256460A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410011605.4A CN120256460A (en) 2024-01-02 2024-01-02 Software package processing method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410011605.4A CN120256460A (en) 2024-01-02 2024-01-02 Software package processing method, device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN120256460A true CN120256460A (en) 2025-07-04

Family

ID=96188078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410011605.4A Pending CN120256460A (en) 2024-01-02 2024-01-02 Software package processing method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN120256460A (en)

Similar Documents

Publication Publication Date Title
US11645471B1 (en) Determining a relationship recommendation for a natural language request
US11670288B1 (en) Generating predicted follow-on requests to a natural language request received by a natural language processing system
US11651012B1 (en) Coding commands using syntax templates
US12417210B2 (en) Log data extraction from data chunks of an isolated execution environment
US11288319B1 (en) Generating trending natural language request recommendations
US11475053B1 (en) Providing completion recommendations for a partial natural language request received by a natural language processing system
US9146955B2 (en) In-memory, columnar database multidimensional analytical view integration
US8751437B2 (en) Single persistence implementation of business objects
US10379711B2 (en) Data feed having customizable analytic and visual behavior
US11675810B2 (en) Disaster recovery in a clustered environment using generation identifiers
US9171272B2 (en) Automated generation of analytic and visual behavior
KR101355273B1 (en) A computing system, a method for controlling thereof, and a computer-readable recording medium having a computer program for controlling thereof
US20250131067A1 (en) Systems and methods for federated searches of assets in disparate dam repositories
KR101252954B1 (en) Apparatus and method for providing user interfaces for service object located in a distributed system
US11113301B1 (en) Generating metadata for events based on parsed location information of data chunks of an isolated execution environment
US12118111B2 (en) Edge data processing utilizing per-endpoint subscriber configurable data processing workloads
US12271393B2 (en) Unified cloud storage data processing framework for multi-source systems
CN120256460A (en) Software package processing method, device, computer equipment and storage medium
US10114864B1 (en) List element query support and processing
CN114629951A (en) Address service switching method, apparatus, computer equipment and storage medium
CN114675867B (en) A data processing method, device, server and storage medium
US11093483B2 (en) Multilevel data lineage view
CN119537431A (en) Database operation execution method, device, computer equipment and storage medium
CN119396787A (en) Data sharing method, device, computer equipment, readable storage medium and program product
CN120561095A (en) Cross-system asset reuse method, device and computer equipment based on unified standards

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication