CN115658431A - Method for link tracing, electronic device and computer readable storage medium - Google Patents

Method for link tracing, electronic device and computer readable storage medium Download PDF

Info

Publication number
CN115658431A
CN115658431A CN202211308955.4A CN202211308955A CN115658431A CN 115658431 A CN115658431 A CN 115658431A CN 202211308955 A CN202211308955 A CN 202211308955A CN 115658431 A CN115658431 A CN 115658431A
Authority
CN
China
Prior art keywords
function
executed
hook
target
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211308955.4A
Other languages
Chinese (zh)
Inventor
聂心原
赵渭洛
白冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seashell Housing Beijing Technology Co Ltd
Original Assignee
Seashell Housing Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seashell Housing Beijing Technology Co Ltd filed Critical Seashell Housing Beijing Technology Co Ltd
Priority to CN202211308955.4A priority Critical patent/CN115658431A/en
Publication of CN115658431A publication Critical patent/CN115658431A/en
Pending legal-status Critical Current

Links

Images

Abstract

The embodiment of the disclosure discloses a link tracking method, an electronic device and a computer readable storage medium. The method comprises the following steps: determining an association function associated with the data request, wherein the association function at least comprises a function to be executed; determining a first hook function and a second hook function corresponding to a function to be executed; acquiring first log data of a function to be executed before execution through a first hook function; executing a function to be executed; acquiring second log data of the function to be executed after the function to be executed is executed through a second hook function; based on the first log data and the second log data, a link trace result of the data request is generated. In the embodiment of the disclosure, the acquisition of the log data can be realized through the setting and the utilization of the hook function, and the acquired log data is used for generating the link tracking result, so that the link tracking is realized.

Description

Link tracing method, electronic device and computer readable storage medium
Technical Field
The present disclosure relates to the field of internet technologies, and in particular, to a link tracking method, an electronic device, and a computer-readable storage medium.
Background
The microservice architecture is a distributed architecture, and aiming at the microservice architecture, link tracking is required, for example, functions participating in a data request are followed, and the participating sequence is in a certain order, so that the processing link of the data request is clear, and once errors and exceptions occur, the problem can be quickly positioned.
Currently, there is a general need for a third party to provide a Software Development Kit (SDK) that enables link tracing by referencing the methods and interfaces provided by the SDK. It should be noted that, because the third party needs to be relied on to provide the SDK, the implementation is not flexible enough, and the reliability of the SDK provided by the third party is difficult to guarantee.
Disclosure of Invention
The present disclosure is proposed to solve the above technical problems. Embodiments of the present disclosure provide a link tracing method, an electronic device, and a computer-readable storage medium.
According to an aspect of the embodiments of the present disclosure, there is provided a method for link tracing, including:
determining a correlation function of the data request; wherein, the correlation function at least comprises a function to be executed;
determining a first hook function and a second hook function corresponding to the function to be executed;
acquiring first log data of the function to be executed before execution through the first hook function;
executing the function to be executed;
acquiring second log data of the function to be executed after execution through the second hook function;
generating a link trace result for the data request based on the first log data and the second log data.
In an optional example, the function type of the association function is a non-custom type;
the method further comprises the following steps:
respectively adding a hook function before and after the function to be executed in advance to generate the correlation function;
the determining a first hook function and a second hook function corresponding to the function to be executed includes:
taking a hook function positioned before the function to be executed in the correlation function as a first hook function corresponding to the function to be executed;
and taking the hook function positioned after the function to be executed in the correlation function as a second hook function corresponding to the function to be executed.
In an optional example, the function type of the correlation function is a custom type, and the function to be executed is the correlation function itself;
the determining a first hook function and a second hook function corresponding to the function to be executed includes:
acquiring a target function name of the correlation function;
and responding to the situation that the correlation function meets a preset tracking condition based on the target function name, and determining a first hook function and a second hook function corresponding to the function to be executed.
In one optional example, the method further comprises:
acquiring a dictionary tree; the dictionary tree is constructed on the basis of a plurality of preset function names;
and determining whether the association function meets the preset tracking condition or not based on the target function name and the dictionary tree.
In an optional example, the number of the dictionary trees is plural;
the determining whether the association function satisfies the preset tracking condition based on the target function name and the trie comprises:
determining a target ASCII code corresponding to a starting character in the target function name;
screening the dictionary tree corresponding to the target ASCII code by a specified node from a plurality of dictionary trees; wherein, the designated node in any dictionary tree is: the first node in the dictionary tree stores characters;
and determining that the association function meets the preset tracking condition in response to that the screened dictionary tree has a target path hit by the target function name and the node type of the tail node in the target path is a character string end node type.
In an optional example, if the node type of the end node is a character string end node type, pointers pointing to two hook functions are stored in the designated position of the end node;
the determining a first hook function and a second hook function corresponding to the function to be executed includes:
taking the hook function sequenced at the front in the two hook functions pointed by the pointer as a first hook function corresponding to the function to be executed;
and taking the hook function sequenced later in the two hook functions pointed by the pointer as a second hook function corresponding to the function to be executed.
In one optional example, the method further comprises:
receiving configuration information; wherein the configuration information is used for reconfiguring a plurality of preset function names;
updating the dictionary tree based on the configuration information.
In one optional example, the method further comprises:
acquiring a preset mapping relation; the preset mapping relation is a mapping relation between a check value and an address;
carrying out preset check operation on the target function name to obtain a target check value;
and responding to the preset mapping relation that a target address mapped by the target check value exists and the target function name is stored in a storage space corresponding to the target address, and determining that the association function meets the preset tracking condition.
According to another aspect of the embodiments of the present disclosure, there is provided an apparatus for link tracing, including:
the first determining module is used for determining a correlation function of the data request; wherein, the correlation function at least comprises a function to be executed;
a second determining module, configured to determine a first hook function and a second hook function corresponding to the function to be executed;
a first obtaining module, configured to obtain, by using the first hook function, first log data of the function to be executed before execution;
the execution module is used for executing the function to be executed;
a second obtaining module, configured to obtain, by using the second hook function, second log data of the function to be executed after the execution;
a generating module, configured to generate a link tracing result of the data request based on the first log data and the second log data.
In an optional example, the function type of the association function is a non-custom type;
the device further comprises:
the adding module is used for respectively adding a hook function before and after the function to be executed in advance so as to generate the correlation function;
the second determining module includes:
the first determining submodule is used for taking a hook function positioned before the function to be executed in the correlation function as a first hook function corresponding to the function to be executed;
and the second determining submodule is used for taking the hook function positioned after the function to be executed in the correlation function as a second hook function corresponding to the function to be executed.
In an optional example, the function type of the correlation function is a custom type, and the function to be executed is the correlation function itself;
the second determining module includes:
the obtaining submodule is used for obtaining the target function name of the correlation function;
and the third determining submodule is used for determining a first hook function and a second hook function corresponding to the function to be executed in response to the fact that the association function meets a preset tracking condition based on the target function name.
In one optional example, the apparatus further comprises:
the first acquisition module is used for acquiring a dictionary tree; the dictionary tree is constructed on the basis of a plurality of preset function names;
and the third determining module is used for determining whether the association function meets the preset tracking condition or not based on the target function name and the dictionary tree.
In an optional example, the number of the dictionary trees is plural;
the second determining module includes:
the fourth determining submodule is used for determining a target ASCII code corresponding to the initial character in the target function name;
the screening submodule is used for screening the dictionary trees corresponding to the specified nodes and the target ASCII codes from a plurality of dictionary trees; wherein, the designated node in any dictionary tree is: the first node in the dictionary tree stores characters;
and the fifth determining submodule is used for responding to the screened dictionary tree with a target path hit by the target function name, determining that the association function meets the preset tracking condition when the node type of the tail node in the target path is a character string end node type.
In an optional example, if the node type of the end node is a character string end node type, pointers pointing to two hook functions are stored in the designated position of the end node;
the second determining module includes:
a sixth determining submodule, configured to take a hook function ranked in the top of the two hook functions pointed by the pointer as a first hook function corresponding to the function to be executed;
and the seventh determining submodule is used for taking the hook function sequenced later in the two hook functions pointed by the pointer as the second hook function corresponding to the function to be executed.
In one optional example, the apparatus further comprises:
the receiving module is used for receiving the configuration information; wherein the configuration information is used for reconfiguring a plurality of preset function names;
and the updating module is used for updating the dictionary tree based on the configuration information.
In one optional example, the apparatus further comprises:
the second acquisition module is used for acquiring a preset mapping relation; the preset mapping relation is a mapping relation between a check value and an address;
the operation module is used for carrying out preset check operation on the target function name to obtain a target check value;
and the fourth determining module is used for responding to the fact that a target address mapped by the target check value exists in the preset mapping relation, the target function name is stored in a storage space corresponding to the target address, and the association function is determined to meet the preset tracking condition.
According to still another aspect of an embodiment of the present disclosure, there is provided an electronic device including:
a memory for storing a computer program product;
a processor for executing the computer program product stored in the memory, and when the computer program product is executed, the method for link tracing as described above is realized.
According to yet another aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions, when executed by a processor, implement the above-mentioned link tracing method.
According to yet another aspect of an embodiment of the present disclosure, there is provided a computer program product comprising computer program instructions which, when executed by a processor, implement the above-mentioned method of link tracing.
In the embodiment of the disclosure, a correlation function of a data request may be determined, a first hook function and a second hook function corresponding to a function to be executed included in the correlation function may be determined, and based on the first hook function and the second hook function, first log data of the function to be executed before execution and second log data after execution may be acquired, so that a link tracing result of the data request may be generated based on the first log data and the second log data. Therefore, in the embodiment of the disclosure, on the premise of not depending on the SDK provided by a third party, the log data can be obtained through setting and utilizing the hook function, and the obtained log data is used for generating the link tracking result, so that the link tracking is realized.
The technical solution of the present disclosure is further described in detail by the accompanying drawings and examples.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent by describing in more detail embodiments of the present disclosure with reference to the attached drawings. The accompanying drawings are included to provide a further understanding of the embodiments of the disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description serve to explain the principles of the disclosure and not to limit the disclosure. In the drawings, like reference numbers generally represent like parts or steps.
Fig. 1 is a flowchart illustrating a method for link tracing according to an exemplary embodiment of the disclosure.
Fig. 2 is a flowchart illustrating a method for link tracing according to another exemplary embodiment of the disclosure.
FIG. 3 is a schematic diagram of a process for a non-custom function in an exemplary embodiment of the disclosure.
FIG. 4 is a schematic diagram of a frame object created for a function in an exemplary embodiment of the present disclosure.
Fig. 5 is a flowchart illustrating a method for link tracing according to still another exemplary embodiment of the disclosure.
Fig. 6 is a schematic diagram of determining corresponding first and second hook functions for a custom function in an exemplary embodiment of the disclosure.
FIG. 7 is a diagram of a trie created in an exemplary embodiment of the present disclosure.
Fig. 8 is a schematic diagram of storage locations of the structure mo _ indicator _ ele _ t in an exemplary embodiment of the disclosure.
FIG. 9 is a diagram illustrating a storage structure for nodes in a trie in an exemplary embodiment of the present disclosure.
Fig. 10 is a schematic diagram of obtaining corresponding first log data and second log data for a custom function in an exemplary embodiment of the disclosure.
Fig. 11 is a diagram illustrating test results obtained by simulating actual traffic for a stress test in an exemplary embodiment of the disclosure.
Fig. 12 is a schematic structural diagram of an apparatus for link tracing according to an exemplary embodiment of the present disclosure.
Fig. 13 is a block diagram of an electronic device provided in an exemplary embodiment of the present disclosure.
Detailed Description
Hereinafter, example embodiments according to the present disclosure will be described in detail with reference to the accompanying drawings. It is to be understood that the described embodiments are merely a subset of the embodiments of the present disclosure and not all embodiments of the present disclosure, with the understanding that the present disclosure is not limited to the example embodiments described herein.
It should be noted that: the relative arrangement of parts and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.
It will be understood by those of skill in the art that the terms "first," "second," and the like in the embodiments of the present disclosure are used merely to distinguish one element from another, and are not intended to imply any particular technical meaning, nor is the necessary logical order between them.
It is also understood that in embodiments of the present disclosure, "a plurality" may refer to two or more and "at least one" may refer to one, two or more.
It is also to be understood that any reference to any component, data, or structure in the embodiments of the disclosure, may be generally understood as one or more, unless explicitly defined otherwise or stated otherwise.
In addition, the term "and/or" in the present disclosure is only one kind of association relationship describing the association object, and indicates that three relationships may exist, for example, a and/or B, may indicate: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" in the present disclosure generally indicates that the former and latter associated objects are in an "or" relationship.
It should also be understood that the description of the embodiments in the present disclosure emphasizes the differences between the embodiments, and the same or similar parts may be referred to each other, and are not repeated for brevity.
Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
The disclosed embodiments may be applied to electronic devices such as terminal devices, computer systems, servers, etc., which are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known terminal devices, computing systems, environments, and/or configurations that may be suitable for use with electronic devices, such as terminal devices, computer systems, servers, and the like, include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, microprocessor-based systems, set top boxes, programmable consumer electronics, network pcs, minicomputer systems, mainframe computer systems, distributed cloud computing environments that include any of the above systems, and the like.
Electronic devices such as terminal devices, computer systems, servers, etc. may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer system/server may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
Exemplary method
Fig. 1 is a flowchart illustrating a method for link tracing according to an exemplary embodiment of the disclosure. The method shown in fig. 1 includes step 110, step 120, step 130, step 140, step 150, and step 160, which are described below.
Step 110, determining a correlation function of the data request; wherein, the correlation function at least comprises a function to be executed.
In order to obtain the requested data of the data request, a plurality of functions are often required to be called, and each function of the plurality of functions can be used as an associated function of the data request, that is, the number of associated functions can be multiple. Alternatively, the number of correlation functions may be 3, 5, 8, 10, etc., which are not further enumerated herein.
It should be noted that, under the micro service architecture, different association functions may belong to the same micro service or different micro services. For example, the number of correlation functions is 8, where 3 correlation functions may be attributed to microservice 1 and another 5 correlation functions may be attributed to microservice 2; as another example, the number of correlation functions is 10, where 6 correlation functions may be attributed to microservice 1 and another 4 correlation functions may be attributed to microservice 2.
It should be noted that, in order to implement link tracing, the processing manner for each of the plurality of correlation functions is similar, and therefore, the following description is mainly made for the related processing of a single correlation function. In addition, the function to be executed in the association function may refer to: and the function is used for responding to the data request, performing corresponding operation processing, and using the result obtained by the operation processing for generating the requested data.
And step 120, determining a first hook function and a second hook function corresponding to the function to be executed.
Generally, a Hook (Hook) function refers to code that handles intercepting function calls or events or messages passing between software components, and is essentially a program for handling system messages, which are hung into a system through system calls, and common Hook functions are: a lifecycle function of act (which is a JavaScript library used to build the user interface), a lifecycle function of vue (which is a set of progressive frames used to build the user interface), etc.
It should be noted that the function type of the association function may be two cases, namely, a custom type and a non-custom type. If the function type of the association function is a self-defined type, the association function belongs to a user-defined function, namely, the association function belongs to a function which is randomly customized by a user according to the actual requirement of the user; if the function type of the association function is a non-user-defined type, the association function belongs to a non-user-defined function, that is, the association function belongs to a predefined function (for example, a library function) for a user to call.
Optionally, for a case that the function type of the association function is a non-self-defined type, a first determining manner may be adopted to determine a first hook function and a second hook function corresponding to the function to be executed; for the case that the function type of the association function is a custom function, a second determination method may be adopted to determine a first hook function and a second hook function corresponding to the function to be executed. For clarity of layout, the first and second determination manners will be described later.
Alternatively, the first hook function and the second hook function involved in the embodiments of the present disclosure may each be a PHP (which is a widely used open source scripting language) extension code written based on the C language.
In general, the PHP execution process is divided into: a module initialization phase (php _ module _ startup), an initialization execution environment (php _ request _ startup), a request initialization phase (php _ request _ startup), an execution script phase (php _ execute _ script), a request shutdown phase (fpm _ request _ shutdown), and a module shutdown phase (php _ module _ shutdown).
And step 130, acquiring first log data of the function to be executed before execution by the first hook function.
In step 130, the correlation function may be intercepted by the first hook function, and information such as entry parameter, starting execution time, and some pre-logic of the function to be executed may be obtained, which may constitute first log data of the function to be executed before execution.
In step 140, the function to be executed is executed.
Alternatively, for the case that the function type of the association function is a non-custom type, the function to be executed may be directly executed.
Alternatively, in the case that the function type of the associated function is a custom type, the associated function may be interpreted as a machine code based on two symbol tables, namely, a function symbol table (function _ table) and a class symbol table (class _ table), and then the machine code is translated into a binary code or an assembly code, and the binary code or the assembly code is executed, thereby implementing execution of the function to be executed.
And 150, acquiring second log data of the function to be executed after the function to be executed is executed through a second hook function.
In step 150, information such as a return result, an end time, and the like of the function to be executed may be recorded by the second hook function, and may constitute second log data of the function to be executed after execution.
Step 160, generating a link trace result of the data request based on the first log data and the second log data.
It should be noted that, for each of the plurality of objective functions, by executing the above-mentioned steps 110 to 150, corresponding first log data and second log data can be obtained, and by integrating the obtained first log data and second log data, the following information can be very intuitively represented in a graphical manner: the information graphically represented can jointly form a link trace result of the data request.
In the embodiment of the disclosure, an association function of a data request may be determined, a first hook function and a second hook function corresponding to a function to be executed included in the association function may be determined, and based on the first hook function and the second hook function, first log data of the function to be executed before execution and second log data after execution may be acquired, so that a link tracing result of the data request may be generated based on the first log data and the second log data. Therefore, in the embodiment of the disclosure, on the premise of not depending on the SDK provided by a third party, the log data can be obtained through setting and utilizing the hook function, and the obtained log data is used for generating the link tracking result, so that the link tracking is realized.
In one optional example, the function type of the association function is a non-custom type;
on the basis of the embodiment shown in fig. 1, the method further comprises step 102, as shown in fig. 2.
Step 102, a hook function is added before and after the function to be executed in advance, respectively, to generate the association function.
Step 120 includes:
step 1201, taking the hook function positioned before the function to be executed in the correlation function as a first hook function corresponding to the function to be executed;
step 1203, taking the hook function located after the function to be executed in the association function as a second hook function corresponding to the function to be executed.
It should be noted that, for each function in at least some functions belonging to the non-user-defined functions in all functions related to the microservice architecture, a hook function may be added before and after the function, respectively, thereby obtaining a new function.
Assuming that for orig _ redis _ connect () in fig. 3, the hook function added before it is capture _ function, and the hook function added after it is record _ function, the new function obtained for orig _ redis _ connect () may be key redis _ connect (), and the composition of key redis _ connect () may be represented as: capture _ func + orig _ reds _ connect () + record _ func.
Assuming that key _ dis _ connect () is used as an association function and orig _ dis _ connect () is used as a function to be executed, capture _ func in the composition of key _ dis _ connect () may be used as a first hook function corresponding to orig _ dis _ connect (), and record _ func in the composition of key _ dis _ connect () may be used as a second hook function corresponding to orig _ dis _ connect ().
Alternatively, for orig _ redis _ connect () in fig. 3, a frame object may be created in advance, and the frame object may specifically refer to fig. 4, and may be used to record information such as function name, class name, parameter name, and parameter number. After determining the first and second hook functions corresponding to orig _ redis _ connect (), the frame object may be passed to the first and second hook functions corresponding to orig _ redis _ connect (), the first hook function corresponding to orig _ redis _ connect () may accordingly obtain first log data of orig _ redis _ connect () before execution, the second hook function corresponding to orig _ redis _ connect () may accordingly obtain second log data of orig _ redis _ connect () after execution, so as to use the obtained first and second log data for generation of a link trace result.
In the embodiment of the disclosure, by adding the corresponding hook function to the partial function related to the microservice architecture, the determination of the corresponding first hook function and second hook function can be very quickly and reliably realized for the non-user-defined function, and thus, the definition of an independent log data acquisition function for each function in the partial functions can be avoided, and the acquisition logic of the log data can be separated from the function execution flow, so that the acquisition logic of the log data is clearer and easier to maintain.
In an optional example, the function type of the association function is a custom type, and the function to be executed is the association function itself;
based on the embodiment shown in fig. 1, as shown in fig. 5, step 120 includes:
step 1205, obtaining a target function name of the correlation function;
step 1207, in response to the fact that the association function meets the preset tracking condition based on the target function name, determining a first hook function and a second hook function corresponding to the function to be executed.
Alternatively, a common execute () method may be packaged in advance, and after the target function name of the association function is acquired, it may be determined whether the association function satisfies a preset tracing condition based on the target function name in the execute () method. It should be noted that, based on the target function name, the implementation form for determining whether the association function satisfies the preset tracking condition is various, which is described below by way of example.
In an alternative implementation form, the method further includes:
acquiring a dictionary tree; the dictionary tree is constructed on the basis of a plurality of preset function names;
and determining whether the association function meets a preset tracking condition or not based on the target function name and the dictionary tree.
It is understood that the Trie may also be referred to as a word lookup tree or Trie, the Trie is a tree structure, the Trie is a variation of the hash tree, the Trie can be used for statistics, sorting and storing a large number of character strings, the Trie is often used for text word frequency statistics and the like by a search engine system, and the Trie has the advantages that: the query time is reduced by utilizing the public prefix of the character string, unnecessary character string comparison is reduced to the maximum limit, and the query efficiency is higher than that of a Hash tree.
It should be noted that, for a function in which all function types related to the micro service architecture are self-defined types, at least part of the functions may be set as a function that needs to perform log data acquisition for link tracking according to actual requirements, and a function name of any function in the at least part of functions may be a preset function name in a plurality of preset function names for constructing a dictionary tree.
After the target function name of the association function is obtained, whether the target function name is one of a plurality of preset function names can be judged through inquiring the dictionary tree.
If the target function name is one of the preset function names, it can be determined that the association function meets the preset tracking condition, and further a first hook function and a second hook function corresponding to the function to be executed are determined.
If the target function name is not any one of the preset function names, it can be determined that the association function does not satisfy the preset tracking condition, and then, the first hook function and the second hook function corresponding to the function to be executed do not need to be further determined, and only the function to be executed is executed.
In the implementation form, the first hook function and the second hook function corresponding to the function to be executed can be determined under the condition that the association function is determined to meet the preset tracking condition by combining the target function name of the association function and the dictionary tree, so that when the link tracking is carried out, only the function meeting the preset tracking condition needs to be subjected to log data acquisition, and log data acquisition is not needed to be carried out on all the functions, so that the system resources can be saved, the information presented by the link tracking result can be simplified, and in addition, the advantage of high dictionary tree query efficiency can be utilized.
In another alternative implementation form, the method further includes:
acquiring a preset mapping relation; wherein, the preset mapping relation is the mapping relation between the check value and the address;
carrying out preset check operation on the target function name to obtain a target check value;
and responding to the preset mapping relation that a target address mapped by the target check value exists, storing a target function name in a storage space corresponding to the target address, and determining that the association function meets the preset tracking condition.
Optionally, the preset check operation may be a hash operation, and thus, the check value obtained through the preset check operation may specifically be a hash value.
It should be noted that, for a function in which all function types related to the micro service architecture are self-defined types, at least a part of the functions may be set as functions that require log data acquisition for link tracking according to actual requirements, and for each function in the at least part of functions, a preset check operation may be performed on a function name of the function in advance to obtain a corresponding check value, and the function name of the function may also be stored in a certain storage space, and a mapping relationship between the check value and an address of the storage space is recorded.
After the target check value is obtained by performing preset check operation on the target function name, the preset mapping relationship may be traversed to determine whether a target address mapped by the target mapping value exists in the preset mapping relationship.
If the target address does not exist in the preset mapping relation, it can be directly determined that the association function does not meet the preset tracking condition, and then, the first hook function and the second hook function corresponding to the function to be executed do not need to be further determined, and only the function to be executed is executed.
If the preset mapping relation has the target address, the storage content of the storage space corresponding to the target address can be traversed to judge whether the storage space corresponding to the target address stores the target function name. If the storage space corresponding to the target address stores the target function name, it can be determined that the association function meets the preset tracking condition, and a first hook function and a second hook function corresponding to the function to be executed are further determined. If the storage space corresponding to the target address does not store the target function name, it may be determined that the association function does not satisfy the preset tracking condition, and then, it is only required to execute the function to be executed without further determining the first hook function and the second hook function corresponding to the function to be executed.
In an example, as shown in fig. 6, if the target function is mysql _ query, the mysql _ query may be hashed first to obtain a corresponding hash value h; then, based on a preset mapping relationship (corresponding to the index table in fig. 6), determining a target address mapped by h, and further determining a storage space corresponding to the target address (where the storage space stores the bucket array in fig. 6); and traversing the bucket array to determine whether mysql _ query exists in the bucket array, if so, determining that the association function meets the preset tracing condition, otherwise, determining that the association function does not meet the preset tracing condition.
In the implementation form, the target check value obtained by performing the preset check operation on the target function name of the association function and the preset mapping relation are combined, and the first hook function and the second hook function corresponding to the function to be executed are determined under the condition that the association function meets the preset tracking condition.
In the embodiment of the disclosure, by utilizing the function name, the function which meets the preset tracking condition and the function which does not meet the preset tracking condition can be distinguished efficiently and reliably, so that the log data is collected and subsequently related processed only for the specific function, thereby not only effectively saving system resources, but also ensuring the simplicity of the link tracking result.
In an alternative example, the number of the dictionary trees is plural;
determining whether the association function meets a preset tracking condition or not based on the target function name and the dictionary tree, wherein the method comprises the following steps:
determining a target ASCII code corresponding to a starting character in a target function name;
screening a dictionary tree of which the designated node corresponds to the target ASCII code from the plurality of dictionary trees; wherein, the appointed node in any dictionary tree is: the first node storing characters in the dictionary tree;
and determining that the association function meets a preset tracking condition in response to the fact that a target path hit by the target function name exists in the screened dictionary tree and the node type of the tail node in the target path is the character string end node type.
Alternatively, the number of the dictionary trees may be 2, 3, 4 or more than 4, which are not listed one by one.
It should be noted that the node type of any node being the character string ending node type may refer to: in the dictionary tree where the node is located, the next node does not exist in the node.
In the embodiment of the present disclosure, a plurality of tries may be created in advance, each trie being created based on a plurality of preset function names, and the plurality of preset function names corresponding to different tries being different from each other.
For example, if 60 functions with self-defined function types are preset and log data needs to be collected for link tracking, and the 60 functions correspond to 60 preset function names one by one, the 60 preset function names can be averagely divided into 3 groups; wherein, the 1 st group comprises 20 preset function names for creating the 1 st dictionary tree, the 2 nd group comprises 20 preset function names for creating the 2 nd dictionary tree, and the 3 rd group comprises 20 preset function names for creating the 3 rd dictionary tree, thereby 3 dictionary trees can be created.
Alternatively, each of the plurality of tries may resemble the style of the trie shown in fig. 7. It should be noted that, for the trie in fig. 7, the node where P is located is the node where the character is first stored, and the node where the character P is located may be used as the designated node in the trie.
Alternatively, after the plurality of tries are constructed, ASCII codes corresponding to characters stored in the designated nodes of each of the plurality of tries may be determined, and further, the correspondence relationship between the plurality of designated nodes and the plurality of ASCII codes may be determined, and 80, 81, 82, 83 in fig. 7 may be respectively used as one ASCII code in the correspondence relationship.
After the target function name of the associated function is determined, the start character in the target function name may be determined and converted to a corresponding ASCII code, which may be the target ASCII code. Next, based on the correspondence relationship determined in the previous paragraph, the designated node corresponding to the target ASCII code may be determined, and further, the trie where the designated node corresponding to the target ASCII code is located may be determined.
If the target dictionary tree is the dictionary tree shown in fig. 7 and the target function name is pdo @ exec, it is obvious that the target function name hits the path from P to c in fig. 7 (that is, the path serves as the target path), and since the last node in the path from P to c in fig. 7 is the node where c is located, and there is no other node behind the node where c is located, which indicates that the node type of the node where c is located is the string end node type, it may be determined that the association function satisfies the preset tracing condition.
If the target dictionary tree is the dictionary tree shown in fig. 7 and the target function name is pdo @ equer, it is obvious that the target function name hits the path from P to r in fig. 7 (that is, the path serves as the target path), and since the last node in the path from P to r in fig. 7 is the node where r is located, there are other nodes (that is, the node where y is located) after the node where r is located, which indicates that the node type of the node where r is located is not the character string end node type, it may be determined that the association function does not satisfy the preset tracing condition.
If the target trie is the trie shown in fig. 7 and the name of the target function is pdo @ efgh, it is obvious that the name of the target function does not hit any path in fig. 7, then it may be determined that the association function does not satisfy the preset tracking condition.
In the embodiment of the disclosure, a plurality of dictionary trees can be pre-constructed, after the target function name of the association function is obtained, the association function can be quickly positioned to the target dictionary trees in the plurality of dictionary trees based on the target ASCII code corresponding to the initial character in the target function name, and whether the association function meets the preset tracking condition is further determined by querying the target dictionary tree.
In an optional example, if the node type of the end node is a character string end node type, pointers pointing to two hook functions are stored in the designated position of the end node;
determining a first hook function and a second hook function corresponding to a function to be executed, including:
taking the hook function sequenced at the front in the two hook functions pointed by the pointer as a first hook function corresponding to the function to be executed;
and taking the hook function ranked later in the two hook functions pointed by the pointer as a second hook function corresponding to the function to be executed.
It should be noted that, in order to facilitate the realization of link tracking based on the collection of log data, a structure mo _ interrupt _ ele _ t may be defined, and there may be two functions in the mo _ interrupt _ ele _ t, which are capture _ func and record _ func in sequence. Alternatively, mo _ interrupt _ ele _ t may be stored in the hash array with the function name of key, as shown in fig. 8.
It should be noted that each node in each dictionary tree may adopt the storage structure trie _ node _ st shown in fig. 9, and specifically, each node may include at least four storage locations; wherein, the first storage location corresponds to the location shown with char value in fig. 9, and the first storage location may be used for storing characters; the second storage location corresponds to the location where mo _ intercaptor _ ele _ t _ ele is shown in fig. 9, and the second storage location may be used to store pointers to the two hook functions (i.e., pointers to the structures mo _ intercaptor _ ele _ t including the two hook functions) in the case that the character stored in the first storage location is an end character of a predetermined function name; the third storage location corresponds to the location where struct trie _ node _ st _ next _ slibing is shown in fig. 9, and the third storage location is used for storing a pointer pointing to a character having the same previous character as the character stored in the first storage location; the fourth storage location corresponds to the location in fig. 9 where struct trie _ node _ st _ next _ child is shown, and the fourth storage location is used to store a pointer to the next character of the character stored in the first storage location. It should be noted that the second storage location may be designated as the above.
In one example, for the dictionary tree shown in fig. 7, a first storage location of a node where q is located may store q, a second storage location of the node where q is located may be in an empty state, a third storage location of the node where q is located may store a pointer pointing to x, and a fourth storage location of the node where q is located may store a pointer pointing to u; the first storage location of the node where y is located may store y, the second storage location of the node where y is located may store pointers to the two hook functions, the third storage location of the node where y is located may be in an empty state, and the fourth storage location of the node where y is located may be in an empty state. In this way, for the case that the target function is named pdo @ query, the hook function ordered at the front of the two hook functions pointed by the pointer stored in the second storage location of the node where y is located may be used as the first hook function corresponding to the function to be executed, and the hook function ordered at the back may be used as the second hook function corresponding to the function to be executed.
In the embodiment of the disclosure, the nodes in the dictionary tree may adopt a specific storage structure, and specifically, the specific positions of the specific nodes in the dictionary tree may store pointers pointing to the two hook functions, based on which, for the user-defined function, the determination of the corresponding first hook function and second hook function may be implemented very quickly and reliably.
It should be noted that the first determination manner in the foregoing is to specifically implement the determination of the corresponding first hook function and second hook function based on information contained in the association function, and the second determination manner in the foregoing is to specifically implement the determination of the corresponding first hook function and second hook function based on information stored in a specific position of a specific node in the dictionary tree, so that the first determination manner is different from the second determination manner.
In one optional example, the method further comprises:
receiving configuration information; the configuration information is used for reconfiguring a plurality of preset function names;
the dictionary tree is updated based on the configuration information.
Optionally, a configuration center such as Qconf (which is a distributed configuration management tool) may be used to dynamically configure a plurality of preset function names in the packaged execute _ core function to generate corresponding configuration information; based on the configuration information, a plurality of preset function names reconfigured by the configuration information can be loaded into the corresponding structure mo _ interrupt _ ele _ t respectively, and the plurality of preset function names can be utilized to regenerate the corresponding dictionary tree and replace the constructed dictionary tree with the regenerated dictionary tree, thereby realizing the updating of the dictionary tree; and then, judging whether the preset tracking condition is met or not by using the updated dictionary tree.
In the embodiment of the present disclosure, the dictionary tree used for determining whether the preset tracking condition is satisfied is not fixed, but can be dynamically adjusted, so that the function satisfying the preset tracking condition and the function not satisfying the preset tracking condition can be dynamically set according to actual requirements.
In an alternative example, as shown in fig. 10, a function to be acquired may be configured through an acquisition function configuration center first (which is equivalent to configuring a plurality of preset function names through Qconf in the foregoing, where a plurality of functions corresponding to the plurality of preset function names are configured to be the configured function to be acquired). For the case that the correlation function belongs to the self-defined function, the semantic analysis engine can be used to determine the information of the correlation function, such as the entry parameter, the exit parameter, and the abnormal error variable, which needs to be recorded, and then the collected data recording (which is equivalent to the above-mentioned acquisition of the first log data and the second log data) can be executed based on the information.
In an alternative example, the actual business may be simulated, and mixed mysql (which is a relational database management system), curl (which is a common command line tool), redis (which is a open source database) is subjected to stress testing, and the specific test result may be shown in fig. 11. The non-load extension in fig. 11 corresponds to a case where link tracking is not performed, and the load extension in fig. 11 corresponds to a case where a link tracking scheme in the embodiment of the present disclosure is added, it is obvious that even if the link tracking scheme in the embodiment of the present disclosure is added, influence on average response time and query rate per second (QPS) is very small, as compared with a case where link tracking is not performed, whereby it can be further proved that the link tracking scheme in the embodiment of the present disclosure is excellent in performance.
In summary, the embodiments of the present disclosure can implement link tracing without relying on an SDK provided by a third party, which can save time required for a developer to access the SDK, so as to reduce access cost, and is non-intrusive to service codes of the developer, thereby facilitating improvement of maintainability of a link protocol.
Any of the methods of link tracing provided by embodiments of the present disclosure may be performed by any suitable device having data processing capabilities, including but not limited to: terminal equipment, a server and the like. Alternatively, any of the methods for link tracing provided by the embodiments of the present disclosure may be executed by a processor, for example, the processor may execute any of the methods for link tracing mentioned in the embodiments of the present disclosure by calling a corresponding instruction stored in a memory. And will not be described in detail below.
Exemplary devices
Fig. 12 is a schematic structural diagram of an apparatus for link tracing according to an exemplary embodiment of the disclosure, where the apparatus shown in fig. 12 includes a first determining module 1210, a second determining module 1220, a first obtaining module 1230, an executing module 1240, a second obtaining module 1250, and a generating module 1260.
A first determining module 1210 for determining a correlation function of the data request; wherein, the correlation function at least comprises a function to be executed;
a second determining module 1220, configured to determine a first hook function and a second hook function corresponding to a function to be executed;
a first obtaining module 1230, configured to obtain, by a first hook function, first log data of the function to be executed before execution;
an execution module 1240 for executing the function to be executed;
a second obtaining module 1250, configured to obtain, by using a second hook function, second log data of the function to be executed after the function is executed;
a generating module 1260, configured to generate a link trace result of the data request based on the first log data and the second log data.
In an alternative example, the function type of the association function is a non-custom type;
the device also includes:
the adding module is used for respectively adding a hook function before and after the function to be executed in advance so as to generate a correlation function;
the second determining module 1220 includes:
the first determining submodule is used for taking the hook function positioned in front of the function to be executed in the correlation function as a first hook function corresponding to the function to be executed;
and the second determining submodule is used for taking the hook function positioned after the function to be executed in the correlation function as a second hook function corresponding to the function to be executed.
In an optional example, the function type of the association function is a custom type, and the function to be executed is the association function itself;
the second determining module 1220 includes:
the obtaining submodule is used for obtaining a target function name of the correlation function;
and the third determining submodule is used for determining that the association function meets the preset tracking condition and determining a first hook function and a second hook function corresponding to the function to be executed in response to the target function name.
In one optional example, the apparatus further comprises:
a first obtaining module 1230, configured to obtain a dictionary tree; the dictionary tree is constructed based on a plurality of preset function names;
and the third determining module is used for determining whether the association function meets the preset tracking condition or not based on the target function name and the dictionary tree.
In one optional example, the number of the dictionary trees is plural;
the second determining module 1220 includes:
the fourth determining submodule is used for determining a target ASCII code corresponding to the initial character in the target function name;
the screening submodule is used for screening the dictionary trees of the designated nodes corresponding to the target ASCII codes from the plurality of dictionary trees; wherein, the appointed node in any dictionary tree is: the first node in the dictionary tree stores characters;
and the fifth determining submodule is used for responding to a target path hit by the target function name in the screened dictionary tree, and determining that the association function meets the preset tracking condition, wherein the node type of a tail node in the target path is a character string end node type.
In an optional example, if the node type of the end node is a character string end node type, pointers pointing to two hook functions are stored in the designated position of the end node;
the second determining module 1220 includes:
a sixth determining submodule, configured to take a hook function ranked at the front of the two hook functions pointed by the pointer as a first hook function corresponding to the function to be executed;
and the seventh determining submodule is used for taking the hook function which is sequenced in the two hook functions pointed by the pointer as a second hook function corresponding to the function to be executed.
In one optional example, the apparatus further comprises:
the receiving module is used for receiving the configuration information; the configuration information is used for reconfiguring a plurality of preset function names;
and the updating module is used for updating the dictionary tree based on the configuration information.
In one optional example, the apparatus further comprises:
a second obtaining module 1250, configured to obtain a preset mapping relationship; wherein, the preset mapping relation is the mapping relation between the check value and the address;
the operation module is used for carrying out preset check operation on the target function name to obtain a target check value;
and the fourth determining module is used for responding to the fact that a target address mapped by the target check value exists in the preset mapping relation, a storage space corresponding to the target address stores a target function name, and determining that the association function meets the preset tracking condition.
Exemplary electronic device
Next, an electronic apparatus according to an embodiment of the present disclosure is described with reference to fig. 13. The electronic device may be either or both of the first device and the second device, or a stand-alone device separate from them, which stand-alone device may communicate with the first device and the second device to receive the acquired input signals therefrom.
Fig. 13 illustrates a block diagram of an electronic device 1300 in accordance with an embodiment of the disclosure.
As shown in fig. 13, electronic device 1300 includes one or more processors 1310 and memory 1320.
The processor 1310 may be a Central Processing Unit (CPU) or other form of processing unit having data processing capabilities and/or instruction execution capabilities, and may control other components in the electronic device 1300 to perform desired functions.
Memory 1320 may store one or more computer program products, and memory 1320 may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory. The volatile memory may include, for example, random Access Memory (RAM), cache memory (cache), and/or the like. The non-volatile memory may include, for example, read Only Memory (ROM), hard disk, flash memory, etc. One or more computer program products may be stored on the computer-readable storage medium and executed by processor 1310 to implement the methods of link tracing of the various embodiments of the present disclosure described above and/or other desired functions. Various contents such as an input signal, a signal component, a noise component, etc. may also be stored in the computer-readable storage medium.
In one example, the electronic device 1300 may further include: an input device 1330 and an output device 1340, which are interconnected by a bus system and/or other form of connection mechanism (not shown).
For example, when the electronic device 1300 is a first device or a second device, the input device 1330 can be a microphone or an array of microphones. When the electronic device 1300 is a stand-alone device, the input means 1330 may be a communication network connector for receiving the acquired input signals from the first device and the second device.
The input device 1330 may also include, for example, a keyboard, a mouse, or the like.
The output device 1340 may output various information to the outside. The output devices 1340 may include, for example, a display, speakers, a printer, and a communication network and its connected remote output devices, among others.
Of course, for simplicity, only some of the components of the electronic device 1300 relevant to the present disclosure are shown in fig. 13, omitting components such as buses, input/output interfaces, and the like. In addition, the electronic device 1300 may include any other suitable components depending on the particular application.
Exemplary computer program product and computer-readable storage Medium
In addition to the above methods and apparatus, embodiments of the present disclosure may also be a computer program product comprising computer program instructions that, when executed by a processor, cause the processor to perform the steps in the method of link tracing according to various embodiments of the present disclosure as described in the "exemplary methods" section of this specification above.
The computer program product may write program code for carrying out operations for embodiments of the present disclosure in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server.
Furthermore, embodiments of the present disclosure may also be a computer readable storage medium having stored thereon computer program instructions that, when executed by a processor, cause the processor to perform steps in a method of link tracing according to various embodiments of the present disclosure as described in the "exemplary methods" section above of this specification.
The computer-readable storage medium may take any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may include, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The foregoing describes the general principles of the present disclosure in conjunction with specific embodiments, however, the advantages, effects, etc. mentioned in the present disclosure are merely examples and not limitations, and these advantages, effects, etc. are not to be considered essential to various embodiments of the present disclosure. The specific details disclosed above are for the purpose of illustration and description only and are not intended to be limiting, since the above-described details are not intended to limit the disclosure to the particular details described above.
In the present specification, the embodiments are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same or similar parts in each embodiment are referred to each other. For the system embodiment, since it basically corresponds to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The block diagrams of devices, apparatuses, systems referred to in this disclosure are only given as illustrative examples and are not intended to require or imply that the connections, arrangements, configurations, etc. must be made in the manner shown in the block diagrams. These devices, apparatuses, devices, systems may be connected, arranged, configured in any manner, as will be appreciated by one skilled in the art. Words such as "including," "comprising," "having," and the like are open-ended words that mean "including, but not limited to," and are used interchangeably therewith. The words "or" and "as used herein mean, and are used interchangeably with, the word" and/or, "unless the context clearly dictates otherwise. The word "such as" is used herein to mean, and is used interchangeably with, the phrase "such as but not limited to".
The method and apparatus of the present disclosure may be implemented in a number of ways. For example, the methods and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
It is also noted that in the apparatus, devices, and methods of the present disclosure, various components or steps may be broken down and/or re-combined. Such decomposition and/or recombination should be considered as equivalents of the present disclosure.
The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the scope of the disclosure. Thus, the present disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The foregoing description has been presented for purposes of illustration and description. Furthermore, this description is not intended to limit embodiments of the disclosure to the form disclosed herein. While a number of example aspects and embodiments have been discussed above, those of skill in the art will recognize certain variations, modifications, alterations, additions and sub-combinations thereof.

Claims (10)

1. A method of link tracing, comprising:
determining a correlation function of the data request; wherein, the correlation function at least comprises a function to be executed;
determining a first hook function and a second hook function corresponding to the function to be executed;
acquiring first log data of the function to be executed before execution through the first hook function;
executing the function to be executed;
acquiring second log data of the function to be executed after execution through the second hook function;
generating a link trace result for the data request based on the first log data and the second log data.
2. The method of claim 1, wherein the function type of the correlation function is a non-custom type;
the method further comprises the following steps:
respectively adding a hook function before and after the function to be executed in advance to generate the correlation function;
the determining a first hook function and a second hook function corresponding to the function to be executed includes:
taking a hook function positioned before the function to be executed in the correlation function as a first hook function corresponding to the function to be executed;
and taking the hook function positioned after the function to be executed in the correlation function as a second hook function corresponding to the function to be executed.
3. The method according to claim 1, wherein the function type of the correlation function is a custom type, and the function to be executed is the correlation function itself;
the determining a first hook function and a second hook function corresponding to the function to be executed includes:
acquiring a target function name of the correlation function;
and responding to the situation that the correlation function meets a preset tracking condition based on the target function name, and determining a first hook function and a second hook function corresponding to the function to be executed.
4. The method of claim 3, further comprising:
acquiring a dictionary tree; the dictionary tree is constructed on the basis of a plurality of preset function names;
and determining whether the association function meets the preset tracking condition or not based on the target function name and the dictionary tree.
5. The method of claim 4, wherein the number of said trie is plural;
the determining whether the association function satisfies the preset tracking condition based on the target function name and the dictionary tree includes:
determining a target ASCII code corresponding to a starting character in the target function name;
screening the dictionary tree corresponding to the target ASCII code by a specified node from a plurality of dictionary trees; wherein, the designated node in any dictionary tree is: the first node in the dictionary tree stores characters;
and determining that the association function meets the preset tracking condition in response to that the screened dictionary tree has a target path hit by the target function name and the node type of the tail node in the target path is a character string end node type.
6. The method according to claim 5, wherein if the node type of the end node is a character string end node type, the designated position of the end node stores pointers pointing to two hook functions;
the determining a first hook function and a second hook function corresponding to the function to be executed includes:
taking the hook function sequenced at the front in the two hook functions pointed by the pointer as a first hook function corresponding to the function to be executed;
and taking the hook function sequenced later in the two hook functions pointed by the pointer as a second hook function corresponding to the function to be executed.
7. The method of claim 4, further comprising:
receiving configuration information; wherein the configuration information is used for reconfiguring a plurality of preset function names;
updating the dictionary tree based on the configuration information.
8. The method of claim 3, further comprising:
acquiring a preset mapping relation; the preset mapping relation is a mapping relation between a check value and an address;
carrying out preset check operation on the target function name to obtain a target check value;
and responding to the preset mapping relation that a target address mapped by the target check value exists and the target function name is stored in a storage space corresponding to the target address, and determining that the association function meets the preset tracking condition.
9. An electronic device, comprising:
a memory for storing a computer program product;
a processor for executing a computer program product stored in the memory, and when executed, implementing the method of link tracing of any of the preceding claims 1 to 8.
10. A computer readable storage medium having computer program instructions stored thereon which, when executed by a processor, implement the method of link tracing of any one of claims 1 to 8.
CN202211308955.4A 2022-10-25 2022-10-25 Method for link tracing, electronic device and computer readable storage medium Pending CN115658431A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211308955.4A CN115658431A (en) 2022-10-25 2022-10-25 Method for link tracing, electronic device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211308955.4A CN115658431A (en) 2022-10-25 2022-10-25 Method for link tracing, electronic device and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN115658431A true CN115658431A (en) 2023-01-31

Family

ID=84991067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211308955.4A Pending CN115658431A (en) 2022-10-25 2022-10-25 Method for link tracing, electronic device and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN115658431A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992465A (en) * 2017-12-29 2019-07-09 中国电信股份有限公司 Service tracks method, apparatus and computer readable storage medium
CN110737463A (en) * 2019-10-24 2020-01-31 北京智游网安科技有限公司 analysis method of key function source information, intelligent terminal and storage medium
CN111427780A (en) * 2020-03-10 2020-07-17 畅捷通信息技术股份有限公司 Method and device for tracking function information and computer readable storage medium
CN112612675A (en) * 2020-12-25 2021-04-06 山东经伟晟睿数据技术有限公司 Distributed big data log link tracking method and system under micro-service architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992465A (en) * 2017-12-29 2019-07-09 中国电信股份有限公司 Service tracks method, apparatus and computer readable storage medium
CN110737463A (en) * 2019-10-24 2020-01-31 北京智游网安科技有限公司 analysis method of key function source information, intelligent terminal and storage medium
CN111427780A (en) * 2020-03-10 2020-07-17 畅捷通信息技术股份有限公司 Method and device for tracking function information and computer readable storage medium
CN112612675A (en) * 2020-12-25 2021-04-06 山东经伟晟睿数据技术有限公司 Distributed big data log link tracking method and system under micro-service architecture

Similar Documents

Publication Publication Date Title
US20210385251A1 (en) System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
CN111431926B (en) Data association analysis method, system, equipment and readable storage medium
US11546380B2 (en) System and method for creation and implementation of data processing workflows using a distributed computational graph
US10938669B2 (en) Intelligent information adapter generation for service management
CN110688096B (en) Method and device for constructing application program containing plug-in, medium and electronic equipment
CN109684319A (en) Data clean system, method, apparatus and storage medium
CN114238381A (en) Data quality checking method, device and computer readable storage medium
CN114490268A (en) Full link monitoring method, device, equipment, storage medium and program product
CN111984505A (en) Operation and maintenance data acquisition engine and acquisition method
WO2023273218A1 (en) Json packet checking method and json packet checking apparatus
US11552868B1 (en) Collect and forward
CN106649110B (en) Software testing method and system
CN110704025A (en) Method and device for generating coding specification tool, storage medium and electronic equipment
CN113407511A (en) Log aggregation method, log aggregation equipment and computer program product
CN112187509A (en) Multi-architecture cloud platform execution log management method, system, terminal and storage medium
CN115658431A (en) Method for link tracing, electronic device and computer readable storage medium
US20190207801A1 (en) System and Method for Rule-Based Simple Network Management Protocol Agent
US20190317877A1 (en) Application state monitoring
CN112330202B (en) Control intention work order processing method based on arrangement control flow service fulfillment
US11366712B1 (en) Adaptive log analysis
CN114168557A (en) Processing method and device for access log, computer equipment and storage medium
CN110765003B (en) Code detection method, device and equipment and storage medium
CN113204540A (en) Rule engine configuration method, device, equipment and storage medium
CN113448985A (en) API (application program interface) interface generation method, calling method and device and electronic equipment
CN112433862A (en) Data aggregation implementation system and equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination