[go: up one dir, main page]

CN112202872A - Data forwarding method, API gateway and message service system - Google Patents

Data forwarding method, API gateway and message service system Download PDF

Info

Publication number
CN112202872A
CN112202872A CN202011039321.4A CN202011039321A CN112202872A CN 112202872 A CN112202872 A CN 112202872A CN 202011039321 A CN202011039321 A CN 202011039321A CN 112202872 A CN112202872 A CN 112202872A
Authority
CN
China
Prior art keywords
websocket
connection request
authentication
proxy server
server
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
CN202011039321.4A
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.)
Huayun Data Holding Group Co ltd
Original Assignee
Shengshi Dalian Online Insurance Agency Co ltd
Huayun Data Holding Group 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 Shengshi Dalian Online Insurance Agency Co ltd, Huayun Data Holding Group Co Ltd filed Critical Shengshi Dalian Online Insurance Agency Co ltd
Priority to CN202011039321.4A priority Critical patent/CN112202872A/en
Publication of CN112202872A publication Critical patent/CN112202872A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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/08Protocols for interworking; Protocol conversion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a data forwarding method, an API gateway and a message service system, wherein the method comprises the steps that a preposed filtering unit positioned in the API gateway executes authentication and authorization on a Websocket connection request initiated by a client; forwarding the Websocket connection request conforming to authentication and authorization to a Websocket proxy server to determine at least one target micro-service instance corresponding to the Websocket connection request; the Websocket proxy server establishes two independent Websocket connections with the client and the back-end server respectively, and establishes heartbeat detection on the two independent Websocket connections simultaneously. By the invention, uniform authentication, authentication and current limitation are performed on the Websocket connection request, reliable forwarding of data based on the Websocket protocol is realized, the stability of long connection is ensured, and the resource overhead of the whole message service system is reduced.

Description

Data forwarding method, API gateway and message service system
Technical Field
The present invention relates to the field of message service technologies, and in particular, to a data forwarding method, an API gateway, and a message service system.
Background
The WebSocket protocol realizes full-duplex communication (full-duplex) between the browser and the server, can better save server resources and bandwidth, and achieves the purpose of real-time communication. The establishment of the WebSocket protocol requires that the WebSocket full-duplex bidirectional communication is established after the server returns the state code 101 by means of the HTTP protocol. The WebSocket protocol can guarantee long connection transmission, but a load balancer based on Nginx forwards a WebSocket request, the WebSocket request can be forwarded, but the WebSocket request is disconnected within a period of time, and meanwhile, an authentication mechanism and an authentication mechanism of the Nginx cannot be customized. Meanwhile, although the conventional API gateway forwarding can ensure normal forwarding of the request, the conventional API gateway forwarding has the defect of insufficient WebSocket forwarding support.
After retrieval, the applicant finds that the chinese patent application with publication number CN109889454A discloses a message pushing device and method of micro service architecture. The prior art aims to reduce the probability that a message cannot be pushed due to service failure by establishing a plurality of Websocket service processes in a microservice architecture and a message queue, thereby improving the efficiency and stability of message pushing and reducing the pressure of a server.
The applicant indicates that the prior art aims to monitor the Websocket service process and does not realize the Websocket forwarding function; meanwhile, the message pushing device based on the micro-service architecture disclosed by the prior art depends on a login authentication module, a WebSocket message monitoring module, a WebSocket message pushing module and a message queue module. The applicant indicates that the prior art not only has the defect of complex architecture, but also cannot effectively adapt to the use scene based on the micro-service architecture, because the prior art does not disclose the use of the API gateway; meanwhile, in the prior art, when a user logs in a browser (e.g., an IE browser), because a plurality of WebSocket services exist, only one WebSocket service can be monitored through a login authentication module at this time, and this technical route is not suitable for a high-concurrency access scenario.
In addition, other WebSocket forwarding services in the prior art cannot provide stable services, and are automatically disconnected after a period of time. When a HAproxy load balancer is used for flow distribution, the WebSocket cannot be guaranteed to run stably, and the WebSocket can be automatically disconnected after the timeout time is exceeded, so that an authentication and authorization mechanism cannot be defined, a Lua script needs to run in Nginx (a high-performance HTTP and reverse proxy WEB server), and the design of a message forwarding system is complicated indirectly. Finally, neither current Nginx nor prior art API gateways provide a heartbeat detection mechanism to guarantee the effectiveness of long connections in highly available scenarios.
In view of the above, there is a need to improve the data forwarding method and the message service system of the Websocket protocol in the prior art to solve the above problems.
Disclosure of Invention
The invention aims to disclose a data forwarding method based on a Websocket protocol, an API gateway and a message service system, which are used for overcoming various defects in the prior art, particularly for solving the problem that messages execute efficient Websocket forwarding operation between a client and a back-end server, realizing bidirectional heartbeat detection under a micro-service architecture, ensuring the effectiveness of long connection and realizing current limiting and fusing in the forwarding process of a Websocket connection request.
In order to achieve one of the above objects, the present invention provides a data forwarding method based on Websocket protocol, including the following steps:
s1, the prepositive filtering unit in the API gateway executes authentication and authorization to the Websocket connection request initiated by the client;
s2, forwarding the Websocket connection request conforming to authentication and authorization to a Websocket proxy server, and determining at least one target micro-service instance corresponding to the Websocket connection request by the Websocket proxy server;
s3, establishing two independent Websocket connections with the client and the back-end server respectively by the Websocket proxy server, and establishing heartbeat detection on the two independent Websocket connections simultaneously by the Websocket proxy server.
As a further improvement of the present invention, after the pre-filter unit performs authentication and authorization on the Websocket connection request initiated from the client in step S1, the pre-filter unit performs current limiting on the Websocket connection request, and performs forwarding on the Websocket connection request that conforms to the authentication, authorization, and current limiting at the same time.
As a further improvement of the present invention, in step S3, after the Websocket proxy server establishes two independent Websocket connections with the client and the backend server, respectively, the method further includes:
and intercepting and formatting the returned data formed based on the Websocket connection by adopting a post-filter unit which is arranged in the API gateway and connected with the Websocket proxy server, and establishing the Websocket connection with a back-end server through an output end configured by the API gateway.
As a further improvement of the present invention, before the pre-filter unit performs authentication and authorization on the Websocket connection request initiated from the client in step S1, the method further includes: and determining whether the port number configuration contained in the Websocket connection request is registered in the API gateway in advance, and only executing forwarding on the Websocket connection request corresponding to the API gateway, which is registered in advance in the Websocket connection request, so as to respond to the target micro-service instance.
As a further improvement of the present invention, in step S3, the Websocket proxy server detects heartbeats established for two independent Websocket connections at the same time as bidirectional heartbeat detection, the Websocket connection request initiated by the client is forwarded by the Web server to the Web load balancer, and it is determined whether the Web load balancer performs a disconnection operation on a long connection established by the Websocket connection request that is overtime according to a result of the bidirectional heartbeat detection.
Based on the same inventive concept, to achieve one of the above objects, the present invention further provides an API gateway, comprising:
the front-end filtering unit is used for executing authentication and authorization on a Websocket connection request initiated by a client; and
the system comprises a Websocket proxy server, wherein the Websocket proxy server is provided with an authentication unit for performing authentication on a Websocket connection request and an authentication unit for performing authentication, receives the Websocket connection request conforming to the authentication and the authentication, determines at least one target micro-service instance corresponding to the Websocket connection request by the Websocket proxy server, establishes two independent Websocket connections with a client and a back-end server respectively by the Websocket proxy server, and simultaneously establishes heartbeat detection on the two independent Websocket connections by the Websocket proxy server.
As a further improvement of the invention, the method also comprises the following steps:
an output that establishes a Websocket connection with a backend server, an
A current limiting unit mounted to the Websocket proxy server and performing current limiting on the Websocket connection request;
the preposed filtering unit forwards the Websocket connection request which simultaneously accords with authentication, authentication and current limiting.
As a further improvement of the invention, the method also comprises the following steps:
the post-filter unit is configured between the Websocket proxy server and the output end;
the post-filter unit is arranged in the API gateway and connected with the Websocket proxy server, carries out interception operation and formatting operation on return data formed based on Websocket connection, and establishes Websocket connection with the back-end server through the output end.
As a further improvement of the present invention, the Websocket proxy server detects heartbeats established by two independent Websocket connections at the same time as bidirectional heartbeat detection, the Websocket connection request initiated by the client is forwarded to the Web load balancer by the Web server, and whether the Web load balancer performs disconnection operation on a long connection established by the overtime Websocket connection request is determined according to a result of the bidirectional heartbeat detection.
Finally, the present invention also provides a message service system, comprising:
a Web server receiving a Websocket connection request initiated from a client, a Web load balancer, a back-end server, and
the API gateway according to the second invention;
the API gateway is configured with a Websocket proxy server, the Websocket proxy server is respectively connected with a client side and a back-end server to establish two independent Websocket connections, and the Websocket proxy server is used for simultaneously establishing heartbeat detection on the two independent Websocket connections.
Compared with the prior art, the invention has the beneficial effects that:
firstly, in the application, when a Websocket connection request is requested, unified authentication, authentication and current limiting can be executed through an API gateway, forwarding operation is executed on the Websocket connection request which accords with the authentication, authentication and current limiting strategies, two independent Websocket connections are established in a distributed scene with the front end and the rear end separated and high availability, a bidirectional Websocket data forwarding channel is established, and bidirectional heartbeat detection is established on the two independent Websocket connections by the Websocket proxy server at the same time, so that reliable forwarding of data based on a Websocket protocol is realized;
meanwhile, in the process of data forwarding through the bidirectional Websocket data forwarding channel, stability and reliability of long connection are ensured through bidirectional heartbeat detection, disconnection operation can be executed on the long connection established by the overtime Websocket connection request to release resources, and therefore resource overhead of the whole message service system is reduced.
Drawings
Fig. 1 is an overall flowchart of a Websocket protocol-based data forwarding method of the present invention;
FIG. 2 is an overall topology diagram of a message service system according to the present invention;
fig. 3 is a detailed topology diagram of a message service system shown in fig. 2, in an embodiment, the message service system runs the Websocket protocol-based data forwarding method shown in fig. 1 and includes an API gateway;
fig. 4 is a detailed topology diagram of a message service system shown in fig. 2, which runs the Websocket protocol-based data forwarding method shown in fig. 1 and includes another API gateway, in another embodiment.
Detailed Description
The present invention is described in detail with reference to the embodiments shown in the drawings, but it should be understood that these embodiments are not intended to limit the present invention, and those skilled in the art should understand that functional, methodological, or structural equivalents or substitutions made by these embodiments are within the scope of the present invention.
Before describing in detail various embodiments of the present application, the meanings of main terms appearing in the embodiments are briefly described.
Term "Long connection": similar to the long connection communication mode of Socket. Once the WebSocket connection is established, subsequent data is transmitted in the form of a frame sequence. Before the client disconnects the WebSocket connection or the Server end interrupts the connection, the client and the Server end do not need to initiate the connection request again. Under the conditions of massive concurrency and large interactive load flow of the client and the server, the consumption of network bandwidth resources is greatly saved, the method has obvious performance advantages, the messages sent and received by the client are initiated on the same persistent connection, and the real-time advantage is obvious.
Term "Micro-services": the application program is divided into a plurality of services, the services are coordinated with one another, each service runs in an independent process, and the services are communicated with one another by adopting a lightweight communication mechanism.
Term "WebSocket": HTML5 defines a WebSocket protocolThe protocol can better save server resources and bandwidth, can carry out communication in real time, and is a protocol for carrying out full-duplex communication on a single TCP connection.
The applicant describes the specific implementation process of the invention through the following embodiments.
The first embodiment is as follows:
referring to fig. 1 to 4, the present embodiment discloses a data forwarding method based on a Websocket protocol, which includes the following steps.
At step S1, the pre-filter unit 22 located in the API gateway 20 performs authentication and authorization on the Websocket connection request initiated from the client terminal 10.
The Websocket connection request initiated from the client 10 to the backend server 30 contains a plurality of request fields, as shown below.
Connection field: the Connection field must be set to Upgrade, indicating that the client wishes to connect to an Upgrade.
An Updide field: the Upgrade field must be set to WebSocket, indicating that the HTTP protocol is converted (upgraded) to the WebSocket protocol using HTTP Upgrade after fetching the server response.
Sec-WebSocket-key field: and the random character string is used for verifying whether the protocol is a WebSocket protocol instead of an HTTP protocol.
Sec-WebSocket-Version field: a version using WebSocket is shown.
Sec-WebSocket-Accept field: and calculating according to the Sec-WebSocket-Accept and the special character string, and verifying whether the protocol is the WebSocket protocol.
Sec-WebSocket-Location field: corresponding to the Host field, an address requesting the WebSocket protocol is represented.
HTTP/1.1101 Switching Protocols field: the 101 state code represents an upgrading protocol, after the 101 state code is returned, the HTTP protocol finishes working and is converted into a WebSocket protocol, and at the moment, full-duplex bidirectional WebSocket connection can be carried out.
The basic principle of Websocket connection is as follows: the client 10 first sends a handshake request to the backend server 30, sending a sec-websocket-key authentication handshake. After the socket of the backend server 30 monitors the packet, a new socket is generated, and the Sec-WebSocket-Key in the sent data is analyzed. Then according to the "Sec-WebSocket-Ke" magic string "258 EAFA5-E914-47DA-95CA-C5AB0DC85B 11". And encrypting by using SHA-1, then coding by using BASE-64, and returning the result to the client as the value of a header of 'Sec-WebSocket-Accept'. The client 10, upon receiving the BASE-64 encoding, will convert (upgrade) the communication protocol to the Websocket protocol. The handshake is successfully completed by establishing a full-duplex bidirectional Websocket channel, and then communication is performed under the persistent channel, including inquiry of the browser 11, push of the server, and mutual communication between the client 10 and the backend server 30 in a full-duplex state. And the format of the data transmission frame in the switched Websocket protocol.
Before the pre-filter unit 22 performs authentication and authorization on the Websocket connection request initiated from the client 10 in step S1, the method further includes: determining whether the port number configuration included in the Websocket connection request is registered in the API gateway in advance, and only forwarding the Websocket connection request corresponding to the API gateway 20 to which the port number configuration included in the Websocket connection request is registered in advance, so as to respond to the target micro-service instance.
Step S2, forwarding the Websocket connection request conforming to the authentication and authorization to the Websocket proxy server 24, and determining, by the Websocket proxy server 24, at least one target microservice instance corresponding to the Websocket connection request. The multiple target microservice instances form a complete service in response to a Websocket connection request initiated by a user at the client 10. Preferably, in the step S1, after the pre-filter unit 22 performs authentication and authorization on the Websocket connection request initiated from the client 10, the pre-filter unit performs current limiting on the Websocket connection request, and forwards the Websocket connection request conforming to the authentication, authorization, and current limiting at the same time. The client 10 is logically located at the front end, the back-end server 30 is logically located at the back end, and the front end and the back end are separated from each other.
The authentication is Session authentication, and is used for verifying whether identity information of a user in cookies in a specific Websocket connection request meets a specification, whether the Websocket connection request is authorized, whether the authorization is expired, and the like. The flow limiting is used for flow management of Websocket connection requests initiated by users so as to better support pushing of asynchronous data, and support execution of flow limiting and fusing mechanisms on massive Websocket forwarding requests, and reliability and stability in a data forwarding process based on a Websocket protocol are guaranteed.
It should be noted that, in the embodiment, the authentication, and the current limiting may be respectively performed by the authentication unit 27, the authentication unit 28, and the current limiting unit 29 in fig. 4, and the authentication unit 27, the authentication unit 28, and the current limiting unit 29 are preferably updated in a form of a plug-in, which is convenient for modification and maintenance, and can arbitrarily perform loading and deleting of the plug-in.
Step S3, the Websocket proxy server 24 establishes two independent Websocket connections with the client 10 and the backend server 30, respectively, and the Websocket proxy server 24 establishes heartbeat detection for the two independent Websocket connections at the same time. Specifically, in this step S3, the Websocket proxy server 24 simultaneously detects heartbeats established for two independent Websocket connections as bidirectional heartbeat detection, the Web server 13 forwards the Websocket connection request to the Web load balancer 14 in the Websocket connection request initiated by the client 10, and determines whether the Web load balancer 14 performs a disconnection operation on a long connection established by the overtime Websocket connection request according to a result of the bidirectional heartbeat detection. Meanwhile, in step S3, after the Websocket proxy server 24 establishes two independent Websocket connections with the client 10 and the backend server 30, respectively, the method further includes: the interception operation and the formatting operation are performed on the return data formed based on the Websocket connection by using the post-filter unit 25 which is built in the API gateway 20 and connected to the Websocket proxy server 24, and the Websocket connection is established with the back-end server 30 through the output end 26 configured by the API gateway 20. When the processing is inactive or the process is dead, the Web load balancer 14 can disconnect the long connection; meanwhile, because the Websocket proxy server 24 respectively establishes bidirectional heartbeat detection with the client 10 and the backend server 30, if it is detected that the client 10 and/or the backend server 30 are/is abnormal (for example, in a situation such as downtime, power outage, manual shutdown, network interruption, etc.), the two data forwarding paths are immediately disconnected, and resources (physical resources, virtual resources, port resources, virtual IP resources, etc.) occupied by the two data forwarding paths that have been established before are released, thereby reducing the computational overhead.
In the microservice architecture, the API gateway 20 included in fig. 3 or fig. 4 is used for unified authentication and authorization (and throttling). The Client 10 is configured with a browser 11 and a Websocket Client 12(Websocket Client). If the connection request is based on the Websocket protocol, because the Websocket is a long connection request, forwarding and authentication judgment are not well done when the handshake is authenticated. Meanwhile, in order to improve high availability of data forwarding, in the message service system based on the micro-service architecture in this embodiment, an HAproxy (i.e., a lower concept of the Web load balancer 14) and an Nginx (a lower concept of the Web server 13) are configured to improve high availability of the message service system, so for better stability consideration, optimization needs to be performed on Websocket forwarding, and a heartbeat detection mechanism, especially a bidirectional heartbeat detection mechanism, needs to be considered to ensure stable transmission of bidirectional Websocket long connection.
Meanwhile, in this embodiment, based on the bidirectional Websocket connection established by the API gateway 20, the Websocket connection request may be forwarded to the API gateway 20 by means of HAproxy and Nginx, so as to ensure efficient and reliable forwarding operation of data through the API gateway 20 in a load balancing and high availability environment. In this example, the term "Bidirectional"refers to one data forwarding path formed between the Websocket client 12 and the Websocket proxy server 24, and another data forwarding path formed between the backend server 30 and the Websocket proxy server 24.
The API gateway 20 disclosed in this embodiment implements a custom authentication, authorization and current limiting mechanism. In the process of forwarding data, if the Web server 13 is disconnected, a data forwarding path formed between the Websocket client 12 and the Websocket proxy server 24 in the client 10 is necessarily disconnected. Therefore, by using a technical means of bidirectional heartbeat detection established by the Websocket proxy server 24 for two independent Websocket connections at the same time, the real-time state of a long connection formed by two independent data forwarding paths can be effectively checked, the consistency of data among various physical nodes or virtual nodes included in a cloud platform or a computer cluster running the data forwarding method based on the Websocket protocol disclosed by this embodiment is ensured, and especially, forwarding and pushing of asynchronous data can be perfectly supported.
Example two:
referring to fig. 3 and 4, the present embodiment discloses an API Gateway 20, and the API Gateway 20 is constructed in an API Gateway gold language. The API gateway 20 is used to establish a bidirectional Websocket connection between the front-end (i.e., client 10) and the back-end (i.e., back-end server 30). The API gateway 20 configures the Proxy forwarder 21 of the Web load balancer 14 to process the received thread of the Websocket connection request initiated in the visual interface of the browser 11 of the client 10 from the user through the Proxy forwarder 21, and forwards the thread to the pre-filtering unit 22 to perform pre-filtering (pre filter).
The API gateway 20 includes: the pre-filter unit 22 is used for performing authentication and authorization on the Websocket connection request initiated by the client 10; and Websocket proxy server 24. The Websocket proxy server 24 mounts an authentication unit 27 for performing authentication on the Websocket connection request and an authentication unit 28 for performing authentication, the Websocket proxy server 24 receives the Websocket connection request conforming to the authentication and the authentication, the Websocket proxy server 24 determines at least one target micro-service instance corresponding to the Websocket connection request, the Websocket proxy server 24 establishes two independent Websocket connections with the client 10 and the backend server 30 respectively, and the Websocket proxy server 24 simultaneously establishes heartbeat detection on the two independent Websocket connections.
Preferably, in this embodiment, the API gateway 20 further includes: and an output end 26, wherein the output end 26 establishes a Websocket connection with a back-end server 30, and a current limiting unit 29 which is mounted to the Websocket proxy server 24 and performs current limiting on the Websocket connection request. The pre-filter unit 22 forwards the Websocket connection request which simultaneously conforms to authentication, authentication and current limiting. The authentication unit 27, the authentication unit 28 and the current limiting unit 29 respectively perform an authentication operation, an authentication operation and a current limiting operation on the Websocket connection request after the pre-filtering processing. As shown in fig. 3 and 4, the current limiting unit 29 is not necessarily provided.
It should be noted that, in the embodiment, the authentication operation, and the current limiting operation may be respectively executed by the authentication unit 27, the authentication unit 28, and the current limiting unit 29 in fig. 4 and are all mounted on the Websocket proxy server 24, and the authentication unit 27, the authentication unit 28, and the current limiting unit 29 are preferably updated in a form of plug-in, which is convenient for modification and maintenance, and can arbitrarily execute loading and deleting of the plug-in.
The pre-filter unit 22 forwards the Websocket connection request which simultaneously conforms to authentication, authentication and current limiting. The API gateway 20 further includes: an output 26, the output 26 establishing a Websocket connection with a backend server 30. The output 26 is seen in the API gateway 20 as a port to which the back-end server 30 is connected.
With respect to the API gateway 20 shown in fig. 3, preferably referring to fig. 4, the API gateway 20 further includes: and a post filter unit 25 disposed between the Websocket proxy server 24 and the output terminal 26, and performs post filter processing (post filter) on the handshake return result output by the Websocket proxy server 24. Of course, as shown in fig. 3 and 4, the post-filter unit 25 is an optional solution and may be omitted; the current limiting unit 29 is also an alternative solution and may be omitted.
Referring to fig. 4, in the present embodiment, the post-filter unit 25 is built in the API gateway 20 and connected to the Websocket proxy server 24, and performs an intercepting operation and a formatting operation on the return data formed based on the Websocket connection, and establishes the Websocket connection with the backend server 30 through the output terminal 26.
Specifically, the applicant shows an example of a normal data format and an example of an error data format as follows.
Normal data format:
Figure BDA0002706109050000111
Figure BDA0002706109050000121
error data format:
Figure BDA0002706109050000122
in this embodiment, based on the normal data format and the error data format, the interception operation is performed on the return data formed based on the Websocket connection, and only the forwarding operation is allowed to be performed on the data in the normal data format based on the Websocket protocol.
The Websocket proxy server 24 simultaneously detects heartbeats established by two independent Websocket connections as bidirectional heartbeat detection, the Websocket connection request initiated by the client 10 is forwarded to the Web load balancer 14 by the Web server 13, and whether the Web load balancer 14 performs disconnection operation on a long connection established by the overtime Websocket connection request is determined according to a bidirectional heartbeat detection result.
The API gateway 20 disclosed in this embodiment operates a data forwarding method based on the Websocket protocol shown in the first embodiment, and can be applied to a message service system shown in the third embodiment.
In particular, in the API gateway 20 disclosed in this embodiment and the message service system in the third embodiment, a conventional Websocket transmission center does not need to be configured, and the two independent data forwarding paths perform cooperative processing in the process of forwarding data, so that the Websocket connection request is forwarded through the two routines, and a routine can be started by using golang, which makes resource consumption smaller to a certain extent. The coroutine is a more flexible and efficient user thread which can select asynchronous or synchronous execution and designate a running thread.
With reference to fig. 4, applicants outline the process of establishing a complete Websocket protocol-based data forwarding.
The browser 11 of the client 10 initiates a request for establishing a Websocket connection to the Web server 13, and the Web server 13 forwards the Websocket connection request to the Web load balancer 14 and to the API gateway 20. The Proxy repeater 21 of the API gateway 20 receives the Websocket connection request and switches to the pre-filter unit 22 to perform pre-filtering processing, so as to perform self-authentication, authentication and current limiting operations, respectively. After receiving the Websocket connection request subjected to the pre-filtering process, the Websocket proxy server 24 may separate the Websocket request according to the type of the request protocol, and forward the Websocket request to the backend (i.e., the backend server 30) according to the handshake protocol. The Websocket proxy server 24 preferably returns the handshake result to the post-filter unit 25 at this time. The Websocket proxy server 24 in the API gateway 20 receives the message whether the handshake is successful, and returns handshake successful data if the handshake is successful, and returns handshake failed data if the handshake is failed. When the handshake is successful, separate threads are started to establish two independent data forwarding paths (namely, Websocket connections corresponding to two bidirectional arrows) between the Websocket client 12 and the Websocket proxy server 24 and between the Websocket client 12 and the backend server 30 at the same time so as to respond to the target microservice instance.
Referring to fig. 2 and fig. 3, in this embodiment, all Websocket connection requests are forwarded to the API gateway 20, and the API gateway 20 executes a uniform request forwarding operation, specifically, needs to be connected to the target micro-service instance, the user operating the client 10 does not need to know, and after the user at the front end and the client 10 only needs to know the interface (Proxy forwarder 21) forwarded to the API gateway 20, the API gateway 20 may parse the Websocket connection request according to the pre-filter unit 22, and forward the Websocket connection request data to the corresponding target micro-service instance according to the data registered in the memory. This decouples to some extent the deployment and several target microservice instances in the backend server 30 and enables separation of the front-end (client 10) from the backend (backend server 30). If the operations such as adding or deleting are carried out on the back-end micro-service instance under the condition of load balancing, the influence on the front-end user is not caused. If the push is only performed, the front-end or client user must know the specific configuration information such as the specific address, the port number, and the like of the back-end micro-service instance, and if the back-end server 30 performs operations such as adding or deleting the target micro-service instance, the access effect to the user in the front-end is not good, or the defects such as service interruption, service delay, and the like are directly caused. Meanwhile, by adopting a forwarding mechanism for directly pushing data, the problem of non-uniformity of data and processes among all nodes can also occur in a load balancing scene.
Also, in this embodiment, the API gateway 20 function itself is to separate services/applications in the front-end and back-end. The problem encountered before is that when the front end is directly pushed, when the Websocket establishes the handshake, if the API gateway 20 is not provided, the authentication information needs to be controlled by the micro-service located in the back-end server 30, which results in low security. Therefore, in this embodiment, the forwarding function of the Websocket connection request is directly implemented in the API gateway 20, so as to implement unified policies such as authentication, authorization, and current limiting.
Referring to fig. 3 and 4, the API Gateway 20 included therein is based on the gold language, and compared with the conventional Spring Cloud Gateway, especially a Gateway service implemented based on the Java language, the API Gateway 20 in this embodiment can make full use of the programmatic property of the gold language to forward data, thereby saving resource overhead to a certain extent; in addition, compared to the complexity of the implementation process, the design of the conventional Spring Cloud Gateway is more complex, and the API Gateway 20 shown in this embodiment implemented based on the Golang language focuses more on the function of forwarding the request, and is simpler to develop, deploy, and maintain.
The API gateway 20 disclosed in this embodiment may operate the Websocket protocol-based data forwarding method disclosed in the first embodiment, and please refer to the description of the first embodiment for technical solutions of the same parts in this embodiment.
Example three:
referring to fig. 3 and 4, the present embodiment shows a message service system, which includes:
a Web server 13 receiving a Websocket connection request initiated from the client 10, a Web load balancer 14, a backend server 30, and an API gateway 20 as described in embodiment two. The API gateway 20 configures the Websocket proxy server 24, and the Websocket proxy server 24 establishes two independent Websocket connections with the client 10 and the backend server 30, respectively, and the Websocket proxy server 24 simultaneously establishes heartbeat detection, and preferably bidirectional heartbeat detection, for the two independent Websocket connections.
The message service system can be applied to a cloud platform, a server providing services for users (such as a server of a shopping website, ticket ordering information, a financial payment platform) or a computer cluster server and the like.
The various illustrative logical blocks, or elements described in the various embodiments herein may be implemented or operated by a general purpose processor, a digital signal processor, an Application Specific Integrated Circuit (ASIC), a field programmable gate array or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other similar configuration.
The message service system disclosed in this embodiment has the same technical solutions as those in the first embodiment and/or the second embodiment, please refer to the description of the first embodiment and/or the second embodiment, and the description thereof is omitted here.
The above-listed detailed description is only a specific description of a possible embodiment of the present invention, and they are not intended to limit the scope of the present invention, and equivalent embodiments or modifications made without departing from the technical spirit of the present invention should be included in the scope of the present invention.
It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned.
Furthermore, it should be understood that although the present description refers to embodiments, not every embodiment may contain only a single embodiment, and such description is for clarity only, and those skilled in the art should integrate the description, and the embodiments may be combined as appropriate to form other embodiments understood by those skilled in the art.

Claims (10)

1. A data forwarding method based on a Websocket protocol is characterized by comprising the following steps:
s1, the prepositive filtering unit in the API gateway executes authentication and authorization to the Websocket connection request initiated by the client;
s2, forwarding the Websocket connection request conforming to authentication and authorization to a Websocket proxy server, and determining at least one target micro-service instance corresponding to the Websocket connection request by the Websocket proxy server;
s3, establishing two independent Websocket connections with the client and the back-end server respectively by the Websocket proxy server, and establishing heartbeat detection on the two independent Websocket connections simultaneously by the Websocket proxy server.
2. The data forwarding method of claim 1, wherein after the pre-filter unit performs authentication and authorization on the Websocket connection request initiated from the client in step S1, the pre-filter unit performs current limiting on the Websocket connection request, and performs forwarding on the Websocket connection request that conforms to the authentication, authorization, and current limiting at the same time.
3. The data forwarding method according to claim 1, wherein in step S3, after the Websocket proxy server establishes two independent Websocket connections with the client and the backend server, respectively, the method further includes:
and intercepting and formatting the returned data formed based on the Websocket connection by adopting a post-filter unit which is arranged in the API gateway and connected with the Websocket proxy server, and establishing the Websocket connection with a back-end server through an output end configured by the API gateway.
4. The data forwarding method of claim 1, wherein before the pre-filter unit performs authentication and authorization on the Websocket connection request initiated from the client in step S1, the method further comprises: and determining whether the port number configuration contained in the Websocket connection request is registered in the API gateway in advance, and only executing forwarding on the Websocket connection request corresponding to the API gateway, which is registered in advance in the Websocket connection request, so as to respond to the target micro-service instance.
5. The data forwarding method according to claim 1, wherein in step S3, the heartbeat detection that the Websocket proxy server simultaneously establishes two independent Websocket connections is bidirectional heartbeat detection, the Websocket connection request initiated by the client is forwarded by the Web server to the Web load balancer, and it is determined whether the Web load balancer performs a disconnection operation on the long connection established by the overtime Websocket connection request according to a result of the bidirectional heartbeat detection.
6. An API gateway, comprising:
the front-end filtering unit is used for executing authentication and authorization on a Websocket connection request initiated by a client; and
the system comprises a Websocket proxy server, wherein the Websocket proxy server is provided with an authentication unit for performing authentication on a Websocket connection request and an authentication unit for performing authentication, receives the Websocket connection request conforming to the authentication and the authentication, determines at least one target micro-service instance corresponding to the Websocket connection request by the Websocket proxy server, establishes two independent Websocket connections with a client and a back-end server respectively by the Websocket proxy server, and simultaneously establishes heartbeat detection on the two independent Websocket connections by the Websocket proxy server.
7. The API gateway of claim 6, further comprising:
an output that establishes a Websocket connection with a backend server, an
A current limiting unit mounted to the Websocket proxy server and performing current limiting on the Websocket connection request;
the preposed filtering unit forwards the Websocket connection request which simultaneously accords with authentication, authentication and current limiting.
8. The API gateway of claim 7, further comprising:
the post-filter unit is configured between the Websocket proxy server and the output end;
the post-filter unit is arranged in the API gateway and connected with the Websocket proxy server, carries out interception operation and formatting operation on return data formed based on Websocket connection, and establishes Websocket connection with the back-end server through the output end.
9. The API gateway of any one of claims 6 to 8, wherein the heartbeat detection that the Websocket proxy server establishes two independent Websocket connections at the same time is bidirectional heartbeat detection, the Websocket connection request initiated by the client is forwarded by the Web server to the Web load balancer, and it is determined whether the Web load balancer performs a disconnection operation on a long connection established by a timeout Websocket connection request according to a result of the bidirectional heartbeat detection.
10. A message service system, comprising:
a Web server receiving a Websocket connection request initiated from a client, a Web load balancer, a back-end server, and
the API gateway of any of claims 6-9;
the API gateway is configured with a Websocket proxy server, the Websocket proxy server is respectively connected with a client side and a back-end server to establish two independent Websocket connections, and the Websocket proxy server is used for simultaneously establishing heartbeat detection on the two independent Websocket connections.
CN202011039321.4A 2020-09-28 2020-09-28 Data forwarding method, API gateway and message service system Pending CN112202872A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011039321.4A CN112202872A (en) 2020-09-28 2020-09-28 Data forwarding method, API gateway and message service system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011039321.4A CN112202872A (en) 2020-09-28 2020-09-28 Data forwarding method, API gateway and message service system

Publications (1)

Publication Number Publication Date
CN112202872A true CN112202872A (en) 2021-01-08

Family

ID=74007644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011039321.4A Pending CN112202872A (en) 2020-09-28 2020-09-28 Data forwarding method, API gateway and message service system

Country Status (1)

Country Link
CN (1) CN112202872A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113079220A (en) * 2021-04-15 2021-07-06 深圳市万为物联科技有限公司 Method for remotely controlling control machine in power exchange cabinet
CN113381942A (en) * 2021-06-04 2021-09-10 深圳市智慧空间平台技术开发有限公司 Method for realizing interface gateway
CN114025016A (en) * 2021-10-18 2022-02-08 中国联合网络通信集团有限公司 A data forwarding method, device and storage medium
CN114978813A (en) * 2022-04-12 2022-08-30 浙江数新网络有限公司 Gateway implementation method based on response type thread pool
CN114979240A (en) * 2022-07-26 2022-08-30 杭州奇思妙行网络科技有限公司 Distributed WebSocket access system and method
CN115190158A (en) * 2021-03-22 2022-10-14 北京小米移动软件有限公司 Information interaction method, information interaction device, system and storage medium
CN115378926A (en) * 2022-08-16 2022-11-22 山东浪潮超高清智能科技有限公司 Emergency broadcast pushing method under mobile terminal equipment
CN115866012A (en) * 2021-09-24 2023-03-28 中移(杭州)信息技术有限公司 Set top box control method and device, electronic equipment and storage medium
CN115987957A (en) * 2022-12-28 2023-04-18 山石网科通信技术股份有限公司 Flow forwarding method and device, storage medium and electronic equipment
CN116318873A (en) * 2023-02-16 2023-06-23 深圳市探鸽智能科技有限公司 Remote security terminal management method and system for hardware equipment of Internet of things
CN116614546A (en) * 2023-05-23 2023-08-18 北京天融信网络安全技术有限公司 A monitoring method and device based on Socket connection state
CN118694816A (en) * 2024-06-27 2024-09-24 广州鲸旗网络科技有限公司 WebSocket-based message push method, system, device and storage medium
CN119316481A (en) * 2024-12-16 2025-01-14 宁波港信息通信有限公司 Service request processing method and device
CN120416313A (en) * 2025-07-01 2025-08-01 三维通信股份有限公司 Base station communication method, system, electronic device and storage medium based on Websocket protocol

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790283A (en) * 2017-02-24 2017-05-31 广州华睿电子科技有限公司 A kind of Internet of things system framework and data communications method
US20180278584A1 (en) * 2017-03-27 2018-09-27 Zenedge, Inc. Authenticating Access Configuration for Application Programming Interfaces
CN108989356A (en) * 2018-09-10 2018-12-11 四川长虹电器股份有限公司 A kind of method that API gateway realizes protocol conversion
CN109889454A (en) * 2019-02-26 2019-06-14 浪潮软件集团有限公司 A message push device and method for microservice architecture
CN110300056A (en) * 2019-06-28 2019-10-01 四川长虹电器股份有限公司 A kind of real-time response formula API gateway and its request processing method
CN110381058A (en) * 2019-07-18 2019-10-25 深圳前海微众银行股份有限公司 Request transmission method and device based on full-duplex communication protocol Web Socket

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790283A (en) * 2017-02-24 2017-05-31 广州华睿电子科技有限公司 A kind of Internet of things system framework and data communications method
US20180278584A1 (en) * 2017-03-27 2018-09-27 Zenedge, Inc. Authenticating Access Configuration for Application Programming Interfaces
CN108989356A (en) * 2018-09-10 2018-12-11 四川长虹电器股份有限公司 A kind of method that API gateway realizes protocol conversion
CN109889454A (en) * 2019-02-26 2019-06-14 浪潮软件集团有限公司 A message push device and method for microservice architecture
CN110300056A (en) * 2019-06-28 2019-10-01 四川长虹电器股份有限公司 A kind of real-time response formula API gateway and its request processing method
CN110381058A (en) * 2019-07-18 2019-10-25 深圳前海微众银行股份有限公司 Request transmission method and device based on full-duplex communication protocol Web Socket

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190158A (en) * 2021-03-22 2022-10-14 北京小米移动软件有限公司 Information interaction method, information interaction device, system and storage medium
CN113079220B (en) * 2021-04-15 2022-07-15 深圳市万为物联科技有限公司 Method for remotely controlling control machine in power exchange cabinet
CN113079220A (en) * 2021-04-15 2021-07-06 深圳市万为物联科技有限公司 Method for remotely controlling control machine in power exchange cabinet
CN113381942A (en) * 2021-06-04 2021-09-10 深圳市智慧空间平台技术开发有限公司 Method for realizing interface gateway
CN115866012A (en) * 2021-09-24 2023-03-28 中移(杭州)信息技术有限公司 Set top box control method and device, electronic equipment and storage medium
CN114025016A (en) * 2021-10-18 2022-02-08 中国联合网络通信集团有限公司 A data forwarding method, device and storage medium
CN114025016B (en) * 2021-10-18 2024-03-15 中国联合网络通信集团有限公司 Data forwarding method, device and storage medium
CN114978813A (en) * 2022-04-12 2022-08-30 浙江数新网络有限公司 Gateway implementation method based on response type thread pool
CN114979240A (en) * 2022-07-26 2022-08-30 杭州奇思妙行网络科技有限公司 Distributed WebSocket access system and method
CN115378926A (en) * 2022-08-16 2022-11-22 山东浪潮超高清智能科技有限公司 Emergency broadcast pushing method under mobile terminal equipment
CN115987957A (en) * 2022-12-28 2023-04-18 山石网科通信技术股份有限公司 Flow forwarding method and device, storage medium and electronic equipment
CN116318873A (en) * 2023-02-16 2023-06-23 深圳市探鸽智能科技有限公司 Remote security terminal management method and system for hardware equipment of Internet of things
CN116318873B (en) * 2023-02-16 2024-03-08 深圳市探鸽智能科技有限公司 Remote security terminal management method and system for hardware equipment of Internet of things
CN116614546A (en) * 2023-05-23 2023-08-18 北京天融信网络安全技术有限公司 A monitoring method and device based on Socket connection state
CN118694816A (en) * 2024-06-27 2024-09-24 广州鲸旗网络科技有限公司 WebSocket-based message push method, system, device and storage medium
CN119316481A (en) * 2024-12-16 2025-01-14 宁波港信息通信有限公司 Service request processing method and device
CN120416313A (en) * 2025-07-01 2025-08-01 三维通信股份有限公司 Base station communication method, system, electronic device and storage medium based on Websocket protocol

Similar Documents

Publication Publication Date Title
CN112202872A (en) Data forwarding method, API gateway and message service system
EP2761611B1 (en) System and method for dynamic discovery and configuration of resource servers in a traffic director environment
JP2004526218A (en) Highly scalable and fast content-based filtering and load balancing system and method in interconnected fabric
US8769039B2 (en) Method and apparatus of performing remote computer file exchange
CN102571947B (en) A method, device and system for agent processing data
US7089311B2 (en) Methods, systems and computer program products for resuming SNA application-client communications after loss of an IP network connection
CN107528891B (en) Websocket-based automatic clustering method and system
US12388901B2 (en) Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks
US10367891B2 (en) System and method for improving efficiency of SSL/TLS connections
US20050086349A1 (en) Methods and apparatus for offloading TCP/IP processing using a protocol driver interface filter driver
CN109067795A (en) Internet of Things network communication data interactive system and method
CN111212117A (en) Remote interaction method and device
WO2024103943A1 (en) Service processing method and apparatus, storage medium, and device
CN108566390B (en) Satellite message monitoring and distributing service system
CN107528923B (en) Data transmission method of network adapter and network adapter
CN115134553A (en) Data transmission method and device, electronic equipment and storage medium
US10567551B1 (en) System and method for improving infrastructure to infrastructure communications
CN115037588A (en) Network management method, network management device, electronic equipment and storage medium
CN117615043B (en) Inter-service communication method and system on edge gateway
US8683045B2 (en) Intermediate network device for host-client communication
CN116192863B (en) Micro-service flow processing method, DPU service grid deployment method and system
CN116886704A (en) Server management system, method, equipment and medium based on micro-service architecture
CN116743624A (en) Communication connection method, device, terminal equipment and storage medium
CN104363275A (en) Method, device and system for processing data by using agencies
CN112788144A (en) Method for realizing communication mode, server and client

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210127

Address after: No. 6 Science and Education Software Park, Binhu District, Wuxi City, Jiangsu Province

Applicant after: Huayun data holding group Co.,Ltd.

Address before: No. 6 Science and Education Software Park, Binhu District, Wuxi City, Jiangsu Province

Applicant before: Huayun data holding group Co.,Ltd.

Applicant before: Shengshi Dalian Online Insurance Agency Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210108