Enterprise-level application software development and debugging method, device and computer equipment

Through tunnel connection and traffic dyeing technology between the tunnel client and the server, the data transmission and interaction problems of multi-person collaborative debugging in enterprise-level microservice applications are solved, efficient and accurate software development and debugging are achieved, and team collaboration efficiency and system stability are improved.

CN117931631BActive Publication Date: 2025-08-19HANGZHOU DUANDIAN NETWORK TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311721294.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-14
Publication Date
2025-08-19
Estimated Expiration
2043-12-14

AI Technical Summary

Technical Problem

In the development and debugging of enterprise-level microservice applications, the existing technology has problems such as single user connection limitations, breakpoint debugging affects system stability, and inconvenient debugging across network environments and log viewing, especially inefficient in multi-person collaboration environments.

Method used

The tunnel connection between the tunnel client and the tunnel server is adopted, combined with traffic dyeing technology, data transmission and interaction are realized, multiple people are supported to debug simultaneously, and requests are performed locally through the tunnel client and the execution results are feedback.

Benefits of technology

It improves the accuracy and efficiency of debugging, supports multiple people to perform software development and debugging at the same time, ensures that each developer's debugging activities do not interfere with each other, and improves team collaboration efficiency and system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117931631B_ABST
    Figure CN117931631B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention discloses an enterprise-level application software development and debugging method, device and computer equipment. The method includes: after the local business system completes the configuration environment, obtaining a request to establish a tunnel connection; activating the tunnel client according to the request to build a tunnel; obtaining a business request formed after the traffic is identified by using traffic coloring technology to obtain the identified business request; forwarding the identified business request to the client probe tool through the tunnel, and the client probe tool forwards it to the local business system, and the local business system executes the identified business request and generates an execution result, and feeds back the execution result to the client probe tool; receiving the execution result through the tunnel, and feeding it back to the online business system, and then the online business system feeds it back to the terminal browser. By implementing the method of the embodiment of the present invention, it is possible to solve the data transmission and interaction problems in a heterogeneous network environment, improve the accuracy of debugging, and support multiple people to carry out software development and debugging at the same time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an application software development and debugging method, and more specifically to an enterprise-level application software development and debugging method, device and computer equipment. Background Art

[0002] As enterprise-level microservices applications continue to grow, business complexity and the scale of domain modules are also increasing. This places higher demands and more demanding challenges on the development and debugging environment. Improving R&D efficiency, meeting new business needs, and resolving existing issues have become pressing issues.

[0003] Although Java natively provides the JVM Remote Debug tool to assist in development and debugging, this tool only supports single-user connections, which is not conducive to team collaboration. It is impossible to accurately set breakpoints for specific requests, and breakpoint debugging will interrupt other normal business requests. This affects system stability. Although remote debugging is possible, relevant business logs cannot be viewed locally. In addition, to ensure the security of data and applications, enterprises will choose a one-way VPN (Virtual Private Network) strategy when building a network environment. This means that only the local environment can access the online environment, while the online environment cannot access the local environment. This strategy also causes obvious inconveniences during the software development and debugging stages. Currently, there is no directly usable debugging tool in the field of Java remote breakpoint debugging.

[0004] Therefore, it is necessary to design a new method to solve the data transmission and interaction problems in heterogeneous network environments, improve the accuracy of debugging, support multiple people to develop and debug software at the same time, and build a tunnel client to directly run the program locally for traffic transparent transmission in other areas. Summary of the Invention

[0005] The purpose of the present invention is to overcome the defects of the prior art and provide an enterprise-level application software development and debugging method, device and computer equipment.

[0006] To achieve the above objectives, the present invention adopts the following technical solution: an enterprise-level application software development and debugging method, comprising:

[0007] After the local business system completes the configuration environment, a request for starting the tunnel client is obtained from the local business system, and the client probe tool generates a request for establishing a tunnel connection according to the request;

[0008] activating the tunnel client according to the request to establish a tunnel;

[0009] Obtaining a business request received by an online business system from a terminal browser and formed after traffic is marked using traffic coloring technology to obtain the marked business request;

[0010] Forwarding the identified service request to the client probe tool through the tunnel, so that the client probe tool forwards it to the local service system, and the local service system executes the identified service request and generates an execution result, and feeds back the execution result to the client probe tool;

[0011] The execution result from the client probe tool is received through the tunnel to be fed back to the online business system, and then fed back to the terminal browser by the online business system.

[0012] Its further technical solution is: when the local business system configures the environment, the local business system starts the local application, and starts the client probe tool to suspend the main program, and initiates an online environment variable acquisition request to the online business system through the client probe tool; the online business system returns the environment variable data according to the online environment variable acquisition request, so that the local business system configures the corresponding environment.

[0013] A further technical solution is: activating the tunnel client according to the request to build a tunnel includes:

[0014] Allocate a TCP port and start a tunnel service according to a request to establish a tunnel connection, send the TCP port to the client probe tool, establish a tunnel with the client probe tool, and verify the tunnel by sending and replying heartbeat data.

[0015] Its further technical solution is: the identified business request is a business request initiated by the terminal browser, and the terminal browser plug-in obtains the identification information required for traffic coloring from the client probe tool according to the business request, and the terminal browser uses traffic coloring technology combined with the identification information to color the requested traffic, and the terminal browser sends the request formed after coloring to the online business system.

[0016] A further technical solution is: the process of obtaining a business request received by an online business system and initiated by a terminal browser and formed after traffic is marked using a traffic coloring technology to obtain the marked business request includes:

[0017] The business request initiated by the terminal browser forwarded by the online business system is obtained and the request formed after the traffic is marked using the traffic coloring technology to obtain the marked business request.

[0018] A further technical solution is: forwarding the identified service request to the client probe tool through the tunnel, which is then forwarded by the client probe tool to the local service system, and the local service system executes the identified service request and generates an execution result, which is then fed back to the client probe tool, including:

[0019] The identified business request is forwarded to the client probe tool through the tunnel, and then forwarded to the local business system by the client probe tool. Breakpoint debugging is performed on the local business system to generate an execution result, and the execution result is fed back to the client probe tool.

[0020] The present invention also provides an enterprise-level application software development and debugging device, comprising:

[0021] The connection unit is configured to obtain a request from the local business system to start the tunnel client after the local business system completes the configuration environment, and the client probe tool generates a request to establish a tunnel connection according to the request;

[0022] an activation unit, configured to activate the tunnel client according to the request to establish a tunnel;

[0023] A service request acquisition unit is used to acquire a service request received by an online service system and initiated by a terminal browser and formed after traffic is marked using a traffic coloring technology, so as to obtain the marked service request;

[0024] a forwarding unit, configured to forward the identified service request to the client probe tool through the tunnel, so that the client probe tool forwards the service request to the local service system, and the local service system executes the identified service request, generates an execution result, and feeds back the execution result to the client probe tool;

[0025] The receiving unit is used to receive the execution result from the client probe tool through the tunnel, and feed it back to the online business system, and then the online business system feeds it back to the terminal browser.

[0026] Its further technical solution is: the activation unit is used to allocate a TCP port and start a tunnel service according to a request to establish a tunnel connection, so as to send the TCP port to the client probe tool to establish a tunnel with the client probe tool, and verify the tunnel by sending and replying heartbeat data.

[0027] The present invention further provides a computer device, comprising a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the above method when executing the computer program.

[0028] The present invention also provides a storage medium, wherein the storage medium stores a computer program, and the computer program implements the above method when executed by a processor.

[0029] The beneficial effects of the present invention compared with the existing technology are: the present invention sets up a tunnel connection between the tunnel server and the tunnel client, uses traffic coloring technology to mark the relevant traffic, and then forwards it through the tunnel so that it is received by the tunnel client and executed by the associated local business system, and the execution results are fed back, thereby solving the data transmission and interaction problems in the heterogeneous network environment and improving the accuracy of debugging. Everyone can set up a tunnel client separately and build an independent tunnel to support multiple people to carry out software development and debugging at the same time. Moreover, the tunnel client can be constructed to directly run the program locally for traffic transparent transmission in other fields.

[0030] The present invention will be further described below with reference to the accompanying drawings and specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0032] Figure 1 A schematic diagram of an application scenario of the enterprise-level application software development and debugging method provided by an embodiment of the present invention;

[0033] Figure 2 A flow chart of an enterprise-level application software development and debugging method provided by an embodiment of the present invention;

[0034] Figure 3 A schematic diagram of an enterprise-level application software development and debugging method provided by an embodiment of the present invention;

[0035] Figure 4 A schematic diagram of the structure of the request / response working mode provided by an embodiment of the present invention;

[0036] Figure 5 A schematic block diagram of an enterprise-level application software development and debugging device provided by an embodiment of the present invention;

[0037] Figure 6 A schematic block diagram of a computer device provided in an embodiment of the present invention;

[0038] Figure 7 This is a schematic diagram of the log console information when a real Java application is started according to an embodiment of the present invention. DETAILED DESCRIPTION

[0039] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0040] It will be understood that when used in this specification and the appended claims, the terms “comprises” and “comprising” indicate the presence of described features, integers, steps, operations, elements and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0041] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the present invention. As used in the specification and appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.

[0042] It should be further understood that the term "and / or" used in the present description and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

[0043] See also Figure 1 and Figure 2 , Figure 1 A schematic diagram of an application scenario of the enterprise-level application software development and debugging method provided by an embodiment of the present invention. Figure 2A schematic flow chart of an enterprise-level application software development and debugging method provided by an embodiment of the present invention. This enterprise-level application software development and debugging method is applied to a server. The server primarily includes a tunnel server, which interacts with a client probe tool. The client probe tool is a plug-in within the tunnel client. The client probe tool establishes a connection with the local business system and also interacts with the terminal browser. The terminal browser primarily processes requests using a browser plug-in. The client probe tool also connects to the online business system. Furthermore, the tunnel client can establish a connection with the tunnel server using the client probe tool. The online business system interacts with the terminal browser, and the online business system also connects to the tunnel server. Through the tunnel connection between the client probe tool and the tunnel server, reverse tunneling technology is employed to address data transmission and interaction issues in heterogeneous network environments. For the terminal browser, specific traffic can be captured to transmit business requests in a targeted manner based on a reverse tunnel, significantly improving debugging accuracy. In an enterprise environment, each person can set up a tunnel client to interact with the tunnel server, enabling multiple people to simultaneously develop and debug software, thereby significantly improving team collaboration efficiency. In multi-person collaboration scenarios, this ensures that each developer's debugging activities are not affected by others. Leverage local development logs to further speed up the development and debugging process.

[0044] Figure 2 FIG. 1 is a flow chart of an enterprise-level application software development and debugging method provided by an embodiment of the present invention. Figure 2 As shown, the method includes the following steps S110 to S150.

[0045] S110 . After the local business system completes the configuration of the environment, a request for starting a tunnel client is obtained from the local business system, and the client probe tool generates a request for establishing a tunnel connection according to the request.

[0046] like Figure 7 As shown in the figure, it can be clearly seen that before startup, the online environment variable data is obtained and merged with the local environment variable data, and then woven into the current running environment. In addition, a tunnel connection is established and a heartbeat is started to maintain the connection.

[0047] In this embodiment, when the local business system configures the environment, the local business system starts the local application, starts the client probe tool to suspend the main program, and initiates an online environment variable acquisition request to the online business system through the client probe tool; the online business system returns the environment variable data according to the online environment variable acquisition request, so that the local business system configures the corresponding environment.

[0048] When configuring a local business system, the required configuration information includes whether to start the client probe tool, the address of the tunnel server to be connected, the program address of the online business system, and the configuration of the tool based on Java probe program technology.

[0049] The request to establish a tunnel connection refers to establishing a tunnel connection between the tunnel server and the client probe tool.

[0050] All computer network communications are based on the OSI (Open System Interconnect) seven-layer model. The core idea of a reverse tunnel is to establish a stable data transmission channel between the two ends. To ensure that both parties can actively initiate data transmission, it is decided to use the TCP protocol at the transport layer of the OSI seven-layer model to build this tunnel. In other words, a connection is established between the tunnel server and the tunnel client, and the tunnel client is connected to the tunnel server through the client probe tool.

[0051] The tunnel server consists of the following components: a tunnel port pool, a tunnel initiator, a connection manager, and a tunnel communicator. The tunnel port pool manages a set of available ports. When a tunnel connection is established, a port is allocated from this pool. When the tunnel connection ends, the port is returned for subsequent use. After obtaining the port, the tunnel initiator initializes the tunnel service, creates a socket server based on the TCP protocol, and waits for client connections. After the connection manager establishes the tunnel, it initiates a heartbeat mechanism to ensure the tunnel's continued connection and simultaneously records various connection-related information, such as the connection identifier, duration, and data volume. During data transmission, the tunnel communicator employs a proprietary data transmission message protocol, enabling it to transmit data without intruding on the original service request message. This ensures data integrity and security.

[0052] The message protocol format of the data transmitted by the tunnel communicator is shown in Table 1.

[0053] Table 1. Message protocol format

[0054]

[0055] S120: Activate the tunnel client according to the request to establish a tunnel.

[0056] In this embodiment, the tunnel refers to the connection tunnel between the tunnel server and the client probe tool. Specifically, the tunnel server and the client probe tool are connected through the tunnel, and then the client probe tool is connected to the tunnel client to realize the connection between the tunnel server and the tunnel client.

[0057] Specifically, a TCP port is allocated according to a request for establishing a tunnel connection and a tunnel service is started to send the TCP port to the client probe tool to establish a tunnel with the client probe tool, and the tunnel is verified by sending and replying heartbeat data.

[0058] In this embodiment, the tunnel client serves as the other end of the tunnel communication, and its main task is to establish a connection with the tunnel server and ensure stable data transmission. The tunnel client is linked to the local business system, that is, each user's local program can set up a tunnel client. The tunnel client includes the following: a connection initiator, a data transmitter, and a heartbeat detector. Among them, when the tunnel client is started, the connection initiator will attempt to establish a connection with the tunnel server. It will initiate a TCP connection request based on the provided tunnel server address and port information. Once the connection with the tunnel server is successfully established, this data transmitter will be responsible for the two-way transmission of data. It can not only send local request data to the tunnel server, but also receive data from the tunnel server and pass it to the local application. To ensure the continuity of the tunnel connection, the heartbeat detector will periodically send heartbeat packets to the tunnel server. If no response is received from the tunnel server within the specified time, it will assume that the connection is disconnected and attempt to re-establish the connection.

[0059] By using the above tunnel, an independent data transmission tunnel can be provided for each developer, ensuring that their development and debugging work does not interfere with each other when multiple people collaborate.

[0060] S130 , obtaining a business request received by the online business system and initiated by the terminal browser and formed after traffic is marked using a traffic coloring technology, to obtain the marked business request.

[0061] This embodiment uses the transport layer of the OSI seven-layer model, using the TCP protocol. TCP (Transmission Control Protocol) uses a series of mechanisms to ensure the reliability of data transmission, including preventing data loss. The following are several ways TCP ensures data loss:

[0062] Sequence number: TCP assigns a sequence number to each data packet it sends so that the receiver can tell if any data packets are lost.

[0063] Acknowledgement: When the receiver receives a data packet, it sends an acknowledgment (ACK) to the sender to indicate that the packet has been received.

[0064] Timeout retransmission: If the sender does not receive an acknowledgment within a predetermined time, it resends the packet.

[0065] Checksum: Each TCP packet contains a checksum that the receiver uses to detect whether the data has been damaged during transmission.

[0066] Flow Control: TCP uses the window size to control the sending speed of the sender to ensure that the receiver can process the received data.

[0067] Congestion control: TCP also has a congestion control mechanism to sense congestion in the network and adjust the speed of data transmission accordingly.

[0068] Through these mechanisms, TCP can ensure that all data packets are eventually transmitted correctly to the destination even in poor network conditions. If packet loss or errors are detected, TCP will automatically retransmit these packets.

[0069] In this embodiment, the identified business request is a business request initiated by the terminal browser. The terminal browser plug-in obtains the identification information required for traffic coloring from the client probe tool according to the business request, and the terminal browser uses traffic coloring technology combined with the identification information to color the requested traffic. The terminal browser sends the request formed after coloring to the online business system.

[0070] Specifically, a service request initiated by a terminal browser forwarded by an online service system is obtained and a request formed after traffic is marked using a traffic coloring technology to obtain the marked service request.

[0071] With the popularity of B / S architecture in modern management software systems, the importance of HTTP requests initiated by users through web browsers has gradually increased. HTTP protocol, as an application layer protocol in the OSI seven-layer model, adopts a request / response working mode in this embodiment. Its structure mainly consists of three parts: request line, request header and request data. Figure 4 As shown in the standard definition of the HTTP protocol, the request header carries various standard request identification information. For example, "Host" identifies the requested domain name, "Content-Type" describes the content format, and "Content-Length" indicates the content length. In addition, the HTTP protocol allows custom information fields to be added to the request header. To distinguish these non-standard fields from standard fields, they are typically prefixed with "x-".

[0072] Traffic coloring technology has been introduced to more effectively capture, analyze, and debug HTTP requests in complex network environments. This technology adds a special identifier, such as "x-debug-tag," to the HTTP request header. This allows online business systems to quickly identify, capture, and forward such requests, avoiding interference from other traffic. This approach not only significantly improves debugging efficiency but also enhances system stability and performance.

[0073] For request traffic coloring, a browser plug-in provides a convenient switch in the right-click menu, allowing developers to easily and conveniently turn on or off debug request traffic coloring. When this feature is activated, the plug-in will weave the following identification information into the request traffic before the browser sends it. This information is the identification information that needs to be determined before coloring the request traffic:

[0074] X-Gravity-Captain-Address: the local IP address of the current developer and debugger; X-Gravity-Captain-Name: the name of the current developer and debugger; X-Gravity-Application-Name: the name of the current local development and debugging program; X-Gravity-Application-Port: the port number of the current local development and debugging program; X-Gravity-Tunnel-Host: the address of the currently connected tunnel server; X-Gravity-Tunnel-Port: the port number of the currently connected tunnel server;

[0075] To better support online business systems, the online business system's SDK (Software Development Kit) includes a built-in HTTP request interceptor for colored traffic forwarding. This interceptor accurately identifies and extracts colored request information. After detailed analysis, requests that meet certain criteria are forwarded to the tunnel server. Upon receiving the request, the tunnel server transparently transmits it to the tunnel client. The tunnel client reconstructs the HTTP request based on this information and replays it into the locally developed and debugged program for debugging.

[0076] This example's traffic coloring technology also addresses another key issue during development and debugging: capturing program execution logs. Since the code executing the business logic resides locally, developers can more intuitively and conveniently troubleshoot issues based on the logs, significantly improving debugging efficiency.

[0077] S140. Forward the identified business request to the client probe tool through the tunnel, and then forward it to the local business system by the client probe tool. The local business system executes the identified business request, generates an execution result, and feeds back the execution result to the client probe tool.

[0078] In this embodiment, the identified business request is forwarded to the client probe tool through the tunnel, and then forwarded to the local business system by the client probe tool, and the local business system is breakpoint debugged to generate an execution result, which is then fed back to the client probe tool.

[0079] S150: Receive the execution result from the client probe tool through the tunnel, feed it back to the online business system, and then the online business system feeds it back to the terminal browser.

[0080] In this embodiment, the above-mentioned client probe tool is developed using Java probe technology, which greatly reduces the preparatory work required for development and debugging, while improving the efficiency of developers and the overall user experience. The client probe tool can automatically inject the startup configuration. When the local program starts, the mounted client probe tool will temporarily suspend the startup thread of the main program. This tool then establishes communication with the configuration information collector in the online business system in order to obtain the necessary configuration information. The client probe tool is embedded with a program configuration information collector, which can automatically capture all key configuration information at the initial stage of system startup. After the configuration information is successfully injected, the tool will restore the startup thread of the main program, allowing the main program to continue its startup process. This design ensures 1:1 configuration synchronization between the local development and debugging program and the online business system.

[0081] The client probe tool automatically establishes the data tunnel. After ensuring that all necessary configuration information has been successfully injected, the client probe tool triggers the launch of the tunnel client. This configuration information comes from both the online business system and the original configuration of the local application itself, such as the launch address and port number. With this complete configuration information, such as the application name, address, and port number, the tunnel client can accurately replay the dyed request traffic in the tunnel to the local application.

[0082] The client probe tool can configure a traffic coloring information interface. Once the main program is started and the data tunnel is established, all request traffic coloring descriptions are also prepared. The client probe tool passes this coloring description information to the browser plug-in through its internal information interface. This ensures that the browser plug-in can correctly color request traffic during subsequent development and debugging.

[0083] The method of this embodiment is applied to the system, as shown in the following example: Figure 3 As shown in the figure, the development and debugging efficiency is significantly improved, and the collaboration mode between teams is further optimized.

[0084] For example, local business system 1, responsible for developing the user login functionality, launched its local development environment. Subsequently, the client-side probe tool automatically ran, communicating with the configuration information collector in the online business system and automatically injecting the necessary configuration into local business system 1's local development environment. Local business system 1's tunnel client was activated, establishing a stable and secure connection with the tunnel server. To debug the login functionality in real time, the corresponding plug-in was activated in the browser. When a terminal attempted to log in, the request, carrying specific coloring information, was intercepted by the SDK interceptor in the online business system. The request was then forwarded to the tunnel server, where it was transparently transmitted to local business system 1's client-side probe tool and ultimately replayed in local business system 1's local development environment. Simultaneously, local business system 2, responsible for developing the user registration functionality, performed a similar operation in its local development environment. Because each request carries unique coloring information, local business system 2's request was accurately forwarded to its local development environment, ensuring that the two development activities did not interfere with each other.

[0085] This ensures that in multi-person collaboration scenarios, each developer's request can be accurately routed to their respective local development environment, thereby achieving efficient team collaboration.

[0086] The method of this embodiment improves the efficiency and accuracy of software development and debugging in a heterogeneous network environment. As shown in the figure below: First, after the basic configuration of the local business system source code is completed, the environment variable information of the real online business system is obtained, and a simulation is performed locally. Secondly, the client probe tool started with the local system initiates a connection request to the tunnel server, obtains the tunnel connection information, and activates the tunnel client to build a data transmission tunnel. Then, through the request identification switch started by the browser, the business request is identified using traffic coloring technology. After receiving the coloring request, the real online business system sends it to the tunnel server, which then forwards it to the client probe tool. The client probe tool receives the coloring request, performs data recovery, and replays it into the local simulation system for debugging. The processing results are transmitted back to the online business system through the client probe tool and the tunnel server, and finally fed back to the browser by the online business system. Through simulation and data transmission tunnel technology, the ability to accurately simulate and debug online business systems in a local environment is achieved, effectively solving the data transmission and interaction problems in a heterogeneous network environment, thereby improving the efficiency and accuracy of software development and debugging.

[0087] The above-mentioned enterprise-level application software development and debugging method sets up a tunnel connection between the tunnel server and the tunnel client, uses traffic coloring technology to identify the relevant traffic, and then forwards it through the tunnel to be received by the tunnel client and executed by the associated local business system. The execution results are fed back to solve the data transmission and interaction problems in the heterogeneous network environment and improve the accuracy of debugging. Everyone can set up a tunnel client separately and build an independent tunnel to support multiple people to carry out software development and debugging at the same time. Moreover, the tunnel client can be built to directly run the program locally for other fields to do traffic transparent transmission.

[0088] Figure 5 FIG. 3 is a schematic block diagram of an enterprise-level application software development and debugging device 300 provided by an embodiment of the present invention. Figure 5 As shown, corresponding to the above enterprise-level application software development and debugging method, the present invention also provides an enterprise-level application software development and debugging device 300. The enterprise-level application software development and debugging device 300 includes a unit for executing the above enterprise-level application software development and debugging method, and the device can be configured in a server. Specifically, please refer to Figure 5 The enterprise-level application software development and debugging device 300 includes a connecting unit 301 , an activating unit 302 , a service request acquiring unit 303 , a forwarding unit 304 and a receiving unit 305 .

[0089] The connection unit 301 is used to obtain the request for starting the tunnel client from the local business system after the local business system completes the configuration environment, and the client probe tool generates a request for establishing a tunnel connection based on the request; the activation unit 302 is used to activate the tunnel client based on the request to build a tunnel; the business request acquisition unit 303 is used to obtain the business request received by the online business system, which is initiated from the terminal browser and formed after the traffic is identified by the traffic coloring technology, so as to obtain the identified business request; the forwarding unit 304 is used to forward the identified business request to the client probe tool through the tunnel, so that the client probe tool forwards it to the local business system, the local business system executes the identified business request, generates an execution result, and feeds back the execution result to the client probe tool; the receiving unit 305 is used to receive the execution result from the client probe tool through the tunnel, feed it back to the online business system, and then the online business system feeds back to the terminal browser.

[0090] In one embodiment, the activation unit 302 is used to allocate a TCP port and start a tunnel service according to a request to establish a tunnel connection, so as to send the TCP port to the client probe tool to establish a tunnel with the client probe tool, and verify the tunnel by sending and replying heartbeat data.

[0091] In one embodiment, the service request acquisition unit 303 is configured to acquire a service request initiated by a terminal browser forwarded by an online service system and formed after traffic is marked using a traffic coloring technology to obtain the marked service request.

[0092] In one embodiment, the forwarding unit 304 is used to forward the identified business request to the client probe tool through the tunnel, so that the client probe tool forwards it to the local business system, and performs breakpoint debugging on the local business system to generate an execution result, and feeds back the execution result to the client probe tool.

[0093] It should be noted that those skilled in the art can clearly understand that the specific implementation process of the above-mentioned enterprise-level application software development and debugging device 300 and each unit can refer to the corresponding description in the aforementioned method embodiment. For the convenience and brevity of the description, it will not be repeated here.

[0094] The enterprise-level application software development and debugging device 300 can be implemented in the form of a computer program. The computer program can be used in Figure 6 Runs on the computer equipment shown.

[0095] See also Figure 6 , Figure 6 1 is a schematic block diagram of a computer device provided in an embodiment of the present application. The computer device 500 may be a server, wherein the server may be an independent server or a server cluster composed of multiple servers.

[0096] See Figure 6 The computer device 500 includes a processor 502 , a memory, and a network interface 505 connected via a system bus 501 , wherein the memory may include a non-volatile storage medium 503 and an internal memory 504 .

[0097] The non-volatile storage medium 503 can store an operating system 5031 and a computer program 5032. The computer program 5032 includes program instructions, which, when executed, can enable the processor 502 to execute an enterprise-level application software development and debugging method.

[0098] The processor 502 is used to provide computing and control capabilities to support the operation of the entire computer device 500.

[0099] The internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503. When the computer program 5032 is executed by the processor 502, the processor 502 can execute an enterprise-level application software development and debugging method.

[0100] The network interface 505 is used to communicate with other devices through the network. Figure 6 The structure shown in the figure is merely a block diagram of a portion of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 500 to which the solution of the present application is applied. The specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0101] The processor 502 is configured to execute a computer program 5032 stored in the memory to implement the following steps:

[0102] After the local business system completes the configuration environment, it obtains a request from the local business system to start the tunnel client and the client probe tool generates a request to establish a tunnel connection based on the request; the tunnel client is activated according to the request to build a tunnel; the online business system obtains a business request initiated by the terminal browser and formed after the traffic is identified by the traffic coloring technology to obtain the identified business request; the identified business request is forwarded to the client probe tool through the tunnel, and then forwarded to the local business system by the client probe tool, and the local business system executes the identified business request and generates an execution result, and feeds back the execution result to the client probe tool; the execution result from the client probe tool is received through the tunnel, and fed back to the online business system, and then fed back to the terminal browser by the online business system.

[0103] Among them, when the local business system configures the environment, the local business system starts the local application, and starts the client probe tool to suspend the main program, and initiates an online environment variable acquisition request to the online business system through the client probe tool; the online business system returns the environment variable data according to the online environment variable acquisition request, so that the local business system configures the corresponding environment.

[0104] The identified business request is a business request initiated by the terminal browser. The terminal browser plug-in obtains the identification information required for traffic coloring from the client probe tool according to the business request, and the terminal browser uses traffic coloring technology combined with the identification information to color the requested traffic. The terminal browser sends the request formed after coloring to the online business system.

[0105] In one embodiment, when implementing the step of activating the tunnel client according to the request to establish the tunnel, the processor 502 specifically implements the following steps:

[0106] Allocate a TCP port and start a tunnel service according to a request to establish a tunnel connection, send the TCP port to the client probe tool, establish a tunnel with the client probe tool, and verify the tunnel by sending and replying heartbeat data.

[0107] In one embodiment, when the processor 502 implements the step of obtaining a service request received by the online service system and initiated by a terminal browser and formed after traffic is marked using a traffic coloring technology to obtain the marked service request, the processor 502 specifically implements the following steps:

[0108] The business request initiated by the terminal browser forwarded by the online business system is obtained and the request formed after the traffic is marked using the traffic coloring technology to obtain the marked business request.

[0109] In one embodiment, when the processor 502 implements the step of forwarding the identified service request to the client probe tool through the tunnel, so that the client probe tool forwards the service request to the local service system, and the local service system executes the identified service request, generates an execution result, and feeds back the execution result to the client probe tool, the processor 502 specifically implements the following steps:

[0110] The identified business request is forwarded to the client probe tool through the tunnel, and then forwarded to the local business system by the client probe tool. Breakpoint debugging is performed on the local business system to generate an execution result, and the execution result is fed back to the client probe tool.

[0111] It should be understood that in the embodiment of the present application, the processor 502 may be a central processing unit (CPU), and the processor 502 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0112] Those skilled in the art will appreciate that all or part of the steps in the method of the above-described embodiment can be implemented by instructing the relevant hardware through a computer program. The computer program includes program instructions, which can be stored in a storage medium that is computer-readable. The program instructions are executed by at least one processor in the computer system to implement the steps in the method of the above-described embodiment.

[0113] Therefore, the present invention also provides a storage medium. The storage medium may be a computer-readable storage medium. The storage medium stores a computer program, wherein when the computer program is executed by a processor, the processor performs the following steps:

[0114] After the local business system completes the configuration environment, it obtains a request from the local business system to start the tunnel client and the client probe tool generates a request to establish a tunnel connection based on the request; the tunnel client is activated according to the request to build a tunnel; the online business system obtains a business request initiated by the terminal browser and formed after the traffic is identified by the traffic coloring technology to obtain the identified business request; the identified business request is forwarded to the client probe tool through the tunnel, and then forwarded to the local business system by the client probe tool, and the local business system executes the identified business request and generates an execution result, and feeds back the execution result to the client probe tool; the execution result from the client probe tool is received through the tunnel, and fed back to the online business system, and then fed back to the terminal browser by the online business system.

[0115] Among them, when the local business system configures the environment, the local business system starts the local application, and starts the client probe tool to suspend the main program, and initiates an online environment variable acquisition request to the online business system through the client probe tool; the online business system returns the environment variable data according to the online environment variable acquisition request, so that the local business system configures the corresponding environment.

[0116] The identified business request is a business request initiated by the terminal browser. The terminal browser plug-in obtains the identification information required for traffic coloring from the client probe tool according to the business request, and the terminal browser uses traffic coloring technology combined with the identification information to color the requested traffic. The terminal browser sends the request formed after coloring to the online business system.

[0117] In one embodiment, when the processor executes the computer program to implement the step of activating the tunnel client according to the request to establish the tunnel, the processor specifically implements the following steps:

[0118] Allocate a TCP port and start a tunnel service according to a request to establish a tunnel connection, send the TCP port to the client probe tool, establish a tunnel with the client probe tool, and verify the tunnel by sending and replying heartbeat data.

[0119] In one embodiment, when the processor executes the computer program to implement the step of obtaining a service request received by the online service system and initiated by a terminal browser and formed after traffic is marked using a traffic coloring technology to obtain the marked service request, the processor specifically implements the following steps:

[0120] The business request initiated by the terminal browser forwarded by the online business system is obtained and the request formed after the traffic is marked using the traffic coloring technology to obtain the marked business request.

[0121] In one embodiment, after executing the computer program to implement the steps of forwarding the identified service request to the client probe tool through the tunnel, having the client probe tool forward it to the local service system, having the local service system execute the identified service request, generating an execution result, and feeding back the execution result to the client probe tool, the processor further implements the following steps:

[0122] The identified business request is forwarded to the client probe tool through the tunnel, and then forwarded to the local business system by the client probe tool. Breakpoint debugging is performed on the local business system to generate an execution result, and the execution result is fed back to the client probe tool.

[0123] The storage medium may be any computer-readable storage medium that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk.

[0124] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the composition and steps of each example according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0125] In the several embodiments provided herein, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the various units is merely a logical functional division, and actual implementation may employ other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not implemented.

[0126] The steps in the methods of the embodiments of the present invention may be adjusted in order, combined, or deleted as needed. The units in the devices of the embodiments of the present invention may be combined, divided, or deleted as needed. Furthermore, the functional units in the various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit.

[0127] If this integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the existing technology, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, terminal, or network device, etc.) to execute all or part of the steps of the method described in various embodiments of the present invention.

[0128] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and such modifications or substitutions are intended to be within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be subject to the scope of protection of the claims.

Claims

1. An enterprise-level application software development and debugging method, characterized in that: include: After the local business system completes the configuration environment, a request for starting the tunnel client is obtained from the local business system, and the client probe tool generates a request for establishing a tunnel connection according to the request; activating the tunnel client according to the request to establish a tunnel; Obtaining a business request received by an online business system from a terminal browser and formed after traffic is marked using traffic coloring technology to obtain the marked business request; Forwarding the identified service request to the client probe tool through the tunnel, so that the client probe tool forwards it to the local service system, and the local service system executes the identified service request and generates an execution result, and feeds back the execution result to the client probe tool; Receiving the execution result from the client probe tool through the tunnel, feeding it back to the online business system, and then feeding it back to the terminal browser by the online business system; When the local business system configures the environment, it starts the local application and starts the client probe tool to suspend the main program. It then initiates an online environment variable acquisition request to the online business system through the client probe tool. The online business system returns the environment variable data according to the online environment variable acquisition request, so that the local business system configures the corresponding environment; The activating the tunnel client according to the request to establish a tunnel includes: Allocate a TCP port and start a tunnel service according to a request to establish a tunnel connection, send the TCP port to the client probe tool to establish a tunnel with the client probe tool, and verify the tunnel by sending and replying heartbeat data; The identified business request is a business request initiated by the terminal browser. The terminal browser plug-in obtains the identification information required for traffic coloring from the client probe tool according to the business request, and the terminal browser uses traffic coloring technology combined with the identification information to color the requested traffic. The terminal browser sends the request formed after coloring to the online business system.

2. The enterprise-level application software development and debugging method according to claim 1, characterized in that: The obtaining of the service request received by the online service system and initiated by the terminal browser and formed after traffic is marked using the traffic coloring technology to obtain the marked service request includes: The business request initiated by the terminal browser forwarded by the online business system is obtained and the request formed after the traffic is marked using the traffic coloring technology to obtain the marked business request.

3. The enterprise-level application software development and debugging method according to claim 1, characterized in that: The process of forwarding the identified service request to the client probe tool through the tunnel, so that the client probe tool forwards the service request to the local service system, and the local service system executes the identified service request, generates an execution result, and feeds back the execution result to the client probe tool includes: The identified business request is forwarded to the client probe tool through the tunnel, and then forwarded to the local business system by the client probe tool. Breakpoint debugging is performed on the local business system to generate an execution result, and the execution result is fed back to the client probe tool.

4. An enterprise-level application software development and debugging device, the device using the enterprise-level application software development and debugging method according to any one of claims 1 to 3, characterized in that: include: The connection unit is configured to obtain a request from the local business system to start the tunnel client after the local business system completes the configuration environment, and the client probe tool generates a request to establish a tunnel connection according to the request; an activation unit, configured to activate the tunnel client according to the request to establish a tunnel; A service request acquisition unit is used to acquire a service request received by an online service system and initiated by a terminal browser and formed after traffic is marked using a traffic coloring technology, so as to obtain the marked service request; a forwarding unit, configured to forward the identified service request to the client probe tool through the tunnel, so that the client probe tool forwards the service request to the local service system, and the local service system executes the identified service request, generates an execution result, and feeds back the execution result to the client probe tool; A receiving unit, configured to receive the execution result from the client probe tool through a tunnel, and feed it back to the online business system, which then feeds it back to the terminal browser; The activation unit is used to allocate a TCP port and start a tunnel service according to a request for establishing a tunnel connection, so as to send the TCP port to the client probe tool to establish a tunnel with the client probe tool, and verify the tunnel by sending and replying heartbeat data.

5. A computer device, characterized in that: The computer device includes a memory and a processor, the memory stores a computer program, and the processor implements the method according to any one of claims 1 to 3 when executing the computer program.

6. A storage medium, characterized in that The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 3 is implemented.

Citation Information

Patent Citations

  • Hot debugging method based on Service Mesh

    CN114281693A