Link tracking method, device, system, equipment, storage medium and program product

By using blockchain principles and hash value association in the link tracking system, the problem of inability to perceive when calling block information tampering in the prior art is solved, and the reliability and security of link tracking results are improved.

CN119135509AActive Publication Date: 2024-12-13CHINA CONSTRUCTION BANK +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411276569.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2024-12-13
Estimated Expiration
2044-09-12

AI Technical Summary

Technical Problem

The existing link tracking system cannot be perceived in time when the call information of the call block is tampered with, resulting in low reliability of the link tracking results.

Method used

The blockchain principle is used to use hash values ​​for back-to-back correlation. Each sub-call block stores the hash value of the upper-level calling block. By calculating the hash value of the sub-call block, query the next layer of the sub-call block from the database. If the data is tampered, It cannot match, and the tampering situation is sensed in time and a call link tree is built.

Benefits of technology

It improves the reliability of link tracking results, can promptly identify whether the call information has been tampered with, and enhances the integrity and security of link tracking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119135509A_ABST
    Figure CN119135509A_ABST
Patent Text Reader

Abstract

The invention discloses a link tracking method, device and system, equipment, a storage medium and a program product, and relates to the technical field of big data processing. The link tracking method comprises the following steps: displaying each candidate root call block on a target interface; calculating a hash value of a first root call block in response to an input of selecting the first root call block among the candidate root call blocks; according to the Hash value of the first root call block, querying from a database to obtain a first-layer sub call block matched with the Hash value; circularly executing the following steps until a preset query ending condition is met to obtain multiple layers of sub-call blocks of the first root call block: querying from the database to obtain an (i + 1) th layer of sub-call block matched with the hash value according to the hash value of the ith layer of sub-call block, and updating i to be i + 1, the initial value of i being 1; and according to the call block matching relationship corresponding to each hash value, constructing the first root call block and the multiple layers of sub-call blocks to generate a call link tree corresponding to the first root call block.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of big data processing technology, and in particular, relates to a link tracking method, device, system, equipment, storage medium and program product. Background Art

[0002] In the process of business processing, calls between multiple components or modules may be involved. When an exception occurs in the process of business processing, it is necessary to quickly determine which call has a problem so as to troubleshoot as soon as possible and ensure business processing efficiency. Therefore, it is crucial to establish a link tracking process.

[0003] In the existing method, each call block in the database is obtained through the Zipkin link tracking system, and a link diagram is drawn for each call block in chronological order to achieve link tracking.

[0004] However, when the call information of a certain call block in the link is tampered with by someone, the system cannot perceive it, resulting in low reliability of the link tracking results. Summary of the invention

[0005] Embodiments of the present application provide a link tracing method, apparatus, system, device, storage medium, and program product, which can improve the reliability of link tracing results.

[0006] In one aspect of an embodiment of the present application, a link tracking method is provided, the method comprising:

[0007] Display each candidate root call block on the target interface;

[0008] In response to an input selecting a first root call block among the candidate root call blocks, calculating a hash value of the first root call block;

[0009] According to the hash value of the first root call block, query from the database to obtain the first layer sub-call block that matches the hash value, where the sub-call block includes the hash value of the upper layer call block corresponding to the sub-call block;

[0010] The following steps are executed in a loop until the preset query end condition is met to obtain the multi-layer sub-call blocks of the first root call block: according to the hash value of the i-th layer sub-call block, query the i+1-th layer sub-call block that matches the hash value from the database, and update i to i+1, where the initial value of i is 1;

[0011] According to the call block matching relationship corresponding to each hash value, the first root call block and the multi-layer sub-call blocks are constructed to generate a call link tree corresponding to the first root call block.

[0012] In one aspect of an embodiment of the present application, a link tracking device is provided, the device comprising:

[0013] A calling block display module is used to display each candidate root calling block on the target interface;

[0014] A hash value calculation module, configured to calculate a hash value of the first root call block in response to an input selecting the first root call block from among the candidate root call blocks;

[0015] A sub-call block query module is used to query from a database, according to a hash value of the first root call block, a first-layer sub-call block matching the hash value, wherein the sub-call block includes a hash value of an upper-layer call block corresponding to the sub-call block;

[0016] A loop execution module is used to loop through the following steps until a preset query end condition is met to obtain a multi-layer sub-call block of the first root call block: according to the hash value of the i-th layer sub-call block, query from the database to obtain the i+1-th layer sub-call block that matches the hash value, and update i to i+1, where the initial value of i is 1;

[0017] The link tree construction module is used to construct the first root call block and the multi-layer sub-call block according to the call block matching relationship corresponding to each hash value to generate a call link tree corresponding to the first root call block.

[0018] In one aspect of an embodiment of the present application, a link tracking system is provided, the system comprising a service cluster system, a link analysis service system and a controller, the service cluster system comprising each communication terminal and a communication terminal database corresponding to each communication terminal, the link analysis service system comprising a link information collector, a storage module, a data query interface and a target interface;

[0019] The communication end is used to make calls between other communication ends and generate corresponding root call blocks and sub-call blocks;

[0020] A communication terminal database, connected to the corresponding communication terminal, and used to store the sub-call blocks corresponding to the communication terminal;

[0021] A link information collector, connected to each communication end, for receiving a root call block generated by each communication end;

[0022] A storage module, connected to the link information collector, and used to store each root call block received by the link information collector;

[0023] A data query interface, connected to the storage module and each communication terminal, for providing query services for each root call block and each sub-call block;

[0024] A target interface, connected to the data query interface, for displaying each candidate root call block and displaying a search information input box;

[0025] The controller is connected to the service cluster system and the link analysis service system, and is used to execute the link tracking method provided in any aspect of the above-mentioned embodiments of the present application.

[0026] In one aspect of an embodiment of the present application, an electronic device is provided, which includes: a memory and a program or instruction stored in the memory and executable on a processor, wherein when the program or instruction is executed by the processor, a link tracking method as provided in any aspect of the above-mentioned embodiment of the present application is implemented.

[0027] In one aspect of an embodiment of the present application, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, a link tracking method provided in any aspect of the above-mentioned embodiment of the present application is implemented.

[0028] In one aspect of an embodiment of the present application, a computer program product is provided. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes a link tracking method provided in any aspect of the above-mentioned embodiment of the present application.

[0029] In the link tracking method provided in the embodiment of the present application, the blockchain principle is adopted to use hash values ​​to make forward and backward associations, and each sub-call block includes the hash value of the upper-layer call block corresponding to the sub-call block. When tracking the link, the hash value of the sub-call block is calculated, and then the next-layer sub-call block corresponding to the sub-call block is queried from the database according to the hash value of the sub-call block, and the sub-call block corresponding to the sub-call block can be obtained. In the case that the data in the sub-call block is tampered with, the sub-call block corresponding to the hash value of the tampered data cannot be found in the database, so that it is possible to timely perceive whether the call information in the sub-call block has been tampered with. In this way, the embodiment of the present application can timely perceive whether the call information has been tampered with by storing the hash value of the corresponding upper-layer call block in each sub-call block, and then tracing the link according to the hash value, thereby improving the reliability of the link tracking results. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0031] Figure 1 It is a flowchart of a first link tracking method provided by an embodiment of the present application;

[0032] Figure 2 It is a schematic diagram of the structure of a call link tree provided by an embodiment of the present application;

[0033] Figure 3 It is a flowchart of a second link tracking method provided by an embodiment of the present application;

[0034] Figure 4It is a schematic diagram of the annotation information structure of a sub-call block provided by an embodiment of the present application;

[0035] Figure 5 It is a flowchart of a link tracking system provided by an embodiment of the present application;

[0036] Figure 6 is a schematic diagram of the structure of a link tracking device provided by an embodiment of the present application;

[0037] Figure 7 It is a structural diagram of a link tracking device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0038] The features and exemplary embodiments of each aspect of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by illustrating the examples of the present application.

[0039] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "include..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0040] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application are in compliance with the relevant provisions of national laws and regulations.

[0041] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.

[0042] In the related art, the zipkin link tracking system is used to obtain each call block in the database, and each call block is drawn into a link diagram in chronological order to achieve link tracking. However, this method cannot detect when the call information of a call block in the link is tampered with, resulting in low reliability of the link tracking result.

[0043] The purpose of the present application is to provide a link tracking method, device, system, equipment, storage medium and program product. In the link tracking method provided by the embodiment of the present application, the blockchain principle is used to use hash values ​​to associate the front and back, and each sub-call block includes the hash value of the upper-layer call block corresponding to the sub-call block. When tracking the link, the hash value of the sub-call block is calculated, and then the next-layer sub-call block corresponding to the sub-call block is obtained by querying from the database according to the hash value of the sub-call block. In the case where the data in the sub-call block is tampered with, the sub-call block corresponding to the hash value of the tampered data cannot be found in the database, so that it is possible to timely perceive whether the call information in the sub-call block has been tampered with. In this way, the embodiment of the present application can timely perceive whether the call information has been tampered with by storing the hash value of the corresponding upper-layer call block in each sub-call block, and then tracing the link according to the hash value, thereby improving the reliability of the link tracking results.

[0044] The following describes specific embodiments of the link tracking method, apparatus, system, device, storage medium, and program product provided in the embodiments of the present application.

[0045] First, a specific embodiment of the link tracking method provided by the embodiment of the present application is introduced. Figure 1 As shown, a flow chart of a link tracking method is provided. The link tracking method can be applied to a controller in a link tracking system. The link tracking method can include the following S101 to S105.

[0046] S101, displaying each candidate root calling block on a target interface.

[0047] In this embodiment, the calling block includes a root calling block and a sub-calling block.

[0048] The root call block (RootSpan) is the first call block in the complete call process of the distributed service cluster.

[0049] As an example, when the service cluster system makes calls between servers, it uploads the root call block corresponding to the first call as a candidate root call block to the link analysis service system for storage. The link analysis service system stores at least one candidate root call block.

[0050] Then, when a link needs to be tracked, the controller sends instructions to the link tracking system, so that each candidate root call block stored in the link analysis service system is displayed on the target interface.

[0051] S102 , in response to an input of selecting a first root calling block from among the candidate root calling blocks, calculating a hash value of the first root calling block.

[0052] In this embodiment, the hash value is a numerical value obtained by performing a hash calculation on the data stored in the calling block. When the data in the calling block changes, the corresponding hash value will also change.

[0053] As an example, when the user clicks to select the first root call block from among the candidate root call blocks, it indicates that the link to which the first root call block belongs is tracked. At this time, the controller performs a hash calculation based on the data currently stored in the first call block to obtain a hash value corresponding to the first root call block.

[0054] S103, according to the hash value of the first root call block, query from the database to obtain the first layer sub-call block that matches the hash value, the sub-call block including the hash value of the upper layer call block corresponding to the sub-call block.

[0055] In this embodiment, a plurality of sub-call blocks (Span) are stored in the database, and the sub-call block is a call block corresponding to the server call after the root call block.

[0056] Each sub-call block stores the hash value corresponding to the call of its corresponding upper-level call block. The upper-level call block can be a sub-call block or a root call block.

[0057] As an example, after calculating the hash value corresponding to the first root call block, the controller searches in the database according to the hash value corresponding to the first root call block.

[0058] If a sub-call block corresponding to the hash value exists in the database, it indicates that the sub-call block is the first-layer sub-call block after the first root call block.

[0059] When there is no sub-call block corresponding to the hash value in the database, it indicates that the first root call block has been tampered with or the first root call block has no sub-call block at the next level.

[0060] S104, loop the following steps until the preset query end condition is met, and obtain the multi-layer sub-call block of the first root call block: according to the hash value of the i-th layer sub-call block, query from the database to obtain the i+1-th layer sub-call block that matches the hash value, and update i to i+1, where the initial value of i is 1.

[0061] In this embodiment, the preset query end condition may be to end the loop when the number of loops reaches a threshold condition, or to end the loop when there is no sub-call block of the next layer.

[0062] As an example, the controller queries the database according to the hash value corresponding to the i-th layer sub-call block. If there is a sub-call block that matches the hash value of the i-th layer sub-call block, the matching sub-call block is determined as the i+1-th layer sub-call block; if there is no sub-call block that matches the hash value of the i-th layer sub-call block, it indicates that the i-th layer sub-call block has been tampered with or the i-th layer sub-call block has no sub-call block of the next layer.

[0063] The controller executes this step for each layer of sub-call blocks until the preset query end condition is met, at which time the multi-layer sub-call blocks corresponding to the first root call block can be obtained.

[0064] S105, according to the call block matching relationship corresponding to each hash value, the first root call block and the multi-layer sub-call blocks are constructed to generate a call link tree corresponding to the first root call block.

[0065] In this embodiment, the calling block matching relationship is used to represent the upper and lower layer relationship between two calling blocks.

[0066] The call link tree is used to represent the call relationship between the servers in the distributed service cluster.

[0067] As an example, Figure 2 As shown, a schematic diagram of the structure of a call link tree is provided. Among them, S1, S2, S3 and S4 are all servers in a distributed service cluster. RootSpan is the root call block, Span1 belongs to the first layer call block, and Span2 and Span3 belong to the second layer call block.

[0068] Specifically, after obtaining the first root call block and multi-layer sub-call blocks, the controller obtains the client information and server information corresponding to each call block from each call block, and then forms a call link tree corresponding to the first root call block based on the client information and server information corresponding to each call block and the call block matching relationship corresponding to each hash value.

[0069] Through this embodiment, the blockchain principle is adopted to use hash values ​​for front-end association, and each sub-call block includes the hash value of the upper-layer call block corresponding to the sub-call block. When tracing the link, the hash value of the sub-call block is calculated, and then the next-layer sub-call block corresponding to the sub-call block is queried from the database according to the hash value of the sub-call block, and the sub-call block corresponding to the sub-call block can be obtained. In the case that the data in the sub-call block is tampered with, the sub-call block corresponding to the hash value of the tampered data cannot be found in the database, so that it is possible to timely perceive whether the call information in the sub-call block has been tampered with. In this way, the embodiment of the present application can timely perceive whether the call information has been tampered with by storing the hash value of the corresponding upper-layer call block in each sub-call block, and then tracing the link according to the hash value, thereby improving the reliability of the link tracking results.

[0070] As an optional embodiment, the sub-call block is stored in a corresponding communication terminal database;

[0071] like Figure 3 As shown, after S102, the link tracking method may further include the following S301-S302:

[0072] S301, obtaining the communication end information in the first root calling block;

[0073] S302, determining the communication terminal database address of the first layer sub-call block corresponding to the first root call block according to the communication terminal information;

[0074] S103 may specifically include:

[0075] According to the hash value of the first root call block and the communication end database address of the first layer sub-call block, the first layer sub-call block matching the hash value is queried from the corresponding communication end database.

[0076] In this embodiment, each sub-call block is stored in a corresponding communication end database. The communication end includes a client and a server. For example, the sub-call block can be stored in a database corresponding to the client, or in a database corresponding to the server, or in both databases corresponding to the client and the server.

[0077] As an example, when the sub-call block is stored in the database corresponding to the client, after calculating the hash value of the first root call block, the controller also obtains the communication end information in the first root call block. Among them, the server end information of the first root call block is the client end information of the first layer sub-call block.

[0078] Therefore, according to the communication terminal information in the first root call block, the communication terminal database address of the first layer sub-call block corresponding to the first root call block can be determined. Then, according to the communication terminal database address of the first layer sub-call block, the corresponding communication terminal database is found, and then the first layer sub-call block matching the hash value is obtained from the communication terminal database.

[0079] Through this embodiment, distributed storage technology is used to store each sub-call block in the corresponding communication terminal database. If an attacker wants to modify the data in the call block and still ensure the validity of the call link tree, it is necessary to break into each communication terminal database to achieve this. This greatly increases the difficulty of tampering with the call link tree and can improve the reliability of the link tracking results.

[0080] As an example, the preset query end condition is that there is no corresponding communication terminal information in the i+1th layer sub-call block.

[0081] In this embodiment, when there is no corresponding communication terminal information in the sub-call block, it means that no server call is made after the sub-call block, that is, the sub-call block is the tail node, and the loop determination process of the sub-call block can be ended at this time.

[0082] Through this embodiment, by using whether the communication terminal information exists as the preset query end condition, it is possible to quickly and accurately identify whether the sub-call block is the tail node, thereby ensuring the integrity of the generated call link tree.

[0083] As an optional embodiment, the data in the sub-call block is encrypted using a random value in the upper-layer call block corresponding to the sub-call block;

[0084] S104 may specifically include:

[0085] The following steps are executed repeatedly until the preset query end condition is met, and the multi-layer sub-call blocks of the first root call block are obtained:

[0086] Decrypt the data of the i-th layer sub-call block using the random value in the i-1-th layer sub-call block;

[0087] Calculate the hash value of the i-th layer sub-call block according to the decrypted data of the i-th layer sub-call block;

[0088] According to the hash value of the i-th layer sub-call block, query from the database to obtain the i+1-th layer sub-call block that matches the hash value;

[0089] Determine whether the preset query end condition is met;

[0090] If the preset query end condition is not met, i is updated to i+1.

[0091] In this embodiment, a corresponding random value is stored in each calling block, and the random value in each calling block is used to encrypt the lower-layer calling block.

[0092] As an example, after querying and obtaining the i-th layer sub-call block, the controller first decrypts the i-th layer sub-call block using the random value in the i-1-th layer sub-call block. If the decryption fails, it indicates that the data in the i-1-th layer sub-call block has been tampered with or the queried i-th layer sub-call block is wrong.

[0093] If the decryption is successful, it indicates that the queried i-th layer sub-call block is correct. At the same time, the hash value of the i-th layer sub-call block is calculated using the decrypted data of the i-th layer sub-call block. Then, a query is performed in the database based on the hash value corresponding to the i-th layer sub-call block. If there is a sub-call block that matches the hash value of the i-th layer sub-call block, the matching sub-call block is determined as the i+1-th layer sub-call block; if there is no sub-call block that matches the hash value of the i-th layer sub-call block, it indicates that the i-th layer sub-call block has been tampered with or the i-th layer sub-call block has no sub-call block of the next layer.

[0094] Then determine whether the preset query end condition is met at this time. If the preset query end condition is met, end the query of the sub-call block; if the preset query end condition is not met, update i to i+1, and return to execute to continue querying the lower-level sub-call block.

[0095] Through this embodiment, the sub-call block is encrypted using the random value in the upper-layer call block corresponding to the sub-call block. In this way, by using the random value in the upper-layer call block to encrypt the sub-call block, the difficulty of tampering with the call link tree is greatly increased, and the reliability of the link tracking result can be improved.

[0096] As an optional embodiment, the data of the sub-call block includes call request data, call response data and link metadata, and the link metadata includes a call data hash value;

[0097] Calculating the hash value of the i-th layer sub-call block according to the decrypted data of the i-th layer sub-call block may specifically include:

[0098] Calculate the hash value of the link metadata in the decrypted layer i sub-call block to obtain the hash value of the layer i sub-call block;

[0099] The call data hash value in the link metadata of the i-th layer sub-call block is determined in the following way:

[0100] Perform hash value calculations on the call request data of the i-th layer sub-call block and the call response data of the i-th layer sub-call block to obtain corresponding call request hash values ​​and call response hash values;

[0101] The call request hash value and the call response hash value are combined and then hash value calculation is performed to obtain the call data hash value in the link metadata of the i-th layer sub-call block.

[0102] In this embodiment, the data of the sub-call block may specifically include two parts.

[0103] The first part is the specific data of the call between the two servers, which may specifically include the call request data (Request) and the call response data (Response) of the call.

[0104] The second part is the link metadata that describes the link. The link metadata specifically includes: 64-bit call link tree number data (TraceId), 64-bit identity data, hash value of the upper-level sub-call block (PrevHash), hash value of the call data of the current sub-call block (MerkleHash), data byte length (Bits), random value (Nounce), timestamp (Timestamp), communication end information, and annotation information (Annotation).

[0105] Among them, Figure 4 As shown, a schematic diagram of the annotation information structure of a sub-call block is provided. Specifically, the annotation information of the sub-call block includes four types of events, namely, the client sends call request data to the server, the server receives the call request data sent by the client, the server sends call response data to the server, and the client receives the call response data sent by the server, and the corresponding timestamps.

[0106] When calculating the hash value of a sub-call block, first perform hash value calculations on the call request data and the call response data respectively to obtain the corresponding call request hash value and call response hash value; then combine the call request hash value and the call response hash value and perform hash value calculation to obtain the call data hash value of the current sub-call block.

[0107] Then, the SHA256 function is used to calculate the hash value of the link metadata in the sub-call block to obtain the hash value of the sub-call block.

[0108] Through this embodiment, the call request data and the call response data are first hashed to obtain complete link metadata; and then the link metadata is hashed to obtain the hash value corresponding to the sub-call block. In this way, the embodiment of the present application calculates the hash value corresponding to the sub-call block, which helps to use the hash value corresponding to the sub-call block to associate each sub-call block, so that the link can be tracked according to the hash value, and whether the call information has been tampered with can be detected in time, thereby improving the reliability of the link tracking result.

[0109] As an optional embodiment, after S101, the link tracking method may further include:

[0110] Displaying a search information input box on the target interface;

[0111] In response to an operation of inputting target search information in the search information input box, a second root call block matching the target search information is screened out from each candidate root call block.

[0112] In this embodiment, in addition to displaying the candidate root calling blocks, the target interface may also display a search information input box.

[0113] The user can input search information in the search information input box, so as to automatically query the second root call block matching the search information in each candidate root call block.

[0114] Through this embodiment, the search information input box is used for the user to input the search information, so that the user can easily query the root call block matching the search information, thereby improving the speed of determining the root call block.

[0115] Based on the link tracking method, accordingly, the present application also provides a specific embodiment of the link tracking system.

[0116] like Figure 5 As shown, a structural schematic diagram of a link tracking system is provided.

[0117] Specifically, the link tracking system includes a service cluster system 510, a link analysis service system 520 and a controller 530. The service cluster system 510 includes each communication terminal 511 and a communication terminal database 512 corresponding to each communication terminal. The link analysis service system 520 includes a link information collector 521, a storage module 522, a data query interface 523 and a target interface 524.

[0118] The communication terminal 511 is used to make calls with other communication terminals 511 to generate corresponding root call blocks and sub-call blocks;

[0119] A communication terminal database 512, connected to the corresponding communication terminal 511, for storing the sub-call blocks corresponding to the communication terminal 511;

[0120] A link information collector 521, connected to each communication terminal 511, for receiving a root call block generated by each communication terminal 511;

[0121] The storage module 522 is connected to the link information collector 521 and is used to store each root call block received by the link information collector 521;

[0122] A data query interface 523, connected to the storage module 522 and each communication terminal 511, is used to provide query services for each root call block and each sub-call block;

[0123] The target interface 524 is connected to the data query interface 523 and is used to display each candidate root call block and display a search information input box;

[0124] The controller 530 is connected to the service cluster system 510 and the link analysis service system 520, and is used to execute the link tracking method provided by any one of the above embodiments.

[0125] Based on the link tracking method, accordingly, the present application also provides a specific embodiment of the link tracking device.

[0126] like Figure 6 As shown, the link tracking device provided in the embodiment of the present application includes a call block display module 610, a hash value calculation module 620, a sub-call block query module 630, a loop execution module 640 and a link tree construction module 650.

[0127] The calling block display module 610 is used to display each candidate root calling block on the target interface.

[0128] The hash value calculation module 620 is used to calculate the hash value of the first root call block in response to the input of selecting the first root call block from each candidate root call block.

[0129] The sub-call block query module 630 is used to query the first-layer sub-call block matching the hash value from the database according to the hash value of the first root call block, and the sub-call block includes the hash value of the upper-layer call block corresponding to the sub-call block.

[0130] The loop execution module 640 is used to loop the following steps until the preset query end condition is met to obtain the multi-layer sub-call block of the first root call block: according to the hash value of the i-th layer sub-call block, query from the database to obtain the i+1-th layer sub-call block that matches the hash value, and update i to i+1, where the initial value of i is 1.

[0131] The link tree construction module 650 is used to construct the first root call block and the multi-layer sub-call blocks to generate a call link tree corresponding to the first root call block according to the call block matching relationship corresponding to each hash value.

[0132] As an optional real-time example, the sub-call block is stored in the corresponding communication end database;

[0133] In response to selecting an input of a first root call block from among the candidate root call blocks, after calculating a hash value of the first root call block, the link tracking device further includes:

[0134] An information acquisition module, used to acquire the communication end information in the first root call block;

[0135] An address determination module, used to determine the communication terminal database address of the first layer sub-call block corresponding to the first root call block according to the communication terminal information;

[0136] The sub-call block query module 630 is specifically used for:

[0137] According to the hash value of the first root call block and the communication end database address of the first layer sub-call block, the first layer sub-call block matching the hash value is queried from the corresponding communication end database.

[0138] As an optional embodiment, the data in the sub-call block is encrypted using a random value in the upper-layer call block corresponding to the sub-call block;

[0139] The loop execution module 640 may specifically include:

[0140] The loop execution unit is used to loop execute the following units until the preset query end condition is met to obtain the multi-layer sub-call blocks of the first root call block:

[0141] A data decryption unit, used to decrypt data of the i-th layer sub-call block using a random value in the i-1-th layer sub-call block;

[0142] A hash value calculation unit, used for calculating a hash value of the i-th layer sub-call block according to the decrypted data of the i-th layer sub-call block;

[0143] The sub-call block matching unit is used to query from a database, according to the hash value of the i-th layer sub-call block, to obtain the i+1-th layer sub-call block that matches the hash value;

[0144] A condition judgment unit, used to judge whether a preset query end condition is met;

[0145] The data updating unit is used to update i to i+1 when the preset query termination condition is not met.

[0146] As an optional embodiment, the data of the sub-call block includes call request data, call response data and link metadata, and the link metadata includes a call data hash value;

[0147] Hash value calculation unit, specifically used for:

[0148] Calculate the hash value of the link metadata in the decrypted layer i sub-call block to obtain the hash value of the layer i sub-call block;

[0149] The call data hash value in the link metadata of the layer i sub-call block is determined by the following sub-units:

[0150] A hash value calculation subunit, used to calculate hash values ​​of the call request data of the i-th layer sub-call block and the call response data of the i-th layer sub-call block, respectively, to obtain corresponding call request hash values ​​and call response hash values;

[0151] The hash value calculation subunit is also used to combine the call request hash value and the call response hash value to perform hash value calculation to obtain the call data hash value in the link metadata of the i-th layer sub-call block.

[0152] As an optional embodiment, after displaying each candidate root call block on the target interface, the link tracking device further includes the following modules:

[0153] An input box display module, used to display a search information input box on the target interface;

[0154] The sub-call block screening module is used to respond to the operation of inputting target search information in the search information input box, and screen each candidate root call block to obtain a second root call block matching the target search information.

[0155] Figure 7 A schematic diagram of the hardware structure of the link tracking device provided in an embodiment of the present application is shown.

[0156] The link tracking device may include a processor 701 and a memory 702 storing computer program instructions.

[0157] Specifically, the processor 701 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.

[0158] The memory 702 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 702 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In appropriate cases, the memory 702 may include a removable or non-removable (or fixed) medium. In appropriate cases, the memory 702 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 702 is a non-volatile solid-state memory.

[0159] The processor 701 implements any one of the link tracking methods in the above embodiments by reading and executing computer program instructions stored in the memory 702 .

[0160] In one example, the link tracking device may further include a communication interface 703 and a bus 710. Figure 7 As shown, the processor 701, the memory 702, and the communication interface 703 are connected via a bus 710 and communicate with each other.

[0161] The communication interface 703 is mainly used to implement communication between each module, device, unit and / or equipment in the embodiment of the present application.

[0162] Bus 710 includes hardware, software, or both, coupling the components of the link tracking device to each other. By way of example and not limitation, the bus may include an accelerated graphics port (AGP) or other graphics bus, an enhanced industry standard architecture (EISA) bus, a front-side bus (FSB), a hypertransport (HT) interconnect, an industry standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a microchannel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standard association local (VLB) bus, or other suitable bus or a combination of two or more of the above. Where appropriate, bus 710 may include one or more buses. Although the embodiments of the present application describe and illustrate specific buses, the present application contemplates any suitable bus or interconnect.

[0163] In addition, in combination with the link tracking method in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any one of the link tracking methods in the above embodiment is implemented.

[0164] In addition, in combination with the link tracking method in the above-mentioned embodiment, the embodiment of the present application may provide a computer program product for implementation. When the instructions in the computer program product are executed by the processor of an electronic device, the electronic device executes the link tracking method provided by any aspect of the above-mentioned embodiment of the present application.

[0165] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make each change, modification and addition, or change the order between the steps after understanding the spirit of the present application.

[0166] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0167] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.

[0168] Each aspect of the present disclosure is described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0169] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of each equivalent modification or replacement within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application.

Claims

1. A link tracking method, characterized in that: The method comprises: Display each candidate root call block on the target interface; In response to an input of selecting a first root call block from among the candidate root call blocks, calculating a hash value of the first root call block; According to the hash value of the first root call block, query from a database to obtain a first-layer sub-call block that matches the hash value, wherein the sub-call block includes the hash value of the upper-layer call block corresponding to the sub-call block; The following steps are executed in a loop until a preset query end condition is met to obtain a multi-layer sub-call block of the first root call block: according to the hash value of the i-th layer sub-call block, query from the database to obtain the i+1-th layer sub-call block that matches the hash value, and update i to i+1, where the initial value of i is 1; According to the call block matching relationship corresponding to each of the hash values, the first root call block and the multi-layer sub-call blocks are constructed to generate a call link tree corresponding to the first root call block.

2. The method according to claim 1, characterized in that The sub-call block is stored in the corresponding communication terminal database; After the input of selecting the first root call block from among the candidate root call blocks and calculating the hash value of the first root call block in response to the input, the method further includes: Obtaining communication end information in the first root call block; Determine, according to the communication terminal information, a communication terminal database address of a layer 1 sub-call block corresponding to the first root call block; The step of querying from a database according to the hash value of the first root call block to obtain a first-layer sub-call block matching the hash value includes: According to the hash value of the first root call block and the communication end database address of the first layer sub-call block, the first layer sub-call block matching the hash value is queried from the corresponding communication end database.

3. The method according to claim 2, characterized in that The preset query end condition is that there is no corresponding communication terminal information in the i+1th layer sub-call block.

4. The method according to claim 1, characterized in that The data in the sub-call block is encrypted using a random value in an upper-layer call block corresponding to the sub-call block; The loop executes the following steps until a preset query end condition is met to obtain a multi-layer sub-call block of the first root call block: according to the hash value of the i-th layer sub-call block, query from the database to obtain the i+1-th layer sub-call block matching the hash value, and update i to i+1, including: The following steps are executed in a loop until the preset query end condition is met, and the multi-layer sub-call blocks of the first root call block are obtained: Decrypting the data of the i-th layer sub-call block by using the random value in the i-1-th layer sub-call block; Calculate the hash value of the i-th layer sub-call block according to the decrypted data of the i-th layer sub-call block; According to the hash value of the i-th layer sub-call block, query from a database to obtain the i+1-th layer sub-call block matching the hash value; Determine whether the preset query end condition is met; If the preset query termination condition is not met, i is updated to i+1.

5. The method according to claim 4, characterized in that The data of the sub-call block includes call request data, call response data and link metadata, and the link metadata includes a call data hash value; The step of calculating the hash value of the i-th layer sub-call block according to the decrypted data of the i-th layer sub-call block comprises: Performing hash value calculation on the decrypted link metadata in the i-th layer sub-call block to obtain a hash value of the i-th layer sub-call block; The call data hash value in the link metadata of the i-th layer sub-call block is determined in the following manner: Performing hash value calculations on the call request data of the i-th layer sub-call block and the call response data of the i-th layer sub-call block respectively to obtain corresponding call request hash values ​​and call response hash values; The call request hash value and the call response hash value are combined and then hash value calculation is performed to obtain the call data hash value in the link metadata of the i-th layer sub-call block.

6. The method according to any one of claims 1 to 5, characterized in that: After displaying each candidate root call block on the target interface, the method further includes: Displaying a search information input box on the target interface; In response to an operation of inputting target search information in the search information input box, a second root call block matching the target search information is screened out from each of the candidate root call blocks.

7. A link tracking device, characterized in that: The device comprises: A calling block display module is used to display each candidate root calling block on the target interface; A hash value calculation module, configured to calculate a hash value of a first root call block in response to an input selecting the first root call block from among the candidate root call blocks; A sub-call block query module, configured to query a first-layer sub-call block matching the hash value of the first root call block from a database, wherein the sub-call block includes a hash value of an upper-layer call block corresponding to the sub-call block; A loop execution module is used to loop through the following steps until a preset query end condition is met to obtain a multi-layer sub-call block of the first root call block: according to a hash value of the i-th layer sub-call block, query from a database to obtain an i+1-th layer sub-call block that matches the hash value, and update i to i+1, where the initial value of i is 1; A link tree construction module is used to construct the first root call block and the multi-layer sub-call block to generate a call link tree corresponding to the first root call block according to the call block matching relationship corresponding to each hash value.

8. A link tracking system, characterized in that: The system includes a service cluster system, a link analysis service system and a controller. The service cluster system includes each communication terminal and a communication terminal database corresponding to each communication terminal. The link analysis service system includes a link information collector, a storage module, a data query interface and a target interface. The communication end is used to make calls between other communication ends and generate corresponding root call blocks and sub-call blocks; The communication terminal database is connected to the corresponding communication terminal and is used to store the sub-call blocks corresponding to the communication terminal; The link information collector is connected to each of the communication terminals and is used to receive the root call block generated by each of the communication terminals; The storage module is connected to the link information collector and is used to store each of the root call blocks received by the link information collector; The data query interface is connected to the storage module and each of the communication terminals, and is used to provide query services for each of the root call blocks and each of the sub-call blocks; The target interface is connected to the data query interface and is used to display each candidate root call block and display a search information input box; The controller is connected to the service cluster system and the link analysis service system, and is used to execute the link tracking method as described in any one of claims 1-6 above.

9. An electronic device, characterized in that: The device comprises: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, the link tracking method according to any one of claims 1 to 6 is implemented.

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

11. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the link tracking method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Full-link monitoring method, device and system based on block chain

    CN110457190A

  • Distributed service full-link monitoring method and device, electronic equipment and storage medium

    CN113987074A

  • Processing method, device and system for calling link, electronic equipment and storage medium

    CN115567607A

  • Retrieval device, retrieval program, and retrieval method

    JP2017134554A

  • Tracing a calltree of a specified root method

    US20100095278A1