Probe management method and device, storage medium, program product and computer equipment

By creating a probe runtime container and modifying the metadata of the logic unit, the identification conflict problem between probe modules was resolved, the stable operation of the probe modules was achieved, and the probability of probe program errors was reduced.

CN121833076APending Publication Date: 2026-04-10CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-26
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

When multiple probe modules are running simultaneously, a problem arises where logical unit identifier conflicts cause the probe modules to malfunction.

Method used

Create a probe runtime container, determine and modify the metadata of the logical units to adapt to the probe runtime container, realize the loading and isolation of logical units, and reduce dependency conflicts.

Benefits of technology

By adapting and isolating logic units, the probability of probe program errors is reduced, and the operational stability of the probe module is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121833076A_ABST
    Figure CN121833076A_ABST
Patent Text Reader

Abstract

The invention discloses a probe management method and device, a storage medium, a program product and computer equipment. The method comprises the steps that a probe operation container matched with a current probe module is created; determining a first logic unit from the current probe module; determining a second logic unit having a target dependency relationship with the first logic unit, and determining a target logic unit matched with the second logic unit in the current probe module; modifying the first target meta-information of the target logic unit into second target meta-information matched with the probe operation container, modifying the first meta-information of the first logic unit into second meta-information matched with the second target meta-information, and storing the second target meta-information and the second meta-information into the probe operation container; based on the second meta-information and the second target meta-information, logic unit loading is carried out on the probe operation container; and the probe operation container loaded with the logic unit is operated, so that the probability of error reporting of the probe program can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computers, and in particular to a probe management method and device, a storage medium, a program product and a computer device. BACKGROUND

[0002] A probe is an important collection tool in the field of computer software application monitoring, which can collect application running data, performance data and system data in a non-intrusive manner.

[0003] In related technologies, when multiple probes are introduced at the same time, since the program code related to the probes is usually composed of multiple logical units, and each logical unit has a unique identifier inside the program, a conflict will occur when at least two probe modules use the same logical unit with the same identifier, which may cause the at least two probe modules to fail to operate normally. SUMMARY

[0004] To solve the above technical problems, the embodiments of the present application provide a probe management method, device, storage medium, program product and computer device, which can reduce the probability of probe program error.

[0005] In a first aspect, the embodiments of the present application provide a probe management method, comprising: creating a probe running container matched with a current probe module; determining a first logical unit from the current probe module; determining a second logical unit having a target dependency relationship with the first logical unit, and determining a target logical unit matched with the second logical unit in the current probe module; modifying first target element information of the target logical unit to second target element information adapted to the probe running container, modifying first element information of the first logical unit to second element information adapted to the second target element information, and storing the second target element information and the second element information in the probe running container; loading logical units for the probe running container based on the second element information and the second target element information; running the probe running container after loading the logical units.

[0006] Optionally, the target dependency relationship is adapted to indicate a dependency relationship within the current probe module. The determination of the second logical unit having a target dependency relationship with the first logical unit comprises: determining a third logical unit on which the first logical unit depends; In a case where a dependency relationship between the first logical unit and the third logical unit meets the target dependency relationship, the third logical unit is taken as the second logical unit.

[0007] Optionally, the modifying the first target element information of the target logical unit into second target element information adapted to the probe running container comprises: adding a container identifier of the probe running container in the first target element information to obtain the second target element information.

[0008] Optionally, the loading the logical unit for the probe running container based on the second element information and the second target element information comprises: modifying original bytecode of the target logical unit based on the second target element information to obtain new bytecode of the target logical unit; loading the new bytecode into an application memory corresponding to the probe running container; loading the first logical unit based on the second element information through the probe running container.

[0009] Optionally, the method further comprises: intercepting an instance object corresponding to the new bytecode; storing the instance object into the probe running container after the loading of the logical unit.

[0010] Optionally, the method further comprises: establishing a communication connection with a remote management platform; listening to configuration information of each probe module from the remote management platform through the established communication connection, wherein the each probe module comprises the current probe module; obtaining a probe package of the current probe module based on the configuration information of the current probe module; wherein the determining the first logical unit from the current probe module comprises: determining the first logical unit from the current probe module based on the probe package of the current probe module.

[0011] In a second aspect, an embodiment of the present application provides a probe management device, comprising: a sub-module scheduler configured to create a probe running container matched with a current probe module; the sub-module scheduler is further configured to determine a first logical unit from the current probe module; The sub-module scheduler is further configured to determine a second logical unit having a target dependency relationship with the first logical unit, and determine a target logical unit matching the second logical unit in the current probe module; The sub-module scheduler is further configured to modify first target element information of the target logical unit into second target element information adapted to the probe running container, modify first element information of the first logical unit into second element information adapted to the second target element information, and store the second target element information and the second element information in the probe running container; The sub-module scheduler is further configured to load the logical unit for the probe running container based on the second element information and the second target element information. The sub-module scheduler is further configured to run the probe running container after the logical unit is loaded.

[0012] In a third aspect, an embodiment of the present application provides a non-transitory computer-readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the steps of the method in any of the preceding aspects.

[0013] In a fourth aspect, an embodiment of the present application provides a computer program product, which includes computer instructions. The computer instructions are executed by a processor to implement the steps of the method in any of the preceding aspects.

[0014] In a fifth aspect, an embodiment of the present application provides a computer device, which includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor. The processor executes the computer program to implement the steps of the method in any of the preceding aspects.

[0015] In summary, the embodiments of the present application have at least the following beneficial effects: With the embodiment of the application, a probe running container matching a current probe module is created, a first logical unit is determined from the current probe module, a second logical unit having a target dependency relationship with the first logical unit is determined, and a target logical unit matching the second logical unit is determined in the current probe module; first target element information of the target logical unit is modified to second target element information adapted to the probe running container, first element information of the first logical unit is modified to second element information adapted to the second target element information, and the second target element information and the second element information are stored in the probe running container; based on the second element information and the second target element information, the probe running container is loaded with logical units; and the probe running container after loading the logical units is run. In this way, a corresponding probe running container can be created for the current probe module to realize the running state isolation of each probe module, and the related element information of the target logical unit having a possible dependency relationship conflict in the current probe module is modified accordingly, so as to reduce the probability of conflict of different probe modules when referring to the same target logical unit, and thus the probability of probe program error can be reduced. BRIEF DESCRIPTION OF DRAWINGS

[0016] Figure 1 is a schematic diagram of probe management provided by related technologies; Figure 2 is a schematic diagram of element information of a logical unit provided by the embodiment of the application; Figure 3 is a flowchart of a probe management method provided by the embodiment of the application; Figure 4 is a schematic diagram of a probe framework of a fusion probe provided by the embodiment of the application; Figure 5 is a schematic diagram of an exemplary structure of a constant pool information of a Java bytecode provided by the embodiment of the application; Figure 6 is a schematic diagram of internal method interception of a logical unit provided by the embodiment of the application; Figure 7 is a schematic diagram of probe management provided by the embodiment of the application; Figure 8 is a structural schematic diagram of a probe management apparatus provided by the embodiment of the application; Figure 9 is a structural schematic diagram of a computer device provided by the embodiment of the application. DETAILED DESCRIPTION

[0017] In the following, the technical solutions in the embodiments of the present application will be described clearly and completely with the drawings in the embodiments of the present application. Obviously, the described embodiments / examples are only a part of the embodiments / examples of the present application, but not all the embodiments / examples of the present application. Based on the embodiments / examples in the present application, all the other embodiments obtained by a person of ordinary skill in the art without creative effort belong to the protection scope of the present application.

[0018] In the description of the present application, the terms "first", "second", "third", etc. are only for the purpose of description, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second", "third", etc. can be explicitly or implicitly included one or more of the features. In the description of the present application, unless otherwise specified, the meaning of "a plurality of" is two or more. In the description of the present application, the term "comprising" and its variants are open inclusion, i.e. "including but not limited to". The term "based on" is "at least partially based on". The term "according to" is "at least partially according to". The term "one embodiment / example" means "at least one embodiment / example"; the term "another embodiment / example" means "at least one other embodiment / example"; the term "some embodiments / examples" means "at least some embodiments / examples".

[0019] In the description of the present application, it should be noted that, unless otherwise explicitly specified and limited, the terms "mounting", "connecting", "connection" should be understood in a broad sense, for example, it can be fixed connection, or detachable connection, or integrally connected; it can be mechanical connection, or electrical connection; it can be directly connected, or indirectly connected through intermediate medium, or the communication inside two elements. For a person of ordinary skill in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.

[0020] In the description of the present application, it should be noted that, unless otherwise defined, all the technical and scientific terms used in the present application have the same meaning as that understood by a person skilled in the art. The terms used in the specification of the present application are only for the purpose of describing the specific embodiments, and are not intended to limit the present application. For a person of ordinary skill in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.

[0021] In the related art, the program code is usually composed of multiple logical units (for example, in Java language, usually in the form of Java classes), each logical unit has a unique identifier (name, full path name, loader name) in the program, and when multiple probe modules use the same identified logical unit (because the probe modules do not know the existence of each other, and it is a common situation to use open source public dependent logical units in the software field), conflicts may occur (for example, see Figure 1 , the meta information and execution logic of the logical units with the same identifier but different versions may also be inconsistent, and the meta information is a description of the key information of the logical unit but usually does not contain version information), which further causes the probe program to fail to operate normally. See Figure 2 , the meta information is usually a description of the key information of the logical unit, but usually does not contain version information, for example Figure 2 , the meta information of logical unit-2, in addition, the logical unit can usually be searched by its name, full path and loader.

[0022] Therefore, the embodiments of the present application subsequently provide a probe management method, device, storage medium, program product and computer device, which aims to at least partially solve the deficiencies in the related art.

[0023] In the first aspect, see Figure 3 , a flowchart of a probe management method provided by the embodiments of the present application is shown, which can be applied to a computer device with data processing capability, and the method includes S301-S306, which are specifically as follows.

[0024] S301, creating a probe running container matched with the current probe module.

[0025] In some examples, the probe management method can be encapsulated into a fusion probe, which exists in the form of a probe. See Figure 4 , a schematic diagram of the probe framework of the fusion probe is shown, the fusion probe can be started in the form of Agent injection when the target service is started or running, and in the field of software programming language, different language injection methods can be different, for example, in Java language, the probe injection can be performed in the form of adding -javaagent: to the start command line, and the attach technology provided by JVM can be used for injection during running.

[0026] In some examples, the probe running container can be a running environment of the current probe module. The probe running container can build a kind of internal code in the logical execution process. In the field of software development, modular development is a common development method, and it is also common that there is a dependency relationship between logical units (or code modules) (for example, logical unit A depends on logical unit B, and logical unit B depends on logical unit C). In the code execution process, the search and positioning of these dependencies are usually controlled by the default search and load mechanism of the programming language virtual machine. The default mechanism will cause conflicts between different probe modules when facing logical units with the same name and full path. The probe running container can get rid of the control of the above default search and load mechanism to realize customized dependency search and load, and control the dependency search target in the probe running container through a customized load process.

[0027] In some examples, the sub-module scheduler can create a matching probe running container for each probe module.

[0028] S302, determine a first logical unit from the current probe module.

[0029] In some examples, the logical unit can be the smallest module unit in the modular code of the current probe module, and its existence form can be different in different programming languages. In an object-oriented scenario, it is usually represented by a class (such as a.class file in a Java environment), or a module file (such as a js file in a browser environment). In this embodiment, each logical unit can be assigned a concept of meta-information to describe at least one of the following information of the logical unit.

[0030] ①Name, which is the name of the logical unit.

[0031] ②Path information, a module in modular code usually has a hierarchical relationship, and the position information of the module can be represented by a path. Therefore, the path information can be used to represent the hierarchical relationship and / or position information of the logical unit.

[0032] ③Loader, which is an operator that can be used to load the execution logic of the module code into the program. In different programming languages, it can be different, such as using a class loader as the loader in Java language, and the browser itself can be used as the loader in a browser environment. In this embodiment, the loader can represent a customized loader.

[0033] ④Internal method, which can be a smaller code execution block than the module (in this embodiment, it refers to the logical unit). The internal methods in the same logical unit can usually share the context information of the logical unit.

[0034] ⑤Internal field, which can be a field for describing various attributes inside the logical unit.

[0035] ⑥Dependency information, which can indicate which external dependent logical units are referenced by the logical unit, and can be used to describe the positioning information of the dependent logical unit. In the embodiment, the unique identifier of the dependent logical unit can be obtained by combining the name and path information of the unit.

[0036] S303, determining a second logical unit having a target dependency relationship with the first logical unit, and determining a target logical unit matching the second logical unit in the current probe module.

[0037] S304, modifying the first target element information of the target logical unit into second target element information adapted to the probe running container, modifying the first element information of the first logical unit into second element information adapted to the second target element information, and storing the second target element information and the second element information in the probe running container.

[0038] In some examples, the element information corresponding to the logical unit can be generated by analyzing the bytecode and AST (Abstract Syntax Tree) of the logical unit, and after generation, the element information can be cached into the container cache of the created probe running container, so as to avoid subsequent repeated scanning of the same logical unit.

[0039] In some examples, the name corresponding to the target logical unit in the first target element information can be modified into a name adapted to the probe running container, thereby forming the second target element information. In addition, the first element information can include the name of the logical unit required by the first logical unit (i.e. the name of the target logical unit) for indicating the required dependency. Thus, the first element information can include the name corresponding to the target logical unit in the above-mentioned first target element information, and the second element information can include the name corresponding to the target logical unit in the above-mentioned second target element information, so that the probe running container can correctly call the target logical unit adapted thereto, and the probability of error when calling (before modification) the target logical unit with the same name by other probe running containers is reduced.

[0040] S305, based on the second element information and the second target element information, performing logical unit loading for the probe running container.

[0041] In some examples, the corresponding logical unit can be loaded according to the stored second element information by the probe running container, and the corresponding logical unit can be loaded according to the stored second target element information, thereby completing the logical unit loading.

[0042] S306, the probe running container after the logic unit is loaded.

[0043] In one alternative implementation, the target dependency is adapted to indicate dependencies within the current probe module; The second logical unit that is determined to have a target dependency relationship with the first logical unit includes: Determine the third logical unit that the first logical unit depends on; If the dependency relationship between the first logic unit and the third logic unit conforms to the target dependency relationship, the third logic unit shall be used as the second logic unit.

[0044] In some examples, when it is detected that logical unit A has a dependent logical unit (i.e., a third logical unit, such as logical unit B), it can be determined whether the dependency is at the system level (programming language) or within the current probe module based on the name and path of the dependent logical unit. If it is at the system level, the dependent logical unit can be ignored; otherwise, the scan for the dependent logical unit continues. After scanning B, metadata is generated and added to the container cache of the created probe running container.

[0045] In one optional implementation, modifying the first target metadata of the target logic unit to second target metadata adapted to the probe running container includes: The container identifier of the probe running container is added to the first target metadata to obtain the second target metadata.

[0046] In some examples, the container identifier of the probe running container can be added to the name of the first target metadata to obtain the second target metadata. For example, this container identifier can use a globally unique UUID. Specifically, assuming that the metadata of logical unit B (i.e., the first target metadata at this time) needs to be modified, the container ID of the probe running container created can be added as a suffix to the name of the first target metadata (e.g., classB$container-B-uuid), and the name of B that logical unit A depends on can be modified in the metadata of logical unit A (i.e., the first metadata at this time) by adding this suffix to the name, thereby obtaining the second metadata of logical unit A.

[0047] In some examples, the corresponding second target metadata and second metadata can be determined for each first logic unit in the current probe module, until the corresponding second target metadata and second metadata are determined for each first logic unit.

[0048] In one optional implementation, the step of loading logical units for the probe running container based on the second metadata and the second target metadata includes: Based on the second target metadata, the original bytecode of the target logic unit is modified to obtain the new bytecode of the target logic unit; The new bytecode is loaded into the application memory corresponding to the probe runtime container; The container is run through the probe, and the first logic unit is loaded based on the second metadata.

[0049] In some examples, in high-level programming languages ​​such as Java or Python, logical units can ultimately run in the program as bytecode. Bytecode has a fixed structure, where information about the dependent logical units can be maintained in the constant pool of the corresponding bytecode, thus providing a basis for parsing and modification. In this way, new bytecode can be generated based on the modified second target metadata and the original bytecode. For example, the following is an exemplary structural composition of bytecode in the Java language.

[0050]

[0051] In addition, you can also see Figure 5 This diagram illustrates an exemplary structure of constant pool information in Java bytecode.

[0052] In some examples, new bytecode can be loaded into the application memory corresponding to the probe running container. In this case, the name information and dependency information contained in the new bytecode contain the unique identifier of the probe running container, so that different containers can be distinguished, thereby achieving the isolation between containers.

[0053] In an optional implementation, the method further includes: Intercept and obtain the instance object corresponding to the new bytecode; The instance object is stored in the probe running container after the loading logic unit.

[0054] In some examples, the instantiation process of a logical unit may involve executing the corresponding constructor. Many high-level languages ​​provide a probe interception mechanism. For example, Java provides the transformation capability of Instrumentation. Transformation is a bytecode transformation process. Through the above-mentioned bytecode modification scheme, we can see that the constructor of the logical unit can be uniformly intercepted to obtain the newly generated instance object (the instance object corresponding to the new bytecode). The intercepted instance objects can be uniformly cached in the corresponding probe runtime container. Subsequently, the instance object and its internal state information can be obtained through the probe runtime container, and the internal state information of the instance object can also be modified through the probe runtime container.

[0055] In some examples, see Figure 6 The diagram illustrates the interception of internal methods within a logic unit. This embodiment can also intercept internal methods within a logic unit. Similar to the above embodiment, it can intercept and obtain executable methods within the logic unit to intercept and obtain key information such as the input parameters, return values, and / or consumption time of the internal executable methods. Thus, combined with the instantiation monitoring of the above instance objects, it is possible to achieve complete monitoring of the probe's internal state and performance.

[0056] In an optional implementation, the method further includes: Establish a communication connection with the remote management platform; Through the established communication connection, the configuration information of each probe module is obtained from the remote management platform, wherein each probe module includes the current probe module; Based on the configuration information of the current probe module, obtain the probe package of the current probe module; The step of determining the first logic unit from the current probe module includes: Based on the probe package of the current probe module, the first logic unit is determined from the current probe module.

[0057] In some examples, see Figure 7 The remote management platform can be a remote online configuration management platform that can perform at least one of the following functions.

[0058] ① It can be used to maintain the lifecycle management of various probes (such as the above-mentioned multiple probes, fusion probes, etc.). The information managed can include the probe name, package file, version information and / or compatibility information of various probes.

[0059] ② It can be used to maintain the lifecycle management of each probe module. The managed information may include the module name, package file, version information, compatibility information, configuration metadata and / or metadata of internal logical units of each probe module.

[0060] ③ It can be used to maintain the configuration information of each target service. The configuration information of each target service may include the service name of each target service, the identifier of the required probe module and / or the specific configuration data (including version data, function switch data) for the probe module, etc.

[0061] ④ It can be used to maintain the version information of the logical units inside each probe module within the target service. It supports page operation, allowing remote online modification of the logical unit version and uploading of the latest logical unit bytecode for the remote management platform. It can also notify the probe framework within the running target service to pull and hot update the logical units online.

[0062] In some examples, for logical units that require hot updates, the above communication connection can be used to achieve real-time online management of logical units and bytecode download. After downloading, the submodule scheduler can analyze the new bytecode and modify it to generate the latest metadata and bytecode, which are then loaded into the corresponding runtime containers. The latest code is then used in the subsequent execution of the probe's internal functions to achieve real-time online hot updates.

[0063] In some examples, after a probe instance is started, a communication connection can be established with a remote management platform through a communication module. Specifically, a communication connection (such as a TCP long connection) can be established with the remote management platform through a full-duplex communication port using a communication module. Based on this communication connection, the instance information of the probe instance is reported. After receiving the instance information, the remote management platform can detect the existence of the probe instance and perform subsequent online control operations on the instance.

[0064] In some examples, a configuration monitoring function can be initiated through the configuration manager. Specifically, data monitoring can be performed via the aforementioned communication connection. The monitored data can include configuration information for each probe module. This configuration information can include: the submodule probe identifier, submodule probe version number, metadata and / or bytecode data of specific logical units within the submodule probe (e.g., can be empty by default). This monitoring function can be used to read all configuration data (all configuration information for each probe module) at once during the startup phase, and then monitor and update the configuration information in real time during runtime as needed. Furthermore, a configuration dispatcher function can be implemented within the configuration manager. Through configuration monitoring, the target configuration of the target logical unit within the probe module that needs to be changed can be obtained, and based on the above embodiments, the target instance corresponding to the target logical unit can be obtained, and the target configuration value of the target instance can be modified.

[0065] In some examples, the probe package of the current probe module can be downloaded and read based on the configuration information of the current probe module.

[0066] In some examples, the read probe package can be analyzed to scan all the logical units it contains (for example, in Java, the .class files in a jar package can be scanned).

[0067] Secondly, correspondingly, embodiments of this application also provide a probe management device capable of implementing all processes of the probe management method provided in the above embodiments.

[0068] See Figure 8 The diagram shows a schematic of the probe management device 800 provided in an embodiment of this application. The probe management device 800 includes: Submodule scheduler 801 is used to create probe run containers that match the current probe module; The submodule scheduler 801 is also used to determine the first logic unit from the current probe module; The submodule scheduler 801 is further configured to determine a second logical unit that has a target dependency relationship with the first logical unit, and to determine a target logical unit that matches the second logical unit in the current probe module; The submodule scheduler 801 is further configured to modify the first target metadata of the target logic unit to the second target metadata adapted to the probe running container, modify the first metadata of the first logic unit to the second metadata adapted to the second target metadata, and store both the second target metadata and the second metadata in the probe running container. The submodule scheduler 801 is also used to load logical units for the probe running container based on the second metadata and the second target metadata; The submodule scheduler 801 is also used to run the probe running container after the logic unit is loaded.

[0069] In some examples, the probe management device can be called a fused probe, meaning it can also exist in the form of a probe. This fused probe can be started via Agent injection when the target service starts or during operation. In the realm of software programming languages, different languages ​​may use different injection methods. For example, in Java, probe injection can be performed by adding `-javaagent:` to the startup command line. During runtime, the `attach` technique provided by the JVM can be used for injection.

[0070] In one alternative implementation, the target dependency is adapted to indicate dependencies within the current probe module; The second logical unit that is determined to have a target dependency relationship with the first logical unit includes: Determine the third logical unit that the first logical unit depends on; If the dependency relationship between the first logic unit and the third logic unit conforms to the target dependency relationship, the third logic unit shall be used as the second logic unit.

[0071] In one optional implementation, modifying the first target metadata of the target logic unit to second target metadata adapted to the probe running container includes: The container identifier of the probe running container is added to the first target metadata to obtain the second target metadata.

[0072] In one optional implementation, the step of loading logical units for the probe running container based on the second metadata and the second target metadata includes: Based on the second target metadata, the original bytecode of the target logic unit is modified to obtain the new bytecode of the target logic unit; The new bytecode is loaded into the application memory corresponding to the probe runtime container; The container is run through the probe, and the first logic unit is loaded based on the second metadata.

[0073] In one alternative embodiment, the device further includes: The interception module is used to intercept and obtain the instance object corresponding to the new bytecode; and store the instance object into the probe running container after the loading logic unit.

[0074] In one alternative embodiment, the device further includes: A communication module is used to establish a communication connection with a remote management platform; and Configuration Manager, used for: Through the established communication connection, the configuration information of each probe module is obtained from the remote management platform, wherein each probe module includes the current probe module; Based on the configuration information of the current probe module, obtain the probe package of the current probe module; The step of determining the first logic unit from the current probe module includes: Based on the probe package of the current probe module, the first logic unit is determined from the current probe module.

[0075] Thirdly, embodiments of this application provide a non-transitory computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method described in any of the above-mentioned embodiments.

[0076] Fourthly, embodiments of this application provide a computer program product, including computer instructions that, when executed by a processor, implement the steps of the method described in any of the above-described embodiments.

[0077] Fifthly, embodiments of this application provide a computer device including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor executes the computer program to implement the steps of the method described in any of the preceding claims.

[0078] See Figure 9 The computer device in this embodiment includes a processor 901, a memory 902, and a computer program, such as a probe management program, stored in the memory 902 and executable on the processor 901. When the processor 901 executes the computer program, it implements the steps in the various probe management method embodiments described above, for example... Figure 3 The steps S301-S306 are shown.

[0079] For example, the computer program may be divided into one or more modules / units, which are stored in the memory 902 and executed by the processor 901 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the computer device.

[0080] The computer device may be a desktop computer, laptop, handheld computer, or cloud server, etc. The computer device may include, but is not limited to, a processor 901 and a memory 902. Those skilled in the art will understand that the schematic diagram is merely an example of a computer device and does not constitute a limitation on the computer device. It may include more or fewer components than shown, or combine certain components, or different components. For example, the computer device may also include input / output devices, network access devices, buses, etc.

[0081] The processor 901 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, or the processor 901 can be any conventional processor. The processor 901 is the control center of the computer device, connecting various parts of the entire computer device through various interfaces and lines.

[0082] The memory 902 can be used to store the computer programs and / or modules. The processor 901 implements various functions of the computer device by running or executing the computer programs and / or modules stored in the memory 902 and calling the data stored in the memory 902. The memory 902 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 902 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0083] Wherein, if the modules / units integrated into the computer device are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a non-transitory computer-readable storage medium. When the computer program is executed by the processor 901, it can implement the steps of the various method embodiments described above. Wherein, the computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc.

[0084] In summary, the embodiments of this application have at least the following beneficial effects: By employing the embodiments of this application, a probe runtime container matching the current probe module is created; a first logical unit is determined from the current probe module; a second logical unit with a target dependency relationship with the first logical unit is determined, and a target logical unit matching the second logical unit is determined in the current probe module; the first target metadata of the target logical unit is modified to second target metadata adapted to the probe runtime container, and the first metadata of the first logical unit is modified to second metadata adapted to the second target metadata, and both the second target metadata and the second metadata are stored in the probe runtime container; based on the second metadata and the second target metadata, the logical unit is loaded for the probe runtime container; and the probe runtime container with the loaded logical unit is run. In this way, a corresponding probe runtime container can be created for the current probe module to achieve runtime isolation of each probe module, and the relevant metadata of the target logical units that may have dependency conflicts in the current probe module can be modified accordingly to reduce the probability of conflicts when different probe modules referencing the same target logical unit, thereby reducing the probability of probe program errors.

[0085] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary hardware platforms, or it can be implemented entirely by hardware. Based on this understanding, all or part of the technical solutions of this application that contribute to the background technology can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM (Read-Only Memory) / RAM (Random Access Memory), magnetic disk, optical disk, etc., including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of this application.

[0086] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications are also considered to be within the scope of protection of this application.

Claims

1. A probe management method, characterized in that, include: Create a probe runtime container that matches the current probe module; The first logic unit is determined from the current probe module; Identify a second logical unit that has a target dependency relationship with the first logical unit, and identify a target logical unit that matches the second logical unit in the current probe module; The first target metadata of the target logic unit is modified to the second target metadata that is compatible with the probe running container, the first metadata of the first logic unit is modified to the second metadata that is compatible with the second target metadata, and both the second target metadata and the second metadata are stored in the probe running container. Based on the second metadata and the second target metadata, the logic unit is loaded for the probe running container; The probe runs in the container after the logic unit is loaded.

2. The method according to claim 1, characterized in that, The target dependency is adapted to indicate the dependency within the current probe module; The second logical unit that is determined to have a target dependency relationship with the first logical unit includes: Determine the third logical unit that the first logical unit depends on; If the dependency relationship between the first logic unit and the third logic unit conforms to the target dependency relationship, the third logic unit shall be used as the second logic unit.

3. The method according to claim 1, characterized in that, The step of modifying the first target metadata of the target logic unit to second target metadata adapted to the probe running container includes: The container identifier of the probe running container is added to the first target metadata to obtain the second target metadata.

4. The method according to claim 1, characterized in that, The step of loading logical units for the probe running container based on the second metadata and the second target metadata includes: Based on the second target metadata, the original bytecode of the target logic unit is modified to obtain the new bytecode of the target logic unit; The new bytecode is loaded into the application memory corresponding to the probe runtime container; The container is run through the probe, and the first logic unit is loaded based on the second metadata.

5. The method according to claim 4, characterized in that, The method further includes: Intercept and obtain the instance object corresponding to the new bytecode; The instance object is stored in the probe running container after the loading logic unit.

6. The method according to any one of claims 1-5, characterized in that, The method further includes: Establish a communication connection with the remote management platform; Through the established communication connection, the configuration information of each probe module is obtained from the remote management platform, wherein each probe module includes the current probe module; Based on the configuration information of the current probe module, obtain the probe package of the current probe module; The step of determining the first logic unit from the current probe module includes: Based on the probe package of the current probe module, the first logic unit is determined from the current probe module.

7. A probe management device, characterized in that, include: The submodule scheduler is used to create probe run containers that match the current probe module; The submodule scheduler is also used to determine the first logical unit from the current probe module; The submodule scheduler is also used to determine a second logical unit that has a target dependency relationship with the first logical unit, and to determine a target logical unit that matches the second logical unit in the current probe module; The submodule scheduler is further configured to modify the first target metadata of the target logic unit to the second target metadata adapted to the probe running container, modify the first metadata of the first logic unit to the second metadata adapted to the second target metadata, and store both the second target metadata and the second metadata in the probe running container; The submodule scheduler is also used to load logical units for the probe running container based on the second metadata and the second target metadata; The submodule scheduler is also used to run the probe running container after the logic unit is loaded.

8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-6.

9. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the method described in any one of claims 1-6.

10. A computer device, characterized in that, The method includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor, when executing the computer program, implements the method of any one of claims 1-6.