CN104468594A - Data request method, device and system - Google Patents

Data request method, device and system Download PDF

Info

Publication number
CN104468594A
CN104468594A CN201410776946.7A CN201410776946A CN104468594A CN 104468594 A CN104468594 A CN 104468594A CN 201410776946 A CN201410776946 A CN 201410776946A CN 104468594 A CN104468594 A CN 104468594A
Authority
CN
China
Prior art keywords
data
communication connection
request
client
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.)
Granted
Application number
CN201410776946.7A
Other languages
Chinese (zh)
Other versions
CN104468594B (en
Inventor
王院生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qax Technology Group Inc
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410776946.7A priority Critical patent/CN104468594B/en
Publication of CN104468594A publication Critical patent/CN104468594A/en
Application granted granted Critical
Publication of CN104468594B publication Critical patent/CN104468594B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a data request method, device and system, and relates to the technical field of the Internet. The concurrency limitation problem of HTTP connections can be solved. The method includes the steps that a communication connection is established; a data request reported by a client terminal is received through the communication connection; before the data request is responded, other data requests reported by the same client terminal or different client terminals are received continuously through the communication connection; different data requests are responded, and the data content corresponding to different data requests is issued. The data request method, device and system are suitable for data request scenes under the HTTP.

Description

Data request method, device and system
Technical Field
The present invention relates to the field of internet technologies, and in particular, to a method, an apparatus, and a system for requesting data.
Background
HTTP (Hypertext Transfer Protocol) is a Protocol that can Transfer data of a web document through the internet, and is characterized in that HTTP is a request/response type Protocol, that is, when a client sends a data request to a server, an HTTP connection is established, and the server receives the data request sent by the client through the HTTP connection and returns corresponding data content to the client. The client releases the HTTP connection after obtaining the response of the server, thereby completing a data request task. When the data request is sent again, the HTTP connection between the client and the server needs to be re-established.
In the above data request process, the client needs to establish/release an HTTP connection every time a data request is made, and the HTTP connection is established too frequently. In this regard, another HTTP connection establishment method, i.e. an HTTP long connection, is also provided in the prior art. The long connection of the HTTP connection is not released after the response is obtained, and the client can continuously send the request based on the connection, so that the number of times of establishing the HTTP connection by the client can be reduced.
However, HTTP long connections also have certain problems, mainly in that: the number of HTTP connections corresponds to the number of clients, so that when the number of clients in the lan is large, the number of connections that the server needs to maintain is also large. Generally, the concurrency number of HTTP connections in a network has a certain limitation, for example, for WINDOWS systems, generally, only 1024 HTTP connections are allowed to be established at the same time, and only 7000 HTTP connections can be established after network optimization; for the LINUX system, although the number of supported concurrencies can reach 20000, the LINUX system also has an upper limit of the number of supported concurrencies, and cannot infinitely increase the number of supported concurrencies. With the continuous expansion of the size of the lan, the limited concurrency number is increasingly unable to satisfy the number of clients that is increasing sharply, and especially for the multi-stage lan, the connections between the clients and the relays and between the relays and the servers need to establish HTTP connections, so the number of connections available in the lan will be more tense.
Disclosure of Invention
In view of the above problems, the present invention provides a method, an apparatus, and a system for requesting data, which can solve the problem of limited concurrency of HTTP connections.
In order to solve the above technical problem, in a first aspect, the present invention provides a method for requesting data, including:
establishing a communication connection;
receiving a data request reported by a client through the communication connection;
before responding to the data request, other data requests reported by the same client or different clients are continuously received through the communication connection;
and respectively responding to different data requests, and issuing data contents corresponding to the different data requests.
In a second aspect, the present invention provides an apparatus for data request, the apparatus comprising:
an establishing unit for establishing a communication connection;
a receiving unit, configured to receive, through the communication connection established by the establishing unit, a data request reported by a client;
the receiving unit is further configured to continue to receive other data requests reported by the same client or different clients through the communication connection before responding to the data request;
and the response unit is used for respectively responding to the different data requests received by the receiving unit and issuing data contents corresponding to the different data requests.
In a third aspect, the present invention provides a system for data request, the system comprising: a client and a server; wherein the server comprises the apparatus of the second aspect;
the client is used for:
establishing a communication connection with the server;
reporting a data request to the server over the communication connection,
continuing to report other data requests to the server through the communication connection before obtaining the response of the server;
and receiving the data content corresponding to different data requests issued by the server through the communication connection.
By means of the technical scheme, the method, the device and the system for data request provided by the invention can establish only one communication connection between the server and the client when different clients send data requests to the server, different data requests can be received through the communication connection, and the response to the previous data request does not influence the reception of the next data request, namely, the new data request can be received while the response is carried out. Compared with the prior art that one-to-one corresponding communication connection is required to be established between the client and the server, only one communication connection is established between the client and the server, and different clients can complete data interaction with the server through the communication connection, so that the multiplexing effect is achieved without considering the problem of concurrency number, and the problem that the concurrency number of the communication connection is limited in the prior art is solved.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 shows a flow diagram of a method of data request;
FIG. 2 shows a flow diagram of another method of data request;
FIG. 3 is a diagram illustrating a structure of a data frame;
fig. 4 shows a schematic structural diagram of establishing a communication connection;
fig. 5 shows a schematic structural diagram of another setup of a communication connection;
FIG. 6 is a schematic diagram of an apparatus for requesting data;
FIG. 7 is a schematic diagram of an alternative apparatus for requesting data;
fig. 8 shows a schematic structural diagram of a system for data request.
Detailed Description
Exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
An embodiment of the present invention provides a method for requesting data, where the method may be applied to a system formed by a client and a server, and is described below with a server side as an execution subject, as shown in fig. 1, where the method includes:
101. the server establishes a communication connection.
The server establishes a communication connection with different clients, where the communication connection may be an HTTP (Hypertext Transfer Protocol) connection.
Illustratively, there are 5 clients in the local area network, which are client 1, client 2, client 3, client 4 and client 5, respectively, a communication connection a is established between the 5 clients and the server, and each of the 5 clients can communicate with the server through the communication connection a, that is, the 5 clients share the communication connection a.
102. And the server receives the data request reported by the client through the communication connection.
All the clients may be located in one terminal or may be located in different terminals. The terminal may be a desktop computer, a notebook, etc. For example, there are 5 clients, which are client 1, client 2, client 3, client 4 and client 5, respectively, where client 1 and client 2 are both located in terminal 1, client 3 and client 5 are both located in terminal 2, and client 4 is located in terminal 3.
It should be noted that the data request includes source information of the request, a specific object of the request, and verification information of the request. For example, the source information requested in the data request is the client 1 located in the terminal 1, and the specific object requested is a link: http: // www.google.com, the check information is X.
103. And the server continues to receive other data requests reported by the same client or different clients through the communication connection before responding to the data requests.
The server may receive other data requests before responding to the received data request, and the data request does not limit the client, that is, the server may belong to the same client as the previous data request or a different client.
For example, currently, the data request received by the server is data request 1 of client 1, and when no response is made to data request 1, the server may receive data request 2 of client 1 or receive data request 1 of client 2.
104. The server respectively responds to different data requests and issues data contents corresponding to the different data requests.
When the server replies the response of the data request to the client, the server can send the response information carrying the data content of the data request to the client.
In step 103, it is mentioned that other data requests may be received before responding to the previous data request, and in practical applications, the next data request may be received while responding to the previous data request. For example, the server may receive data request 1 from client 2 while sending response 1 to client 1.
In addition, the first batch of data requests can be received first, then different data requests in the first batch of data requests are responded respectively, and the second batch of data requests can be received while the first batch of data requests are responded. For example, if the data requests received by the current server are the data request 1 and the data request 2 of the client 1, the data request 1 of the client 2, and the data request 1 of the client 3, the data requests may be responded to the data requests, respectively, and the data request 2 sent by the client 2 and the data request 1 sent by the client 4 may be received sequentially.
It should be noted that the actual principle of the server responding to different data requests is based on the sequence of receiving data requests, and the data requests are responded to the data requests respectively. For example, the data requests received by the server in sequence are the 3 rd data request of the client 2, the 1 st data request of the client 4, the 5 th data request of the client 1 and the 8 th data request of the client 10, so the response sequence of the server to the received 4 data requests is also the 3 rd data request of the client 2, the 1 st data request of the client 4, the 5 th data request of the client 1 and the 8 th data request of the client 10.
The method for requesting data provided by the embodiment of the invention can establish only one communication connection with the client when different clients send data requests to the server, and can receive different data requests through the communication connection, and the response to the previous data request does not influence the reception of the next data request, namely, the server can receive new data requests while responding. Compared with the prior art that one-to-one corresponding communication connection is required to be established between the client and the server, only one communication connection is established between the client and the server, and different clients can complete data interaction with the server through the communication connection, so that the multiplexing effect is achieved without considering the problem of concurrency number, and the problem that the concurrency number of the communication connection is limited in the prior art is solved.
Further, as a refinement and an extension of the method shown in fig. 1, another embodiment of the present invention further provides a method for requesting data, as shown in fig. 2, the method including:
201. the server establishes a communication connection.
The implementation of this step is the same as that of step 101 in fig. 1, and is not described here again.
202. And the server receives the data request reported by the client through the communication connection.
The data request carries a data frame for requesting data, and the data frame records a request source, a request sequence number, data bits and check bits. The request source is used for marking a client side which reports a data request; the request sequence number is used for marking the data request; the data bit is used for marking a specific request object of the data request, and the request object can be a link address or other information; the check bits are used for recording check values of the data requests, after the server receives the data requests, the corresponding check values are calculated and compared with the check values recorded in the data requests, if the check values are the same, the data requests received by the server are correct, and if the check values are different, the data requests received by the server are wrong.
Illustratively, fig. 3 is a concrete representation of a data frame in the 45 th data request sent by the client 12 to the server. Wherein, the data bit records a link http: // www.google.com. The 45 th data request has a check bit of X, and when the server receives the data request, the server calculates the content in the data frame carried in the data request to obtain a check value Y, compares Y with X, and if X ≠ Y, the received data request is correct, and if X ≠ Y, the received data request is incorrect.
It should be noted that, the server and the client both sides calculate the check value in the same using method, and calculate the check value based on the field content of the data request, and if the field content of the data request on both sides of the client and the server is not changed, the check values calculated on both sides should be the same, so we can prevent the data request from being tampered in the process of reporting to the server through this mechanism.
In this step, the request source and the request serial number of the data request are recorded in the data frame, so that the data request can be uniquely identified, the server can be ensured to make corresponding responses to different data requests, and the data content is fed back to the correct client, thereby avoiding the occurrence of a packet string phenomenon; by recording the check value in the data frame, the data request can be responded under the condition of ensuring that the data request is transmitted correctly, so that a third party is prevented from tampering the data request reported by the client.
Further, when the server issues the data content to the client, a new check value may also be calculated according to attribute information (such as name, size, version, and the like) of the data content, and the new check value is issued to the client together with the data content, and the client verifies whether the data content is tampered during the issuing process. The verification mechanism for verifying whether the data content is tampered by the client is the same as the aforementioned verification mechanism, and is not described herein again.
203. And the server continues to receive other data requests reported by the same client or different clients through the communication connection before responding to the data requests.
The implementation of this step is the same as that of step 103 in fig. 1, and is not described here again.
In the prior art, when a server receives a data request, the server responds to the data request, that is, the server responds once when receiving one data request, so that the phenomenon of frequent server response exists, and further resources of the server are frequently occupied. Therefore, optionally, in order to solve the problem of frequent server response, the present embodiment provides another data request response scheme, and the specific implementation manner is as follows in step 204 to step 205:
204. the server batches the received data requests.
Optionally, the following two ways may be adopted to divide the received data request into batches in this step.
The first method is as follows:
intercepting the continuously reported data requests according to the preset field length, and dividing a plurality of data requests of which the total data length does not exceed the field length into the same batch.
The server continuously receives data requests reported by the same or different clients, and if the total data length of the received data requests is greater than or equal to the preset field length, part of the data requests are intercepted, so that the total data length is less than or equal to the preset field length on the premise that the data requests are all complete, and the data requests are divided into data requests of the same batch.
Illustratively, currently, the server receives 5 data requests, wherein the data length of the data request 1 is 250, the data length of the data request 2 is 240, the data length of the data request 3 is 256, the data length of the data request 4 is 238, and the data length of the data request 5 is 255, so that the total data length of the 5 data requests is 1239, the total data length of the data requests 1 to 4 is 984, and the preset field length is 1000, so that the data requests 1 to 4 are divided into the same batch, and the data request 5 is divided into the next batch.
The second method comprises the following steps:
intercepting the data requests which are continuously reported according to the preset frame number, and dividing a plurality of data requests corresponding to the data frames with the same number as the preset frame number into the same batch.
Wherein one data request corresponds to one data frame. The server continuously receives the data requests, when the number of the received data requests is the same as the preset frame number, the currently received data requests are divided into the data requests of the same batch, and the data requests of the next batch with the same preset frame number are divided into the data requests of the next batch.
For example, the preset frame number is 10, if the number of the currently received data requests is 10, the received 10 data requests are divided into the same batch, and the 11 th to 20 th data requests received later are divided into the next batch, and the method is sequentially adopted to divide the batches.
205. The server responds to the data requests in batch and sends data contents corresponding to different data requests.
When the total data length of the data requests received by the server does not reach the preset field length or the number of the received data requests does not reach the preset frame number, the data requests are continuously received, until the conditions are met, when the current batch is divided, the data requests of the batch are intensively responded, and corresponding data content is sent to the client corresponding to the data requests of the batch.
Taking the dividing mode of the data frame as an example, the following specific description is made:
if the preset frame number is 15 and the number of the data requests received by the current server is 13, the server does not respond to the 13 received data requests but continues to wait until the 15 data requests are received, and then performs centralized response and issues the data content of the corresponding data requests.
It should be noted that, similar to the sequence mechanism for responding to different data requests in fig. 1, in this embodiment, the response sequence of the server to the data requests of different batches is determined by the sequence reported by each batch.
In practical application, on the basis of the above method embodiment, in order to further increase the speed of data request transmission, at least one communication connection may be established again on the basis of the established communication connection, and after the establishment is completed, all communication connections concurrently execute tasks. Wherein the at least one further established communication connection has the same specific functionality as the established communication connection.
It should be noted that the number of at least one further communication connection to be established is limited. When at least one communication connection is further established, the total number of the communication connections needs to be the same as the core number of a Central Processing Unit (CPU) of the server.
For example, as shown in fig. 4, if the number of cores of the CPU is 4, 4 communication connections may be established between the client and the server, where, assuming that the number of clients is 40, communication connection 1 is a connection shared by client 1 to client 10, communication connection 2 is a connection shared by client 11 to client 20, communication connection 3 is a connection shared by client 21 to client 30, and communication connection 4 is a connection shared by client 31 to client 40.
In practical application, when the scheme of the embodiment is applied to the nginx system, the number of communication connections can be directly set to be the same as the number of processes of the nginx module. This is because, in the nginx system, when nginx starts, a process is established according to the number of cores of the CPU, that is, a process equal to the number of cores of the CPU is established. Therefore, in the nginx system, the number of communication connections can also be directly set to the number of nginx processes, which has the same effect as the aforementioned effect of establishing communication connections in accordance with the number of CPUs.
In addition, the above method embodiments may be applied not only to a scenario in which the client and the server perform data interaction directly through the network, but also to a scenario with a relay, for example, there is a secondary center between the client and the server, and the secondary center is used for managing all the clients and performing communication with the server. For another example, a proxy server is provided in the lan, so that when a user accesses the server through a client, the user needs to know details such as an address and a port of the proxy server, so that the user can access the server through the proxy server.
For example, as shown in fig. 5, there is a proxy server between the client and the server, a communication connection is established between the client and the proxy server, a communication connection is established between the proxy server and the server, and different clients can complete data interaction with the server by sharing two communication connections.
In the above scenario, a few communication connections may be established, which are the same as the number of CPU cores or the number of nginx processes, but this is not limited herein.
In the prior art, because the one-to-one communication connection is established between the client and the server, when the relay is added between the client and the server, the communication connection needs to be increased by times, so that the number of the concurrency required to be maintained by the server is more, but in the embodiment, only a few communication connections are respectively established between the client and the relay and between the relay and the server, so that the problem of limited number of the concurrency is avoided.
Further, as an implementation of the foregoing method embodiments, in another embodiment of the present invention, there is provided an apparatus for requesting data, as shown in fig. 6, the apparatus includes: a establishing unit 31, a receiving unit 32, and a responding unit 33. Wherein,
an establishing unit 31 for establishing a communication connection;
a receiving unit 32, configured to receive, through the communication connection established by the establishing unit 31, a data request reported by the client;
the receiving unit 32 is further configured to continue to receive other data requests reported by the same client or different clients through the communication connection before responding to the data request;
the response unit 33 is configured to respectively respond to the different data requests received by the receiving unit 32, and issue data contents corresponding to the different data requests.
Further, the data request received by the receiving unit 32 carries a data frame for requesting data, and the data frame records a request source, a request sequence number, a data bit and a check bit;
the request source is used for marking a client side which reports a data request;
the request sequence number is used for marking the data request;
the data bit is used for marking a specific request object of the data request;
the check bits are used to record check values of the data request.
Further, as shown in fig. 7, the response unit 33 includes:
a dividing module 331, configured to divide batches for the received data request;
a response module 332, configured to respond to the data request in a batch set divided by the dividing module 331.
Further, the dividing module 331 is configured to intercept the continuously reported data requests according to a preset field length, and divide a plurality of data requests whose total data length does not exceed the field length into the same batch.
Further, the dividing module 331 is configured to intercept the continuously reported data requests according to a preset number of frames, and divide a plurality of data requests corresponding to data frames with the same number as the preset number of frames into a same batch;
wherein one data request corresponds to one data frame.
Further, the establishing unit 31 is further configured to establish at least one communication connection, where the at least one communication connection has the same function as the communication connection established by the establishing unit 31.
Further, the establishing unit 31 is configured to establish at least one communication connection such that the total number of communication connections is the same as the core number of the central processing unit CPU.
Further, the establishing unit 31 is configured to establish at least one communication connection, so that the total number of the communication connections is the same as the number of processes of nginx.
Further, the communication connection established by the establishing unit 31 is a hypertext transfer protocol HTTP connection.
The data request device provided by the embodiment of the invention can establish only one communication connection with the client when different clients send data requests to the server, and can receive different data requests through the communication connection, and the response to the previous data request does not influence the reception of the next data request, namely, the device can receive new data requests while responding. Compared with the prior art that one-to-one corresponding communication connection is required to be established between the client and the server, only one communication connection is established between the client and the server, and different clients can complete data interaction with the server through the communication connection, so that the multiplexing effect is achieved without considering the problem of concurrency number, and the problem that the concurrency number of the communication connection is limited in the prior art is solved.
The request source and the request serial number of the data request are recorded in the data frame, so that the data request can be uniquely identified, the server can be ensured to make corresponding responses to different data requests, and the data content is fed back to a correct client, and the phenomenon of packet string is avoided; by recording the check value in the data frame, the data request can be responded under the condition of ensuring that the data request is transmitted correctly, so that a third party is prevented from tampering the data request reported by the client.
In the prior art, because the one-to-one communication connection is established between the client and the server, when the relay is added between the client and the server, the communication connection needs to be increased by times, so that the number of the concurrency required to be maintained by the server is more, but in the embodiment, only a few communication connections are respectively established between the client and the relay and between the relay and the server, so that the problem of limited number of the concurrency is avoided.
Further, in another embodiment of the present invention, there is provided a system for requesting data, as shown in fig. 8, the system includes: client 41, server 42; wherein the server 42 comprises the apparatus of fig. 6-7;
a client 41 for:
establishing a communication connection with the server 42;
the data request is reported to the server 42 via the communication connection,
continuing to report other data requests to the server 42 via the communication connection before obtaining a response from the server 42;
and receiving the data content corresponding to different data requests sent by the server 42 through the communication connection.
The data request system provided by the embodiment of the invention can establish only one communication connection with the client when different clients send data requests to the server, can receive different data requests through the communication connection, does not influence the reception of the next data request by responding to the previous data request, and can receive new data requests while responding. Compared with the prior art that one-to-one corresponding communication connection is required to be established between the client and the server, only one communication connection is established between the client and the server, and different clients can complete data interaction with the server through the communication connection, so that the multiplexing effect is achieved without considering the problem of concurrency number, and the problem that the concurrency number of the communication connection is limited in the prior art is solved.
The request source and the request serial number of the data request are recorded in the data frame, so that the data request can be uniquely identified, the server can be ensured to make corresponding responses to different data requests, and the data content is fed back to a correct client, and the phenomenon of packet string is avoided; by recording the check value in the data frame, the data request can be responded under the condition of ensuring that the data request is transmitted correctly, so that a third party is prevented from tampering the data request reported by the client.
In the prior art, because the one-to-one communication connection is established between the client and the server, when the relay is added between the client and the server, the communication connection needs to be increased by times, so that the number of the concurrency required to be maintained by the server is more, but in the embodiment, only a few communication connections are respectively established between the client and the relay and between the relay and the server, so that the problem of limited number of the concurrency is avoided.
The embodiment of the invention discloses:
a1, a method for data request, the method comprising:
establishing a communication connection;
receiving a data request reported by a client through the communication connection;
before responding to the data request, other data requests reported by the same client or different clients are continuously received through the communication connection;
and respectively responding to different data requests, and issuing data contents corresponding to the different data requests.
A2, according to the method A1, the data request carries a data frame for requesting data, and the data frame records a request source, a request sequence number, data bits and check bits;
the request source is used for marking a client side reporting the data request;
the request sequence number is used for marking the data request;
the data bit is used for marking a specific request object of the data request;
the check bit is used for recording a check value of the data request.
A3, the responding to different data requests respectively according to the method of A1, comprising:
dividing the received data request into batches;
and responding to the data requests in the batch set.
A4, the method of A3, the batching received data requests, comprising:
intercepting the continuously reported data requests according to the preset field length, and dividing a plurality of data requests of which the total data length does not exceed the field length into the same batch.
A5, the method of A3, the batching received data requests, comprising:
intercepting the data requests which are continuously reported according to a preset frame number, and dividing a plurality of data requests corresponding to data frames with the same number as the preset frame number into the same batch;
wherein one data request corresponds to one data frame.
A6, the method of A1, the method further comprising:
in addition to the communication connection, at least one communication connection is further established, which has the same functionality as the communication connection.
A7, the method of A6, the further establishing at least one communication connection, comprising:
at least one communication connection is established so that the total number of the communication connections is the same as the core number of the central processing unit CPU.
A8, according to the method of a7, the establishing at least one communication connection so that the total number of communication connections is the same as the core number of a central processing unit CPU, includes:
at least one communication connection is established such that the total number of communication connections is the same as the number of processes of nginx.
A9, the method according to any of A1 to A8, the communication connection being a Hypertext transfer protocol (HTTP) connection.
B10, an apparatus for data request, the apparatus comprising:
an establishing unit for establishing a communication connection;
a receiving unit, configured to receive, through the communication connection established by the establishing unit, a data request reported by a client;
the receiving unit is further configured to continue to receive other data requests reported by the same client or different clients through the communication connection before responding to the data request;
and the response unit is used for respectively responding to the different data requests received by the receiving unit and issuing data contents corresponding to the different data requests.
B11, according to the device of B10, the data request received by the receiving unit carries a data frame for requesting data, and the data frame records a request source, a request sequence number, data bits and check bits;
the request source is used for marking a client side reporting the data request;
the request sequence number is used for marking the data request;
the data bit is used for marking a specific request object of the data request;
the check bit is used for recording a check value of the data request.
B12, the device according to B10, the response unit comprising:
the dividing module is used for dividing the received data request into batches;
and the response module is used for responding to the data request in a batch set divided by the dividing module.
And B13, the device according to B12, the dividing module is configured to intercept the continuously reported data requests according to a preset field length, and divide a plurality of data requests of which the total data length does not exceed the field length into the same batch.
B14, the device according to B12, the dividing module is configured to intercept data requests that are continuously reported according to a preset number of frames, and divide a plurality of data requests corresponding to data frames that are the same as the preset number of frames into a same batch;
wherein one data request corresponds to one data frame.
B15, the apparatus of B12, the apparatus further comprising:
the establishing unit is further configured to further establish at least one communication connection, where the at least one communication connection has the same function as the communication connection established by the establishing unit.
B16, the apparatus according to B15, the establishing unit is configured to establish at least one communication connection such that the total number of communication connections is the same as the number of cores of the central processing unit CPU.
B17, the apparatus according to B16, the establishing unit is configured to establish at least one communication connection such that the total number of communication connections is the same as the number of processes of nginx.
B18, the device according to any of B10 to B17, the communication connection established by the establishing unit is a hypertext transfer protocol (HTTP) connection.
C19, a system for data request, the system comprising: a client and a server; wherein the server comprises the apparatus of any one of B10-B18;
the client is used for:
establishing a communication connection with the server;
reporting a data request to the server over the communication connection,
continuing to report other data requests to the server through the communication connection before obtaining the response of the server;
and receiving the data content corresponding to different data requests issued by the server through the communication connection.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It will be appreciated that the relevant features of the method and apparatus described above are referred to one another. In addition, "first", "second", and the like in the above embodiments are for distinguishing the embodiments, and do not represent merits of the embodiments.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components of a network communication method, apparatus and system in accordance with embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.

Claims (10)

1. A method of data request, the method comprising:
establishing a communication connection;
receiving a data request reported by a client through the communication connection;
before responding to the data request, other data requests reported by the same client or different clients are continuously received through the communication connection;
and respectively responding to different data requests, and issuing data contents corresponding to the different data requests.
2. The method of claim 1, wherein the data request carries a data frame for requesting data, and the data frame records a request source, a request sequence number, a data bit and a check bit;
the request source is used for marking a client side reporting the data request;
the request sequence number is used for marking the data request;
the data bit is used for marking a specific request object of the data request;
the check bit is used for recording a check value of the data request.
3. The method of claim 1, wherein responding to different data requests separately comprises:
dividing the received data request into batches;
and responding to the data requests in the batch set.
4. The method of claim 3, wherein the batching the received data requests comprises:
intercepting the continuously reported data requests according to the preset field length, and dividing a plurality of data requests of which the total data length does not exceed the field length into the same batch.
5. The method of claim 3, wherein the batching the received data requests comprises:
intercepting the data requests which are continuously reported according to a preset frame number, and dividing a plurality of data requests corresponding to data frames with the same number as the preset frame number into the same batch;
wherein one data request corresponds to one data frame.
6. The method of claim 1, further comprising:
in addition to the communication connection, at least one communication connection is further established, which has the same functionality as the communication connection.
7. The method of claim 6, wherein said further establishing at least one communication connection comprises:
at least one communication connection is established so that the total number of the communication connections is the same as the core number of the central processing unit CPU.
8. The method of claim 7, wherein establishing at least one communication connection such that the total number of communication connections is the same as the core number of the Central Processing Unit (CPU) comprises:
at least one communication connection is established such that the total number of communication connections is the same as the number of processes of nginx.
9. An apparatus for data request, the apparatus comprising:
an establishing unit for establishing a communication connection;
a receiving unit, configured to receive, through the communication connection established by the establishing unit, a data request reported by a client;
the receiving unit is further configured to continue to receive other data requests reported by the same client or different clients through the communication connection before responding to the data request;
and the response unit is used for respectively responding to the different data requests received by the receiving unit and issuing data contents corresponding to the different data requests.
10. A system for data request, the system comprising: a client and a server; wherein the server comprises the apparatus of claim 9;
the client is used for:
establishing a communication connection with the server;
reporting a data request to the server through the communication connection;
continuing to report other data requests to the server through the communication connection before obtaining the response of the server;
and receiving the data content corresponding to different data requests issued by the server through the communication connection.
CN201410776946.7A 2014-12-15 2014-12-15 The method, apparatus and system of a kind of request of data Active CN104468594B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410776946.7A CN104468594B (en) 2014-12-15 2014-12-15 The method, apparatus and system of a kind of request of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410776946.7A CN104468594B (en) 2014-12-15 2014-12-15 The method, apparatus and system of a kind of request of data

Publications (2)

Publication Number Publication Date
CN104468594A true CN104468594A (en) 2015-03-25
CN104468594B CN104468594B (en) 2018-04-27

Family

ID=52913966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410776946.7A Active CN104468594B (en) 2014-12-15 2014-12-15 The method, apparatus and system of a kind of request of data

Country Status (1)

Country Link
CN (1) CN104468594B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450730A (en) * 2015-11-05 2016-03-30 北京奇虎科技有限公司 Method and apparatus for processing request from client
WO2017000572A1 (en) * 2015-06-29 2017-01-05 中兴通讯股份有限公司 Internet content adaptation protocol-based communication method, client and server
CN108491278A (en) * 2018-03-13 2018-09-04 网宿科技股份有限公司 A kind of method and the network equipment of processing business data
CN109327511A (en) * 2018-09-18 2019-02-12 网宿科技股份有限公司 A kind of data request method and server based on http protocol
CN109639811A (en) * 2018-12-21 2019-04-16 北京金山云网络技术有限公司 Data transmission method, date storage method, device, server and storage medium
CN111694873A (en) * 2020-06-10 2020-09-22 腾讯科技(深圳)有限公司 Processing method and device of virtual resource packet and database server

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020108121A1 (en) * 2001-02-02 2002-08-08 Rachad Alao Service gateway for interactive television
CN101193113A (en) * 2006-11-29 2008-06-04 国际商业机器公司 Content response and content request method and content responder and content requester
CN101796491A (en) * 2005-05-04 2010-08-04 文丘里无线有限公司 Improve the method and apparatus of HTTP performance on the long delay link
CN102387206A (en) * 2011-10-20 2012-03-21 镇江睿泰信息科技有限公司 Synthesis method and system of concurrent request of Web service
CN102685204A (en) * 2011-03-17 2012-09-19 华为技术有限公司 Method and equipment for transmitting data resource
CN102932352A (en) * 2012-11-02 2013-02-13 北京奇虎科技有限公司 Method and server for communicating with client
CN103064778A (en) * 2011-10-20 2013-04-24 阿里巴巴集团控股有限公司 Method, device and system of server performances testing
CN104202399A (en) * 2014-09-05 2014-12-10 国家电网公司 Request buffer pool based data service scheduling method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020108121A1 (en) * 2001-02-02 2002-08-08 Rachad Alao Service gateway for interactive television
CN101796491A (en) * 2005-05-04 2010-08-04 文丘里无线有限公司 Improve the method and apparatus of HTTP performance on the long delay link
CN101193113A (en) * 2006-11-29 2008-06-04 国际商业机器公司 Content response and content request method and content responder and content requester
CN102685204A (en) * 2011-03-17 2012-09-19 华为技术有限公司 Method and equipment for transmitting data resource
CN102387206A (en) * 2011-10-20 2012-03-21 镇江睿泰信息科技有限公司 Synthesis method and system of concurrent request of Web service
CN103064778A (en) * 2011-10-20 2013-04-24 阿里巴巴集团控股有限公司 Method, device and system of server performances testing
CN102932352A (en) * 2012-11-02 2013-02-13 北京奇虎科技有限公司 Method and server for communicating with client
CN104202399A (en) * 2014-09-05 2014-12-10 国家电网公司 Request buffer pool based data service scheduling method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J.C.MOGUL等: "《Hypertext Transfer Protocol Http/1.1》", 《RFC2616》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017000572A1 (en) * 2015-06-29 2017-01-05 中兴通讯股份有限公司 Internet content adaptation protocol-based communication method, client and server
CN105450730A (en) * 2015-11-05 2016-03-30 北京奇虎科技有限公司 Method and apparatus for processing request from client
CN108491278A (en) * 2018-03-13 2018-09-04 网宿科技股份有限公司 A kind of method and the network equipment of processing business data
CN108491278B (en) * 2018-03-13 2020-09-18 网宿科技股份有限公司 Method and network device for processing service data
CN109327511A (en) * 2018-09-18 2019-02-12 网宿科技股份有限公司 A kind of data request method and server based on http protocol
US11330035B2 (en) 2018-09-18 2022-05-10 Wangsu Science & Technology Co., Ltd. Method and server for HTTP protocol-based data request
CN109639811A (en) * 2018-12-21 2019-04-16 北京金山云网络技术有限公司 Data transmission method, date storage method, device, server and storage medium
CN109639811B (en) * 2018-12-21 2022-01-25 北京金山云网络技术有限公司 Data transmission method, data storage method, device, server and storage medium
CN111694873A (en) * 2020-06-10 2020-09-22 腾讯科技(深圳)有限公司 Processing method and device of virtual resource packet and database server
CN111694873B (en) * 2020-06-10 2023-10-27 腾讯科技(深圳)有限公司 Virtual resource package processing method and device and database server

Also Published As

Publication number Publication date
CN104468594B (en) 2018-04-27

Similar Documents

Publication Publication Date Title
CN104468594B (en) The method, apparatus and system of a kind of request of data
WO2020057163A1 (en) Mec platform deployment method and device
WO2016029821A1 (en) Method and device for creating virtual network instance
WO2017114206A1 (en) Method and device for processing short link, and short link server
CN108681777B (en) Method and device for running machine learning program based on distributed system
JP2017509936A (en) Facilitating third-party execution of batch processing of requests that require authorization from resource owners for repeated access to resources
US9104493B2 (en) System and method for cluster management
CN111786998A (en) Authority management method and device based on micro-service calling and storage medium
EP3101965A1 (en) Method and apparatus for adjacent node registration, and method and system for crossing node registration
US11023557B2 (en) Callback notification for unavailable websites
CN109039803A (en) A kind of method, system and the computer equipment of processing readjustment notification message
CN112751847A (en) Interface call request processing method and device, electronic equipment and storage medium
US10609155B2 (en) Scalable self-healing architecture for client-server operations in transient connectivity conditions
US9621632B2 (en) Scaling of stateful enterprise services
JP6074550B2 (en) Web page push method and apparatus, and terminal
CN106911739B (en) Information distribution method and device
CN105282231B (en) Data drainage method, apparatus and system based on application type
US11223689B1 (en) Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
JP7221652B6 (en) External change detection
CN111447273A (en) Cloud processing system and data processing method based on cloud processing system
CN105991633B (en) Session log processing method and processing device
EP2701068B1 (en) Network access system
US20150242256A1 (en) Techniques to facilitate communication across domains
US10182119B2 (en) System and methods for facilitating communication among a subset of connections that connect to a web application
CN107404504B (en) Communication method, device and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20161116

Address after: 100015 Chaoyang District Road, Jiuxianqiao, No. 10, building No. 3, floor 15, floor 17, 1701-26,

Applicant after: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.

Address before: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Applicant before: Qizhi software (Beijing) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100088 Building 3 332, 102, 28 Xinjiekouwai Street, Xicheng District, Beijing

Patentee after: QAX Technology Group Inc.

Address before: 100015 Jiuxianqiao Chaoyang District Beijing Road No. 10, building 15, floor 17, layer 1701-26, 3

Patentee before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address