Communication method and apparatus, and device, readable storage medium and product

By establishing multiple communication connections between the client device and the server device and switching to a backup connection in case of anomalies, the problem of request failure caused by a single connection interruption in HTTP/2.0 is solved, thus improving the stability and reliability of network access.

WO2026129364A1PCT designated stage Publication Date: 2026-06-25BEIJING ZITIAO NETWORK TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
BEIJING ZITIAO NETWORK TECH CO LTD
Filing Date
2024-12-20
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

During HTTP/2.0 communication, the interruption of a single connection can cause multiple requests to fail, affecting the stability and reliability of network access.

Method used

Multiple communication connections are established between the client device and the server device, and the system switches to a backup connection to continue data transmission when an anomaly is detected.

Benefits of technology

It improves the stability and reliability of network access, avoiding the failure of multiple requests due to the interruption of a single connection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024141237_25062026_PF_FP_ABST
    Figure CN2024141237_25062026_PF_FP_ABST
Patent Text Reader

Abstract

The embodiments of the present disclosure relate to a communication method and apparatus, and a device, a readable storage medium and a product. The method provided herein comprises: establishing a plurality of communication connections between a client device and a server-end device; on the basis of a communication request for the server-end device, by means of a first communication connection among the plurality of communication connections, executing, between the client device and the server-end device, reception and transmission of communication data related to the communication request; in response to determining that the first communication connection is abnormal, determining, from among the plurality of communication connections, a second communication connection different from the first communication connection; and by means of the second communication connection, executing, between the client device and the server-end device, the reception and transmission of the communication data related to the communication request.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, apparatus, devices, readable storage media and products for communication Technical Field

[0001] This disclosure relates to the field of computer technology, and more particularly to a method, apparatus, device, readable storage medium, and product for communication. Background Technology

[0002] Network access is an activity based on network communication protocols and data transmission technologies, allowing users or devices to exchange data with remote servers or other devices over a network. Network access relies on network communication protocols, which define the format and rules for data transmission. Among these protocols, the Hypertext Transfer Protocol (HTTP) is a crucial application-layer protocol. HTTP is used to transfer hypertext data between devices, enabling convenient and fast access to and sharing of resources on the network, thus promoting information exchange and dissemination. Summary of the Invention

[0003] In a first aspect of this disclosure, a method for communication implemented at a client device is provided. The method includes: establishing multiple communication connections between the client device and a server device; based on a communication request for the server device, performing the sending and receiving of communication data related to the communication request between the client device and the server device via a first communication connection among the multiple communication connections; in response to determining that an anomaly has occurred in the first communication connection, determining a second communication connection different from the first communication connection among the multiple communication connections; and performing the sending and receiving of communication data related to the communication request between the client device and the server device via the second communication connection.

[0004] In a second aspect of this disclosure, an apparatus for communication implemented at a client device is provided. The apparatus includes: a communication connection establishment module configured to establish multiple communication connections between the client device and a server device; a first data transceiver module configured to perform the transmission and reception of communication data related to a communication request between the client device and the server device via the first communication connection among the multiple communication connections, based on a communication request for the server device; a communication connection switching module configured to, in response to determining that an anomaly has occurred in the first communication connection, determine a second communication connection different from the first communication connection among the multiple communication connections; and a second data transceiver module configured to perform the transmission and reception of communication data related to the communication request between the client device and the server device via the second communication connection.

[0005] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect.

[0006] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program that can be executed by a processor to implement the method of the first aspect.

[0007] In a fifth aspect of this disclosure, a computer program product is provided. The computer program product includes computer-executable instructions that, when executed by a processor, implement the method according to a first aspect of this disclosure.

[0008] It should be understood that the content described in this content section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0009] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0010] Figure 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented;

[0011] Figure 2 illustrates a schematic diagram of an example of establishing multiple communication connections between a client device and a server device according to some embodiments of the present disclosure;

[0012] Figure 3 illustrates an example of communication data for multiple communication requests being sent and received via the same communication connection according to some embodiments of the present disclosure.

[0013] Figure 4 shows a flowchart of an example process of a method for communication according to some embodiments of the present disclosure;

[0014] Figure 5 shows a schematic structural block diagram of a communication apparatus according to some embodiments of the present disclosure; and

[0015] Figure 6 shows a block diagram of an electronic device in which one or more embodiments of the present disclosure may be implemented. Detailed Implementation

[0016] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0017] It should be noted that the headings of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and embodiments of any type may be included under any section / subsection. Furthermore, embodiments described in any section / subsection may be combined in any way with any other embodiments described in the same section / subsection and / or different sections / subsections.

[0018] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0019] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with applicable laws, regulations, and relevant provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing the embodiments of this disclosure, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained in accordance with relevant laws and regulations through appropriate means. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.

[0020] In this specification and the embodiments, any processing of personal information will be carried out only under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be carried out within the scope stipulated or agreed upon. A user's refusal to process personal information other than that necessary for basic functions will not affect the user's use of basic functions.

[0021] As briefly described above, HTTP is used to transfer hypertext data between devices. However, with the continuous development and increasing complexity of web applications, traditional HTTP has gradually revealed some limitations. For example, in communication based on HTTP / 1.x, the client device first needs to establish a communication connection with the server device. Due to the limitations of the HTTP / 1.x version, the client device can only send one request to the server device on that communication connection at a time. This means that when the client device needs to obtain multiple resources from the server device, the client device must initiate requests sequentially and wait for responses, which greatly reduces communication efficiency.

[0022] To address this issue, HTTP / 2.0 was developed. As an upgrade to the HTTP protocol, HTTP / 2.0 can send multiple requests simultaneously over a single connection, thereby improving throughput and response speed. However, in practical applications, HTTP / 2.0 still has some shortcomings. For example, in communication using HTTP / 2.0, multiple requests from the same device need to be sent through the same connection. In this situation, if the connection is interrupted, all requests on that connection risk failing. This problem affects the stability and reliability of network access, thus becoming a pressing technical issue that needs to be resolved.

[0023] In view of this, embodiments of the present disclosure provide a communication scheme implemented at a client device. According to this scheme, multiple communication connections are first established between the client device and a server device. Then, based on a communication request for the server device, communication data related to the communication request is sent and received between the client device and the server device via a first communication connection among the multiple communication connections. In response to determining that the first communication connection has encountered an anomaly, a second communication connection different from the first communication connection is determined among the multiple communication connections. Communication data related to the communication request is then sent and received between the client device and the server device via the second communication connection.

[0024] As will be more clearly understood from the following description, the solution disclosed herein achieves communication connection backup by establishing multiple communication connections between the client device and the server device. Especially in communication based on HTTP / 2.0, even if one communication connection between the client device and the server device fails, the client device can quickly switch to another normal communication connection to continue sending and receiving communication data related to the communication request. In this way, the solution disclosed herein improves the stability and reliability of network access and avoids the risk of multiple request failures due to the interruption of a single connection.

[0025] The following will further describe in detail various example implementations of this scheme with reference to the accompanying drawings.

[0026] Example Scenario

[0027] Figure 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. Referring to Figure 1, the example environment 100 includes a client device 110 and a server device 120.

[0028] In example environment 100, client device 110 has an application 130 installed for interacting with server device 120. User 140 can interact with application 130 via client device 110 and / or its attached devices. Regarding the communication mechanism, application 130 and server device 120 support any suitable communication protocol. Specifically, application 130 and server device 120 support communication using the HTTP protocol, especially HTTP / 2.0, to ensure smooth and fast data transmission and reception.

[0029] When communication with server device 120 is required, client device 110 can establish a communication connection between client device 110 and server device 120, and perform the sending and receiving of communication data between client device 110 and server device 120 through the communication connection.

[0030] In some embodiments, the client device 110 can be any type of mobile terminal, fixed terminal, or portable terminal. These terminals include mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof. In some embodiments, the client device 110 can also support any type of user-facing interface (such as "wearable" circuitry).

[0031] Server-side device 120 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. Server-side device 120 may include, for example, computing systems / servers such as mainframes, edge computing nodes, computing devices in a cloud environment, etc. Server-side device 120 can provide backend services for application 130 in client device 110.

[0032] The communication connection between the server device 120 and the client device 110 can be established via wired or wireless means. The communication connection may include, but is not limited to, Bluetooth, mobile network, Universal Serial Bus, and Wi-Fi connections; the embodiments of this disclosure are not limited in this respect. In the embodiments of this disclosure, the server device 120 and the client device 110 can achieve signaling interaction through their communication connection.

[0033] It should be understood that the structure and function of the various elements in environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure.

[0034] Example Interaction

[0035] Figure 2 illustrates a schematic diagram of an example 200 of establishing multiple communication connections between client device 110 and server device 120 according to some embodiments of the present disclosure. It should be noted that, for clarity, Figure 2 shows two communication connections 210-1 and 210-2. Depending on actual needs, more communication connections can be established between client device 110 and server device 120, and the embodiments of the present disclosure do not limit this. It should also be noted that, for simplicity, communication connections 210-1 and 210-2 will be referred to individually or collectively as communication connection 210 below. The interaction process between client device 110 and server device 120 will be described below with reference to Figures 1 and 2.

[0036] When the client device 110 needs to communicate with the server device 120, multiple communication connections 210 are established between the client device 110 and the server device 120.

[0037] As an example, the communication connection 210 between client device 110 and server device 120 can be any suitable communication connection. For example, the communication connection 210 between client device 110 and server device 120 can be a communication connection 210 implemented based on a protocol such as Transmission Control Protocol (TCP). A communication connection 210 implemented based on Transmission Control Protocol can also be referred to as a TCP connection.

[0038] As an example, client device 110 establishes multiple communication connections 210 between client device 110 and server device 120 based on the domain name associated with it. A domain name is an address on the Internet used to identify and locate client device 110; it can be understood as the "name" or "identifier" of client device 110. In network communication, client device 110 accesses services or resources provided by server device 120 through the domain name.

[0039] Upon receiving a communication request for server device 120, client device 110 may send and receive communication data related to the communication request via at least one communication connection 210. In some embodiments, the communication data related to the communication request may include request data 221 sent to server device 120. Alternatively or additionally, the communication data related to the communication request may include response data 222 received from server device 120 in response to request data 221.

[0040] Communication requests can be triggered by user actions. For example, a user might click a link, submit a form, or trigger a function on client device 110 that requires interaction with the server. Furthermore, communication requests to server device 120 can also originate from other applications that need to transmit data or interact with server device 120, thereby triggering communication requests to server device 120.

[0041] As an example, request data 221 can refer to data used to request resources from server device 120. Such request data 221 may include, for example, a request line, request headers, and a request body. Response data 222 can refer to data returned by server device 120 to client device 110 after receiving request data 221, based on the processing result of request data 221. Such response data 222 may include, for example, a status line, response headers, and a response body.

[0042] In some embodiments, the client device 110 and the server device 120 can send and receive communication data via communication connection 210 using any suitable communication protocol. For example, the client device 110 and the server device 120 can send and receive communication data via the HTTP protocol, especially HTTP / 2.0, to ensure smooth and fast data transmission. In some embodiments, for multiple communication requests to the server device 120, multiple communication connections 210 can be configured to allow communication data related to multiple communication requests to be transmitted via the same communication connection 210.

[0043] As an example, multiple communication requests can refer to multiple independent requests or instructions initiated by the client device 110 to the server device 120, which require processing or response from the server device 120. These requests may contain different information or operational needs, such as retrieving data, submitting forms, updating status, etc.

[0044] Figure 3 illustrates a schematic diagram of an example 300 in which communication data of multiple communication requests are sent and received via the same communication connection according to some embodiments of the present disclosure.

[0045] Referring to FIG3, upon receiving a first communication request for server device 120, client device 110 may send (311) request data 221 related to the first communication request to server device 120 via communication connection 210 (e.g., communication connection 210-1), and receive (321) response data 222 related to the first communication request from server device 120. Upon receiving a second communication request for server device 120, client device 110 may send (312) request data 221 related to the second communication request to server device 120 via communication connection 210 (e.g., communication connection 210-1), and receive (322) response data 222 related to the second communication request from server device 120. Upon receiving a third communication request for server device 120, client device 110 can send (313) request data 221 related to the third communication request to server device 120 via communication connection 210 (e.g., communication connection 210-1), and receive (323) response data 222 related to the third communication request from server device 120, and so on. It should be noted that the sending of request data 221 is independent of each other, thereby enabling parallel processing of multiple communication requests.

[0046] As an example, in HTTP / 2.0, multiplexing technology allows multiple data streams to be transmitted simultaneously over a single physical connection. In embodiments of this disclosure, multiplexing technology enables the sending and receiving of communication data for multiple communication requests to be processed through the same TCP connection, thereby improving concurrency capabilities.

[0047] Referring back to Figure 2, in some embodiments, the client device 110 encodes request data 221 of multiple communication requests into a predetermined format (e.g., binary format) based on HTTP / 2.0. The encoded request data 221 is then split into at least one frame 231, which is the basic unit of HTTP / 2.0 communication. The client device 110 then assembles the split frames 231 into at least one stream 241. In this process, frames 231 obtained by splitting the same request data 221 can be assigned to different streams 241. On a single TCP connection, multiple streams 241 can be sent to the server device 120 in parallel, allowing the request data 221 of multiple communication requests to be processed in parallel. After receiving at least one stream 241, the server device 120 reassembles the frames 231 according to the identification information of each frame 231 in the at least one stream 241 to recover the request data 221 of multiple communication requests. In this way, each stream 241 on a TCP connection can support multiple communication requests simultaneously, and the request data 221 of multiple communication requests can be sent interleaved, thereby effectively improving the reusability of the communication connection.

[0048] Similar to request data 221, server device 120, based on HTTP / 2.0, encodes response data 222 of multiple communication requests into a predetermined format (e.g., binary format). The encoded response data 222 is then split into at least one frame 232. Server device 110 then assembles the split frames 232 into at least one stream 242. During this process, frames 232 obtained by splitting the same response data 222 can be assigned to different streams 242. On a single TCP connection, multiple streams 242 can be sent to client device 110 in parallel, allowing the response data 222 of multiple communication requests to be processed concurrently. Upon receiving at least one stream 242, client device 110 reassembles the frames 232 according to their identification information to recover the response data 222 of multiple communication requests. In this way, each stream 242 on a single TCP connection can support multiple communication requests simultaneously, and the response data of multiple communication requests can be interleaved, effectively improving the reusability of the communication connection.

[0049] In some embodiments, the multiple communication connections 210 between the client device 110 and the server device 120 can be established asynchronously or synchronously. Asynchronous establishment of the communication connections 210 can reduce the load on the client device 110 within the same timeframe. Specifically, in response to receiving an initial communication request for the server device 120, the client device 110 can establish an initial communication connection among the multiple communication connections 210 between the client device 110 and the server device 120. Then, after the initial communication connection is successfully established, the client device 110 can establish other communication connections among the multiple communication connections 210 between the client device 110 and the server device 120 besides the initial communication connection.

[0050] As an example, an initial communication request can refer to the first communication request received by client device 110 towards server device 120 before any communication connection 210 has been established between client device 110 and server device 120. Upon receiving the initial communication request, client device 110 sends a first message containing a synchronization flag (SYN) to server device 120 to inform server device 120 that client device 110 wants to establish a connection with it. After receiving the first message, server device 120 can return a second message containing an acknowledgment flag (ACK) to client device 110 as a response to the first message, to acknowledge successful receipt of the first message. In this case, client device 110 establishes the initial communication connection among multiple communication connections 210 between client device 110 and server device 120.

[0051] In some embodiments, client device 110 may establish other communication connections in response to determining that the operating load of client device 110 is lower than a predetermined load.

[0052] As an example, client device 110 can periodically or based on specific events check its operating load. The operating load of client device 110 includes, but is not limited to, key performance indicators such as processor utilization, memory usage, network bandwidth usage, and disk read activity. The predetermined load can be a pre-set load threshold used to determine whether client device 110 is currently in a low-load state. Client device 110 can compare its current operating load with the predetermined load and determine whether it is currently in a low-load state based on the comparison result. For example, if the current operating load of client device 110 is lower than the predetermined load, it means that client device 110 has sufficient resources to establish more communication connections 210. In this case, client device 110 establishes other communication connections besides the initial communication connection among the multiple communication connections 210. If the current operating load of client device 110 is greater than or equal to the predetermined load, it means that client device 110 does not have sufficient resources to establish more communication connections 210. In this case, client device 110 enters a waiting state until its current operating load falls below the predetermined load, at which point it performs the operation of establishing other communication connections.

[0053] In some embodiments, in response to receiving a communication request for server device 120 before other communication connections are established, client device 110 can perform the sending and receiving of communication data related to the communication request between client device 110 and server device 120 via an initial communication connection. In other words, if only an initial communication connection exists between client device 110 and server device 120, client device 110 can preferentially use this initial communication connection to perform the sending and receiving of communication data related to the communication request. In this way, client device 110 can immediately exchange data with server device 120 through an existing communication connection. This immediate response mechanism reduces waiting time and improves the real-time performance of communication.

[0054] After multiple communication connections 210 are established, the client device 110, based on the communication request to the server device 120, performs the sending and receiving of communication data related to the communication request between the client device 110 and the server device 120 via the first communication connection among the multiple communication connections 210.

[0055] As an example, the first communication connection may refer to the communication connection 210 among the plurality of communication connections 210 that will be used to perform the sending and receiving of communication data related to the currently received communication request. For example, the first communication connection may be communication connection 210-1 among the plurality of communication connections 210 shown in FIG2. It should be noted that the process of sending and receiving communication data via the first communication connection can be determined with reference to the foregoing embodiments, and therefore will not be repeated here. In some embodiments, among the plurality of communication connections 210, the client device 110 may determine the communication connection 210 whose data transmission load meets a predetermined load condition as the first communication connection.

[0056] As an example, client device 110 can periodically or based on predetermined events detect the data transmission load of each communication connection 210. As an example, data transmission load includes, but is not limited to, data transmission rate, data transmission volume, and data transmission stability. By comparing the data transmission load of each communication connection 210 with predetermined load conditions, client device 110 can determine which communication connection 210 best meets the current data transmission requirements, and thus designate that communication connection 210 as the first communication connection. The first communication connection will be preferentially used to send and receive communication data related to the communication request.

[0057] In this way, the client device 110 can manage multiple communication connections 210 more intelligently, thereby improving the efficiency and reliability of data transmission.

[0058] In some embodiments, among multiple communication connections 210, the client device 110 can determine the communication connection 210 with the lowest data transmission load as the communication connection 210 that meets a predetermined load condition, i.e., the first communication connection. In other words, upon detecting a communication request for the server device 120, the client device 110 can select the connection with the least current data request volume from the multiple communication connections 210 for network transmission. In this way, the client device 110 can achieve load balancing among the multiple communication connections 210, thereby helping to solve the data congestion problem on a single communication connection 210, and thus preventing the data transmission and reception rate on a single communication connection 210 from slowing down.

[0059] The client device 110 can periodically or based on predetermined events check the status of the first communication connection. Once it is determined that the first communication connection is abnormal, the client device 110 identifies a second communication connection different from the first communication connection among the multiple communication connections 210. Then, the client device 110 performs the sending and receiving of communication data related to the communication request between the client device 110 and the server device 120 via the second communication connection.

[0060] As an example, if the first communication connection is found to be in a specified state, such as connection timeout, packet loss, excessive latency, or even connection interruption, the client device 110 can determine that the first communication connection has become abnormal. In some embodiments, the client device 110 determines that the first communication connection has become abnormal in response to determining that the first communication connection is interrupted. As an example, when the first communication connection is suddenly disconnected during data transmission, or when the client device 110 does not receive a response from the server device 120 for an extended period of time, the client device 110 can confirm that the first communication connection is interrupted. Therefore, the client device 110 determines that the first communication connection has become abnormal.

[0061] As an example, the second communication connection can refer to one of the plurality of communication connections 210, other than the first communication connection, that will be used to perform the sending and receiving of communication data related to the currently received communication request. For example, the second communication connection can be communication connection 210-2 among the plurality of communication connections 210 shown in FIG2. It should be noted that the process of sending and receiving communication data via the second communication connection can be determined by referring to the foregoing embodiments, and therefore will not be repeated here.

[0062] As an example, the selection strategy of the client device 110 for the second communication connection can be determined according to actual needs. For example, the client device 110 can randomly select one of the remaining communication connections 210 (that is, the communication connections 210 other than the first communication connection) as the second communication connection. Alternatively, the client device 110 can also select a communication connection 210 with better performance as the second communication connection based on parameters such as transmission load, latency, and stability of the remaining communication connections 210.

[0063] As can be clearly understood from the various embodiments described above, the embodiments of this disclosure achieve backup of communication connections 210 by establishing multiple communication connections 210 between the client device 110 and the server device 120. Especially in communication processes based on HTTP / 2.0, even if one of the communication connections 210 between the client device 110 and the server device 120 fails, the client device 110 can quickly switch to another normal communication connection 210 to continue sending and receiving communication data related to the communication request. In this way, the embodiments of this disclosure improve the stability and reliability of network access and avoid the risk of multiple request failures due to a single connection interruption.

[0064] Example process

[0065] Figure 4 shows a flowchart of an example process 400 of a method for communication according to some embodiments of the present disclosure. Process 400 can be implemented at a client device 110.

[0066] Referring to Figure 4, in box 410, the client device 110 establishes multiple communication connections between the client device 110 and the server device 120.

[0067] In some embodiments, in response to receiving an initial communication request for server device 120, client device 110 establishes an initial communication connection among multiple communication connections between client device 110 and server device 120. Then, after the initial communication connection is successfully established, client device 110 establishes other communication connections among multiple communication connections between client device 110 and server device 120 besides the initial communication connection.

[0068] In some embodiments, the client device 110 establishes other communication connections in response to determining that the operating load of the client device 110 is lower than a predetermined load.

[0069] In some embodiments, in response to receiving a communication request for server device 120 before other communication connections are established, client device 110 performs the sending and receiving of communication data related to the communication request between client device 110 and server device 120 via an initial communication connection.

[0070] In box 420, client device 110 performs the sending and receiving of communication data related to the communication request between client device 110 and server device 120 via a first communication connection among a plurality of communication connections, based on a communication request for server device 120.

[0071] In some embodiments, the client device 110 determines the communication connection whose data transmission load meets a predetermined load condition as the first communication connection among multiple communication connections.

[0072] In some embodiments, the client device 110 determines the communication connection with the lowest data transmission load among multiple communication connections as the communication connection that meets a predetermined load condition.

[0073] In some embodiments, the communication data associated with the communication request includes at least one of the following: request data sent to the server device 120, or response data received from the server device 120 in response to the request data.

[0074] In some embodiments, multiple communication connections are configured to allow communication data related to multiple communication requests to be transmitted via the same communication connection.

[0075] In box 430, in response to determining that the first communication connection has encountered an anomaly, the client device 110 determines a second communication connection that is different from the first communication connection among a plurality of communication connections.

[0076] In box 440, client device 110 performs the sending and receiving of communication data related to communication requests between client device 110 and server device 120 via a second communication connection.

[0077] In some embodiments, the client device 110 determines that an anomaly has occurred in the first communication connection in response to determining that the first communication connection has been interrupted.

[0078] Example devices and equipment

[0079] Embodiments of this disclosure also provide corresponding apparatus for implementing the methods or processes described above. Figure 5 shows a schematic structural block diagram of an apparatus 500 for communication according to some embodiments of this disclosure. Apparatus 500 may be implemented as or included in client device 110. The various modules / components in apparatus 600 may be implemented by hardware, software, firmware, or any combination thereof.

[0080] Referring to Figure 5, the device 500 includes a communication connection establishment module 510, a first data transceiver module 520, a communication connection switching module 530, and a second data transceiver module. The communication connection establishment module 510 is configured to establish multiple communication connections between a client device and a server device. The first data transceiver module 520 is configured to, based on a communication request for the server device, perform the transmission and reception of communication data related to the communication request between the client device and the server device via the first communication connection among the multiple communication connections. The communication connection switching module 530 is configured to, in response to determining that an anomaly has occurred in the first communication connection, determine a second communication connection different from the first communication connection among the multiple communication connections. The second data transceiver module is configured to perform the transmission and reception of communication data related to the communication request between the client device and the server device via the second communication connection.

[0081] In some embodiments, the communication connection establishment module 510 is further configured to: in response to receiving an initial communication request for the server device, establish an initial communication connection among multiple communication connections between the client device and the server device; and after the initial communication connection is successfully established, establish other communication connections among multiple communication connections between the client device and the server device besides the initial communication connection.

[0082] In some embodiments, the communication connection establishment module 510 is further configured to establish other communication connections in response to determining that the operating load of the client device is lower than a predetermined load.

[0083] In some embodiments, the apparatus 500 further includes a third data transceiver module. The third data transceiver module is configured to, in response to receiving a communication request for a server device before other communication connections are established, perform the sending and receiving of communication data related to the communication request between the client device and the server device via an initial communication connection.

[0084] In some embodiments, the first data transceiver module 520 is further configured to: among multiple communication connections, determine the communication connection whose data transmission load meets a predetermined load condition as the first communication connection.

[0085] In some embodiments, the first data transceiver module 520 is further configured to: determine the communication connection with the lowest data transmission load among a plurality of communication connections as the communication connection that meets a predetermined load condition.

[0086] In some embodiments, the communication connection switching module 530 is further configured to: determine that an abnormality has occurred in the first communication connection in response to determining that the first communication connection is interrupted.

[0087] In some embodiments, the communication data associated with the communication request includes at least one of the following: request data sent to the server device, or response data received from the server device in response to the request data.

[0088] In some embodiments, multiple communication connections are configured to allow communication data related to multiple communication requests to be transmitted via the same communication connection.

[0089] Figure 6 shows a block diagram of an electronic device 600 in which one or more embodiments of the present disclosure may be implemented. This electronic device 600 may, for example, be used to implement the client device 110 shown in Figure 1. It should be understood that the electronic device 600 shown in Figure 6 is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein.

[0090] Referring to Figure 6, the electronic device 600 is in the form of a general-purpose electronic device. Components of the electronic device 600 may include, but are not limited to, one or more processors or processing units 610, memory 620, storage device 630, one or more communication units 640, one or more input devices 650, and one or more output devices 660. The processing unit 610 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 620. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 600.

[0091] Electronic device 600 typically includes multiple computer storage media. Such media can be any available media accessible to electronic device 600, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 620 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 630 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media capable of storing information and / or data and accessible within electronic device 600.

[0092] Electronic device 600 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 6, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks may be provided. In these cases, each drive may be connected to a bus (not shown) via one or more data media interfaces. Memory 620 may include computer program product 625 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.

[0093] The communication unit 640 enables communication with other electronic devices via a communication medium. Additionally, the functionality of the components of the electronic device 600 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the electronic device 600 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.

[0094] Input device 650 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 660 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 600 can also communicate with one or more external devices (not shown) via communication unit 640 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 600, or with any device that enables electronic device 600 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interface (not shown).

[0095] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.

[0096] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0097] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0098] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0099] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0100] Various implementations of this disclosure have been described above. The foregoing description is exemplary and not exhaustive, nor is it limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is determined to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for communication, implemented at a client device, the method comprising: Multiple communication connections are established between the client device and the server device; Based on the communication request for the server device, the client device and the server device send and receive communication data related to the communication request via the first communication connection among the plurality of communication connections; In response to determining that the first communication connection has become abnormal, a second communication connection different from the first communication connection is determined among the plurality of communication connections; as well as The client device and the server device exchange communication data related to the communication request via the second communication connection.

2. The method according to claim 1, wherein establishing multiple communication connections between the client device and the server device comprises: In response to receiving an initial communication request for the server device, an initial communication connection is established between the client device and the server device among the plurality of communication connections; as well as After the initial communication connection is successfully established, other communication connections besides the initial communication connection are established between the client device and the server device.

3. The method according to claim 2, wherein establishing other communication connections among the plurality of communication connections besides the initial communication connection comprises: In response to determining that the operating load of the client device is lower than a predetermined load, the other communication connection is established.

4. The method according to claim 2, further comprising: In response to receiving a communication request for the server device before the establishment of the other communication connection, the client device and the server device perform the sending and receiving of communication data related to the communication request via the initial communication connection.

5. The method according to claim 1, wherein the first communication connection among the plurality of communication connections is determined in the following manner: Among the plurality of communication connections, the communication connection whose data transmission load meets a predetermined load condition is determined as the first communication connection.

6. The method of claim 5, wherein determining a communication connection whose data transmission load satisfies predetermined conditions as a first communication connection comprises: Among the multiple communication connections, the communication connection with the lowest data transmission load is determined as the communication connection that satisfies the predetermined load condition.

7. The method according to claim 1, wherein whether the first communication connection is abnormal is determined by the following method: In response to determining that the first communication connection is interrupted, it is determined that an anomaly has occurred in the first communication connection.

8. The method of claim 1, wherein the communication data associated with the communication request includes at least one of the following: The request data sent to the server device, or Response data received from the server device in response to the request data.

9. The method of claim 1, wherein for multiple communication requests to the server device, the multiple communication connections are configured to allow communication data related to the multiple communication requests to be transmitted via the same communication connection.

10. An apparatus for communication, implemented at a client device, the apparatus comprising: The communication connection establishment module is configured to establish multiple communication connections between the client device and the server device. The first data transceiver module is configured to perform the transmission and reception of communication data related to the communication request between the client device and the server device via a first communication connection among the plurality of communication connections, based on a communication request for the server device. A communication connection switching module is configured to, in response to determining that the first communication connection has become abnormal, determine a second communication connection different from the first communication connection among the plurality of communication connections; as well as The second data transceiver module is configured to perform the sending and receiving of communication data related to the communication request between the client device and the server device via the second communication connection.

11. An electronic device, comprising: At least one processing unit; as well as At least one memory, coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions causing the electronic device to perform the method according to any one of claims 1 to 9 when executed by the at least one processing unit.

12. A computer-readable storage medium having a computer program stored thereon, the computer program being executable by a processor to implement the method according to any one of claims 1 to 9.

13. A computer program product comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 9.