CN114531498B - Data transmission method, device, electronic equipment and storage medium - Google Patents

Data transmission method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN114531498B
CN114531498B CN202111596463.5A CN202111596463A CN114531498B CN 114531498 B CN114531498 B CN 114531498B CN 202111596463 A CN202111596463 A CN 202111596463A CN 114531498 B CN114531498 B CN 114531498B
Authority
CN
China
Prior art keywords
protocol channel
channel
command
secure shell
host
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.)
Active
Application number
CN202111596463.5A
Other languages
Chinese (zh)
Other versions
CN114531498A (en
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.)
Hangzhou Bodun Xiyan Technology Co ltd
Original Assignee
Hangzhou Bodun Xiyan Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Bodun Xiyan Technology Co ltd filed Critical Hangzhou Bodun Xiyan Technology Co ltd
Priority to CN202111596463.5A priority Critical patent/CN114531498B/en
Publication of CN114531498A publication Critical patent/CN114531498A/en
Application granted granted Critical
Publication of CN114531498B publication Critical patent/CN114531498B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Abstract

The invention provides a data transmission method, a device, electronic equipment and a storage medium, which belong to the field of data processing. In the embodiment of the invention, the data transmission is realized in an asynchronous mode, so that the method can adapt to high concurrent processing requests, effectively improve the utilization rate of host resources, store the protocol channels of the secure shell, multiplex the protocol channels when the channels are disconnected due to network fluctuation, avoid reestablishing the channels, effectively resist the network fluctuation, avoid data loss and improve the working efficiency.

Description

Data transmission method, device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a data transmission method, apparatus, electronic device, and storage medium.
Background
WTS (web terminal shell, web-based terminal console) is a common function of host operation and maintenance in a platform, and can respectively establish virtual term (terminal) at a web (web page) end and a remote host, execute an execution command input by the web end on the remote host through interaction of the virtual term, and write back an execution result of the remote host to the web end, thereby efficiently managing the remote host.
A large amount of real-time network data exchange exists in the WTS, but at present, the WTS is realized by adopting a multi-thread and single-function synchronous mode, so that the WTS has high occupation of host resources and low resource utilization rate, is difficult to resist network fluctuation, is easy to lose data, and affects the working efficiency.
Disclosure of Invention
The invention provides a data transmission method, a device, electronic equipment and a storage medium, which are used for solving the problems that in the process of realizing a WTS function, host resources are occupied highly, the resource utilization rate is low, network fluctuation is difficult to deal with, data loss is easy to occur, and the working efficiency is influenced.
The first aspect of the present invention provides a data transmission method, which is applied to a server, wherein the server and a client are connected through a web socket protocol channel, and the method may include:
Acquiring a connection identifier, wherein the connection identifier is used for indicating the client and a host;
the pre-stored secure shell protocol channel is obtained in storage according to the connection identifier, and the secure shell protocol channel is used for connecting the host and corresponds to the connection identifier;
acquiring a command sent by the client from the webpage socket protocol channel in an asynchronous mode, and sending the command from the secure shell protocol channel to the host in an asynchronous mode;
and acquiring an execution result of the host aiming at the command from the secure shell protocol channel in an asynchronous mode, and sending the execution result to the client from the webpage socket protocol channel in an asynchronous mode.
Optionally, before the obtaining the connection identifier, the method further includes:
acquiring host information and client information sent by the client;
establishing the secure shell protocol channel according to the host information, and generating the connection identifier according to the host information and the client information;
correspondingly storing the secure shell protocol channel and the connection identifier into the storage;
and establishing a web page socket protocol channel connected with the client.
Optionally, the obtaining, in storage, a pre-stored secure shell protocol channel according to the connection identifier includes:
determining a pre-stored secure shell protocol channel and the storage time of the secure shell protocol channel in storage according to the connection identifier;
returning to the secure shell protocol channel if the storage time is less than an expiration time;
and returning a null value when the storage time is greater than or equal to the expiration time.
Optionally, after the command sent by the client is obtained from the web socket protocol channel in an asynchronous manner, the method further includes:
and if the command indicates to pause access, disconnecting the webpage socket protocol channel, and not disconnecting the secure shell protocol channel.
Optionally, the sending the command from the secure shell protocol channel to the host in an asynchronous manner includes:
acquiring a command blacklist, and matching the command with the command blacklist;
in case of a failure of the match, sending the command from the secure shell protocol channel to the host in an asynchronous manner;
and under the condition that the matching is successful, intercepting the command and sending an interception prompt from the webpage socket protocol channel to the client.
Optionally, after the pre-stored secure shell protocol channel is acquired in the storage according to the connection identifier, the method further includes:
performing periodic state detection on at least one of the web socket protocol channel and the secure shell protocol channel;
and disconnecting the webpage socket protocol channel and the secure shell protocol channel under the condition that at least one of the webpage socket protocol channel and the secure shell protocol channel has abnormal state.
Optionally, after the command sent by the client is obtained from the web socket protocol channel in an asynchronous manner, the method further includes:
the command is stored in a retrieval database.
The second aspect of the present invention provides a data transmission device, which is applied to a server, and the server and a client are connected through a web socket protocol channel, and the device may include:
the device comprises an identifier acquisition module, a connection module and a host computer, wherein the identifier acquisition module is used for acquiring a connection identifier, and the connection identifier is used for indicating the client and the host computer;
the channel acquisition module is used for acquiring a pre-stored secure shell protocol channel in storage according to the connection identifier, wherein the secure shell protocol channel is used for connecting the host and corresponds to the connection identifier;
The command transmission module is used for acquiring a command sent by the client from the webpage socket protocol channel in an asynchronous mode and sending the command from the secure shell protocol channel to the host in an asynchronous mode;
and the result transmission module is used for acquiring the execution result of the host computer aiming at the command from the secure shell protocol channel in an asynchronous mode and sending the execution result to the client from the webpage socket protocol channel in an asynchronous mode.
Optionally, the apparatus further comprises:
the information acquisition module is used for acquiring host information and client information sent by the client;
the channel establishing module is used for establishing the secure shell protocol channel according to the host information and generating the connection identifier according to the host information and the client information;
the channel storage module is used for storing the secure shell protocol channel and the connection identifier into the storage correspondingly;
the channel establishing module is further used for establishing a web socket protocol channel connected with the client.
Optionally, the channel acquisition module includes:
the channel inquiry sub-module is used for determining a pre-stored secure shell protocol channel and the storage time of the secure shell protocol channel in storage according to the connection identifier;
A query return sub-module for returning to the secure shell protocol channel if the storage time is less than an expiration time;
and the inquiry submodule is also used for returning a null value under the condition that the storage time is greater than or equal to the expiration time.
Optionally, the apparatus further comprises:
and the channel disconnection module is used for disconnecting the webpage socket protocol channel and not disconnecting the secure shell protocol channel under the condition that the command indicates to suspend access.
Optionally, the command transmission module includes:
the blacklist matching sub-module is used for acquiring a command blacklist and matching the command with the command blacklist;
a command transmission sub-module, configured to send the command from the secure shell protocol channel to the host in an asynchronous manner in case of a match failure;
and the command interception sub-module is used for intercepting the command and sending an interception prompt from the webpage socket protocol channel to the client under the condition that the matching is successful.
Optionally, the apparatus further comprises:
and the command storage module is used for storing the commands into the retrieval database.
A third aspect of the present invention provides an electronic device comprising: the interface, the bus, the memory and the processor are connected through the bus, the memory is used for storing executable programs, and the processor is configured to run the executable programs to realize the steps of the data transmission method according to the first aspect.
A fourth aspect of the present invention provides a computer storage medium having stored thereon an executable program for execution by a processor to perform the steps of the data transmission method according to the first aspect.
Compared with the related art, the invention has the following advantages:
the method can be used for a server, the server and a client are connected through a webpage socket protocol channel, a pre-stored secure shell protocol channel can be obtained according to a connection identifier indicating the server and the client, the server is connected with a host through the secure shell protocol channel, at the moment, the server can obtain a command of the client from the channel and send the command to the server, and the obtained execution result of the command by the server is sent to the client and is realized in an asynchronous mode. In the embodiment of the invention, the data transmission is realized in an asynchronous mode, so that the method can adapt to high concurrent processing requests, effectively improve the utilization rate of host resources, store the protocol channels of the secure shell, multiplex the protocol channels when the channels are disconnected due to network fluctuation, avoid reestablishing the channels, effectively resist the network fluctuation, avoid data loss and improve the working efficiency.
The foregoing description is only an overview of the present invention, and is intended to be implemented in accordance with the teachings of the present invention in order that the same may be more clearly understood and to make the same and other objects, features and advantages of the present invention more readily apparent.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to designate like parts throughout the figures. In the drawings:
fig. 1 is a flowchart of steps of a data transmission method according to an embodiment of the present invention;
fig. 2 is a flowchart of steps of another data transmission method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a system architecture for data transmission according to an embodiment of the present invention;
FIG. 4 is a second diagram of a system architecture for data transmission according to an embodiment of the present invention;
FIG. 5 is a third embodiment of a system architecture for data transmission according to the present invention;
Fig. 6 is a block diagram of a data transmission device according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
In various embodiments of the present invention, it should be understood that the sequence numbers of the following processes do not mean the order of execution, and the order of execution of the processes should be determined by the functions and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
Fig. 1 is a flowchart of a data transmission method according to an embodiment of the present invention, where the method may be used for a server, where the server and a client are connected through a web socket protocol channel.
In the embodiment of the invention, the WTS function can be realized, specifically, a virtual term is respectively built on a web end and a remote host, so that the command is input on the web end and executed on the host, the host returns the execution result of the command to the web end, alternatively, the host can be a Linux host, a host system can comprise a deban system, a RedHat system and the like, the deban system can be a deban system, a Ubuntu system (Wu Ban Tu), a Mint system and the like and derivative versions thereof, the RedHat system can comprise a RedHat system, a Fedora system (Fei Duola), a centOs system (Community Enterprise Operating System), and the like. In the implementation of the invention, the web end can be a client end, the client end can be connected with a host machine of a remote host machine through the server end, at the moment, the client end and the server end can be connected through a web socket protocol (websocket) channel, the websocket is a protocol for carrying out full duplex communication on a single TCP connection provided by HTML5, the data exchange between the client end and the server end is simple and direct under the communication protocol, and the server end can actively push data to the client end.
The method may include:
step 101, obtaining a connection identifier, where the connection identifier is used to indicate the client and the host.
In the embodiment of the invention, when a remote host is connected, the server can acquire the connection identifier firstly, and the connection identifier can be used for indicating the client and the host, alternatively, the connection identifier can be obtained by splicing and calculating related information of the client and the host, can be obtained by unique agreement in advance of the client and the host, and can also be both included.
Step 102, a pre-stored secure shell protocol channel is obtained in storage according to the connection identifier, wherein the secure shell protocol channel is used for connecting the host and corresponds to the connection identifier.
In the embodiment of the invention, a Secure Shell protocol (ssh) channel is used for a protocol for providing security for a telnet session and other network services, wherein the ssh channel for carrying out data transmission between a client and a host can be pre-established and stored, and the ssh channel corresponds to a connection identifier, so that the corresponding ssh channel can be acquired according to the connection identifier during data transmission, and the ssh channel can be multiplexed for multiple times based on application requirements without reestablishing the ssh channel under the condition of actively or passively disconnecting.
Step 103, obtaining the command sent by the client from the web socket protocol channel in an asynchronous mode, and sending the command from the secure shell protocol channel to the host in an asynchronous mode.
Step 104, obtaining the execution result of the host for the command from the secure shell protocol channel in an asynchronous manner, and sending the execution result to the client from the web socket protocol channel in an asynchronous manner.
In the embodiment of the invention, asynchronization is a data transmission mode without common clocks of both sides, in multithreading processing, asynchronization does not need to block threads to execute tasks, but can process subsequent tasks first, after other threads are processed, callback is sent back to the threads to process corresponding tasks, a cooperative mode is a user-mode lightweight thread, a server can be well adapted to high-concurrency data processing tasks by adopting an asynchronization mode, the server can be connected with a client through a websocket channel and connected with a host through a ssh channel, so that commands can be acquired from the client in an asynchronization mode and sent to the host, and then the execution result of the commands can be acquired from the host to be sent to the client through an asynchronization mode, thereby realizing multithreading processing tasks through a multipass asynchronization mode and improving the resource utilization rate. Alternatively, the coroutine mode may be implemented correspondingly in different programming languages, such as coroutine in golang, asyncio, gevent, websockets, tornado, sanic, aiohttp, fastAPI in python, etc., and coroutine in Lua, java, kotlin, such as Kilim in Java, etc.
The method can be used for a server, the server and a client are connected through a webpage socket protocol channel, a pre-stored secure shell protocol channel can be obtained according to a connection identifier indicating the server and the client, the server is connected with a host through the secure shell protocol channel, at the moment, the server can obtain a command of the client from the channel and send the command to the server, and the obtained execution result of the command by the server is sent to the client and is realized in an asynchronous mode. In the embodiment of the invention, the data transmission is realized in an asynchronous mode, so that the method can adapt to high concurrent processing requests, effectively improve the utilization rate of host resources, store the protocol channels of the secure shell, multiplex the protocol channels when the channels are disconnected due to network fluctuation, avoid reestablishing the channels, effectively resist the network fluctuation, avoid data loss and improve the working efficiency.
Fig. 2 is a flowchart of steps of another data transmission method according to an embodiment of the present invention, where the method may be applied to a server, where the server and a client are connected through a web socket protocol channel.
In the embodiment of the present invention, the server, the client, and the web socket protocol channels may correspond to the related descriptions with reference to fig. 1, and are not repeated here for avoiding repetition.
As shown in fig. 2, the method may include:
step 201, obtaining host information and client information sent by the client.
In the embodiment of the invention, the server side can acquire the host information and the client information sent by the client side, and at this time, the server side and the client side can transmit data through HTTP (Hyper Text Transfer Protocol ), wherein the host information and the client side can be ID, IP address and the like, can also comprise user name, password and the like, can be acquired after being manually input from the client side, and can also query a database for storing the data such as the host information and the client side information in an asynchronous mode.
The specific programming languages, function names, keywords, web frameworks, libraries, packages, etc. involved in the implementation of the present application are only used as examples, and those skilled in the art may adapt and perfect the corresponding programming language without departing from the spirit and gist of the present invention, and selecting an appropriate library, package to cooperate to accomplish the same effect, without causing limitation to the present application.
For example, taking the platform language python as an example, python3.6 and django3.2 are adopted as service ends, and xterm and js are adopted to construct web ends, wherein django3 is a Python web server framework; xterm is a front-end component written in TypeScript to simulate command line interfaces and operations; the django3 document supports an ASGI service protocol, and the ASGI is an extension of the WSGI supporting the original mode and websocket; the WSGI (Web Server Gateway Interface ) is a simple and universal interface between a server and a client and between frameworks defined for the Python language, and optionally, the server can adopt Daphne, uvicorn or other hosting schemes in the Python language, and other languages can adaptively select the hosting schemes.
At this time, the host ID or the host IP transmitted by the web-side based on the HTTP protocol may be acquired.
Step 202, the secure shell protocol channel is established according to the host information, and the connection identifier is generated according to the host information and the client information.
In the embodiment of the invention, the ssh channel can be established according to the connection of the host information server to the host, for example, the host information can be sent to the host, and the verification result sent to the server by the host under the condition that verification is passed is obtained, so that the connection is realized by establishing the ssh channel, alternatively, the server can verify the obtained host information, request the client to correct and supplement the host information under the condition that the host information is wrong and missing, or inquire again in a database, or can agree that part of the host information is sent by the client, the server obtains the same host information as other host information according to the part of the host information sent by the client, and the client information can be analogized.
For example, host information such as a user name and a login password for host registration is acquired according to the acquired host ID, a connection request is sent to the host through a paramiko based on the host information such as the host ID, the user name and the login password, a verification result sent by the host under the condition that verification is passed is received, and an ssh channel is established by asyncssh.
Where paramiko, asyncssh is a library of packages for ssh2 in Python that can be used to connect hosts remotely.
In the embodiment of the present invention, the connection identifier generated according to the host information and the client information may be a character string formed by splicing at least two of a host ID, a host IP, a user ID, information negotiated by a client at a server, etc., which may correspond to the description related to step 101, and will not be described herein again for avoiding repetition.
And 203, storing the secure shell protocol channel and the connection identifier in the storage correspondingly.
In the embodiment of the invention, the connection identifier and the ssh channel can be stored correspondingly, so that the corresponding ssh can be queried through the connection identifier in the storage, for example, the connection identifier is used as a key, the ssh channel is used as a value and stored in the dictionary, and the corresponding ssh channel can be queried in the dictionary according to the connection identifier.
If the dictionary is set, the key of the dictionary is the IP address or ID of the host, the user ID, and the character string spliced by the random number obtained by the pre-negotiation between the server and the client are used as the connection identifiers so as to be distinguished, and the character string is stored in the value as the established ssh channel.
Step 204, establishing a web socket protocol channel connected with the client.
In the embodiment of the invention, the server and the client can transmit through the HTTP protocol, after the ssh channel is established, the transmission protocol between the server and the client can be upgraded into the websocket protocol channel which is established by the websocket protocol and is connected with the client, and an asynchronous function based on the websocket protocol is obtained, and the asynchronous function is used for executing different operations such as data transmission, data reception, channel disconnection and the like.
For example, in the current django framework, a websocket library which does not support asynchronization can be written to realize or select channel 3 enhancement framework supplement, and the websocket protocol asynchronously executes and mainly comprises accept, send, receive, close and other key asynchronous functions. In the case that the preceding steps are all performed without errors, step 204 is performed to upgrade the HTTP request to the websocket protocol.
Step 205, obtaining a connection identifier, where the connection identifier is used to indicate the client and the host.
And 206, acquiring a pre-stored secure shell protocol channel in a storage according to the connection identifier.
In the embodiment of the present invention, the steps 205 to 206 may correspond to the descriptions related to the steps 101 to 102, and are not repeated here.
Optionally, the step 206 includes:
and S11, determining a pre-stored secure shell protocol channel and the storage time of the secure shell protocol channel in storage according to the connection identifier.
And step S12, returning to the secure shell protocol channel when the storage time is smaller than the expiration time, wherein the secure shell protocol channel is used for connecting the host and corresponds to the connection identifier.
And step S13, returning a null value under the condition that the storage time is greater than or equal to the expiration time.
In the embodiment of the invention, in order to ensure the instantaneity and the effectiveness of the ssh channel, the storage time of the ssh channel can be obtained when the ssh channel is obtained, the storage time can be from the time of storing the ssh channel to the time of inquiring the ssh channel by adopting the connection identifier, meanwhile, the expiration time can be set for the ssh channel, the length of the expiration time can be set according to the requirement, and the expiration time of different ssh channels can be the same or different. Under the condition that the storage time is smaller than the expiration time, the ssh channel can be determined to be valid as old, at the moment, the ssh channel can be returned to connect the host and the server, under the condition that the storage time is larger than or equal to the expiration time, the ssh channel can be determined to be invalid, at the moment, a null value can be returned, the fact that the server and the host cannot be connected can be determined, and the ssh channel can be reestablished.
In the embodiment of the invention, in the scene of the multi-pass mode, the operation of adding the lock to the storage and the acquisition of the ssh channel can be further performed, so that the precedence relationship of the execution logic is ensured, and the task conflict is avoided.
For example, in the process of storing the ssh channel, a class TTLDict is defined and instantiated as a global variable, where TTLDict is a dictionary with expiration time, and the expiration time is set for the ssh channel while key-value is implemented, for example, the expiration time may be set to 30 minutes, and the storage time of the ssh channel is recorded.
Under the condition of acquiring the connection identifier, inquiring the corresponding value in the dictionary as the ssh channel by taking the connection identifier as a key, and acquiring the storage time and the expiration time.
Determining the storage time of the ssh channel according to the storage time and the inquiry time, and returning a null value under the condition that the storage time is greater than or equal to the expiration time;
and returning to the ssh channel corresponding to the connection identifier in the storage under the condition that the storage time is less than the expiration time.
In the embodiment of the invention, whether the ssh channel in the storage is out of date can be periodically detected, and under the condition that the ssh channel corresponding to the connection identifier is out of date, the ssh channel can be cleared and the ssh channel corresponding to the connection identifier can be restored, so that the real-time and available ssh channel in the storage can be ensured.
Optionally, the step 206 includes:
and S21, periodically detecting the state of at least one of the web socket protocol channel and the secure shell protocol channel.
And S22, disconnecting the webpage socket protocol channel and the secure shell protocol channel under the condition that at least one of the webpage socket protocol channel and the secure shell protocol channel is abnormal in state.
In the embodiment of the invention, at least one of the websocket channel and the ssh channel can be subjected to periodic state detection to determine whether the channel connection is alive, and when the channel is in a state of unsmooth or overtime response, or the channel is in a state of unsmooth or overtime response for more than a certain time, or the channel is in a state of unsmooth or overtime response and the detection abnormal frequency is greater than or equal to a certain frequency, the at least one of the websocket channel and the ssh channel is determined to be abnormal, so that service termination can be determined, and the websocket channel and the ssh channel are disconnected. The specific conditions for detecting the cycle length and the state abnormality can be set according to the requirements of technicians, and the specific conditions for detecting the cycle length and the state abnormality between the websocket channel and the ssh channel can be the same or different.
For example, a periodic cycle sends a "ping" message to the websocket channel, and ping (Packet Internet Groper, the internet packet explorer) is a command for detecting the network smoothness or the network speed, and when the corresponding "pong" frame is not received after waiting for a period of time or multiple cycles, the websocket channel is considered to be not smooth or overtime, the websocket channel and the ssh channel are disconnected, all coroutines, cycles, and the like are stopped, and related resources are released.
Periodically and circularly monitoring whether a ssh channel connected with a host at a fixed time is available or not, and under the condition that the ssh channel still cannot be used after waiting for a period of time or multiple times of circulation, the ssh channel is not smooth or overtime, disconnecting the websocket channel and the ssh channel, stopping all coroutines, circulation and the like, and releasing related resources.
Step 207, obtaining the command sent by the client from the web socket protocol channel in an asynchronous manner, and sending the command from the secure shell protocol channel to the host in an asynchronous manner.
Step 208, obtaining the execution result of the host with respect to the command from the secure shell protocol channel in an asynchronous manner, and sending the execution result to the client from the web socket protocol channel in an asynchronous manner.
In the embodiment of the present invention, the steps 207 to 208 may correspond to the descriptions related to the steps 103 to 104, and are not repeated here. Alternatively, in the case of the abnormal execution of the foregoing steps, abnormal information may be returned to the client, and in the case of the normal execution of the foregoing steps, the command may be acquired for data transmission.
For example, in the case that the foregoing steps are not abnormal, two asynchronous functions of loop_host and loop_web are executed as a group to perform data transmission, and the execution process may be as follows:
executing loop_host, acquiring an effective ssh channel connection host through TTLDict, acquiring shell commands, operators and the like sent by a client through a receiver asynchronous function, sending the shell commands, operators and the like to a remote host in an asynchronous mode, and executing the processes in a circulating way, wherein the circulation is continuously executed under the condition that channel connection is not interrupted and abnormality does not occur.
Executing loop_web, obtaining an effective ssh channel through TTLDict to connect with a host, obtaining an execution result of the host on the command from the ssh channel in an asynchronous mode, sending the execution result to a client through a send asynchronous function, and executing the process in a circulating way, wherein the circulation is continuously executed under the condition that the channel connection is not interrupted and no abnormality occurs. Here, in the current partial implementation mode, a language internal channel is required to forward an execution result, which may cause unnecessary blocking and delay, and in the implementation of the present application, the execution result is acquired and transmitted without the need of the language internal channel, so that the execution result can be directly acquired and transmitted, and the efficiency of data transmission is improved.
Optionally, a mechanism for switching cooperative execution can be added in loop_host and loop_web respectively, so that execution logic is prevented from being blocked in a corresponding function, and futile waiting is avoided, for example, an 'await asyncio. Sleep (0.01)' is added in the loop, wherein the value of 0.01 can be specifically set according to requirements.
On the basis, functions in the loop_host, the loop_web and the subsequent steps are realized in a cooperative way and executed concurrently without blocking each other, so that the functions can be written as 'await asyncio. Gather (), self. Loop_web ()' and timely switching cooperative way processing, and the resource utilization rate and the working efficiency are improved.
Optionally, after the step 207 of obtaining the command sent by the client from the web socket protocol channel in an asynchronous manner, the method further includes:
and S31, disconnecting the web socket protocol channel without disconnecting the secure shell protocol channel under the condition that the command indicates to pause access.
In the embodiment of the invention, the server can also judge the command sent by the client, when the command indicates the remote host to execute the task, the command is sent to the host in an asynchronous mode in the continuing step 207, and the websocket channel between the server and the client can be disconnected firstly without disconnecting the ssh channel between the server and the host under the condition that the command indicates to suspend access, and then the websocket channel connection between the server and the client can be reestablished, and the ssh channel between the server and the host is used, so that the loss of the working progress is avoided.
For example, by simulating a shell terminal in a browser client through reactivarm. Js, monitoring user key input, sending each key input through a websocket channel, where the key input may be a shell command, a key instruction such as tab, and the host executes a corresponding command, an instruction, and the like, including vim, top, ps, netstat, and at this time, a key indicating temporary interruption of the channel may be set, and by clicking the key, the server may temporarily disconnect a websocket channel connected between the client and the server when receiving an instruction indicating temporary interruption of access, but may not interrupt an ssh channel between the server and the host, and a message format of the command may be customized, for example < STOP >.
Optionally, after the step 207 of obtaining the command sent by the client from the web socket protocol channel in an asynchronous manner, the method further includes:
step S41, storing the command into a retrieval database.
In the embodiment of the invention, after receiving the command, the command can be written into a search database in an asynchronous mode for searching by developers, operation and maintenance personnel and the like, optionally, the command can be asynchronously written into a file system and a Message Queue (MQ) according to a preset format, and then the Message in the Message Queue is consumed by a ELK (Elasticsearch Logstash Kibana) system or other auditing systems and stored in the search database, so that asynchronous log record of the command is realized.
Optionally, after the step 207 of obtaining the command sent by the client from the web socket protocol channel in an asynchronous manner, the method includes:
step S51, a command blacklist is obtained, and the command is matched with the command blacklist.
Step S52, in case of a failure of the matching, sending the command from the secure shell protocol channel to the host in an asynchronous manner.
And step S53, under the condition that the matching is successful, intercepting the command and sending an interception prompt from the webpage socket protocol channel to the client.
In the embodiment of the present invention, a command blacklist may be set, where the command blacklist may be used to record a malicious command, an error command, an invalidation command, etc., after a command sent by a client is received, the command may be matched with the command blacklist, and in the case that the command is successfully matched with the command blacklist, it may be determined that the command cannot be executed, at this time, the subsequent execution of the command interrupt step 207 may be intercepted, and an interception prompt may be sent from a websocket channel to the client, where optionally, the interception prompt may include command content and may also include an interception reason, for example, "the command has been changed", "the command is wrong", etc., and the command blacklist may be dynamically configured.
For example, after receiving the shell command sent by the client, the server may obtain a dynamically configured shell command blacklist from the service management system, match the shell command with the shell command blacklist, continue sending the command to the host if the matching fails, intercept the command if the matching is successful, and send an intercept prompt to the client.
In the embodiment of the invention, in the browser client, since the window of the browser may be moved, scaled, stretched and the like to change in size, thereby affecting the output format, and the window of the virtual terminal on the host is required to be consistent with the window size of the virtual terminal on the client, on the basis, when the window size of the browser is changed, a size adjustment instruction can be transmitted to the server through the channel, so that the server identifies the operation indicated by the size adjustment instruction, thereby analyzing the size adjustment instruction, and the size value of the window is transmitted to the remote host in an asynchronous manner, so that the size adjustment of the host is consistent with that of the client when the virtual terminal is established, alternatively, the size adjustment instruction can be transmitted in a contracted format, such as "< RESIZE >300 400.
The method can be used for a server, the server and a client are connected through a webpage socket protocol channel, a pre-stored secure shell protocol channel can be obtained according to a connection identifier indicating the server and the client, the server is connected with a host through the secure shell protocol channel, at the moment, the server can obtain a command of the client from the channel and send the command to the server, and the obtained execution result of the command by the server is sent to the client and is realized in an asynchronous mode. In the embodiment of the invention, the data transmission is realized in an asynchronous mode, so that the method can adapt to high concurrent processing requests, effectively improve the utilization rate of host resources, store the protocol channels of the secure shell, multiplex the protocol channels when the channels are disconnected due to network fluctuation, avoid reestablishing the channels, effectively resist the network fluctuation, avoid data loss and improve the working efficiency.
In the implementation of the invention, asynchronous command records, and mechanisms for judging and intercepting command contents are added, so that the invention can better adapt to operation requirements, provide customized operation space, periodically detect ssh channels and websocket channels, interrupt channel connection when abnormality occurs, stop task execution, recover system resources and avoid invalid occupation of the resources.
In the implementation of the present application, fig. 3 shows one of schematic diagrams of a system architecture for data transmission, as shown in fig. 3, including a client "web browser", a host, and a server implemented by a Django3 server, where the web browser uses xterm to simulate a virtual teminal for shell command input and receives an execution result returned to the command, and the host supports remote connection;
as shown in fig. 3, the websocket channel establishment phase includes:
step 301, the web browser sends the ID or IP of the host to the Django3 server based on the HTTP protocol, and upgrades the HTTP protocol to the websocket protocol.
Step 302, the Django3 server calls an ID or an IP of the asynchronous receiving host, obtains the ID or the IP of the host, obtains information such as a user name and a login password corresponding to the host, and sends the information such as the user name and the login password corresponding to the host through a paramiko.
Step 303, the host computer verifies the user name and the user password, and sends the verification result to the Django3 server to establish the ssh channel, the Django3 server calls the verification result of the 'welcome_ws_accept' asynchronous receiving host computer, and generates a connection identifier according to the host computer ID or IP, the user name, a preset random number and the like, and the ssh channel and the connection identifier are correspondingly stored.
Step 304, the Django3 server asynchronously sends the verification result of the host to the web browser, and establishes a websocket channel for subsequent communication.
FIG. 4 is a second schematic diagram of a system architecture for data transmission, in which a ssh channel and a websocket channel are established in FIG. 3 to connect a web browser and a host;
as shown in fig. 4, the data transmission phase includes:
step 401, the web browser asynchronously sends shell commands to the Django3 server through a websocket channel.
Step 402, the Django3 server circularly executes "asyncbweb_to_ssh" to continuously acquire the shell command sent by the web browser, and asynchronously sends the shell command to the host.
And step 403, the host executes the shell command and sends the execution result to the Django3 server.
Step 404, the Django3 server circularly executes "async ssh_to_web" to continuously acquire an execution result sent by the host, and sends the execution result asynchronously to the web browser.
FIG. 5 is a third diagram of a system architecture for data transmission, in which the ssh channel and websocket channel are established in FIG. 3 to connect the web browser to the host;
as shown in fig. 5, the interrupt connection phase includes:
step 501, the web browser asynchronously sends an interrupt connection command to the Django3 server through a websocket channel.
Step 502, the Django3 server obtains the interrupt connection command, interrupts the cycle of "async web_to_ssh", and asynchronously sends the interrupt connection command to the host.
In step 503, the host executes the interrupt connection command to interrupt the ssh channel, and sends the execution result to the Django3 server.
Step 504, the Django3 server interrupts the loop of "async ssh_to_web" and sends the execution result asynchronously to the web browser.
After the connection of the interrupt channel is interrupted, the ssh channel can be obtained in storage according to the connection identifier, and the communication between the server and the host is established based on the ssh channel, so that the ssh channel is not required to be re-established, and network fluctuation can be effectively resisted.
In the embodiment of the invention, in the realization of the WTS function, an asynchronous cooperative mode is adopted, the server side and the web side are realized through an asynchronous websocket library, the server side performs data transmission with a remote host through an asynchronous ssh channel, a plurality of cooperative processes are involved in the data transmission, and the asynchronous receiving and sending command, execution result and the like can better adapt to high-concurrency data processing scenes, and effectively improve the resource utilization rate.
Fig. 6 is a data transmission device 60 according to an embodiment of the present invention, as shown in fig. 6, where the device is applied to a server, and the server and a client are connected through a web socket protocol channel, and the device may include:
the identifier obtaining module 601 is configured to obtain a connection identifier, where the connection identifier is used to indicate the client and the host;
the channel obtaining module 602 is configured to obtain a pre-stored secure shell protocol channel in storage according to the connection identifier, where the secure shell protocol channel is used for connecting with the host and corresponds to the connection identifier;
a command transmission module 603, configured to obtain, in an asynchronous manner, a command sent by the client from the web socket protocol channel, and send the command, in an asynchronous manner, from the secure shell protocol channel to the host;
and the result transmission module 604 is configured to obtain, in an asynchronous manner, an execution result of the command by the host from the secure shell protocol channel, and send, in an asynchronous manner, the execution result to the client from the web socket protocol channel.
Optionally, the apparatus further comprises:
the information acquisition module is used for acquiring host information and client information sent by the client;
The channel establishing module is used for establishing the secure shell protocol channel according to the host information and generating the connection identifier according to the host information and the client information;
the channel storage module is used for storing the secure shell protocol channel and the connection identifier into the storage correspondingly;
the channel establishing module is further used for establishing a web socket protocol channel connected with the client.
Optionally, the channel acquisition module 602 includes:
the channel inquiry sub-module is used for determining a pre-stored secure shell protocol channel and the storage time of the secure shell protocol channel in storage according to the connection identifier;
a query return sub-module for returning to the secure shell protocol channel if the storage time is less than an expiration time;
and the inquiry submodule is also used for returning a null value under the condition that the storage time is greater than or equal to the expiration time.
Optionally, the apparatus further comprises:
and the channel disconnection module is used for disconnecting the webpage socket protocol channel and not disconnecting the secure shell protocol channel under the condition that the command indicates to suspend access.
Optionally, the command transmission module 603 includes:
the blacklist matching sub-module is used for acquiring a command blacklist and matching the command with the command blacklist;
a command transmission sub-module, configured to send the command from the secure shell protocol channel to the host in an asynchronous manner in case of a match failure;
and the command interception sub-module is used for intercepting the command and sending an interception prompt from the webpage socket protocol channel to the client under the condition that the matching is successful.
Optionally, the apparatus further comprises:
and the command storage module is used for storing the commands into the retrieval database.
The invention provides a data transmission device which can be used for a server, wherein the server is connected with a client through a web socket protocol channel, a pre-stored secure shell protocol channel can be obtained according to a connection identifier indicating the server and the client, the server is connected with a host through the secure shell protocol channel, at the moment, the server can obtain a command of the client from the channel and send the command to the server, and the obtained execution result of the command by the server is sent to the client and is realized in an asynchronous mode. In the embodiment of the invention, the data transmission is realized in an asynchronous mode, so that the method can adapt to high concurrent processing requests, effectively improve the utilization rate of host resources, store the protocol channels of the secure shell, multiplex the protocol channels when the channels are disconnected due to network fluctuation, avoid reestablishing the channels, effectively resist the network fluctuation, avoid data loss and improve the working efficiency.
In the implementation of the invention, asynchronous command records, and mechanisms for judging and intercepting command contents are added, so that the invention can better adapt to operation requirements, provide customized operation space, periodically detect ssh channels and websocket channels, interrupt channel connection when abnormality occurs, stop task execution, recover system resources and avoid invalid occupation of the resources.
It will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working process of the apparatus and modules described above may refer to the corresponding process in the foregoing method embodiment, which is not repeated herein.
Fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, as shown in fig. 7, the electronic device 70 includes: an interface 701, a bus 702, a memory 703 and a processor 704, said interface 701, memory 703 and processor 704 being connected via said bus 702, said memory 703 being for storing an executable program, said processor 704 being configured to run said executable program for performing the steps of the data transmission method as described in any of fig. 1 to 5.
The embodiment of the invention also provides a computer storage medium, and the computer readable storage medium stores an executable program, and the executable program is executed by a processor to implement the steps of the data transmission method as shown in any one of fig. 1 to 5.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) comprising instructions for causing a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the method according to the embodiments of the present invention.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It is to be understood that the invention is not limited to the precise arrangements and instrumentalities shown in the drawings, which have been described above, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the invention is limited only by the appended claims.

Claims (9)

1. A data transmission method, wherein the method is applied to a server, and the server and a client are connected through a web socket protocol channel, the method comprising:
acquiring a connection identifier, wherein the connection identifier is used for indicating the client and a host;
the pre-stored secure shell protocol channel is obtained in storage according to the connection identifier, and the secure shell protocol channel is used for connecting the host and corresponds to the connection identifier;
Acquiring a command sent by the client from the webpage socket protocol channel in an asynchronous mode, and sending the command from the secure shell protocol channel to the host in an asynchronous mode;
the execution result of the host aiming at the command is obtained from the secure shell protocol channel in an asynchronous mode, and the execution result is sent to the client from the webpage socket protocol channel in an asynchronous mode;
the step of obtaining the pre-stored secure shell protocol channel in the storage according to the connection identifier comprises the following steps:
determining a pre-stored secure shell protocol channel and the storage time of the secure shell protocol channel in storage according to the connection identifier;
returning to the secure shell protocol channel if the storage time is less than an expiration time;
and returning a null value when the storage time is greater than or equal to the expiration time.
2. The method of claim 1, further comprising, prior to the obtaining the connection identifier:
acquiring host information and client information sent by the client;
establishing the secure shell protocol channel according to the host information, and generating the connection identifier according to the host information and the client information;
Correspondingly storing the secure shell protocol channel and the connection identifier into the storage;
and establishing a web page socket protocol channel connected with the client.
3. The method of claim 1, wherein after the asynchronously obtaining the command sent by the client from the web socket protocol channel, further comprises:
and if the command indicates to pause access, disconnecting the webpage socket protocol channel, and not disconnecting the secure shell protocol channel.
4. The method of claim 1, wherein said asynchronously sending the command from the secure shell protocol channel to the host comprises:
acquiring a command blacklist, and matching the command with the command blacklist;
in case of a failure of the match, sending the command from the secure shell protocol channel to the host in an asynchronous manner;
and under the condition that the matching is successful, intercepting the command and sending an interception prompt from the webpage socket protocol channel to the client.
5. The method of claim 1, wherein after the pre-stored secure shell protocol channels are retrieved from storage according to the connection identification, further comprising:
Performing periodic state detection on at least one of the web socket protocol channel and the secure shell protocol channel;
and disconnecting the webpage socket protocol channel and the secure shell protocol channel under the condition that at least one of the webpage socket protocol channel and the secure shell protocol channel has abnormal state.
6. The method of claim 1, wherein after the asynchronously obtaining the command sent by the client from the web socket protocol channel, further comprises:
the command is stored in a retrieval database.
7. A data transmission device, wherein the device is applied to a server, and the server and a client are connected through a web socket protocol channel, the device comprising:
the device comprises an identifier acquisition module, a connection module and a host computer, wherein the identifier acquisition module is used for acquiring a connection identifier, and the connection identifier is used for indicating the client and the host computer;
the channel acquisition module is used for acquiring a pre-stored secure shell protocol channel in storage according to the connection identifier, wherein the secure shell protocol channel is used for connecting the host and corresponds to the connection identifier; the step of obtaining the pre-stored secure shell protocol channel in the storage according to the connection identifier comprises the following steps: determining a pre-stored secure shell protocol channel and the storage time of the secure shell protocol channel in storage according to the connection identifier; returning to the secure shell protocol channel if the storage time is less than an expiration time; returning a null value if the storage time is greater than or equal to the expiration time;
The command transmission module is used for acquiring a command sent by the client from the webpage socket protocol channel in an asynchronous mode and sending the command from the secure shell protocol channel to the host in an asynchronous mode;
and the result transmission module is used for acquiring the execution result of the host computer aiming at the command from the secure shell protocol channel in an asynchronous mode and sending the execution result to the client from the webpage socket protocol channel in an asynchronous mode.
8. An electronic device, the electronic device comprising: an interface, a bus, a memory and a processor, said interface, memory and processor being connected by said bus, said memory being for storing an executable program, said processor being configured to run said executable program for implementing the steps of the data transmission method according to any one of claims 1-6.
9. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon an executable program which is executed by a processor to implement the steps of the data transmission method according to any of claims 1-6.
CN202111596463.5A 2021-12-22 2021-12-22 Data transmission method, device, electronic equipment and storage medium Active CN114531498B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111596463.5A CN114531498B (en) 2021-12-22 2021-12-22 Data transmission method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111596463.5A CN114531498B (en) 2021-12-22 2021-12-22 Data transmission method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114531498A CN114531498A (en) 2022-05-24
CN114531498B true CN114531498B (en) 2024-01-09

Family

ID=81619777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111596463.5A Active CN114531498B (en) 2021-12-22 2021-12-22 Data transmission method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114531498B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036989A (en) * 2012-12-17 2013-04-10 北京奇虎科技有限公司 Socket server and socket service method
CN103634138A (en) * 2012-08-27 2014-03-12 阿里巴巴集团控股有限公司 Remote management, operation and maintenance method and system for distributed scheduling
WO2018096232A1 (en) * 2016-11-28 2018-05-31 Wallix Integration of a standard network protocol layer in a web browser by compilation to webassembly and use of a websocket
CN109511129A (en) * 2017-09-15 2019-03-22 中国移动通信集团广东有限公司 A kind of wireless network secure detection method and device
CN111935276A (en) * 2020-08-07 2020-11-13 中国联合网络通信集团有限公司 Remote host access method, device and equipment
EP3770773A1 (en) * 2017-08-28 2021-01-27 Luminati Networks Ltd. Method for improving content fetching by selecting tunnel devices
CN113067834A (en) * 2021-04-09 2021-07-02 上海新炬网络信息技术股份有限公司 Method for remotely controlling server based on Web browser
CN113645294A (en) * 2021-08-06 2021-11-12 腾讯科技(深圳)有限公司 Message acquisition method and device, computer equipment and message transmission system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634138A (en) * 2012-08-27 2014-03-12 阿里巴巴集团控股有限公司 Remote management, operation and maintenance method and system for distributed scheduling
CN103036989A (en) * 2012-12-17 2013-04-10 北京奇虎科技有限公司 Socket server and socket service method
WO2018096232A1 (en) * 2016-11-28 2018-05-31 Wallix Integration of a standard network protocol layer in a web browser by compilation to webassembly and use of a websocket
EP3770773A1 (en) * 2017-08-28 2021-01-27 Luminati Networks Ltd. Method for improving content fetching by selecting tunnel devices
CN109511129A (en) * 2017-09-15 2019-03-22 中国移动通信集团广东有限公司 A kind of wireless network secure detection method and device
CN111935276A (en) * 2020-08-07 2020-11-13 中国联合网络通信集团有限公司 Remote host access method, device and equipment
CN113067834A (en) * 2021-04-09 2021-07-02 上海新炬网络信息技术股份有限公司 Method for remotely controlling server based on Web browser
CN113645294A (en) * 2021-08-06 2021-11-12 腾讯科技(深圳)有限公司 Message acquisition method and device, computer equipment and message transmission system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"面向领域数据的高效数据获取方法研究与应用";任雪娇;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;全文 *

Also Published As

Publication number Publication date
CN114531498A (en) 2022-05-24

Similar Documents

Publication Publication Date Title
US11647009B2 (en) Access request conversion method and apparatus
US7433935B1 (en) Self-adapting plug-in service
US7840633B2 (en) Communicating messages between components in a client/server environment using an object broker
EP3837604B1 (en) In situ triggered function as a service within a service mesh
CN113630372A (en) Cloud edge coordination system for edge computing
CN110730196B (en) Network resource access method, computer equipment and storage medium
US20170039083A1 (en) Proxy response program, proxy response device and proxy response method
US8732694B2 (en) Method and system for performing services in server and client of client/server architecture
CN110769009B (en) User identity authentication method and system
US9363157B2 (en) Remotely controlling devices and processing asynchronous events for testing
US20140237538A1 (en) Input prediction in a database access control system
CN110442506B (en) Log acquisition method, device, service server, system and storage medium
CN114531498B (en) Data transmission method, device, electronic equipment and storage medium
EP3097662B1 (en) Methods, systems and computer readable media for testing network devices using simulated application traffic
US20210064419A1 (en) Task based service management platform
CN112688915A (en) Cross-protocol communication method, device and server
US20100185761A1 (en) Service provider node, and computer-readable recording medium storing service provider program
CN113746851B (en) Proxy system and method supporting real-time analysis of GRPC request
CN108228359B (en) Method and system for integrating web program and R program to process data
CN115484045A (en) Unified identity authentication method and system based on API gateway
Cisco Troubleshooting the Mainframe Application
Cisco Troubleshooting the Mainframe Application
US8989184B2 (en) Message relay apparatus and method
US8005924B2 (en) Unified support for web based enterprise management (“WBEM”) solutions
US8332694B2 (en) Method for notification of an error in data exchanged between a client and a server

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
GR01 Patent grant
GR01 Patent grant