CN114817899A - Inter-process communication method, device, electronic equipment and medium - Google Patents

Inter-process communication method, device, electronic equipment and medium Download PDF

Info

Publication number
CN114817899A
CN114817899A CN202210422770.XA CN202210422770A CN114817899A CN 114817899 A CN114817899 A CN 114817899A CN 202210422770 A CN202210422770 A CN 202210422770A CN 114817899 A CN114817899 A CN 114817899A
Authority
CN
China
Prior art keywords
communication
subprogram
main program
tcpsocket
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210422770.XA
Other languages
Chinese (zh)
Inventor
冯中心
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202210422770.XA priority Critical patent/CN114817899A/en
Publication of CN114817899A publication Critical patent/CN114817899A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

The embodiment of the invention provides a method, a device, electronic equipment and a medium for interprocess communication, wherein the method comprises the following steps: when a main program is started, calling a communication server integrated in the main program; when detecting that the subprogram of the main program is started, establishing TCPsocket connection between the main program and the subprogram through the communication server and a communication client integrated in the subprogram; the main program and the subprograms are stored in the same machine; and performing bidirectional authentication between the main program and the subprogram based on the TCPsocket connection, and after the authentication is passed, performing data transmission between the main program and the subprogram based on the TCPsocket connection. According to the embodiment of the invention, only the subprogram which is authenticated and negotiated is allowed to establish communication connection with the main program for data transmission through an authentication mechanism, so that the communication safety between the processes can be ensured, and the information leakage or destruction behaviors of the main program and the subprogram caused by disguising of the subprogram are avoided.

Description

Inter-process communication method and device, electronic equipment and medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to an interprocess communication method, an interprocess communication apparatus, an electronic device, and a computer-readable storage medium.
Background
In large-scale client project development, an interprocess communication technology is often used, at present, a server end and a client end are respectively integrated in a process for interprocess communication in the same machine, and data communication between every two processes can be carried out after connection is established between the server end and the client end.
Disclosure of Invention
In view of the above problems, embodiments of the present invention are provided to provide an inter-process communication method and a corresponding inter-process communication apparatus, an electronic device, and a computer-readable storage medium that overcome or at least partially solve the above problems.
The embodiment of the invention discloses a method for communication among processes, which comprises the following steps:
when a main program is started, calling a communication server integrated in the main program;
when detecting that the subprogram of the main program is started, establishing TCPsocket connection between the main program and the subprogram through the communication server and a communication client integrated in the subprogram; the main program and the subprograms are stored in the same machine;
and performing bidirectional authentication between the main program and the subprogram based on the TCPsocket connection, and after the authentication is passed, performing data transmission between the main program and the subprogram based on the TCPsocket connection.
Optionally, after detecting that the subprogram of the main program is started, establishing a TCPsocket connection between the main program and the subprogram by the communication server and the communication client integrated in the subprogram, where the method includes:
when the subprogram of the main program is detected to be started, sending an IP address and a port of the communication service end to the subprogram, calling and integrating the subprogram at the communication client of the subprogram, and establishing the TCPsocket connection with the communication service end through the communication client according to the IP address and the port; the subprogram is started after the main program successfully calls the communication service end.
Optionally, the performing bidirectional authentication between the main program and the sub-program based on the TCPsocket connection includes:
receiving, by the communication server, a tcPsocket connection request generated for the IP address and the port, which is returned by the communication client, and sending, by the communication server, a server confirmation message to the communication client according to the tcPsocket connection request;
receiving, by the communication server, a client confirmation message for the server confirmation message returned by the communication client, and sending, by the communication server, a first negotiation completion message to the communication client according to the client confirmation message;
and the communication service end receives a second negotiation completion message which is returned by the communication client and aims at the first negotiation completion message, sets the communication service end to be in a ready state according to the second negotiation completion message, and sends a transmission ready message to the communication client end so that the communication client end sets the communication client end to be in the ready state according to the transmission ready message to finish the bidirectional authentication.
Optionally, the data transmission between the main program and the subprogram is performed based on a preset service protocol, the preset service protocol is used for constructing and analyzing JSON format data by using a JSON bean mechanism, and the data transmission between the main program and the subprogram is performed based on the TCPsocket connection, and includes:
when the packet is sent based on the TCPsocket connection, packing JSON format transmission data defined by the preset service protocol, and sending a first data block obtained by packing;
and when the packet is received based on the TCPsocket connection, unpacking the received second data block, determining a target JsonBean class from a container for storing class name information of the unified register according to JsonBean class name information contained in JSON format transmission data obtained by unpacking, and creating a class instance based on the target JsonBean class to store the JSON format transmission data.
Optionally, the method further comprises:
monitoring the running state of the subprogram, and monitoring the collapse times of the subprogram within a preset monitoring time range when the subprogram is monitored to be in a non-running state;
if the number of times of collapse is not less than a preset first time threshold, determining whether to restart the subprogram or delay starting the subprogram according to the time interval of each time of collapse, and prolonging the time interval of delay starting under the condition of determining to delay starting the subprogram;
and if the collapse times are smaller than the preset first time threshold, delaying to start the subprogram, and setting the time interval of delaying to start as a preset value.
Optionally, the communication client has a corresponding unique session identifier, and the performing of data transmission between the main program and the sub program based on the TCPsocket connection includes:
when the communication server establishes TCPsocket connection with a plurality of communication clients, determining a target session identifier for data transmission, and determining a target communication client from a plurality of communication clients stored in advance based on the target session identifier;
and carrying out data transmission between the main program and a target subprogram corresponding to the target communication client based on the TCPsocket connection between the communication service end and the target communication client.
Optionally, the communication network library used for the TCPsocket connection is a tinyenet network library.
The embodiment of the invention also discloses a device for communication among processes, which comprises:
the calling-up module is used for calling up a communication server integrated in a main program when the main program is started;
the communication connection establishing module is used for establishing TCPsocket connection between the main program and the subprogram through the communication server and the communication client integrated in the subprogram after detecting that the subprogram of the main program is started; the main program and the subprograms are stored in the same machine;
and the authentication communication module is used for performing bidirectional authentication between the main program and the subprogram based on the TCPsocket connection, and performing data transmission between the main program and the subprogram based on the TCPsocket connection after the authentication is passed.
Optionally, the communication connection establishing module includes:
the sending sub-module is used for sending the IP address and the port of the communication service end to the subprogram after detecting that the subprogram of the main program is started, so that the subprogram invokes the communication client integrated in the subprogram, and the TCPsocket connection is established with the communication service end through the communication client according to the IP address and the port; the subprogram is started after the main program successfully calls the communication service end.
Optionally, the authentication communication module includes:
the first receiving and sending submodule is used for receiving a TCPsocket connection request which is returned by the communication client and generated aiming at the IP address and the port by the communication server, and sending a server confirmation message to the communication client by the communication server according to the TCPsocket connection request;
the second receiving and sending submodule is used for receiving a client confirmation message aiming at the server confirmation message returned by the communication client by the communication server, and sending a first negotiation completion message to the communication client by the communication server according to the client confirmation message;
and the third receiving and sending submodule is used for receiving a second negotiation completion message aiming at the first negotiation completion message returned by the communication client by the communication server, setting the communication client into a ready state according to the second negotiation completion message by the communication server, and sending a transmission ready message to the communication client by the communication server so that the communication client sets the communication client into the ready state according to the transmission ready message to complete the bidirectional authentication.
Optionally, data transmission is performed between the main program and the subprogram based on a preset service protocol, the preset service protocol is used for constructing and analyzing JSON format data by using a JSON bean mechanism, and the authentication communication module includes:
the packet sending submodule is used for packing the JSON format transmission data defined by the preset service protocol when the packet is sent based on the TCPsocket connection, and sending a first data block obtained by packing;
and the packet receiving submodule is used for unpacking the received second data block when packet receiving is connected based on the TCPsocket, determining a target JsonBean class from a container in which the unified register stores class name information according to the JsonBean class name information contained in the JSON format transmission data obtained by unpacking, and creating a class instance based on the target JsonBean class to store the JSON format transmission data.
Optionally, the apparatus further comprises:
the monitoring module is used for monitoring the running state of the subprogram and monitoring the collapse times of the subprogram within a preset monitoring time range when the subprogram is monitored to be in a non-running state;
the determining module is used for determining whether the subprogram is not restarted or the subprogram is delayed to be started according to the interval time of each crash if the crash times are not smaller than a preset first time threshold, and prolonging the time interval of delayed starting under the condition of determining that the subprogram is delayed to be started;
and the delayed starting module is used for delaying the starting of the subprogram and setting the time interval of delayed starting as a preset value if the collapse times are smaller than the preset first time threshold value.
Optionally, the communication client has a corresponding unique session identifier, and the authentication communication module includes:
the determining submodule is used for determining a target session identifier for data transmission when the communication server establishes TCPsocket connection with the plurality of communication clients, and determining the target communication client from the plurality of communication clients stored in advance based on the target session identifier;
and the communication sub-module is used for carrying out data transmission between the main program and a target sub-program corresponding to the target communication client based on the TCPsocket connection between the communication service terminal and the target communication client.
Optionally, the communication network library used for the TCPsocket connection is a tinyenet network library.
The embodiment of the invention also discloses an electronic device, which comprises: a processor, a memory and a computer program stored on the memory and capable of running on the processor, which computer program, when executed by the processor, carries out the steps of a method of inter-process communication as described above.
The embodiment of the invention also discloses a computer readable storage medium, wherein a computer program is stored on the computer readable storage medium, and when the computer program is executed by a processor, the steps of the interprocess communication method are realized.
The embodiment of the invention has the following advantages:
in the embodiment of the invention, for the main program and the subprogram stored in the same machine, the communication server integrated in the main program and the communication client integrated in the subprogram are used for establishing TCPsocket connection between the main program and the subprogram, and data interaction between the main program and the subprogram can be carried out only after negotiation authentication. By adopting the method, only the subprogram after authentication negotiation is allowed to establish communication connection with the main program for data transmission through the authentication mechanism, so that the communication safety between the processes can be ensured, and the information leakage or damage behaviors of the main program and the subprogram caused by disguising of the subprogram are avoided.
Drawings
FIG. 1 is a flowchart illustrating steps of a method for inter-process communication according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating steps of another inter-process communication method according to an embodiment of the present invention;
FIG. 3 is a flow chart of a method of interprocess communication according to an embodiment of the invention;
fig. 4 is a block diagram of an interprocess communication apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in detail below, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, not all of them. All other embodiments that can be derived by one of ordinary skill in the art from the embodiments given herein are intended to be within the scope of the present invention.
In large-scale client project development, an interprocess communication technology is often used, at present, a server end and a client end are respectively integrated in a process for interprocess communication in the same machine, and data communication between every two processes can be carried out after connection is established between the server end and the client end.
One of the core ideas of the embodiment of the present invention is that for a main program and a sub program stored in the same machine, a communication server integrated in the main program and a communication client integrated in the sub program are used to establish a TCPsocket connection between the main program and the sub program, and data interaction between the main program and the sub program can be performed only after negotiation authentication. By adopting the method, only the subprogram after authentication negotiation is allowed to establish communication connection with the main program for data transmission through the authentication mechanism, so that the communication safety between the processes can be ensured, and the information leakage or damage behaviors of the main program and the subprogram caused by disguising of the subprogram are avoided.
Referring to fig. 1, a flowchart illustrating steps of a method for inter-process communication according to an embodiment of the present invention is shown, which may specifically include the following steps:
step 101, when a main program is started, a communication server integrated in the main program is called.
The method of the embodiment of the invention can be applied to the development of a client project, and in the development of a large-scale client project, an interprocess communication technology is often required, and communication among processes is carried out in various modes, such as a pipeline, an anonymous pipeline (pipe), a named pipeline (FIFO), a Signal (Signal), a message queue, a shared memory, a socket (socket) and the like, wherein the modes have advantages and disadvantages.
The application program developed by the client can comprise a main program and a subprogram corresponding to the main program. A communication server is pre-integrated in the main program and can be represented by NIPCserver; the subprogram is pre-integrated with a communication client, which can be represented by NIPCclient, and can respectively refine a communication server and the communication client into components, thereby facilitating the integrated access of the client main program of the application program and the client terminal program.
When the main program is started, the communication server integrated in the main program can be called up, that is, the communication server can be started.
And step 102, after detecting that the subprogram of the main program is started, establishing TCPsocket connection between the main program and the subprogram through the communication server and the communication client integrated in the subprogram.
The main program and the subprogram may be stored in the same machine.
In the embodiment of the invention, the socket is adopted for inter-process communication, and the subprogram can be started only after the communication server is started. After detecting the starting of the subprogram, the TCPsocket connection between the main program and the subprogram can be established through the communication server integrated in the main program and the communication client integrated in the subprogram.
In one example, the IP address and port of the communication server may be sent to the subroutine, and then the subroutine invokes a communication client pre-integrated in the subroutine, which may establish a TCPsocket connection with the communication server according to the IP address and port, thereby establishing a TCPsocket connection between the driver program and the main program.
103, performing bidirectional authentication between the main program and the subprogram based on the tcPsocket connection, and after the authentication is passed, performing data transmission between the main program and the subprogram based on the tcPsocket connection.
In the embodiment of the invention, after the TCPsocket connection between the main program and the subprogram is established, the bidirectional authentication between the main program and the subprogram can be carried out based on the TCPsocket connection.
For example, after the NIPC server is started by the client main program, the client terminal program is started again after the NIPC server is started, the IP and the port (port) of the NIPC server are transmitted to the client terminal program through command line parameters, and the client terminal program establishes TCPsocket connection with the client main program according to the IP and the port of the NIPC server. After the connection is successfully established, the client main program and the client terminal program judge whether the connection is legal interprocess communication connection or not through a set of self-defined handshake authentication mode, and the data communication work among the processes can be formally started only after the authentication is successful. Namely, after the TCPsocket connection between the main program and the subprogram is determined to be a legal interprocess communication connection, the data communication work between the main program and the subprogram can be formally started.
In summary, in the embodiment of the present invention, for the main program and the sub program stored in the same machine, the communication server integrated in the main program and the communication client integrated in the sub program are used to establish the TCPsocket connection between the main program and the sub program, and the data interaction between the main program and the sub program can be performed only after negotiation authentication. By adopting the method, only the subprogram after authentication negotiation is allowed to establish communication connection with the main program for data transmission through the authentication mechanism, so that the communication safety between the processes can be ensured, and the information leakage or damage behaviors of the main program and the subprogram caused by disguising of the subprogram are avoided.
Referring to fig. 2, a flowchart illustrating steps of another inter-process communication method provided in the embodiment of the present invention is shown, which may specifically include the following steps:
step 201, when a main program is started, a communication server integrated in the main program is called.
The method of the embodiment of the invention can be applied to the development of the project of the client, and the application program developed by the client can comprise a main program and a subprogram corresponding to the main program. A communication server is pre-integrated in the main program and can be represented by NIPCserver; the subprogram is pre-integrated with a communication client, which can be represented by NIPCclient.
When the main program is started, the communication server integrated in the main program can be called up, that is, the communication server can be started.
Step 202, after detecting that the subprogram of the main program is started, establishing a tcPsocket connection between the main program and the subprogram through the communication server and the communication client integrated in the subprogram.
The main program and the subprogram may be stored in the same machine.
In the embodiment of the invention, the subprogram can be started only after the communication service end is started. After detecting the starting of the subprogram, the TCPsocket connection between the main program and the subprogram can be established through the communication server integrated in the main program and the communication client integrated in the subprogram.
For step 202, the following sub-steps may be performed:
and a substep S11, sending the IP address and the port of the communication service end to the subprogram after detecting that the subprogram of the main program is started, so that the subprogram invokes the communication client integrated in the subprogram, and establishes the TCPsocket connection with the communication service end through the communication client according to the IP address and the port.
The subprogram is started after the main program successfully calls the communication service end.
In the embodiment of the invention, the communication service end can specify the IP address and the port and can also use the IP address of the local communication service end. For an interprocess communication service running in the same computer, the IP address of the computer can be used as a designated IP address. After the communication server creates the NIPC server TCP transport, the corresponding port is acquired, and the acquired port may be used as the designated port.
Before the subprogram is pulled up by the main program, the communication service end needs to be started, then the appointed IP address and the appointed port are transmitted to the subprogram through the command line parameters used when the subprogram is pulled up, the subprogram calls the communication client integrated in the subprogram, and the communication client can initiate a TCPsocket connection request to the communication service end according to the appointed IP address and the appointed port and establish TCPsocket connection with the communication service end. The IP address and port may be stored for transmission in command line parameters used by the main program when calling the driver.
Step 203, the communication server receives a TCPsocket connection request generated for the IP address and the port returned by the communication client, and sends a server confirmation message to the communication client according to the TCPsocket connection request.
In the embodiment of the present invention, the communication client integrated in the subprogram may generate the corresponding TCPsocket connection request according to the acquired IP address and port, and send the TCPsocket connection request to the communication server.
The communication server integrated in the main program may send a server confirmation message to the communication client according to the received TCPsocket connection request.
Step 204, the communication server receives a client confirmation message aiming at the server confirmation message returned by the communication client, and the communication server sends a first negotiation completion message to the communication client according to the client confirmation message.
In the embodiment of the present invention, the communication client integrated in the subroutine may reply the client confirmation message to the communication server according to the received server confirmation message.
The communication server integrated in the main program may send a first negotiation completion message to the communication client according to the received client confirmation message.
Step 205, the communication server receives a second negotiation completion message for the first negotiation completion message returned by the communication client, and sets itself to a ready state according to the second negotiation completion message, and the communication server sends a transmission ready message to the communication client, so that the communication client sets itself to a ready state according to the transmission ready message, thereby completing the bidirectional authentication.
In the embodiment of the present invention, the communication client integrated in the sub-program may reply to the communication server with a second negotiation completion message according to the received first negotiation completion message.
The communication server integrated in the main program can set itself to be in a ready state according to the received second negotiation completion message, and send a transmission ready message to the communication client.
The communication client integrated in the subprogram can set itself to be in a ready state according to the received transmission ready message, so far, ipc (inter process communication) communication negotiation between the communication server and the communication client is completed.
And step 206, after the authentication is passed, performing data transmission between the main program and the subprogram based on the TCPsocket connection.
After the inter-process communication negotiation between the communication server and the communication client is completed, the data communication between the communication server and the communication client can be formally started.
In order to enable those skilled in the art to better understand steps 201 to 206 of the embodiment of the present invention, the following description is made by way of an example:
referring to fig. 3, a flowchart of an inter-process communication method according to an embodiment of the present invention is shown, where a communication server integrated with a main program is an NIPC server, a communication client integrated with a subprogram is an NIPC client, the main program and the subprogram may be respectively integrated with the NIPC server and the NIPC client, and a frame for performing IPC communication based on the NIPC server and the NIPC client is defined as an NIPC frame, and a specific flow for implementing inter-process communication is as follows:
1. the NIPC server is started in a main program, after the NIPC server is started, the main program transmits the IP and the port of the NIPC server to NIPCclient through command line parameters when starting the subprogram, and the NIPCclient initiates a TCP connection establishment request according to the IP and the port;
2. after receiving the connection request of the NIPCclient, the NIPC server sends a server ack notification to the NIPCclient;
3. after receiving the server ack notification, the NIPC client replies the client ack notification to the NIPC server;
4. after receiving the client ack notification, the NIPC server sends a notification of "negotiation completed" to the NIPC server;
5. after receiving the notification of "negotiation completed" of the NIPC server, the NIPC client replies the notification of "negotiation completed" to the NIPC server;
6. after receiving the notification of 'negotiation completed' of the NIPCclient, the NIPC server sets the NIPC server to be in a ready state and sends a 'transport ready' notification to the NIPCclient;
7. after receiving the notification of 'transport ready', the NIPCclient sets the NIPCclient to be in a ready state until IPC communication negotiation is completed; NIPCclient can initiate self-defined service protocol request to NIPC server;
8. after receiving the service protocol request of the NIPCclient, the NIPC server can perform corresponding processing and reply, and can also actively send a notification instruction to the NIPCclient.
For the local interprocess communication stored in the same machine, the authentication mechanism is established, and only the subprogram after the authentication negotiation is allowed to establish communication connection with the main program for data transmission, so that the interprocess communication safety can be ensured, and the information leakage or destruction behaviors of the main program and the subprogram caused by disguising of the subprogram are avoided.
In an optional embodiment of the present invention, data transmission is performed between the main program and the subprogram based on a preset service protocol, the preset service protocol is used to construct and analyze JSON format data by using a JSON bean mechanism, and as for step 206, the following steps may be performed:
substep S21, when sending a packet based on the TCPsocket connection, packing the JSON format transmission data defined by the preset service protocol, and sending a first data block obtained by packing;
and a substep S22, unpacking the received second data block when the packet is received based on the TCPsocket connection, determining a target JsonBean class from a container of the unified register for storing class name information according to the JsonBean class name information contained in the JSON format transmission data obtained by unpacking, creating a class instance based on the target JsonBean class, and storing the JSON format transmission data.
In the self-defined service protocol, a JSON-based service protocol format is adopted, and a JSonBean mechanism is used for realizing the conversion between JSON data of a service protocol layer and JSonBean Class of a service application layer, so that the complicated construction and analysis processes of JSON in the development and coding work are avoided, and the development efficiency of the service protocol is improved.
JsonBean has a unified JsonBean Class registry JsonBean Meta Metegrister and a distributor JsonBean Dispatch, after a specific service JsonBean Class is defined, the unique Class name of the JsonBean Class needs to be registered in the unified registry JsonBean Meta Metester first, the definition of a heavy-name JsonBean Class is avoided, and the registration information of the Class is stored by using std:: unordered _ map internally. When the JsonBean Class needs to be processed in the distributed service logic, the unique Class name of the JsonBean Class needs to be registered in the JsonBean dispatcher, so that accurate distribution and processing of a specific service protocol are realized.
The main interfaces of the JsonBean Class include:
(1) class name acquisition interface: conststd: string & JsonBean:: ClassName () const;
(2) interface to convert from JSON string to JSON bean class: JsonBean _ UniquePtrJsonBean:FromJsonString (constst std:: string & json _ str);
(3) interface to convert from JsonBean class to JSON string: std string JsonBean ToJsonString () const;
(4) interface to convert from JSonBean class to JSON object: json:: Value JsonBean:: ToJsonObject () const.
When inter-process communication is performed for packet transmission based on the established TCPsocket connection, JSON format transmission data defined by a preset service protocol may be packed, and a data block obtained by the packing may be transmitted.
When the inter-process communication is carried out and the package is received based on the established TCPsocket connection, the received data block can be unpacked, JsonBean class name information contained in the JSON format transmission data obtained through unpacking is determined, std of the JsonBean class name information is stored in a JsonBean MetaRegister of a unified register, a corresponding JsonBean class is found in an unordered _ map container, a corresponding class instance is created, and the analyzed JSON format transmission data is stored. A specific protocol data transmission process of the service layer is completed.
The currently adopted interprocess communication is to realize the construction and analysis of JSON format data of a service protocol based on a third-party library such as Jsoncpp, directly use the class (such as JsonValue class) of Jsoncpp during service development and directly read and write the information of each field of JSON data, and the construction and analysis process is complicated, and needs a developer to realize manual coding during each construction and analysis, so that the development efficiency is low. In the invention, the JSON format data is automatically constructed and analyzed through a JSonBean mechanism, a JSoncPp class is not directly used in service development, a self-defined JSonBean class is used, information of each field of Json data does not need to be read and written, members defined in the JSonBean class are directly read and written, and through automatic conversion between the JSonBean class and the JSON format data, the manual coding work in each construction and analysis of the Json format data is avoided, and the development efficiency is improved.
In an optional embodiment of the present invention, the JSON format transmission data may be further packed based on a preset binary serialization protocol, and unpacked based on a preset binary deserialization protocol.
The TCP socket data transmission of the NIPC framework can adopt a self-defined binary serialization protocol and a self-defined binary deserialization protocol for data transmission, and because the data volume transmitted in the NIPC framework is small and the confidentiality requirement is not high, the data compression and encryption processes can be omitted, and faster interactive response is realized.
When the interprocess communication package sending is carried out based on the established TCPsocket connection, the JSON format transmission data defined by the preset service protocol can be subjected to serialization packaging according to the self-defined binary serialization protocol, and the packaged data block is sent out by calling a socket sending data interface. Wherein the header of each data block may contain length information of the data block.
When the interprocess communication packet receiving is carried out based on the established TCPsocket connection, the received data block can be unpacked according to a self-defined binary deserialization protocol, and JSON format transmission data obtained by unpacking are sequentially stored in a buffer chain table of a socket data wrapper. Whether the packet receiving process is finished or not can be determined according to the length information in the received data block header and the length information in the cache linked list of the JSON format transmission data obtained by unpacking.
Each data block in the cache linked list is used for storing each complete data block which is received and unpacked. In the self-defined communication data packet format, the header of each data block is written with the data length value of the data block. When receiving data, unpacking the received data block according to the self-defined communication data packet format to obtain the first address and the length of the data block. Whether each data block is received and unpacked is judged according to whether the length of the data block is equal to the length of the data filled into the cache linked list, and if the length of the data block is equal, the data block is received and unpacked.
When the received data is processed, firstly checking whether the last data block stored in the linked list has received the data and is filled with the data, if so, allocating a new empty data block for unpacking the new data block and filling the new data block, otherwise, continuously using the last data block to receive the new data block until the last data block has received the data and is filled with the new data block. If the received data can be filled with one data block, after the data block is completely received and filled, the next data block is continuously allocated for processing the unprocessed remaining data received this time, and the process is repeated in this way until all the received data are unpacked. However, each time the received data is not full of one data block (the received data is not a complete data block), in case of not full, the data needs to wait for the next time the data is received to continue to be filled.
And when all the data received at one time are unpacked, sequentially taking out and distributing each complete data block stored in the linked list to an application layer, and processing upper-layer services by the application layer according to corresponding protocol definitions. And deleting the taken data blocks from the linked list. And for the data blocks which are not received completely, continuously keeping the data blocks in the linked list, and continuously filling the data blocks until the data blocks are received completely and unpacked completely when the data blocks are received next time.
In the NIPC framework, the packet receiving and transmitting processing mechanisms of the server end and the client end are the same, the processing is realized through a universal socket data processing encapsulation type socket data wrapper, the received data blocks are stored by using a linked list to ensure the correctness of the processing sequence, and a processing interface for receiving and transmitting packets is provided.
In the invention, the transmitted data is packed and unpacked through the user-defined serialization protocol and the deserialization protocol, and only the data which accords with the user-defined protocol can be packed or unpacked, thereby enhancing the safety of the inter-process communication.
In an optional embodiment of the present invention, the running state of the sub-program may be monitored, and specifically, the following steps may be performed:
monitoring the running state of the subprogram, and monitoring the collapse times of the subprogram within a preset monitoring time range when the subprogram is monitored to be in a non-running state; if the number of times of collapse is not less than a preset first time threshold, determining whether to restart the subprogram or delay starting the subprogram according to the time interval of each time of collapse, and prolonging the time interval of delay starting under the condition of determining to delay starting the subprogram; and if the collapse times are smaller than the preset first time threshold, delaying to start the subprogram, and setting the time interval of delaying to start as a preset value.
In one example, the NIPC framework also provides a mechanism to automatically monitor whether the pulled-up client daemon is alive, automatically attempting to re-pull if the pulled-up client daemon crashes abnormally. A timing (e.g., every 5 seconds) monitoring mechanism can be started, whether the pulled-up client terminal program survives is judged by using an inter-process shared memory mechanism, and the time for automatically pulling up the client terminal program is optimized by using a back-off algorithm, so that unnecessary frequent pulling-up operations when the monitored client terminal program repeatedly breaks down abnormally in a short time are avoided, and user experience is optimized. The main processing flow of the back-off algorithm is as follows:
(1) a timed (every 5 seconds) monitoring mechanism is enabled.
(2) When the timer expires, if the client sub-program is in the running state, the time interval (delay _ restart _ time) for delaying the start of the client sub-program is set to 0 second, and the next round of monitoring for survival is waited. And if the client terminal program is in the non-running state, starting to monitor the crash condition of the sub program, and starting to time and count the crash of the sub program.
(3) If the subroutine crashes 10 times or more, the average time interval for each crash is calculated. If the time interval is less than 15 seconds, the time length of each crash is considered to be too short, and the client sub-program is not tried to be restarted, otherwise, the client sub-program needs to be tried to be started in a delayed mode according to the set delay _ restart _ time, the time interval of delayed starting can be doubled and prolonged, and the longest prolonged time is limited to 300 seconds.
(4) If the subroutine crashes less than 10 times, the subroutine is delayed and the time interval for delayed startup is set to a fixed 5 seconds.
(5) The automatic monitoring timer is destroyed only when the client main program is cancelled or quitted, so that the client terminal program can be pulled up by the client main program as quickly as possible after being abnormally quitted.
In an alternative embodiment of the present invention, the communication client has a corresponding unique session identifier, and for step 206, the following steps may be performed:
and a substep S31, determining a target session identifier for data transmission when the communication server establishes a TCPsocket connection with the plurality of communication clients, and determining a target communication client from the plurality of communication clients stored in advance based on the target session identifier.
And a substep S32 of performing data transmission between the main program and a target subprogram corresponding to the target communication client based on the TCPsocket connection between the communication server and the target communication client.
The NIPC framework can also realize the connection management of a single NIPC server and a plurality of NIPC clients, and different clients can be distinguished through session identifiers (session ids), so that the packet receiving and sending processes connected by a plurality of TCP sockets can be processed at the same time, and the requirements of more interprocess communication service scenes are met. Wherein, the session id and the client corresponding to the session id can be managed by using the std-unordered _ map container, so as to realize quick search.
In an alternative embodiment of the present invention, the communication network library used for the TCPsocket connection is a TinyNET network library.
At present, large-scale cross-platform network libraries such as ACE, boost, Asio, POCO and the like are more, but the invention does not want to introduce such a huge third-party library and does not prepare to depend on Qt on the aspect of the network library, so that an NIPC framework uses a lightweight network library TinyNET (a pure C developed full-platform network library, an open source client project from Doubango Telecom) which is verified by mature products in the industry as a network library of TCP communication, and a thin layer of C + + type packaging is made on the basis, so that the use is convenient.
The invention provides a set of lightweight and full-platform interprocess communication framework NIPC. The whole communication frame realizes TCPsocket based on a cross-platform network library TinyNET, and establishes communication connection between a client main program and a client terminal program.
The data communication between the processes is all carried out based on the self-defined service protocol. In the realization of the self-defined service protocol, a service protocol format based on JSON is adopted, the service protocol expansibility is good, the conversion between JSON data of a service protocol layer and JSon bean Class of a service application layer is conveniently realized by using a JSonbean mechanism, the calling of the service upper layer is greatly facilitated, the complicated construction and analysis process of the JSON in the development and coding work is also avoided, and the development efficiency of the service protocol is improved. The serialization and deserialization of the service protocol packet can be conveniently realized through a JsonBean mechanism.
The NIPC framework also realizes the connection management of a single server and a plurality of clients, different clients are distinguished through session ids, the packet receiving and sending processes of a plurality of TCP socket connections can be processed simultaneously, and the requirements of more interprocess communication service scenes are met.
In addition, the NIPC framework also provides a mechanism for automatically monitoring whether the pulled client terminal program survives and a mechanism for automatically pulling up the client terminal program again, and a back-off algorithm is used for optimizing the time for automatically pulling up the client terminal program, so that unnecessary frequent pulling-up operation when the monitored client terminal program is repeatedly abnormally broken in a short time is avoided, and the user experience is optimized.
Since the used underlying network library TinyNET supports a full platform, the set of interprocess communication framework NIPC can also be applied to an application program with a full platform interprocess communication requirement. The frame respectively refines the NIPC server end and the NIPC client end into components, and greatly facilitates the integrated access of the client-side main program and the client-side terminal program of the application program.
In summary, in the embodiment of the present invention, for the main program and the sub program stored in the same machine, the communication server integrated in the main program and the communication client integrated in the sub program are used to establish the TCPsocket connection between the main program and the sub program, and the data interaction between the main program and the sub program can be performed only after negotiation authentication. By adopting the method, only the subprogram after authentication negotiation is allowed to establish communication connection with the main program for data transmission through the authentication mechanism, so that the communication safety between the processes can be ensured, and the information leakage or damage behaviors of the main program and the subprogram caused by disguising of the subprogram are avoided.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
Referring to fig. 4, a block diagram of a interprocess communication apparatus according to an embodiment of the present invention is shown, which specifically includes the following modules:
the calling-up module 401 is used for calling up a communication server integrated in a main program when the main program is started;
a communication connection establishing module 402, configured to, after detecting that the sub program of the main program is started, establish a TCPsocket connection between the main program and the sub program through the communication server and the communication client integrated in the sub program; the main program and the subprograms are stored in the same machine;
an authentication communication module 403, configured to perform bidirectional authentication between the main program and the sub-program based on the tcPsocket connection, and perform data transmission between the main program and the sub-program based on the tcPsocket connection after the authentication is passed.
In this embodiment of the present invention, the communication connection establishing module includes:
the sending sub-module is used for sending the IP address and the port of the communication service end to the subprogram after detecting that the subprogram of the main program is started, so that the subprogram invokes the communication client integrated in the subprogram, and the TCPsocket connection is established with the communication service end through the communication client according to the IP address and the port; the subprogram is started after the main program successfully calls the communication service end.
In an embodiment of the present invention, the authentication communication module includes:
the first receiving and sending submodule is used for receiving a TCPsocket connection request which is returned by the communication client and generated aiming at the IP address and the port by the communication server, and sending a server confirmation message to the communication client by the communication server according to the TCPsocket connection request;
the second receiving and sending submodule is used for receiving a client confirmation message aiming at the server confirmation message returned by the communication client by the communication server, and sending a first negotiation completion message to the communication client by the communication server according to the client confirmation message;
and the third receiving and sending submodule is used for receiving a second negotiation completion message aiming at the first negotiation completion message returned by the communication client by the communication server, setting the communication client into a ready state according to the second negotiation completion message by the communication server, and sending a transmission ready message to the communication client by the communication server so that the communication client sets the communication client into the ready state according to the transmission ready message to complete the bidirectional authentication.
In the embodiment of the present invention, data transmission is performed between the main program and the subprogram based on a preset service protocol, the preset service protocol is used for constructing and analyzing JSON format data by using a JSON bean mechanism, and the authentication communication module includes:
the packet sending submodule is used for packing the JSON format transmission data defined by the preset service protocol when the packet is sent based on the TCPsocket connection, and sending a first data block obtained by packing;
and the packet receiving submodule is used for unpacking the received second data block when packet receiving is connected based on the TCPsocket, determining a target JsonBean class from a container in which the unified register stores class name information according to the JsonBean class name information contained in the JSON format transmission data obtained by unpacking, and creating a class instance based on the target JsonBean class to store the JSON format transmission data.
In an embodiment of the present invention, the apparatus further includes:
the monitoring module is used for monitoring the running state of the subprogram and monitoring the collapse times of the subprogram within a preset monitoring time range when the subprogram is monitored to be in a non-running state;
the determining module is used for determining whether the subprogram is not restarted or the subprogram is delayed to be started according to the interval time of each crash if the crash times are not smaller than a preset first time threshold, and prolonging the time interval of delayed starting under the condition of determining that the subprogram is delayed to be started;
and the delayed starting module is used for delaying the starting of the subprogram and setting the time interval of delayed starting as a preset value if the collapse times are smaller than the preset first time threshold value.
In this embodiment of the present invention, the communication client has a corresponding unique session identifier, and the authentication communication module includes:
the determining submodule is used for determining a target session identifier for data transmission when the communication server establishes TCPsocket connection with the plurality of communication clients, and determining the target communication client from the plurality of communication clients stored in advance based on the target session identifier;
and the communication sub-module is used for carrying out data transmission between the main program and a target sub-program corresponding to the target communication client based on the TCPsocket connection between the communication service terminal and the target communication client.
In the embodiment of the invention, the communication network library adopted by the TCPsocket connection is a TinyNET network library.
In summary, in the embodiment of the present invention, for the main program and the sub program stored in the same machine, the communication server integrated in the main program and the communication client integrated in the sub program are used to establish the TCPsocket connection between the main program and the sub program, and the data interaction between the main program and the sub program can be performed only after negotiation authentication. By adopting the method, only the subprogram after authentication negotiation is allowed to establish communication connection with the main program for data transmission through the authentication mechanism, so that the communication safety between the processes can be ensured, and the information leakage or damage behaviors of the main program and the subprogram caused by disguising of the subprogram are avoided.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
An embodiment of the present invention further provides an electronic device, including: the processor, the memory, and the computer program stored in the memory and capable of running on the processor, when executed by the processor, implement each process of the above-mentioned interprocess communication method embodiment, and can achieve the same technical effect, and are not described herein again to avoid repetition.
The embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements each process of the inter-process communication method embodiment, and can achieve the same technical effect, and is not described herein again to avoid repetition.
The embodiments in the present specification are all described in a progressive manner, and each embodiment focuses on differences from other embodiments, and portions that are the same and similar between the embodiments may be referred to each other.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal 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 terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The present invention provides an interprocess communication method and an interprocess communication apparatus, an electronic device and a computer-readable storage medium, which are described in detail above, and the detailed examples are applied herein to illustrate the principles and embodiments of the present invention, and the above descriptions of the embodiments are only used to help understand the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (10)

1. A method for interprocess communication, the method comprising:
when a main program is started, calling a communication server integrated in the main program;
when detecting that the subprogram of the main program is started, establishing TCPsocket connection between the main program and the subprogram through the communication server and a communication client integrated in the subprogram; the main program and the subprograms are stored in the same machine;
and performing bidirectional authentication between the main program and the subprogram based on the TCPsocket connection, and performing data transmission between the main program and the subprogram based on the TCPsocket connection after the authentication is passed.
2. The method according to claim 1, wherein the establishing of the TCPsocket connection between the main program and the sub program through the communication server and the communication client integrated in the sub program after detecting the start of the sub program of the main program comprises:
when the subprogram of the main program is detected to be started, sending an IP address and a port of the communication service end to the subprogram, calling and integrating the subprogram at the communication client of the subprogram, and establishing the TCPsocket connection with the communication service end through the communication client according to the IP address and the port; the subprogram is started after the main program successfully calls the communication service end.
3. The method according to claim 2, wherein the performing the bidirectional authentication between the main program and the sub-program based on the TCPsocket connection comprises:
receiving, by the communication server, a TCPsocket connection request generated for the IP address and the port, the request being returned by the communication client, and sending, by the communication server, a server confirmation message to the communication client according to the TCPsocket connection request;
receiving, by the communication server, a client confirmation message for the server confirmation message returned by the communication client, and sending, by the communication server, a first negotiation completion message to the communication client according to the client confirmation message;
and the communication service end receives a second negotiation completion message which is returned by the communication client and aims at the first negotiation completion message, sets the communication service end to be in a ready state according to the second negotiation completion message, and sends a transmission ready message to the communication client end so that the communication client end sets the communication client end to be in the ready state according to the transmission ready message to finish the bidirectional authentication.
4. The method according to claim 1, wherein data transmission between the main program and the subprograms is performed based on a preset service protocol, the preset service protocol is used for constructing and analyzing JSON format data by using a JSON bean mechanism, and the data transmission between the main program and the subprograms is performed based on the TCPsocket connection, and the method includes:
when sending a packet based on the TCPsocket connection, packaging JSON format transmission data defined by the preset service protocol, and sending a first data block obtained by packaging;
and when the packet is received based on the TCPsocket connection, unpacking the received second data block, determining a target JsonBean class from a container for storing class name information of the unified register according to JsonBean class name information contained in JSON format transmission data obtained by unpacking, and creating a class instance based on the target JsonBean class to store the JSON format transmission data.
5. The method of claim 1, further comprising:
monitoring the running state of the subprogram, and monitoring the collapse times of the subprogram within a preset monitoring time range when the subprogram is monitored to be in a non-running state;
if the number of times of collapse is not less than a preset first time threshold, determining whether to restart the subprogram or delay starting the subprogram according to the time interval of each time of collapse, and prolonging the time interval of delay starting under the condition of determining to delay starting the subprogram;
and if the collapse times are smaller than the preset first time threshold, delaying to start the subprogram, and setting the time interval of delaying to start as a preset value.
6. The method according to claim 1, wherein the communication client has a corresponding unique session identifier, and the performing of the data transmission between the main program and the sub-program based on the TCPsocket connection comprises:
when the communication server establishes TCPsocket connection with a plurality of communication clients, determining a target session identifier for data transmission, and determining a target communication client from a plurality of communication clients stored in advance based on the target session identifier;
and carrying out data transmission between the main program and a target subprogram corresponding to the target communication client based on the TCPsocket connection between the communication service end and the target communication client.
7. The method according to claim 1, wherein the communication network library used by the TCPsocket connection is tinyenet network library.
8. An apparatus for interprocess communication, the apparatus comprising:
the calling-up module is used for calling up a communication server integrated in a main program when the main program is started;
the communication connection establishing module is used for establishing TCPsocket connection between the main program and the subprogram through the communication server and the communication client integrated in the subprogram after detecting that the subprogram of the main program is started; the main program and the subprograms are stored in the same machine;
and the authentication communication module is used for performing bidirectional authentication between the main program and the subprogram based on the TCPsocket connection, and performing data transmission between the main program and the subprogram based on the TCPsocket connection after the authentication is passed.
9. An electronic device, comprising: processor, memory and computer program stored on the memory and capable of running on the processor, which computer program, when executed by the processor, carries out the steps of a method of communication between processes according to any one of claims 1 to 7.
10. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of a method of communication between processes according to any one of claims 1 to 7.
CN202210422770.XA 2022-04-21 2022-04-21 Inter-process communication method, device, electronic equipment and medium Pending CN114817899A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210422770.XA CN114817899A (en) 2022-04-21 2022-04-21 Inter-process communication method, device, electronic equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210422770.XA CN114817899A (en) 2022-04-21 2022-04-21 Inter-process communication method, device, electronic equipment and medium

Publications (1)

Publication Number Publication Date
CN114817899A true CN114817899A (en) 2022-07-29

Family

ID=82505599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210422770.XA Pending CN114817899A (en) 2022-04-21 2022-04-21 Inter-process communication method, device, electronic equipment and medium

Country Status (1)

Country Link
CN (1) CN114817899A (en)

Similar Documents

Publication Publication Date Title
US20170324846A1 (en) Hardware-based packet editor
CN109815025B (en) Service model calling method, device and storage medium
WO2017097210A1 (en) Method, apparatus and system for upgrading software
CN108881425B (en) Data packet processing method and system
EP4221233A1 (en) Data download method and apparatus, computer device and storage medium
WO2019218478A1 (en) Response method and device for call service
CN108833565A (en) A kind of method, apparatus of monitoring server, server and storage medium
CN111277600B (en) Data transmission method and device
CN114374632A (en) Internet of things data platform multi-protocol test efficiency improvement method
CN111935017A (en) Cross-network application calling method and device and routing equipment
CN104570967B (en) Long-range control method and system based on android system
EP2445171A1 (en) File transfer protocol client and implementing method thereof
CN114817899A (en) Inter-process communication method, device, electronic equipment and medium
US20220400082A1 (en) Ephemeral data stream routing service
CN112667359B (en) Data transparent transmission method, electronic equipment and storage medium
WO2018133828A1 (en) Data processing method and device utilized in client terminal
CN109218371B (en) Method and equipment for calling data
CN115268909A (en) Method, system and terminal for establishing and running construction task at web front end
CN111769910B (en) Data transmission method and device
CN111669364B (en) Data transmission method, device, electronic equipment and medium
CN114338461A (en) Network connection monitoring method and related equipment
CN113489775A (en) VPP-based seven-layer load balancing server and load balancing method
CN114024822A (en) Block chain-based Internet of things equipment management method, equipment, server and medium
CN113630466A (en) Data transmission method, system, electronic device and storage medium
CN111901689A (en) Streaming media data transmission method and device, terminal equipment and storage medium

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