CN115665118A - Application-level call chain generation method based on HTTP (hyper text transport protocol) header extension - Google Patents

Application-level call chain generation method based on HTTP (hyper text transport protocol) header extension Download PDF

Info

Publication number
CN115665118A
CN115665118A CN202211343651.1A CN202211343651A CN115665118A CN 115665118 A CN115665118 A CN 115665118A CN 202211343651 A CN202211343651 A CN 202211343651A CN 115665118 A CN115665118 A CN 115665118A
Authority
CN
China
Prior art keywords
chain
node
request
label
log
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
CN202211343651.1A
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202211343651.1A priority Critical patent/CN115665118A/en
Publication of CN115665118A publication Critical patent/CN115665118A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses an application-level call chain generation method based on HTTP (hyper text transport protocol) protocol head extension, which belongs to the technical field of communication and is characterized by comprising the following steps of: a. packaging a custom tag in an HTTP protocol header; b. performing real-time label processing on each node, and executing and recording the label processing on the downstream nodes in sequence until the whole calling process is completed; c. and after the HTTP response of each node is finished, recording the result in a data storage medium for secondary data backup. In the real transaction request process, the label identification is carried out on each Node, after a complete transaction request process is finished, the real process of the transaction request can be obtained in real time through analyzing the whole label identification, and Node omission and data delay can be effectively avoided.

Description

Application-level call chain generation method based on HTTP (hyper text transport protocol) header extension
Technical Field
The invention relates to the technical field of communication, in particular to an application level call chain generation method based on HTTP (hyper text transport protocol) header extension.
Background
With the application of a micro-service architecture in an application system, a functional module of an integral system is split into a plurality of small and special micro-services, node chains experienced by the system are more and more in internal service flow calling, and when a certain node has a problem, an effective means is lacked for troubleshooting fault node positioning in the whole calling chain.
In the current service calling process, there are also some mature technologies for collecting and assembling information of calling chains, for example, the Pinpoint technology is a distributed link tracking and link monitoring technology, and each Node in a calling chain is used for embedding points, so that information from each service flow to the Node is collected, and the purpose of distributed tracking is achieved. However, the Pinpoint technology has certain precondition and has certain deviation in real-time performance and accuracy.
Chinese patent document with publication number CN109726016a and publication date 2019, 05 and 07 discloses a link tracking method for a distributed system, which is characterized by comprising:
when a call request of remote procedure call passes through a node of the computing equipment, generating a tracking mark of the node;
generating child node tracking data according to the tracking mark of the node and the calling request of the node to the child node;
packaging the child node tracking data into a remote calling request of the child node of the node;
sending a call request of the packaged data to the child node;
the child node receives a call request of the packaged data and generates a child node tracking mark according to the call request;
repeating the steps for any node and child nodes thereof until all the call requests of the transaction are completed;
after each calling request or single request of the transaction is completed, reporting the tracking mark of the node and the tracking mark of the child node;
wherein, the computing device node is called the local node.
According to the link tracking method for the distributed system, the automatic full link monitoring tracking of the distributed system is realized through a byte code enhancement technology, the full link monitoring of the automatic recording system is realized, any code does not need to be modified, only a transaction needs to be added when an application program is started, and the entry point can ensure the correctness, so that the link tracking method has obvious advantages compared with a traditional mode. However, there are still problems of node omission and data delay.
Disclosure of Invention
In order to overcome the defects of the prior art, the invention provides the application level call chain generation method based on the HTTP protocol header extension.
The invention is realized by the following technical scheme:
the application-level call chain generation method based on the HTTP protocol header extension is characterized by comprising the following steps of:
a. packaging self-defined labels in an HTTP protocol header, wherein the self-defined labels comprise a CHAIN-TRACE-ID label, a CHAIN-NODE-ID label, a CHAIN-REQUEST-LOG label and a CHAIN-RESPONSE-LOG label, the CHAIN-TRACE-ID label is used for recording a unique link identification number of each transaction REQUEST, the CHAIN-NODE-ID label is used for transmitting a current NODE downstream to carry out a serial call link, the CHAIN-REQUEST-LOG label is used for recording the whole-process information of a forward call flow of the transaction REQUEST, and the CHAIN-RESPONSE-LOG label is used for recording the whole-process information of a return flow of the transaction REQUEST;
b. performing real-time label processing on each node, when a service node receives an HTTP-Request, automatically loading CHAIN-Request-LOG label information according to an upstream process identifier, synchronously loading the RESPONSE Request into a CHAIN-RESPONSE-LOG label of the node per se, and sequentially executing and recording at the downstream node until the whole calling process is completed;
c. and after the HTTP response of each node is finished, recording the result in a data storage medium for secondary data backup.
IN the step a, when a REQUEST is intercepted by initial calling, the value of a CHAIN-TRACE-ID label is checked, if the value is null, a snowflake algorithm is used for automatically generating a unique link tracking identifier, meanwhile, the calling is used as the beginning of a calling CHAIN, a random algorithm is used for generating a NODE ID which is assigned to the CHAIN-NODE-ID label, PID is null, the current TIME is assigned to IN _ TIME, URL information is acquired through an HTTP REQUEST header, the URL information is filled into the CHAIN-REQUEST-LOG label, special characters are removed from the generated CHAIN-REQUEST-LOG label, a carriage returns to the head for line changing, finally, HPACK algorithm compression encryption is adopted, and the special characters are added into a head REQUEST header.
IN the step b, when a downstream system or a sub-module receives a call REQUEST, a CHAIN-NODE-ID label IN a header is taken out as a PID through a plug-IN, a NODE ID is generated through a random algorithm and assigned to the CHAIN-NODE-ID label as a father NODE of a downstream link NODE, the current TIME is obtained as the NODE start TIME and assigned to IN _ TIME, REQUEST address information of a URL is obtained through an HTTP REQUEST header, the obtained information is filled into the CHAIN-REQUEST-LOG label after being obtained, special characters are processed, and the compressed encryption is carried out through an HPACK algorithm.
IN the step b, if the current node is a call CHAIN tail, filling CHAIN-RESPONSE-LOG label information, taking the TIME returned by the current request as OUT _ TIME, taking the PID of the current request as CID, subtracting OUT _ TIME from IN _ TIME to obtain the TIME consumed by calling the current node, then carrying OUT special character processing and HPACK compression encryption on the CHAIN-RESPONSE-LOG label, returning the special character processing and HPACK compression encryption to an upstream call node as a RESPONSE head, when the upstream receives a RESPONSE message, extracting the CHAIN-RESPONSE-LOG label information IN the RESPONSE head, and repeating the steps until the top layer of the call CHAIN is returned.
In the step c, the header information is obtained by obtaining the details of the call chain in the response header.
In the step c, the current call chain information is output in a log-based mode through the plug-in, and the log is written in an asynchronous lock-free queue mode.
And c, rolling the log according to the date and the size through the plug-in, and automatically cleaning.
And c, according to the record analysis of the full-flow path node, combining with the modeling of the service node object to finish the automatic presentation of the service topology of the call chain.
The HTTP protocol of the invention refers to hypertext transfer protocol.
The Pinpoint of the invention refers to link tracking monitoring.
The Node in the invention refers to a calling Node of a system or a submodule.
The CHAIN-TRACE-ID refers to a unique identification for establishing a calling link.
The CHAIN-NODE-ID is a NODE ID used for transferring a current NODE downstream to carry out a serial call link.
The CHAIN-REQUEST-LOG refers to the positive REQUEST LOG record called among the systems and all sub-modules in the systems.
The CHAIN-RESPONSE-LOG refers to RESPONSE request LOG records called among sub-modules in a system, the system and the system.
The HTTP-Request refers to a Request message from a client to a server.
The PID of the present invention refers to an ID of an upstream calling node.
The IN _ TIME of the present invention refers to the TIME when the calling node receives the request.
The URL refers to a webpage address of a calling node.
The HPACK of the invention refers to compressed file archiving.
The OUT _ TIME refers to the TIME when the calling node responds to the request.
The CID of the present invention refers to a calling node ID that identifies a reverse request.
The beneficial effects of the invention are mainly shown in the following aspects:
1. compared with the traditional HTTP protocol, the invention can record the whole flow transaction along with the flow, accurately and safely store the path information of the Node nodes which pass the request in the header of the request message, and can track and trace the source in each link.
2. The invention adds the data of the CHAIN-TRACE-ID label, the CHAIN-NODE-ID label, the CHAIN-REQUEST-LOG label and the CHAIN-RESPONSE-LOG label into a protocol message, then dynamically records the upstream and downstream transaction RESPONSE time in the twisting process of the REQUEST, calculates the NODE processing time consumption in real time, and can capture the performance views of all service NODEs passing the transaction at a full period viewing angle after the process calling is finished.
3. Compared with the traditional Pinpoint, the distributed link tracking and monitoring method has the advantages that the real-time performance and the accuracy are greatly improved in the distributed link tracking and link monitoring scene, the abnormal resistance is remarkably shown, any node is abnormal, the label log can be checked through the integrity of the label, and the link where the fault node appears is quickly positioned.
4. According to the invention, after the whole call of each transaction request is completed, the whole life call chain of the transaction can be generated, and the timeliness is greatly improved.
5. According to the method, all transaction nodes are developed according to the specifications, all experienced nodes can be accurately presented, omission and deviation cannot occur, and the accuracy is improved.
6. According to the invention, through a plurality of nodes experienced in the whole transaction calling process, which link consumes longer processing time can be quickly positioned, so that the links consuming long time are accurately optimized.
Drawings
The invention will be further described in detail with reference to the drawings and the detailed description, wherein:
FIG. 1 is a block flow diagram of the present invention.
Detailed Description
Example 1
Referring to fig. 1, the application level call chain generation method based on the HTTP protocol header extension includes the following steps:
a. packaging self-defined labels in an HTTP protocol header, wherein the self-defined labels comprise a CHAIN-TRACE-ID label, a CHAIN-NODE-ID label, a CHAIN-REQUEST-LOG label and a CHAIN-RESPONSE-LOG label, the CHAIN-TRACE-ID label is used for recording a unique link identification number of each transaction REQUEST, the CHAIN-NODE-ID label is used for transmitting a current NODE downstream to carry out a serial call link, the CHAIN-REQUEST-LOG label is used for recording the whole-process information of a forward call flow of the transaction REQUEST, and the CHAIN-RESPONSE-LOG label is used for recording the whole-process information of a return flow of the transaction REQUEST;
b. performing real-time label processing on each node, when a service node receives an HTTP-Request, automatically loading CHAIN-Request-LOG label information according to an upstream process identifier, synchronously loading the RESPONSE Request into a CHAIN-RESPONSE-LOG label of the node per se, and sequentially executing and recording at the downstream node until the whole calling process is completed;
c. and after the HTTP response of each node is finished, recording the result in a data storage medium for secondary data backup.
Compared with the traditional HTTP protocol, the invention can record the whole flow transaction along with the flow, accurately and safely store the path information of the Node nodes passing through the request in the header of the request message, and can track and trace the source in each link.
Example 2
Referring to fig. 1, the application level call chain generation method based on the HTTP protocol header extension includes the following steps:
a. packaging self-defined labels in an HTTP protocol header, wherein the self-defined labels comprise a CHAIN-TRACE-ID label, a CHAIN-NODE-ID label, a CHAIN-REQUEST-LOG label and a CHAIN-RESPONSE-LOG label, the CHAIN-TRACE-ID label is used for recording a unique link identification number of each transaction REQUEST, the CHAIN-NODE-ID label is used for transferring a current NODE downstream to carry out a serial call link, the CHAIN-REQUEST-LOG label is used for recording whole-process information of a forward call flow of the transaction REQUEST, and the CHAIN-RESPONSE-LOG label is used for recording whole-process information of a return flow of the transaction REQUEST;
b. performing real-time label processing on each node, when a service node receives an HTTP-Request, automatically loading CHAIN-Request-LOG label information according to an upstream process identifier, synchronously loading the RESPONSE Request into a CHAIN-RESPONSE-LOG label of the node per se, and sequentially executing and recording at the downstream node until the whole calling process is completed;
c. and after the HTTP response of each node is finished, recording the result in a data storage medium for secondary data backup.
Further, IN the step a, when the REQUEST is intercepted by the initial call, the value of the CHAIN-TRACE-ID tag is checked, if the value is empty, the unique link tracking identifier is automatically generated through a snowflake algorithm, meanwhile, the call is used as the beginning of a call CHAIN, then, a NODE ID is generated through a random algorithm and is assigned to the CHAIN-NODE-ID tag, the PID is empty, the current TIME is assigned to IN _ TIME, URL information is obtained through an HTTP REQUEST header, the URL information is filled into the CHAIN-REQUEST-LOG tag, special characters of the generated CHAIN-REQUEST-LOG tag are removed, the carriage returns to the line-changing symbol, finally, the compressed encryption is carried out through an HPACK algorithm, and the encrypted special characters are added into a head REQUEST header.
Further, IN step b, when the downstream system or the sub-module receives the call REQUEST, the CHAIN-NODE-ID tag IN the header is first taken out by the plug-IN as PID, then the NODE ID is generated by the random algorithm and assigned to the CHAIN-NODE-ID tag as the parent NODE of the downstream link NODE, the current TIME is obtained as the NODE start TIME and assigned to IN _ TIME, the REQUEST address information of the URL is obtained by the HTTP REQUEST header, the information is filled IN the CHAIN-REQUEST-LOG tag after the information is obtained, the special character is processed, and the HPACK algorithm is used for compression and encryption.
Further, IN the step b, if the current node is a call CHAIN end, the CHAIN-RESPONSE-LOG tag information is filled, the TIME returned by the current request is used as OUT _ TIME, the PID of the current request is used as CID, the OUT _ TIME is subtracted from the IN _ TIME to obtain the TIME consumed by the current node call, the CHAIN-RESPONSE-LOG tag is subjected to special character processing and HPACK compression encryption and returned to the upstream call node as a RESPONSE header, when the upstream receives a RESPONSE message, the CHAIN-RESPONSE-LOG tag information IN the RESPONSE header is extracted, and the steps are repeated until the current node returns to the top layer of the call CHAIN.
The present invention adds the CHAIN-track-ID tag, the CHAIN-NODE-ID tag, the CHAIN-REQUEST-LOG tag, and the CHAIN-RESPONSE-LOG tag data to the protocol packet, and then dynamically records the upstream and downstream transaction RESPONSE times during the twisting process of the REQUEST, calculates the NODE processing time in real time, and captures the performance views of all service NODEs through which the transaction passes at the full-period view after the process is called.
Example 3
Referring to fig. 1, the application level call chain generation method based on the HTTP protocol header extension includes the following steps:
a. packaging self-defined labels in an HTTP protocol header, wherein the self-defined labels comprise a CHAIN-TRACE-ID label, a CHAIN-NODE-ID label, a CHAIN-REQUEST-LOG label and a CHAIN-RESPONSE-LOG label, the CHAIN-TRACE-ID label is used for recording a unique link identification number of each transaction REQUEST, the CHAIN-NODE-ID label is used for transmitting a current NODE downstream to carry out a serial call link, the CHAIN-REQUEST-LOG label is used for recording the whole-process information of a forward call flow of the transaction REQUEST, and the CHAIN-RESPONSE-LOG label is used for recording the whole-process information of a return flow of the transaction REQUEST;
b. performing real-time label processing on each node, when a service node receives an HTTP-Request, automatically loading CHAIN-Request-LOG label information according to an upstream process identifier, synchronously loading the RESPONSE Request into a CHAIN-RESPONSE-LOG label of the node per se, and sequentially executing and recording at the downstream node until the whole calling process is completed;
c. and after the HTTP response of each node is finished, recording the result in a data storage medium for secondary data backup.
IN the step a, when a REQUEST is intercepted by initial calling, the value of a CHAIN-TRACE-ID label is checked, if the value is null, a snowflake algorithm is used for automatically generating a unique link tracking identifier, meanwhile, the calling is used as the beginning of a calling CHAIN, a random algorithm is used for generating a NODE ID which is assigned to the CHAIN-NODE-ID label, PID is null, the current TIME is assigned to IN _ TIME, URL information is acquired through an HTTP REQUEST header, the URL information is filled into the CHAIN-REQUEST-LOG label, special characters are removed from the generated CHAIN-REQUEST-LOG label, a carriage returns to the head for line changing, finally, HPACK algorithm compression encryption is adopted, and the special characters are added into a head REQUEST header.
IN the step b, when a downstream system or a sub-module receives a call REQUEST, a CHAIN-NODE-ID label IN a header is taken out through a plug-IN firstly to serve as a PID, then a NODE ID is generated through a random algorithm and is assigned to the CHAIN-NODE-ID label to serve as a father NODE of a downstream link NODE, the current TIME is obtained to serve as the NODE start TIME and is assigned to IN _ TIME, REQUEST address information of a URL is obtained through an HTTP REQUEST header, the information is filled into the CHAIN-REQUEST-LOG label after being obtained, special characters are processed, and the HPACK algorithm is used for compression encryption.
IN the step b, if the current node is a call CHAIN tail, the CHAIN-RESPONSE-LOG label information is filled, the TIME returned by the current request is used as OUT _ TIME, the PID of the current request is used as CID, the OUT _ TIME is subtracted from the IN _ TIME, the TIME consumed by the calling of the current node is obtained, then the CHAIN-RESPONSE-LOG label is subjected to special character processing and HPACK compression encryption and is returned to the upstream calling node as a RESPONSE head, when the upstream receives a RESPONSE message, the CHAIN-RESPONSE-LOG label information IN the RESPONSE head is extracted, and the steps are repeated until the top layer of the call CHAIN is returned.
In the step c, the header information is obtained by obtaining the details of the call chain in the response header.
In the step c, the current call chain information is output in a log-based mode through the plug-in, and the log is written in an asynchronous lock-free queue mode.
And c, rolling the log according to the date and the size through the plug-in, and automatically cleaning.
And c, according to the record analysis of the full-flow path node, combining with the modeling of the service node object to finish the automatic presentation of the service topology of the call chain.
The embodiment is an optimal implementation mode, compared with the traditional Pinpoint, in addition to the improvement of instantaneity and accuracy in a distributed link tracking and link monitoring scene, the method has a prominent expression on the anti-exception capability, and when an exception occurs in any node, the exception can be cleared in a tag log through the integrity of a tag, so that which link the failed node occurs in can be quickly positioned.
After the whole call is completed by each transaction request, the whole life call chain of the transaction can be generated, and the timeliness is greatly improved.
All transaction nodes are developed according to the specifications, all experienced nodes can be accurately presented, omission and deviation cannot occur, and the accuracy is improved.
Through a plurality of nodes experienced in the whole transaction calling process, the processing time consumed by which link is large can be quickly positioned, so that the link consuming time is accurately optimized.
The following is illustrated by a set of calling nodes:
the system or the sub-module quotes the plug-in of the invention, when a service node receives HTTP-Request, the plug-in can automatically generate the unique identification ID of the calling node, and simultaneously acquire the host where the current node is located, and automatically load the calling identification of the upstream into the CHAIN-Request-LOG information by the plug-in combination with the own node information. If the calling node has a service call of a downstream system or submodule, the plug-in can identify and intercept the call when calling the downstream, automatically fill the self node information and the CHAIN-REQUEST-LOG information into a header message header of an HTTP REQUEST and continue to transmit the message to the downstream, and the plug-in referenced by the downstream system or submodule automatically takes out the information of the upstream node and fills the message into the CHAIN-REQUEST-LOG in a relay manner and continues to transmit the message downwards according to the logic. If the calling node is the bottom-layer service, the plug-in loads the RESPONSE request into the CHAIN-RESPONSE-LOG and automatically fills the RESPONSE into a header message header of the HTTP RESPONSE message, the upstream service or the submodule receives the RESPONSE, the plug-in automatically takes out the CHAIN-RESPONSE-LOG information in the downstream HTTP RESPONSE header, the RESPONSE is filled into the data header, and the RESPONSE is sequentially executed and recorded at the upstream node according to the logic until the whole calling process is completed.
Specific characters such as carriage return line-changing characters are preprocessed aiming at values of the CHAIN-REQUEST-LOG and the CHAIN-RESPONSE-LOG, and then encryption compression is carried out by using an HPack algorithm, so that the resource occupation is reduced. By using the external plug-in, the plug-in can automatically acquire the system application name only by configuring the system environment variables according to the description. Aiming at a user side system, the system is free from code invasion, lighter in weight and higher in efficiency.
CHAIN-TRACE-ID: the link identification number of the service request is used for serially tracking and identifying service call, the default is that the unique ID generated by using a snowflake algorithm is 19 bits, and the total number of the ID is 38 bytes.
CHAIN-NODE-ID, the unique ID of the current calling NODE, is generated by using random alphanumerics, has 9 bits and occupies 18 bytes, is used for assembling the calling CHAIN, and is empty if the calling NODE is an entrance NODE.
CHAIN-REQUEST-LOG: and calling a log structure by the forward flow of the request, and packaging by adopting a JSON array format.
CHAIN-RESPONSE-LOG: and the returned reverse calling structure is consistent with the forward flow and is packaged by adopting a JSON array format.
A JSON array refers to an ordered set of values.
The present invention is described in detail below with an actual scenario example in the end-to-end fault diagnosis process:
s1, a capability calling entry carries out a transaction request;
s2, the capability receiving service receives a REQUEST, four labels, namely a CHAIN-NODE-ID label, a CHAIN-TRACE-ID label, a CHAIN-REQUEST-LOG label and a CHAIN-RESPONSE-LOG label, are added into the header of an HTTP protocol, a standard serial number is added into the CHAIN-TRACE-ID label, and label information of a starting NODE is written into the CHAIN-REQUEST-LOG label;
s3, executing engine service by the process, and adding a module identifier and receiving time into a CHAIN-REQUEST-LOG tag according to the received time;
s4, a capability calling service calls each atomic capability according to different capabilities of the engine service, and in the processing process, a module identifier and receiving time are added into a CHAIN-REQUEST-LOG label, and an end identifier is added into a REQUEST stream; simultaneously adding a starting identifier, a module identifier, processing ending time and processing duration into the CHAIN-RESPONSE-LOG label according to the result of calling the southward capability, and then returning a message;
s5, executing engine service by the process, receiving a message returned by the capability calling service, adding a module identifier, return time and consumed duration in a CHAIN-RESPONSE-LOG label, and then returning;
and S6, receiving a result returned by the process execution engine service, adding a module identifier, receiving return time and processing duration in a CHAIN-RESPONSE-LOG label, and finally adding an end identifier, then sending out the whole head content called by the transaction, and performing unified analysis and warehousing by a monitoring module.

Claims (8)

1. The application-level call chain generation method based on the HTTP protocol header extension is characterized by comprising the following steps of:
a. packaging self-defined labels in an HTTP protocol header, wherein the self-defined labels comprise a CHAIN-TRACE-ID label, a CHAIN-NODE-ID label, a CHAIN-REQUEST-LOG label and a CHAIN-RESPONSE-LOG label, the CHAIN-TRACE-ID label is used for recording a unique link identification number of each transaction REQUEST, the CHAIN-NODE-ID label is used for transferring a current NODE downstream to carry out a serial call link, the CHAIN-REQUEST-LOG label is used for recording whole-process information of a forward call flow of the transaction REQUEST, and the CHAIN-RESPONSE-LOG label is used for recording whole-process information of a return flow of the transaction REQUEST;
b. performing real-time label processing on each node, when a service node receives an HTTP-Request, automatically loading CHAIN-Request-LOG label information according to an upstream process identifier, synchronously loading the RESPONSE Request into a CHAIN-RESPONSE-LOG label of the node per se, and sequentially executing and recording at the downstream node until the whole calling process is completed;
c. and after the HTTP response of each node is finished, recording the result in a data storage medium for secondary data backup.
2. The application-level call chain generation method based on HTTP protocol header extension according to claim 1, characterized by: IN the step a, when a REQUEST is intercepted by initial calling, the value of a CHAIN-TRACE-ID label is checked, if the value is null, a snowflake algorithm is used for automatically generating a unique link tracking identifier, meanwhile, the calling is used as the beginning of a calling CHAIN, a random algorithm is used for generating a NODE ID which is assigned to the CHAIN-NODE-ID label, PID is null, the current TIME is assigned to IN _ TIME, URL information is acquired through an HTTP REQUEST header, the URL information is filled into the CHAIN-REQUEST-LOG label, special characters are removed from the generated CHAIN-REQUEST-LOG label, a carriage returns to the head for line changing, finally, HPACK algorithm compression encryption is adopted, and the special characters are added into a head REQUEST header.
3. The application-level call chain generation method based on HTTP protocol header extension according to claim 1, characterized by: IN the step b, when a downstream system or a sub-module receives a call REQUEST, a CHAIN-NODE-ID label IN a header is taken out as a PID through a plug-IN, a NODE ID is generated through a random algorithm and assigned to the CHAIN-NODE-ID label as a father NODE of a downstream link NODE, the current TIME is obtained as the NODE start TIME and assigned to IN _ TIME, REQUEST address information of a URL is obtained through an HTTP REQUEST header, the obtained information is filled into the CHAIN-REQUEST-LOG label after being obtained, special characters are processed, and the compressed encryption is carried out through an HPACK algorithm.
4. The application-level call chain generation method based on HTTP protocol header extension according to claim 3, characterized by: IN the step b, if the current node is a call CHAIN tail, filling CHAIN-RESPONSE-LOG label information, taking the TIME returned by the current request as OUT _ TIME, taking the PID of the current request as CID, subtracting OUT _ TIME from IN _ TIME to obtain the TIME consumed by calling the current node, then carrying OUT special character processing and HPACK compression encryption on the CHAIN-RESPONSE-LOG label, returning the special character processing and HPACK compression encryption to an upstream call node as a RESPONSE head, when the upstream receives a RESPONSE message, extracting the CHAIN-RESPONSE-LOG label information IN the RESPONSE head, and repeating the steps until the top layer of the call CHAIN is returned.
5. The application-level call chain generation method based on HTTP protocol header extension according to claim 1, characterized by: in the step c, the header information is obtained by obtaining the details of the call chain in the response header.
6. The application-level call chain generation method based on HTTP protocol header extension according to claim 1, characterized by: in the step c, the current call chain information is output in a log-based mode through the plug-in, and the log is written in an asynchronous lock-free queue mode.
7. The application-level call chain generation method based on HTTP protocol header extension according to claim 1, characterized in that: and c, rolling the log according to the date and the size through the plug-in, and automatically cleaning.
8. The application-level call chain generation method based on HTTP protocol header extension according to claim 1, characterized by: and c, according to the record analysis of the full-flow path node, combining with the modeling of the service node object to finish the automatic presentation of the service topology of the call chain.
CN202211343651.1A 2022-10-31 2022-10-31 Application-level call chain generation method based on HTTP (hyper text transport protocol) header extension Pending CN115665118A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211343651.1A CN115665118A (en) 2022-10-31 2022-10-31 Application-level call chain generation method based on HTTP (hyper text transport protocol) header extension

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211343651.1A CN115665118A (en) 2022-10-31 2022-10-31 Application-level call chain generation method based on HTTP (hyper text transport protocol) header extension

Publications (1)

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

Family

ID=84993276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211343651.1A Pending CN115665118A (en) 2022-10-31 2022-10-31 Application-level call chain generation method based on HTTP (hyper text transport protocol) header extension

Country Status (1)

Country Link
CN (1) CN115665118A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069354A (en) * 2019-04-15 2019-07-30 必成汇(成都)科技有限公司 The full link trace method of micro services and micro services framework
CN110730246A (en) * 2019-10-23 2020-01-24 家乡互动(厦门)网络科技有限公司 Distributed link tracking method under micro-service architecture
CN115022213A (en) * 2022-06-30 2022-09-06 福州畅昕信息科技有限公司 Method for identifying request abnormity and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069354A (en) * 2019-04-15 2019-07-30 必成汇(成都)科技有限公司 The full link trace method of micro services and micro services framework
CN110730246A (en) * 2019-10-23 2020-01-24 家乡互动(厦门)网络科技有限公司 Distributed link tracking method under micro-service architecture
CN115022213A (en) * 2022-06-30 2022-09-06 福州畅昕信息科技有限公司 Method for identifying request abnormity and storage medium

Similar Documents

Publication Publication Date Title
CN102045222B (en) Real-time overall test method of network system
CN111966289B (en) Partition optimization method and system based on Kafka cluster
CN112118174B (en) Software defined data gateway
CN107977473B (en) Logback-based distributed system log retrieval method and system
CN113518012B (en) Distributed cooperative flow simulation environment construction method and system
CN111177193A (en) Flink-based log streaming processing method and system
CN117061239B (en) Method and system for safely uploading and storing operation data of Internet of things terminal
CN113364651B (en) Distributed network flow collection method
CN109302685B (en) Remote test data processing method for small satellite in transmitting field
CN112350897B (en) Network testing device based on dynamic connection end-to-end reliable transmission protocol
CN115665118A (en) Application-level call chain generation method based on HTTP (hyper text transport protocol) header extension
CN114598622B (en) Data monitoring method and device, storage medium and computer equipment
CN112614331A (en) Method for reading electric energy meter event and electric energy meter event reading system
CN112019604A (en) Edge data transmission method and system
CN110245050A (en) A method of it realizing script error monitoring and reports
CN115022402A (en) Agent acquisition method and system based on one-stack integration technology
CN111625412A (en) Flume-based data acquisition method, system, device and storage medium
CN116996392B (en) Flow path reconstruction method and system based on weighted directed graph algorithm
CN117112039B (en) Transmission optimization system and operation method of data center
CN115361262B (en) Method and system for realizing FTP (File transfer protocol) reporting of transmission equipment performance file
CN116074388B (en) Flow forwarding method and system based on log queue
CN116800647A (en) Link tracking method and device, electronic equipment and medium
CN110278465B (en) Video CDN distributed HTTP full link data collection and analysis method and system
CN110196862B (en) Data scene construction method, device, server and system
CN117792990A (en) Link aggregation method and device based on distributed network

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