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.