A dependency relationship establishing method and device, and a storage medium

By automatically resolving plugin dependencies and using the highest version of the dependency library for compilation and storage path establishment, the problem of low plugin dependency resolution efficiency is solved, improving development efficiency and the convenience of troubleshooting.

CN115904381BActive Publication Date: 2026-03-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-19
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

Existing technologies are inefficient in resolving plugin dependencies, and manual resolution is labor-intensive and costly, resulting in low development efficiency.

Method used

By responding to compilation instructions, rule information is extracted from preset detection rules, plugin dependencies are automatically resolved, compilation is performed using the highest version of the dependency library, and dependencies are established when compilation fails, including the storage path of shared resources.

Benefits of technology

It improves the efficiency of plugin dependency resolution, simplifies the exception handling process, and enhances development efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115904381B_ABST
    Figure CN115904381B_ABST
Patent Text Reader

Abstract

The application discloses a dependency relationship establishment method and device and a storage medium. The method comprises the following steps: in response to a compilation instruction for at least two service plug-ins, extracting rule information for plug-in preprocessing from a preset detection rule; when a dependency library in a dependency library set has a version conflict, taking a dependency library with the highest version as a target library based on the rule information, and compiling resource source codes of the at least two service plug-ins by using the target library; when resource source code compilation of a remaining service plug-in fails, copying common resources of a dependency library corresponding to the remaining service plug-in and the target library, and establishing a dependency relationship between a storage path of the common resources and non-common resources in the dependency library corresponding to the remaining service plug-in. The application automatically establishes the dependency relationship by using the rule information, thereby improving the efficiency of analyzing plug-in dependencies. With the established dependency relationship, the convenience of locating problems when performing abnormality troubleshooting is improved, and the development efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of Internet communication, and in particular to a method and device for establishing dependency relationship and a storage medium. BACKGROUND

[0002] With the rapid development of Internet communication technology, Internet products are emerging in an endless stream. The development link for Internet products is an important link and is paid attention to. In the development link, plug-ins are often used to assist. The premise of realizing the plug-in function is to download and install the plug-in. In the related technology, a hook function for calling a plug-in manager is set, and when the plug-in needs to be obtained, the hook function is executed to call the plug-in manager, so as to download and install the related plug-in through the plug-in manager. However, if the plug-ins have mutual dependency (for example, the compilation of the plug-ins often uses related dependent libraries, and the dependent libraries used by the two plug-ins have version conflicts), manual analysis and processing are required. Timely analysis of plug-in dependencies is crucial for abnormal troubleshooting in the development link. Manual analysis relies on staff, which is labor-intensive, high in labor cost, and low in efficiency of establishing dependency relationship by analyzing plug-in dependencies. Therefore, a more efficient dependency relationship establishment scheme is needed. SUMMARY

[0003] In order to solve the problems of low efficiency in the prior art when analyzing plug-in dependencies to establish dependency relationship, the present application provides a method and device for establishing dependency relationship and a storage medium:

[0004] According to a first aspect of the present application, a method for establishing dependency relationship is provided, which comprises:

[0005] In response to a compilation instruction for at least two business plug-ins, extracting rule information for plug-in preprocessing from a preset detection rule; wherein the preset detection rule is obtained by compiling a preset source code file stored in a compiler directory;

[0006] Respectively determining the dependent libraries corresponding to the at least two business plug-ins to obtain a dependent library set;

[0007] When the dependent libraries in the dependent library set have version conflicts, taking the dependent library with the highest version in the dependent library set as a target library based on the rule information, and compiling the resource source code of the at least two business plug-ins using the target library;

[0008] When the resource source code of the remaining business plug-ins fails to compile, copying the common resources of the dependent libraries corresponding to the remaining business plug-ins and the target library, and establishing the dependency relationship between the storage path of the common resources and the non-common resources in the dependent libraries corresponding to the remaining business plug-ins; wherein the dependent libraries corresponding to the remaining business plug-ins are the remaining dependent libraries in the dependent library set except the target library.

[0009] According to a second aspect of the present application, a dependency relationship establishing apparatus is provided, the apparatus comprising:

[0010] a rule information extracting module configured to extract rule information for plug-in preprocessing from preset detection rules in response to a compilation instruction for at least two service plug-ins, wherein the preset detection rules are obtained by compiling preset source code files stored in a compiler directory;

[0011] a dependency library set obtaining module configured to obtain a dependency library set by respectively determining dependency libraries corresponding to the at least two service plug-ins;

[0012] a compiling module configured to, when there is a version conflict among the dependency libraries in the dependency library set, take a dependency library with the highest version in the dependency library set as a target library based on the rule information, and compile resource source codes of the at least two service plug-ins by using the target library;

[0013] a dependency relationship establishing module configured to, when resource source code compilation of a remaining service plug-in fails, copy common resources of a dependency library corresponding to the remaining service plug-in and the target library, and establish a dependency relationship between a storage path of the common resources and non-common resources in the dependency library corresponding to the remaining service plug-in, wherein the dependency library corresponding to the remaining service plug-in is a remaining dependency library in the dependency library set except the target library.

[0014] According to a third aspect of the present application, an electronic device is provided, the electronic device comprising a processor and a memory, the memory storing at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the dependency relationship establishing method according to the first aspect.

[0015] According to a fourth aspect of the present application, a computer readable storage medium is provided, the storage medium storing at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by a processor to implement the dependency relationship establishing method according to the first aspect.

[0016] According to a fifth aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to enable the computer device to perform the dependency relationship establishing method according to the first aspect.

[0017] The application provides a dependency relationship establishment method and device and a storage medium.

[0018] The application provides a scheme for analyzing plugin dependency to establish a dependency relationship. When the dependency libraries in the dependency library set have version conflicts, the dependency library with the highest version in the dependency library set is taken as a target library based on rule information, and the target library is used to compile resource source code of at least two business plugins. When the resource source code of the remaining business plugins fails to be compiled, the shared resources of the dependency library corresponding to the remaining business plugins and the target library are copied, and a dependency relationship between the storage path of the shared resources and the non-shared resources in the dependency library corresponding to the remaining business plugins is established. The dependency library set is composed of the dependency libraries corresponding to the two business plugins, and the dependency library corresponding to the remaining business plugins is the remaining dependency library in the dependency library set except the target library. The rule information is information for plugin preprocessing extracted from a preset detection rule in response to a compilation instruction for the at least two business plugins, and the preset detection rule is obtained by compiling a preset source code file stored in a compiler directory. The application uses the rule information for plugin preprocessing in the preset detection rule to automatically analyze plugin dependency to establish a dependency relationship, thereby improving the efficiency of analyzing plugin dependency. With the established dependency relationship, the convenience of locating problems during abnormality troubleshooting can be improved, thereby improving the development efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0019] In order to more clearly illustrate the technical solutions and advantages of the embodiments of the application or the prior art, the drawings needed in the embodiments or the prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative labor.

[0020] Figure 1 is a schematic diagram of an application environment provided by the embodiments of the application;

[0021] Figure 2 is a flowchart of a dependency relationship establishment method provided by the embodiments of the application;

[0022] Figure 3 is a flowchart of a preset source code file implantation provided by the embodiments of the application;

[0023] Figure 4 is a flowchart of obtaining resource source code of a business plugin provided by the embodiments of the application;

[0024] Figure 5 is a block diagram of a dependency relationship establishment device provided by the embodiments of the application;

[0025] Figure 6 is a structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0026] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of the present application.

[0027] It should be noted that the terms "comprising" and "having" and any variations thereof in the specification and claims of the present application and the above-mentioned drawings are intended to cover the inclusion of not exclusive elements, for example, a process, method, system, product or server comprising a series of steps or units does not have to be limited to those steps or units clearly listed, but can include other steps or units that are not clearly listed or inherent to the process, method, product or device.

[0028] Before the embodiments of the present application are further described in detail, the terms and phrases involved in the embodiments of the present application are explained, and the terms and phrases involved in the embodiments of the present application are applicable to the following explanations.

[0029] LLVM: (Low Level Virtual Machine, low-level virtual machine, bottom-level virtual machine), the LLVM project is a collection of modular, reusable compiler and toolchain technologies.

[0030] Xcode: an integrated development tool, which is a development tool for iOS system (an operating system developed by Apple Inc.) and macOS system (an operating system developed by Apple Inc.) applications.

[0031] Clang: a lightweight compiler for C, C++, and Objective-C languages. It can be a sub-project of the LLVM project. If the LLVM project is regarded as a compiler including a front end, an optimizer, and a back end, then Clang is the front end of the compiler.

[0032] Please refer to Figure 1 , Figure 1is a schematic diagram of an application environment provided by an embodiment of the present application. The application environment can include a client 10 and a server 20. The client 10 and the server 20 can be directly or indirectly connected through wired or wireless communication. The client 10 can install Xcode and use Xcode to develop an application program. The client 10 can obtain relevant Xcode plug-ins from the server 20 to assist in development. Before installation, the plug-in compilation often uses relevant dependent libraries. The establishment scheme of the dependency relationship provided by the present application can be used to compile the plug-in and analyze the plug-in dependency. It should be noted that, Figure 1 is only an example.

[0033] The client can be an entity device such as a smart phone, a desktop computer, a tablet computer, a notebook computer, an augmented reality (AR) / virtual reality (VR) device, a digital assistant, a smart speaker, a smart wearable device, etc. or a software such as a computer program running in the entity device. The operating system corresponding to the client can be an Android system, an iOS system, a Linux system, a Microsoft Windows system, etc.

[0034] The server can be a standalone physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud service, cloud database, cloud computing, cloud function, cloud storage, network service, cloud communication, middleware service, domain name service, security service, CDN (Content Delivery Network), and big data and artificial intelligence platform. The server can include a network communication unit, a processor, a memory, etc. The server can provide background services for the corresponding client. Cloud computing is a computing mode that distributes computing tasks on a resource pool composed of a large number of computers, so that various application systems can obtain computing power, storage space and information services according to needs. The network providing resources is called "cloud". The resources in the "cloud" can be infinitely expanded for users and can be obtained at any time, used on demand, expanded at any time, and paid according to use.

[0035] In actual applications, the Xcode plug-in used can be a development plug-in that improves efficiency, for example, a plug-in that can implement code style detection, code block formatting, running warning, thread safety, data collection, etc. The application program developed by using Xcode is mainly run on a device with X86 architecture.

[0036] The following introduces a specific embodiment of a method for establishing dependency relationship, Figure 2 is a flowchart of a method for establishing dependency relationship provided by an embodiment of the present application. The present application provides method operation steps as described in the embodiments or flowcharts, but more or fewer operation steps can be included based on conventional or non-inventive labor. The order of steps listed in the embodiments is only one of the many execution orders of the steps, and does not represent the only execution order. In actual system or product execution, the method order shown in the embodiments or the drawings can be executed in sequence or in parallel (for example, in a parallel processor or multi-thread processing environment). Specifically as shown in Figure 2 , the method can include:

[0037] S201: In response to a compilation instruction for at least two service plugins, extracting rule information for plugin preprocessing from a preset detection rule; wherein the preset detection rule is obtained by compiling a preset source code file stored in a compiler directory;

[0038] In an embodiment of the present application, in response to a compilation instruction for at least two service plugins, a development tool or a device installed with the development tool extracts rule information for plugin preprocessing from a preset detection rule. The development tool here can be Xcode or other development tools, and the device here can be a smartphone, a desktop computer, a tablet computer, a notebook computer, an augmented reality / virtual reality device, a digital assistant, a smart speaker, a smart wearable device, a server, etc.

[0039] For the above compilation instruction for at least two service plugins, 1) the generation timing of the compilation instruction can be after obtaining the resource source code of the service plugin. Correspondingly, the at least two service plugins to which the compilation instruction is directed can consist of the service plugin from which the resource source code is currently obtained, such as plugin A and plugin B; or the service plugin from which the resource source code is currently obtained (such as plugin A version 2.0) and the local plugin having an association relationship with it (such as plugin A version 1.0). Of course, the at least two service plugins to which the compilation instruction is directed can also consist of plugin B, plugin A version 2.0, and plugin A version 1.0. 2) The generation timing of the compilation instruction can also indicate a preset time interval. Correspondingly, the at least two service plugins to which the compilation instruction is directed can consist of local plugins. It can be understood that the plugin dependency analysis is performed on the local plugins at regular intervals, thereby making up for the omission of plugin dependency analysis in the download and installation of plugins.

[0040] The preset detection rule for providing rule information for plugin preprocessing will be introduced below. The preset detection rule is obtained by compiling a preset source code file stored in a compiler directory, wherein:

[0041] 1) The composition and storage of preset source code files.

[0042] The preset source code files include an entry file and a description file for the entry file. The preset source code files are stored in the compiler directory. See Figure 3 Before the step of extracting rule information for plugin preprocessing from the preset detection rule in response to the compilation instruction for at least two service plugins, the method further comprises:

[0043] S301: Obtain the source code of the compiler;

[0044] S302: Determine the tool directory and the check list file under the tool directory based on the source code of the compiler;

[0045] S303: Create a plugin check folder under the tool directory;

[0046] S304: Write a code segment indicating to add a subdirectory to the directory where the plugin check folder is located in the check list file;

[0047] S305: Create an entry file and a description file for the entry file in the plugin check folder, and take the entry file and the description file as the preset source code file; wherein the entry file is an execution entry of the resource source code of the downloaded and compiled plugin, and the entry file has an association relationship with the code segment.

[0048] The compiler here can be Clang, and the preset source code files are stored in the compiler directory, which can be regarded as implanting the necessary files for compiling the preset detection rule in the Clang directory. First, obtain the Clang source code; then, determine the tool directory (Clang / tools directory) and the check list file (Clang / tools / CcheckList.txt) under the tool directory based on the Clang source code, and the check list file is in the source code; next, create a plugin check folder (checkPlugin folder) under the tool directory; further, write a code segment indicating to add a subdirectory to the directory where the plugin check folder is located in the check list file: add_clang_subdirectory (checkPlugin) text; finally, create an entry file (checkPlugin.cpp file) and a description file (CcheckList.txt file) for the entry file in the plugin check folder (checkPlugin folder), and take the entry file and the description file as the preset source code file.

[0049] The entry file can be an execution entry of a resource source code of a downloaded and compiled plug-in, the entry file has a correlation with the code segment added to the check list file, and the description file records an explanation about the content in the entry file. It can be understood that the preset source code file composed of the entry file and the description file is compiled to obtain a preset detection rule, and the development tool or the device installed with the development tool performs according to the content in the preset detection rule when downloading and installing the plug-in, and the content in the preset detection rule is specified by the preset source code file at a level closer to machine language. The composition and storage of the preset source code file provide a data source for obtaining the preset detection rule. The plug-in check folder specially created for the preset source code file and the specially introduced code segment (indicating to add a subdirectory to the directory where the plug-in check folder is located) provide an execution reference for downloading and installing the plug-in, and orderly storage of the related plug-in content provides convenience for subsequent searching. The function of the code segment can be understood as creating a folder in the directory where the plug-in check folder is located for storing related data of the newly downloaded plug-in. Of course, related data of the same plug-in of different versions can be stored in the same folder.

[0050] 2) The process of compiling the preset source code file to obtain the preset detection rule: first, performing lexical analysis on the preset source code file to obtain a corresponding token sequence; then, performing syntax analysis on the token sequence to obtain a syntax tree used as the preset detection rule.

[0051] Lexical analysis is a process of converting a sequence of characters (character stream) into a sequence of tokens (or word stream) in computer science. The program or function that performs lexical analysis is called a lexical analyzer (lexer for short), also called a scanner. The lexical analyzer generally exists in the form of a function, which is called by the syntax analyzer. Syntax analysis is to perform syntax checking and construct a data structure composed of input words, generally a hierarchical data structure such as a syntax analysis tree or an abstract syntax tree. The program or function that performs syntax analysis is called a syntax analyzer, which usually appears as a component of a compiler or interpreter.

[0052] The syntax analyzer can also include a separate lexical analyzer, so that the lexical analyzer can separate individual "words" from the input character stream and use the word stream as the input of syntax analysis. The syntax analyzer can be manually written or automatically generated (semi-) using tools.

[0053] Compared with the preset source code file closer to the machine language, the preset detection rule capable of providing the rule information for the plug-in preprocessing is more convenient to capture the part needing to be improved when the plug-in is downloaded and installed. In actual application, the preset detection rule provides the rule information for the plug-in preprocessing, and the preset detection rule can be regarded as a syntax tree capable of preprocessing the plug-in. The syntax tree can realize the preprocessing of the plug-in through the three modules of the execution module, the parsing module and the installation module created by the syntax tree.

[0054] The following will introduce the related content of obtaining the resource source code of the business plug-in. The resource source code of the business plug-in is obtained from the related server by the development tool or the device installed with the development tool.

[0055] According to the configuration requirement of the development environment, when the server is an internal server, the required plug-in can be obtained from the server, and the server is responsible for the update check of the plug-in; when the server is an external server, the required plug-in can be obtained from different external servers, for example, plug-in A is obtained from external server A providing plug-in A, and plug-in B is obtained from external server B providing plug-in B. Correspondingly, external server A can be responsible for the update check of plug-in A, and external server B can be responsible for the update check of plug-in B. It should be noted that the server can have both internal servers and external servers. In addition, whether the internal server or the external server can be a separate physical server, or a server cluster or a distributed system composed of multiple physical servers, or a cloud server.

[0056] When the plug-in type of the business plug-in is a new type, it means that the local side of the development tool or the device installed with the development tool does not have the plug-in (including different versions of the same plug-in). At this time, the resource source code of the business plug-in is full source code. When the plug-in type of the business plug-in is an upgrade type, it means that the local side of the development tool or the device installed with the development tool has a low version of the same plug-in. At this time, the resource source code of the business plug-in can be full source code or incremental source code.

[0057] In an exemplary embodiment, as shown in Figure 4 Before the step of extracting the rule information for the plug-in preprocessing from the preset detection rule in response to the compiling instruction for at least two business plug-ins, the method further includes:

[0058] S401: receiving resource source code data indicating the business plug-in sent by a server; wherein the resource source code data is a response feedback of the server to a received resource source code acquisition request;

[0059] S402: downloading the resource source code of the business plug-in based on the download address in the resource source code data.

[0060] The server receives a resource source code acquisition request sent by the development tool or the device installed with the development tool, and returns a response feedback to the development tool or the device installed with the development tool. The response feedback includes resource source code data of the service plug-in, and the resource source code data can include basic information (such as plug-in name, plug-in type, version number) of the service plug-in and source address information (such as a download address). The development tool or the device installed with the development tool downloads the resource source code of the service plug-in based on the download address in the resource source code data.

[0061] There are two cases for the server to issue the resource source code of the service plug-in or the download address of the resource source code: 1) The server issues in response to an acquisition request of the development tool or the device installed with the development tool, and the acquisition request carries information of a plug-in to be downloaded. After receiving the request, the server searches for plug-in resources in a database according to the information of the plug-in to be downloaded, and the server also issues the resource source code of the plug-in to be downloaded or the download address of the resource source code. Of course, if the server subsequently checks that the plug-in to be downloaded is updated, the server can also issue the resource source code of the plug-in to be downloaded or the download address of the resource source code according to prior agreement.

[0062] 2) The server issues in response to an acquisition request of the development tool or the device installed with the development tool, and the acquisition request carries information of a local plug-in (on the side of the development tool or the device installed with the development tool). After receiving the request, the server searches for plug-in resources in a database according to the information of the local plug-in, and the server issues the resource source code of the local plug-in that needs to be updated or the download address of the resource source code after performing update checking. In actual application, the server is not issued once, and the server is often an internal server. For example, the information of the local plug-in indicates plug-ins a-e, the server checks that plug-in a is updated at time point 1, and issues the resource source code of plug-in a or the download address of the resource source code, the server checks that plug-in c is updated at time point 2, and issues the resource source code of plug-in c or the download address of the resource source code, where the time point 1 is not equal to the time point 2.

[0063] Exemplarily, before the receiving server sends the resource source code data indicating the service plug-in, the method further comprises: first, executing a built-in script; wherein the built-in script is provided with an interface for receiving incoming parameters, and the built-in script is used to determine current service plug-in information according to the received incoming parameters, and trigger sending of the resource source code acquisition request; wherein the resource source code acquisition request carries the current service plug-in information; then, sending the resource source code acquisition request to the server, so that the server generates corresponding resource source code data when detecting that there is updated resource of the service plug-in falling into the current service plug-in set; wherein the current service plug-in set is determined based on the current service plug-in information. This part can be used as the working task of the execution module of the syntax tree created here.

[0064] The development tool or the device installed with the development tool executes a built-in script. The built-in script is built in the development tool, and the built-in script is provided with an open interface for receiving incoming parameters, which can be input by a staff or by means of a data acquisition program. The built-in script has a function of determining current service plug-in information according to the received incoming parameters, and triggering sending of a resource source code acquisition request. Correspondingly, after the built-in script is executed, the resource source code acquisition request is transmitted to the server by the development tool or the device installed with the development tool.

[0065] The server responds to the received resource source code acquisition request, and generates corresponding resource source code data when detecting that there is updated resource of the service plug-in falling into the current service plug-in set; wherein the current service plug-in set is determined based on the current service plug-in information. The current service plug-in information here can correspond to the information of the local plug-in, and the current service plug-in information can include the plug-in name, the plug-in type and the version number of the local plug-in. For example, the current service plug-in information includes the plug-in name, the plug-in type and the version number of plug-ins a-e, and then the current service plug-in set is composed of plug-ins a-e. The server generates the resource source code data of the plug-in and sends it to the development tool or the device installed with the development tool when detecting that there is update of any plug-in in the set. In this way, automatic update checking of the plug-in can be realized, and the development tool or the device installed with the development tool can timely acquire the resource source code data of the plug-in with update, thereby improving the efficiency of downloading and installing of related plug-ins.

[0066] In actual application, the built-in script can be executed by using the aforementioned preset detection rule (syntax tree). The built-in script is a static script, which can be written in swift language (a programming language). The use of swift language is considered to avoid the situation of language version incompatibility of Xcode, and no additional configuration is needed.

[0067] Further, when the resource source code data indicates at least two service plugins, the downloading of the resource source code of the service plugins based on the download address in the resource source code data comprises: firstly, processing the resource source code data according to a preset data format to obtain at least two plugin dimension data; wherein the preset data format indicates a field for recording a plugin name, a field for recording a version number, and a field for recording a download address; then, assigning a corresponding download thread to each of the plugin dimension data; and finally, downloading the resource source code of the service plugins described by the plugin dimension data based on the download thread and the field for recording the download address in the plugin dimension data. This part can be used as a working task of the syntax tree creation analysis module.

[0068] After the development tool or the device installed with the development tool obtains the resource source code data, the development tool or the device installed with the development tool can process the resource source code data according to a preset data format, which is equivalent to performing a format processing on the resource source code data. For example, when the resource source code data indicates at least two service plugins, at least two plugin dimension data can be obtained after the processing, and each plugin dimension data corresponds to a service plugin. The plugin dimension data includes a field for recording a plugin name (pluginName) of the corresponding plugin, a field for recording a version number (version) of the corresponding plugin, and a field for recording a download address (address) of the corresponding plugin. If the resource source code data indicates plugin 1 and plugin 2, the resource source code data can obtain the following processing result after the format processing:

[0069]

[0070] Among them, the resource source code data is processed in an xml (eXtensible Markup Language, extensible markup language) format, and an outer plugin node represents a plugin dimension data, thereby forming a list. Of course, the resource source code data processed can also be presented in a json (JavaScript Object Notation, JS object notation) format.

[0071] The development tool or the device with the development tool allocates a corresponding download thread for each plug-in dimension data. Based on the download thread and the field recording the download address in the plug-in dimension data, the resource code of the business plug-in described by the plug-in dimension data is downloaded. The sub-thread can be started by the thread (pthread), and the download thread 1 is allocated for the plug-in dimension data 1 corresponding to the plug-in 1, and the download thread 2 is allocated for the plug-in dimension data 1 corresponding to the plug-in 2 according to the plug-in dimension data in the list. The download thread 1 downloads the resource code of the plug-in 1 according to the field recording the download address in the plug-in dimension data 1, and the download thread 2 downloads the resource code of the plug-in 2 according to the field recording the download address in the plug-in dimension data 2.

[0072] The formatting processing of the resource code data can reduce the difficulty of locating the related data of a certain plug-in, and facilitate the downloading of the resource code of the plug-in based on the related data. Meanwhile, the allocation of the download thread from the plug-in dimension can reduce the occurrence of blocking phenomenon, and can reduce the interference of the ongoing plug-in compilation.

[0073] S202: Determine the corresponding dependent library of the at least two business plug-ins respectively, and obtain a dependent library set;

[0074] In the embodiment of the present application, the development tool or the device with the development tool determines the corresponding dependent library of the at least two business plug-ins respectively, and obtains a dependent library set. If the at least two business plug-ins are plug-in 3, plug-in 4 and plug-in 5, the dependent library used for compiling the plug-in 3 is library 1 of version 1.0, the dependent library used for compiling the plug-in 4 is library 1 of version 2.0, and the dependent library used for compiling the plug-in 5 is library 1 of version 1.1. Then the dependent library set is composed of library 1 of version 1.0, library 1 of version 2.0 and library 1 of version 1.1. The information of the dependent library used for compiling a certain plug-in can be contained in the resource code of the plug-in, or can be contained in the local configuration information. This part can be used as the working task of the parsing module of the syntax tree creation here.

[0075] S203: When the dependent libraries in the dependent library set have version conflicts, the dependent library with the highest version in the dependent library set is taken as a target library based on the rule information, and the resource code of the at least two business plug-ins is compiled by using the target library respectively;

[0076] In the embodiment of the present application, when the dependent libraries in the dependent library set have version conflicts, the development tool or the device with the development tool takes the dependent library with the highest version in the dependent library set as a target library based on the rule information, and compiles the resource code of the at least two business plug-ins by using the target library respectively. This part can be used as the working task of the parsing module of the syntax tree creation here.

[0077] In combination with the example in step S202, the library 1 of version 1.0, the library 1 of version 2.0, and the library 1 of version 1.1 in the dependent library set have version conflicts, and the dependent library of the highest version, i.e., the library 1 of version 2.0, can be selected as the target library based on the rule information. Accordingly, the resource source code of the plug-in 3, the resource source code of the plug-in 4, and the resource source code of the plug-in 5 are compiled by using the library 1 of version 2.0.

[0078] Of course, if the dependent library used for compiling the plug-in 5 is the library 2 of version 1.1, the library 1 of version 1.0 (corresponding to the plug-in 3) and the library 1 of version 2.0 (corresponding to the plug-in 4) in the dependent library set have version conflicts. Accordingly, the dependent library of the highest version, i.e., the library 1 of version 2.0, can be selected as the target library based on the rule information, so that the resource source code of the plug-in 3 and the resource source code of the plug-in 4 are compiled by using the library 1 of version 2.0. The resource source code of the plug-in 5 is still compiled by using the library 2 of version 1.1.

[0079] In addition, when the dependent libraries in the dependent library set do not have version conflicts (for example, the dependent library used for compiling the plug-in 6 is the library 1 of version 1.0, and the dependent library used for compiling the plug-in 7 is the library 2 of version 2.0), a) if at least two service plug-ins (the plug-in 6 and the plug-in 7) are composed of the service plug-in currently obtaining the resource source code, the determination of the target library is not performed, the resource source code of the plug-in 6 is compiled by using the library 1 of version 1.0, and the resource source code of the plug-in 7 is compiled by using the library 2 of version 2.0. b) if at least two service plug-ins (the plug-in 6 and the plug-in 7) are composed of the service plug-in currently obtaining the resource source code and the local plug-in having an association relationship with the service plug-in, the determination of the target library is not performed, and only the service plug-in currently obtaining the resource source code is compiled.

[0080] S204: When the resource source code of the remaining service plug-in fails to be compiled, the common resource of the dependent library corresponding to the remaining service plug-in and the target library is copied, and a dependency relationship between the storage path of the common resource and the non-common resource in the dependent library corresponding to the remaining service plug-in is established. The dependent library corresponding to the remaining service plug-in is the remaining dependent library in the dependent library set except the target library.

[0081] In the embodiment of the present application, the development tool or the device installed with the development tool copies the common resource of the dependent library corresponding to the remaining service plug-in and the target library, and establishes the dependency relationship between the storage path of the common resource and the non-common resource in the dependent library corresponding to the remaining service plug-in when the resource source code of the remaining service plug-in fails to be compiled. This part can be used as the working task of the parsing module for creating the syntax tree.

[0082] In combination with the example in step S202, the library 1 of version 1.0 (corresponding to the plug-in 3), the library 1 of version 2.0 (corresponding to the plug-in 4), and the library 1 of version 1.1 (corresponding to the plug-in 5) in the dependent library set have version conflicts, wherein the library 1 of version 2.0 is the target library. Then, the plug-in 3 and the plug-in 5 are the remaining business plug-ins. The resource source code of the remaining business plug-ins fails to be compiled, that is, the compilation of the resource source code of the remaining business plug-ins using the target library fails. Taking the compilation of the resource source code of the plug-in 3 using the target library (the library 1 of version 2.0) as an example, if the library 1 of version 1.0 has files a, b, and c, the library 1 of version 2.0 has files b, c, and d, and the common resources of the dependent library corresponding to the plug-in 3 and the target library are files b and c, correspondingly, the non-common resource in the dependent library corresponding to the plug-in 3 is file a. Files b and c are copied, and a dependency relationship between the storage path of files b and c and file a is established, wherein file a can be used as an index between the storage path of files b and c and the library 1 of version 1.0. The dependent library information used for compiling the plug-in 3 can be updated based on the index.

[0083] Of course, if the dependent library used for compiling the plug-in 5 is the library 2 of version 1.1, then the library 1 of version 1.0 (corresponding to the plug-in 3) and the library 1 of version 2.0 (corresponding to the plug-in 4) in the dependent library set have version conflicts, wherein the library 1 of version 2.0 is the target library. Since the resource source code of the plug-in 5 is still compiled using the library 2 of version 1.1. The remaining business plug-in is the plug-in 3. It can be understood that the remaining business plug-in needs to meet the following two conditions: the dependent library corresponding to the remaining business plug-in is the remaining dependent library in the dependent library set except the target library, and the remaining business plug-in fails to be compiled using the target library.

[0084] In an exemplary embodiment, after copying the common resources of the dependent library corresponding to the remaining business plug-in and the target library, and establishing the dependency relationship between the storage path of the common resources and the non-common resource in the dependent library corresponding to the remaining business plug-in, the method further comprises: first, compiling the resource source code of the remaining business plug-in based on the dependent library corresponding to the remaining business plug-in and the dependency relationship; and then, when the compilation fails, generating error information and writing the error information into a log file.

[0085] Taking a compilation failure of the resource source code of the plug-in 3 by using the target library (library 1 of version 2.0) as an example, a dependency relationship between the storage paths of the files b and c and the file a is established. The resource source code of the plug-in 3 can be compiled by using the dependency relationship and the library 1 of version 1.0 (corresponding to the plug-in 3). When the compilation fails, error information is generated and written into a log file. The log file is placed in the checkPlugin folder mentioned in the step S201, and can be used as problem feedback to solve the problem. When the compilation succeeds, the compilation result is saved, and the plug-in 3 is installed or the original plug-in 3 of a low version is updated based on the compilation result. In this way, whether the established dependency relationship is accurate can be checked in time, error information can be generated when the compilation fails (because the compilation failure is caused by the inaccurate dependency relationship with a high probability), and the staff can be introduced in time to troubleshoot the problem, thereby improving the efficiency of the installation of the plug-in auxiliary development.

[0086] In an exemplary embodiment, for the target service plug-in whose resource source code is successfully compiled, the compilation result is processed according to the plug-in type of the target service plug-in. It should be noted that the target service plug-in herein is only required to be successfully compiled.

[0087] For the interpretation of the new type and the upgrade type, please refer to the related description in the foregoing step S201, which will not be repeated. When the plug-in type of the target service plug-in is the new type, the target service plug-in is installed based on the compilation result (of the full source code); when the plug-in type of the target service plug-in is the upgrade type, the original plug-in corresponding to the target service plug-in is updated based on the compilation result. The original plug-in can be overwritten based on the compilation result (of the full source code), or can be compared and updated based on the compilation result (of the incremental source code). This part can be used as the working task of the installation module of the syntax tree creation herein.

[0088] It can be seen from the technical solutions provided by the embodiments of the present application that the embodiments of the present application provide a solution for analyzing plug-in dependencies to establish dependency relationships. When the dependency libraries in the dependency library set have version conflicts, the dependency library with the highest version in the dependency library set is taken as a target library based on rule information, and the target library is used to compile resource source codes of at least two business plug-ins respectively. When the resource source codes of the remaining business plug-ins fail to be compiled, the common resources of the dependency library corresponding to the remaining business plug-ins and the target library are copied, and a dependency relationship between the storage path of the common resources and the non-common resources in the dependency library corresponding to the remaining business plug-ins is established. The dependency library set is composed of the dependency libraries corresponding to the two business plug-ins, and the dependency library corresponding to the remaining business plug-in is the remaining dependency library in the dependency library set except the target library. The rule information is information for plug-in preprocessing extracted from a preset detection rule in response to a compilation instruction for the at least two business plug-ins, and the preset detection rule is obtained by compiling preset source code files stored in a compiler directory. The embodiments of the present application use the rule information for plug-in preprocessing in the preset detection rule to automatically analyze plug-in dependencies to establish dependency relationships, thereby improving the efficiency of analyzing plug-in dependencies. With the established dependency relationships, the convenience of locating problems when performing exception troubleshooting can be improved, thereby improving the development efficiency.

[0089] The embodiments of the present application also provide a dependency relationship establishment device, as shown in Figure 5 The dependency relationship establishment device 500 comprises:

[0090] The rule information extraction module 501 is configured to extract rule information for plug-in preprocessing from a preset detection rule in response to a compilation instruction for at least two business plug-ins, wherein the preset detection rule is obtained by compiling preset source code files stored in a compiler directory.

[0091] The dependency library set obtaining module 502 is configured to determine the dependency libraries corresponding to the at least two business plug-ins respectively to obtain a dependency library set.

[0092] The compilation module 503 is configured to, when the dependency libraries in the dependency library set have version conflicts, take the dependency library with the highest version in the dependency library set as a target library based on the rule information, and use the target library to compile resource source codes of the at least two business plug-ins respectively.

[0093] The dependency relationship establishment module 504 is configured to, when the resource source codes of the remaining business plug-ins fail to be compiled, copy the common resources of the dependency library corresponding to the remaining business plug-ins and the target library, and establish a dependency relationship between the storage path of the common resources and the non-common resources in the dependency library corresponding to the remaining business plug-ins. The dependency library corresponding to the remaining business plug-in is the remaining dependency library in the dependency library set except the target library.

[0094] It should be noted that the apparatus and method embodiments described in the device embodiments are based on the same inventive concept.

[0095] This application provides an electronic device including a processor and a memory. The memory stores at least one instruction or at least one program segment, which is loaded and executed by the processor to implement the dependency establishment method provided in the above method embodiments.

[0096] Furthermore, Figure 6 A schematic diagram of the hardware structure of an electronic device for implementing the dependency establishment method provided in the embodiments of this application is shown. The electronic device may participate in or include the dependency establishment apparatus provided in the embodiments of this application. Figure 6 As shown, the electronic device 60 may include one or more processors 602 (shown as 602a, 602b, ..., 602n in the figure) (processor 602 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 604 for storing data, and a transmission device 606 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 6 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, electronic device 60 may also include... Figure 6 The more or fewer components shown, or having the same Figure 6 The different configurations shown.

[0097] It should be noted that the aforementioned one or more processors 602 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be wholly or partially integrated into any other element within the electronic device 60 (or mobile device). As involved in the embodiments of this application, the data processing circuits serve as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).

[0098] The memory 604 can be used to store software programs of application software and modules, such as program instructions / data storage means corresponding to the dependency relationship establishment method described in the embodiments of the present application. The processor 602 executes various functional applications and data processing, i.e., implements the dependency relationship establishment method described above, by running the software programs and modules stored in the memory 604. The memory 604 can include a high-speed random access memory, and can also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some examples, the memory 604 can further include memories disposed remotely with respect to the processor 602, which can be connected to the electronic device 60 through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0099] The transmission device 606 is configured to receive or send data via a network. Examples of the network include a wireless network provided by a communication provider of the electronic device 60. In one example, the transmission device 606 includes a network interface controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet. In one embodiment, the transmission device 606 can be a radio frequency (RF) module configured to communicate with the Internet in a wireless manner.

[0100] The display can be, for example, a touch screen type liquid crystal display (LCD) that enables a user to interact with a user interface of the electronic device 60 (or a mobile device).

[0101] The embodiments of the present application also provide a computer readable storage medium that can be arranged in an electronic device to store at least one instruction or at least one program for implementing the dependency relationship establishment method in the method embodiments. The at least one instruction or the at least one program is loaded and executed by the processor to implement the dependency relationship establishment method provided by the method embodiments.

[0102] Optionally, in the embodiments, the storage medium described above can be located in at least one of a plurality of network servers of a computer network. Optionally, in the embodiments, the storage medium can include, but is not limited to, a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store program codes.

[0103] It should be noted that the above-mentioned order of the embodiments of the present application is only for description, and does not represent the advantages and disadvantages of the embodiments. And the above-mentioned specific embodiments of the present application are described. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from the order in the embodiments and still achieve the desired result. In addition, the processes depicted in the figures do not necessarily require the particular order shown or sequential order to achieve the desired results. In certain implementations, multi-task processing and parallel processing are possible or advantageous.

[0104] Each of the embodiments in the present application is described in a progressive manner, and the same and similar parts between the embodiments can be referred to each other. Each embodiment focuses on the difference from other embodiments. Especially, for the device and electronic equipment embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the part of the method embodiments.

[0105] A person of ordinary skill in the art can understand that all or part of the steps of the above-mentioned embodiments can be completed by hardware, or by program instructing relevant hardware to complete, and the program can be stored in a computer readable storage medium. The storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk.

[0106] The above-mentioned is only the preferred embodiment of the present application, and does not limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A method for establishing dependencies, characterized in that, The method includes: In response to compilation instructions for at least two business plugins, rule information for plugin preprocessing is extracted from preset detection rules; the preset detection rules are obtained by compiling preset source code files stored in the compiler directory. Determine the dependency libraries corresponding to each of the at least two business plugins to obtain a dependency library set; When there is a version conflict among the dependency libraries in the dependency library set, the dependency library with the highest version in the dependency library set is selected as the target library based on the rule information, and the resource source code of the at least two business plugins is compiled using the target library respectively. When the resource source code of the remaining business plugin fails to compile, the common resources of the dependency library corresponding to the remaining business plugin and the target library are copied, and the dependency relationship between the storage path of the common resources and the non-common resources in the dependency library corresponding to the remaining business plugin is established; the dependency library corresponding to the remaining business plugin is the remaining dependency library in the dependency library set other than the target library. The method further includes, after copying the shared resources of the dependency library corresponding to the remaining business plugin and the target library, and establishing the dependency relationship between the storage path of the shared resources and the non-shared resources in the dependency library corresponding to the remaining business plugin, compiling the resource source code of the remaining business plugin based on the dependency library corresponding to the remaining business plugin and the dependency relationship; and generating error information and writing the error information to a log file when compilation fails.

2. The method according to claim 1, characterized in that, The method further includes: For a target business plugin whose source code is successfully compiled, if the plugin type of the target business plugin is a new type, the target business plugin is installed based on the compilation result; if the plugin type of the target business plugin is an upgrade type, the original plugin corresponding to the target business plugin is updated based on the compilation result.

3. The method according to claim 1, characterized in that, Before extracting rule information for plugin preprocessing from preset detection rules in response to compilation instructions for at least two business plugins, the method further includes: The server receives resource source code data indicating the business plugin; wherein the resource source code data is the server's response to the received resource source code acquisition request. Download the resource source code of the business plugin based on the download address in the resource source code data.

4. The method according to claim 3, characterized in that, Before receiving the resource source code data indicating the business plugin sent by the receiving server, the method further includes: Execute a built-in script; wherein the built-in script provides an interface for receiving input parameters, the built-in script is used to determine the current business plugin information based on the received input parameters, and trigger the sending of the resource source code acquisition request; wherein the resource source code acquisition request carries the current business plugin information; The resource source code retrieval request is sent to the server, so that the server generates corresponding resource source code data when it detects that there are updated resources of business plugins that fall into the current business plugin set; wherein, the current business plugin set is determined based on the current business plugin information.

5. The method according to claim 3, characterized in that, When the resource source code data indicates at least two business plugins, downloading the resource source code of the business plugins based on the download address in the resource source code data includes: The resource source code data is processed according to a preset data format to obtain at least two plugin dimension data; wherein, the preset data format indicates a field for recording the plugin name, a field for recording the version number, and a field for recording the download address; Each of the aforementioned plugin dimension data is assigned a corresponding download thread; Based on the download thread and the field recording the download address in the plugin dimension data, download the resource source code of the business plugin described in the plugin dimension data.

6. The method according to claim 1, characterized in that, Before extracting rule information for plugin preprocessing from preset detection rules, the method further includes: Obtain the source code of the compiler; The tool directory and the checklist file under the tool directory are determined based on the source code of the compiler. Create a plugin check folder in the tools directory; The code snippet in the checklist file write instruction to add a subdirectory to the directory where the plugin check folder is located; An entry file and a description file for the entry file are created in the plugin inspection folder, and the entry file and the description file are used as the preset source code file; wherein, the entry file is the execution entry point for downloading and compiling the resource source code of the plugin, and the entry file is associated with the code snippet.

7. The method according to claim 1 or 6, characterized in that, Before extracting rule information for plugin preprocessing from preset detection rules, the method further includes: Lexical analysis is performed on the preset source code file to obtain the corresponding tag sequence; The marked sequence is subjected to syntactic analysis to obtain a syntax tree that is used as the preset detection rule.

8. A dependency establishment device, characterized in that, The device includes: Rule information extraction module: used to extract rule information for plugin preprocessing from preset detection rules in response to compilation instructions for at least two business plugins; the preset detection rules are obtained by compiling preset source code files stored in the compiler directory; Dependency library set acquisition module: used to determine the dependency libraries corresponding to the at least two business plugins respectively, and obtain the dependency library set; Compilation module: When there is a version conflict among the dependency libraries in the dependency library set, it uses the highest version dependency library in the dependency library set as the target library based on the rule information, and uses the target library to compile the resource source code of the at least two business plugins respectively. Dependency Establishment Module: When the compilation of the resource source code of the remaining business plugin fails, this module copies the common resources between the dependency library corresponding to the remaining business plugin and the target library, and establishes the dependency relationship between the storage path of the common resources and the non-common resources in the dependency library corresponding to the remaining business plugin; the dependency library corresponding to the remaining business plugin is the remaining dependency library in the dependency library set excluding the target library. The device is further configured to: copy the shared resources of the dependency library corresponding to the remaining business plugin and the target library, and establish the dependency relationship between the storage path of the shared resources and the non-shared resources in the dependency library corresponding to the remaining business plugin, and then compile the resource source code of the remaining business plugin based on the dependency library corresponding to the remaining business plugin and the dependency relationship; and generate error information and write the error information to a log file when compilation fails.

9. The apparatus according to claim 8, characterized in that, The device is also used for: For a target business plugin whose source code is successfully compiled, if the plugin type of the target business plugin is a new type, the target business plugin is installed based on the compilation result; if the plugin type of the target business plugin is an upgrade type, the original plugin corresponding to the target business plugin is updated based on the compilation result.

10. The apparatus according to claim 8, characterized in that, The device is also used for: Before extracting rule information for plugin preprocessing from preset detection rules in response to compilation instructions for at least two business plugins, the server sends resource source code data indicating the business plugins; wherein, the resource source code data is the server's response feedback to the received resource source code acquisition request; Download the resource source code of the business plugin based on the download address in the resource source code data.

11. The apparatus according to claim 10, characterized in that, The device is also used for: Before receiving the resource source code data indicating the business plugin sent by the receiving server, a built-in script is executed; wherein, the built-in script provides an interface for receiving input parameters, and the built-in script is used to determine the current business plugin information based on the received input parameters, and trigger the sending of the resource source code acquisition request; wherein, the resource source code acquisition request carries the current business plugin information; The resource source code retrieval request is sent to the server, so that the server generates corresponding resource source code data when it detects that there are updated resources of business plugins that fall into the current business plugin set; wherein, the current business plugin set is determined based on the current business plugin information.

12. The apparatus according to claim 10, characterized in that, When the resource source code data indicates at least two business plugins, downloading the resource source code of the business plugins based on the download address in the resource source code data includes: The resource source code data is processed according to a preset data format to obtain at least two plugin dimension data; wherein, the preset data format indicates a field for recording the plugin name, a field for recording the version number, and a field for recording the download address; Each of the aforementioned plugin dimension data is assigned a corresponding download thread; Based on the download thread and the field recording the download address in the plugin dimension data, download the resource source code of the business plugin described in the plugin dimension data.

13. The apparatus according to claim 8, characterized in that, The device is also used for: Before extracting rule information for plugin preprocessing from preset detection rules, the source code of the compiler is obtained; The tool directory and the checklist file under the tool directory are determined based on the source code of the compiler. Create a plugin check folder in the tools directory; The code snippet in the checklist file write instruction to add a subdirectory to the directory where the plugin check folder is located; An entry file and a description file for the entry file are created in the plugin inspection folder, and the entry file and the description file are used as the preset source code file; wherein, the entry file is the execution entry point for downloading and compiling the resource source code of the plugin, and the entry file is associated with the code snippet.

14. The apparatus according to claim 8 or 13, characterized in that, The device is also used for: Before extracting rule information for plugin preprocessing from preset detection rules, lexical analysis is performed on the preset source code file to obtain the corresponding tag sequence; The marked sequence is subjected to syntactic analysis to obtain a syntax tree that is used as the preset detection rule.

15. A computer-readable storage medium, characterized in that, The storage medium stores at least one instruction or at least one program segment, which is loaded and executed by a processor to implement the dependency establishment method as described in any one of claims 1-7.

16. An electronic device, characterized in that, The electronic device includes a processor and a memory, the memory storing at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the dependency establishment method as described in any one of claims 1-7.

17. A computer program product, characterized in that, The computer instructions are stored in a computer-readable storage medium, and the processor of the computer device reads from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the dependency establishment method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Embedded system construction method and device

    CN120762642A