Disclosure of Invention
The embodiment of the disclosure at least provides a request processing method and device.
In a first aspect, an embodiment of the present disclosure provides a method for processing a request, where the method is applied to a reverse proxy server, the method includes:
receiving request information sent by a client;
extracting packaging protocol information corresponding to the request information from the request information;
if the packaging protocol information accords with a preset condition, extracting a corresponding method name from the request information, and searching at least one server address corresponding to the method name from a stored routing information table;
and sending the request information to a target server corresponding to the server address.
In an alternative embodiment, the wrapper protocol information includes protocol version information and request type information;
The extracting the packaging protocol information corresponding to the request information from the request information comprises the following steps:
searching a first field positioned at a first preset position from a plurality of fields corresponding to the request information, and determining the information of the first field as the protocol version information; searching a second field positioned at a second preset position, and determining the information of the second field as the request type information;
determining that the packaging protocol information meets preset conditions comprises the following steps:
if the searched protocol version information is preset target protocol version information and the searched request type information is preset target request type information, determining that the packaging protocol information accords with preset conditions.
In an optional embodiment, the extracting the corresponding method name from the request information includes:
searching a third field positioned at a third preset position from a plurality of fields corresponding to the request information to obtain the length of the method name;
and extracting the corresponding method name from the request information based on the length of the method name and the preset initial position of the method name in the request information.
In an alternative embodiment, the method further comprises:
Periodically acquiring service registration information of each server from a service management end;
and generating the routing information table based on the acquired service registration information.
In an optional embodiment, after sending the request information to the target server corresponding to the server address, the method further includes:
and after receiving the request response information sent by the target server, sending the request response information to the client.
In an alternative embodiment, the method further comprises:
if the packaging protocol information does not meet the preset condition, or if at least one server address corresponding to the method name is not found in the routing information table, generating refusing request feedback information corresponding to the request information;
and sending the feedback information of the refusal request to the client.
In an alternative embodiment, receiving request information sent by a client includes:
receiving request information sent by a client through long connection;
the sending the request response information to the client includes:
the request response information is sent to the client through long connection;
the method further comprises the steps of:
And if the connection disconnection request sent by the client is received and/or if the request information sent by the client is not received after a preset time interval, disconnecting the long connection between the reverse proxy server and the client.
In a second aspect, an embodiment of the present disclosure further provides a request processing apparatus, including:
the receiving module is used for receiving the request information sent by the client;
the extraction module is used for extracting packaging protocol information corresponding to the request information from the request information;
the server address module is used for extracting a corresponding method name from the request information if the packaging protocol information accords with a preset condition, and searching at least one server address corresponding to the method name from a stored routing information table;
and the sending module is used for sending the request information to a target server corresponding to the server address.
In an alternative embodiment, the wrapper protocol information includes protocol version information and request type information;
the extracting module is configured to, in a case where the packaging protocol information corresponding to the request information is extracted from the request information:
Searching a first field positioned at a first preset position from a plurality of fields corresponding to the request information, and determining the information of the first field as the protocol version information; searching a second field positioned at a second preset position, and determining the information of the second field as the request type information;
the server address module is configured to, when determining that the packaging protocol information meets a preset condition:
if the searched protocol version information is preset target protocol version information and the searched request type information is preset target request type information, determining that the packaging protocol information accords with preset conditions.
In an alternative embodiment, the server address module is configured to, in a case where a corresponding method name is extracted from the request information:
searching a third field positioned at a third preset position from a plurality of fields corresponding to the request information to obtain the length of the method name;
and extracting the corresponding method name from the request information based on the length of the method name and the preset initial position of the method name in the request information.
In an alternative embodiment, the apparatus further comprises:
The service registration information acquisition module is used for periodically acquiring the service registration information of each server from the service management end;
and the routing information table generation module is used for generating the routing information table based on the acquired service registration information.
In an alternative embodiment, the apparatus further comprises:
and the request response information sending module is used for sending the request response information to the client after receiving the request response information sent by the target server.
In an alternative embodiment, the apparatus further comprises:
the refusing request feedback information generating module is used for generating refusing request feedback information corresponding to the request information if the packaging protocol information does not meet a preset condition or if at least one server address corresponding to the method name is not found in the routing information table;
and the refusal request feedback information sending module is used for sending the refusal request feedback information to the client.
In an optional implementation manner, the receiving module is configured to, when receiving the request information sent by the client,:
receiving request information sent by a client through long connection;
The request response information sending module is configured to, when the request response information is sent to the client, send the request response information to the client:
the request response information is sent to the client through long connection;
the apparatus further comprises:
and the disconnection module is used for disconnecting the long connection between the reverse proxy server and the client if the connection disconnection request sent by the client is received and/or if the request information sent by the client is not received after a preset time interval.
In a third aspect, embodiments of the present application further provide an electronic device, including: a processor, a memory and a bus, the memory storing machine-readable instructions executable by the processor, the processor and the memory communicating over the bus when the electronic device is running, the machine-readable instructions when executed by the processor performing the steps of the request processing method of the first aspect, or any of the possible implementations of the first aspect.
In a fourth aspect, the embodiments of the present application further provide a computer readable storage medium, on which a computer program is stored, which when executed by a processor performs the steps of the request processing method described in the first aspect, or any possible implementation manner of the first aspect.
According to the request processing method and device, through receiving request information sent by a client, when packaging protocol information included in the request information accords with preset conditions, a corresponding method name is extracted from the request information, and at least one server address corresponding to the method name is searched from a stored routing information table; the request information is sent to a target server corresponding to the searched server address; therefore, after receiving the request information initiated based on the packaging protocol information meeting the preset conditions, for example, after receiving the request information initiated based on the thread RPC protocol information meeting the preset conditions, the reverse proxy server can realize the proxy of the request information of the client based on the method, thereby avoiding the condition that the request information of the client is discarded abnormally, avoiding service loss and improving the reliability of request processing.
The foregoing objects, features and advantages of the disclosure will be more readily apparent from the following detailed description of the preferred embodiments taken in conjunction with the accompanying drawings.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the embodiments of the present disclosure more apparent, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure, and it is apparent that the described embodiments are only some embodiments of the present disclosure, but not all embodiments. The components of the embodiments of the present disclosure, which are generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present disclosure provided in the accompanying drawings is not intended to limit the scope of the disclosure, as claimed, but is merely representative of selected embodiments of the disclosure. All other embodiments, which can be made by those skilled in the art based on the embodiments of this disclosure without making any inventive effort, are intended to be within the scope of this disclosure.
In general, the reverse proxy server may support an http protocol proxy, a TCP protocol proxy, or a gRPC protocol proxy, but does not support a thread RPC protocol proxy, that is, the reverse proxy server cannot proxy a request initiated by a client based on the thread RPC protocol, if the client is a request initiated by the thread RPC protocol, the reverse proxy server processes the request as a transport layer protocol and forwards the received request to a preset server, or cannot proxy the request, and then refuses the request, so that the server cannot normally receive the request of the client.
Therefore, in order to implement the proxy of the reverse proxy server to the thread RPC protocol, the embodiment of the disclosure proposes a request processing method, which may enable the improved reverse proxy server to implement the proxy of the reverse proxy server to the thread RPC protocol, that is, implement the processing of the request of the thread RPC protocol type, based on the request processing method proposed by the embodiment of the disclosure by improving the reverse proxy server. The improvement process of the reverse proxy server is the same as the implementation process of the request processing method proposed in the present disclosure.
For ease of understanding the embodiments of the present disclosure, a detailed description of a request processing method disclosed in the embodiments of the present disclosure is first provided.
Example 1
Referring to fig. 1, a flowchart of a request processing method according to an embodiment of the present disclosure is provided, where the method is applied to a reverse proxy server, for example, the reverse proxy server may be a nginx, a haproxy, a fabio, etc. The method comprises the steps of S101 to S104, wherein:
s101, receiving request information sent by a client.
In the embodiment of the disclosure, the client may generate the request information in response to the operation of the user, and send the generated request information to the reverse proxy server. Here, the operation of the user may be an operation of the user logging in the client, an operation of the user viewing information in the client, or the like.
S102, extracting packaging protocol information corresponding to the request information from the request information.
For example, the wrapper protocol information may include protocol version information and request type information. The protocol version information may be determined according to the protocol type of the generation request information, for example, the protocol version information may be hexadecimal number 8001 (i.e. 0x 8001), and the like. The request type information may be determined according to the type of the request message sent by the client, for example, if the request message is a call message, the request type message may be hexadecimal 0001 (i.e. 0x 0001), if the request message is a response message, the request type message may be 0x0002, if the request message is an exception message, the request type message may be 0x 0003, if the request type message is a unidirectional message (belonging to the call message, but not requiring a response), the request type message may be 0x0004, etc. Further, the obtained package protocol information may be 0x80010001, or 0x80010002, or 0x80010003, or 0x80010004, etc.
In an alternative embodiment, when the packaging protocol information includes protocol version information and request type information, extracting packaging protocol information corresponding to the request information from the request information includes:
searching a first field positioned at a first preset position from a plurality of fields corresponding to the request information, and determining the information of the first field as protocol version information; and searching a second field positioned at a second preset position, and determining the information of the second field as request type information.
Generally, the request information includes a plurality of fields, for example, the request information may include a field corresponding to protocol version information version, a field corresponding to request type information type, a field corresponding to method name, and the like.
In general, the serialization protocol type corresponding to the serialization protocol layer TProtoco of the thread RPC protocol may be TBinary, compact, JSON, header, etc., and the transmission protocol type corresponding to the transmission layer TTransport may be stream, famed, buffer, http, etc.
The method is applicable to a speed RPC protocol with a binary TBinary type corresponding to TProtoco and a stream type corresponding to TTransport, and the obtained speed RPC type request information. For example, in the thread RPC type request information obtained in the above manner, the information of the first field at the initial position (i.e., the first preset position) of the request information may be protocol version information version, and the binary data length occupied by the information (version) of the first field may be 2B; the information of the second field at the second preset position adjacent to the protocol version information may be request type information type, and the binary data length occupied by the information (type) of the second field may be 2B; the information of the third field at the third preset position adjacent to the request type information may be the length of the method name, and the binary data length occupied by the information of the third field (the length of the method name) may be 4B; the field corresponding to the preset position adjacent to the length of the method name may be the method name, and the binary data length occupied by the information (method name) of the field may be determined according to the actual situation. Other information, such as, a strut begin, fields, a strut end, a message end, etc., is also included in the request information, and the above information is not needed to be searched in the present embodiment, so the details will not be described here.
Generally, after receiving the request information, the reverse proxy server needs to analyze the request information to obtain all the information included in the request information, obtain server address information from all the analyzed information, package all the analyzed information, and send the packaged information to the corresponding server, and the information obtaining mode is complicated, so that the efficiency of the request processing process is lower. In order to solve the above problems, in a specific implementation, the package protocol information, the length of the method name, the method name and other information can be searched from the position corresponding to the request information through the peek operation, for example, the protocol version information is searched from the first field at the first preset position, and the request type information is searched from the second field at the second preset position, so that the request information does not need to be analyzed, the integrity of the request information is not damaged, the process is simple, and the efficiency of the request processing process can be improved.
S103, if the packaging protocol information meets the preset condition, extracting a corresponding method name from the request information, and searching at least one server address corresponding to the method name from the stored routing information table.
In the embodiment of the disclosure, whether the packaging protocol information accords with a preset condition can be judged, if so, the corresponding method name is extracted from the request information, and at least one server address corresponding to the method name can be searched from a stored routing information table; if not, rejecting the request information. The server address corresponding to the searched method name is the address of the server providing service for the client.
In an alternative embodiment, the method further comprises: if the packaging protocol information does not meet the preset condition, or if at least one server address corresponding to the method name is not found in the routing information table, generating refusing request feedback information corresponding to the request information; and sending the refusal request feedback information to the client.
In the implementation, if the packaging protocol information does not meet the preset condition, the reverse proxy server can reject the request information, generate reject request feedback information corresponding to the request information, and send the reject request feedback information to the client. And/or if the method name is not found from the routing information table, and then at least one server address corresponding to the method name is not found, the reverse proxy server can reject the request information, generate reject request feedback information corresponding to the request information, and send the reject request feedback information to the client.
Accepting S102, in an optional implementation manner, determining that the packaging protocol information meets a preset condition includes:
if the searched protocol version information is preset target protocol version information and the searched request type information is set target request type information, determining that the packaging protocol information meets preset conditions. Otherwise, if the searched protocol version information is not in accordance with the preset target protocol version information and/or the searched request type information is not in accordance with the preset target request type information, determining that the packaging protocol information is not in accordance with the preset condition.
For example, the target protocol version information may be 0x8001, and the target request type information may be 0x0001 and 0x0004, and if the found protocol version information is 0x8001, and the found request type information is 0x0001 or 0x0004, determining that the packaging protocol information meets the preset condition; otherwise, if the found protocol version information is 0x7001 and/or the found request type information is 0x0002 or 0x0003, determining that the packaging protocol information does not meet the preset condition. Namely, when the found packaging protocol information is 0x80010001 or 0x80010004, the packaging protocol information accords with preset conditions; otherwise, if the found packaging protocol information is 0x80010002 or 0x70010004, the packaging protocol information does not meet the preset condition. The target protocol version information and the target request type information may be set according to actual situations, and the embodiments of the present disclosure are merely exemplary illustrations.
In an alternative embodiment, extracting the corresponding method name from the request information includes:
s201, searching a third field positioned at a third preset position from a plurality of fields corresponding to the request information to obtain the length of the method name;
s202, extracting the corresponding method name from the request information based on the length of the method name and the preset initial position of the method name in the request information.
Illustratively, the method name len (length of method name) is determined according to the corresponding method name, and the lengths corresponding to different method names are different. Each server cluster may correspond to a plurality of method names, and each method name may be defined by a developer according to actual needs.
Here, the initial position of the method name in the request information is determined, and after determining the length of the method name, a fourth field corresponding to the method name len may be selected from a preset initial position in the request information, and information corresponding to the selected fourth field may be determined as the method name. For example, taking table 1 as an example, if the determined length corresponding to the method name is 4B, the information from the 9 th byte to the 12 th byte (including the 9 th byte and the 12 th byte) is acquired, and the acquired information is determined as the method name; if the determined method name corresponds to the length of 2B, information from the 9 th byte to the 10 th byte (including the 9 th byte and the 10 th byte) is acquired, and the acquired information is determined as a method name.
And S104, sending the request information to a target server corresponding to the server address.
In a specific implementation, after sending the request information to the target server corresponding to the server address, the method further includes: and after receiving the request response information sent by the target server, sending the request response information to the client.
In the embodiment of the disclosure, after determining at least one server address corresponding to the request information, the request information may be sent to a target server corresponding to the at least one server address. And receiving request response information corresponding to the request information sent by the target server, and forwarding the request response information to the client.
In an alternative embodiment, the method further comprises:
periodically acquiring service registration information of each server from a service management end;
and generating the routing information table based on the acquired service registration information.
In the embodiment of the disclosure, a service management end receives service registration information sent by each server in real time, and stores the received service registration information, wherein the service registration information comprises information such as a server name, a server address, a server port, a server weight, at least one method name corresponding to the server, and the like. The service management end may be condul, nacos, etc.
The reverse proxy server can periodically acquire the service registration information stored by the service management end, generate a routing information table based on the acquired service registration information, and store the routing information table. If the service registration information received by the service management end is changed in transmission (for example, if the server a is damaged, the server a does not transmit the service registration information to the service management end), the service registration information acquired by the reverse proxy server is correspondingly updated, and a new routing information table can be generated and stored based on the updated service registration information. The period for acquiring the service registration information may be set according to actual needs.
For example, the routing information table may include a name, a method name, an IP address of a server, port information, a weight, and the like of each server in the server cluster corresponding to each service. Specifically, the information content included in the routing information table may be set according to actual needs.
In specific implementation, the receiving request information sent by the client may be: and receiving the request information sent by the client through the long connection. The sending of the request response information to the client may be: and sending the request response information to the client through the long connection.
The method for carrying out the embodiment further comprises:
and if the connection disconnection request sent by the client is received and/or if the request information sent by the client is not received after the preset time interval, disconnecting the long connection between the reverse proxy server and the client.
For example, a long connection may be established between the client and the reverse proxy server such that the reverse proxy server may receive request information over the long connection and may send request response information to the client over the long connection. After the request response information is sent to the client, the long connection with the client can not be disconnected, so that the reverse proxy server can continuously receive the request information sent again by the client based on the established long connection, further the time for establishing the long connection can be saved, and the efficiency of request processing is improved.
Illustratively, the reverse proxy server disconnects the long connection between the reverse proxy server and the client after receiving the connection disconnection request sent by the client and/or after not receiving the request information sent by the client for a preset time period. The preset time of the interval may be set according to practical situations, for example, the preset time of the interval may be 3 seconds, 5 seconds, or the like.
For example, a short connection may be established between the reverse proxy server and the server, and if the server address corresponding to the request information sent by the client at this time is the same as the server address corresponding to the request information sent next time, the short connection established between the reverse proxy server and the server is not disconnected; if the server address corresponding to the request information sent by the client at this time is different from the server address corresponding to the request information sent next time, for example, the server address corresponding to the request information at this time corresponds to the server a, and the server address corresponding to the request information at next time corresponds to the server B, the short connection between the reverse proxy server and the server a is disconnected first, and then the short connection between the reverse proxy server and the server B is established.
In the embodiment of the disclosure, by receiving request information sent by a client, when packaging protocol information included in the request information accords with a preset condition, extracting a corresponding method name from the request information, and searching at least one server address corresponding to the method name from a stored routing information table; the request information is sent to a target server corresponding to the searched server address; therefore, after receiving the request information initiated based on the packaging protocol information meeting the preset conditions, for example, after receiving the request information initiated based on the thread RPC protocol information meeting the preset conditions, the reverse proxy server can realize the proxy of the request information of the client based on the method, thereby avoiding the condition that the request information of the client is discarded abnormally, avoiding service loss and improving the reliability of request processing.
It will be appreciated by those skilled in the art that in the above-described method of the specific embodiments, the written order of steps is not meant to imply a strict order of execution but rather should be construed according to the function and possibly inherent logic of the steps.
Based on the same inventive concept, the embodiments of the present disclosure further provide a request processing device corresponding to the request processing method, and since the principle of solving the problem by the device in the embodiments of the present disclosure is similar to that of the request processing method in the embodiments of the present disclosure, the implementation of the device may refer to the implementation of the method, and the repetition is omitted.
Example two
Based on the same conception, the embodiment of the present disclosure provides a request processing apparatus, referring to a schematic structural diagram of a request processing apparatus shown in fig. 3, the apparatus includes:
a receiving module 301, configured to receive request information sent by a client;
an extracting module 302, configured to extract, from the request information, packaging protocol information corresponding to the request information;
a server address module 303, configured to extract a corresponding method name from the request information if the packaging protocol information meets a preset condition, and search at least one server address corresponding to the method name from a stored routing information table;
And a sending module 304, configured to send the request information to a target server corresponding to the server address.
In an alternative embodiment, the wrapper protocol information includes protocol version information and request type information;
the extracting module is configured to, in a case where the packaging protocol information corresponding to the request information is extracted from the request information:
searching a first field positioned at a first preset position from a plurality of fields corresponding to the request information, and determining the information of the first field as the protocol version information; searching a second field positioned at a second preset position, and determining the information of the second field as the request type information;
the server address module is configured to, when determining that the packaging protocol information meets a preset condition:
if the searched protocol version information is preset target protocol version information and the searched request type information is preset target request type information, determining that the packaging protocol information accords with preset conditions.
In an alternative embodiment, the server address module is configured to, in a case where a corresponding method name is extracted from the request information:
Searching a third field positioned at a third preset position from a plurality of fields corresponding to the request information to obtain the length of the method name;
and extracting the corresponding method name from the request information based on the length of the method name and the preset initial position of the method name in the request information.
In an alternative embodiment, the apparatus further comprises:
the service registration information acquisition module is used for periodically acquiring the service registration information of each server from the service management end;
and the routing information table generation module is used for generating the routing information table based on the acquired service registration information.
In an alternative embodiment, the apparatus further comprises:
and the request response information sending module is used for sending the request response information to the client after receiving the request response information sent by the target server.
In an alternative embodiment, the apparatus further comprises:
the refusing request feedback information generating module is used for generating refusing request feedback information corresponding to the request information if the packaging protocol information does not meet a preset condition or if at least one server address corresponding to the method name is not found in the routing information table;
And the refusal request feedback information sending module is used for sending the refusal request feedback information to the client.
In an optional implementation manner, the receiving module is configured to, when receiving the request information sent by the client,:
receiving request information sent by a client through long connection;
the request response information sending module is configured to, when the request response information is sent to the client, send the request response information to the client:
the request response information is sent to the client through long connection;
the apparatus further comprises:
and the disconnection module is used for disconnecting the long connection between the reverse proxy server and the client if the connection disconnection request sent by the client is received and/or if the request information sent by the client is not received after a preset time interval.
In some embodiments, the functions or templates included in the apparatus provided by the embodiments of the present disclosure may be used to perform the methods described in the foregoing method embodiments, and specific implementations thereof may refer to descriptions of the foregoing method embodiments, which are not repeated herein for brevity.
The request processing device provided in the embodiment of the present disclosure has the same technical characteristics as the request processing method provided in the first embodiment, so that the same technical problems can be solved, and the same technical effects can be achieved.
Example III
Based on the same technical concept, the embodiment of the disclosure also provides electronic equipment. Referring to fig. 4, a schematic structural diagram of an electronic device 400 according to an embodiment of the disclosure includes a processor 401, a memory 402, and a bus 403. The memory 402 is configured to store execution instructions, including a memory 4021 and an external memory 4022; the memory 4021 is also referred to as an internal memory, and is used for temporarily storing operation data in the processor 401 and data exchanged with the external memory 4022 such as a hard disk, the processor 401 exchanges data with the external memory 4022 through the memory 4021, and when the electronic device 400 operates, the processor 401 and the memory 402 communicate with each other through the bus 403, so that the processor 401 executes the following instructions:
receiving request information sent by a client;
extracting packaging protocol information corresponding to the request information from the request information;
if the packaging protocol information accords with a preset condition, extracting a corresponding method name from the request information, and searching at least one server address corresponding to the method name from a stored routing information table;
and sending the request information to a target server corresponding to the server address.
In one possible design, the instructions that may be executed by the processor 401 further include:
the packaging protocol information comprises protocol version information and request type information;
the extracting the packaging protocol information corresponding to the request information from the request information comprises the following steps:
searching a first field positioned at a first preset position from a plurality of fields corresponding to the request information, and determining the information of the first field as the protocol version information; searching a second field positioned at a second preset position, and determining the information of the second field as the request type information;
determining that the packaging protocol information meets preset conditions comprises the following steps:
if the searched protocol version information is preset target protocol version information and the searched request type information is preset target request type information, determining that the packaging protocol information accords with preset conditions.
In one possible design, the instructions that may be executed by the processor 401 further include:
the extracting the corresponding method name from the request information comprises the following steps:
searching a third field positioned at a third preset position from a plurality of fields corresponding to the request information to obtain the length of the method name;
And extracting the corresponding method name from the request information based on the length of the method name and the preset initial position of the method name in the request information.
In one possible design, the instructions that may be executed by the processor 401 further include:
periodically acquiring service registration information of each server from a service management end;
and generating the routing information table based on the acquired service registration information.
In one possible design, the instructions that may be executed by the processor 401 further include:
and after receiving the request response information sent by the target server, sending the request response information to the client.
In one possible design, the instructions that may be executed by the processor 401 further include:
if the packaging protocol information does not meet the preset condition, or if at least one server address corresponding to the method name is not found in the routing information table, generating refusing request feedback information corresponding to the request information;
and sending the feedback information of the refusal request to the client.
In one possible design, the instructions that may be executed by the processor 401 further include:
receiving request information sent by a client, including:
Receiving request information sent by a client through long connection;
the sending the request response information to the client includes:
the request response information is sent to the client through long connection;
the method further comprises the steps of:
and if the connection disconnection request sent by the client is received and/or if the request information sent by the client is not received after a preset time interval, disconnecting the long connection between the reverse proxy server and the client.
Example IV
The disclosed embodiments also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the request processing method described in the above method embodiments. Wherein the storage medium may be a volatile or nonvolatile computer readable storage medium.
The computer program product of the request processing method provided in the embodiments of the present disclosure includes a computer readable storage medium storing program codes, where the instructions included in the program codes may be used to execute the steps of the request processing method described in the above method embodiments, and specifically, reference may be made to the above method embodiments, which are not described herein.
The disclosed embodiments also provide a computer program which, when executed by a processor, implements any of the methods of the previous embodiments. The computer program product may be realized in particular by means of hardware, software or a combination thereof. In an alternative embodiment, the computer program product is embodied as a computer storage medium, and in another alternative embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK), or the like.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described system and apparatus may refer to corresponding procedures in the foregoing method embodiments, which are not described herein again. In the several embodiments provided in the present disclosure, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. The above-described apparatus embodiments are merely illustrative, for example, the division of the units is merely a logical function division, and there may be other manners of division in actual implementation, and for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some communication interface, device or unit indirect coupling or communication connection, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present disclosure may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a non-volatile computer readable storage medium executable by a processor. Based on such understanding, the technical solution of the present disclosure may be embodied in essence or a part contributing to the prior art or a part of the technical solution, or in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in the embodiments of the present disclosure. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Finally, it should be noted that: the foregoing examples are merely specific embodiments of the present disclosure, and are not intended to limit the scope of the disclosure, but the present disclosure is not limited thereto, and those skilled in the art will appreciate that while the foregoing examples are described in detail, it is not limited to the disclosure: any person skilled in the art, within the technical scope of the disclosure of the present disclosure, may modify or easily conceive changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features thereof; such modifications, changes or substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the disclosure, and are intended to be included within the scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.