WO2023056873A1 - Procédé de demande de données, appareil de communication, et système de communication - Google Patents

Procédé de demande de données, appareil de communication, et système de communication Download PDF

Info

Publication number
WO2023056873A1
WO2023056873A1 PCT/CN2022/122228 CN2022122228W WO2023056873A1 WO 2023056873 A1 WO2023056873 A1 WO 2023056873A1 CN 2022122228 W CN2022122228 W CN 2022122228W WO 2023056873 A1 WO2023056873 A1 WO 2023056873A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication device
client
communication
message
session
Prior art date
Application number
PCT/CN2022/122228
Other languages
English (en)
Chinese (zh)
Inventor
朱玲
王晓鹏
桑琰
李晓光
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023056873A1 publication Critical patent/WO2023056873A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware

Definitions

  • the present application relates to the computer field, and in particular to a data request method, communication device and communication system.
  • CDN content delivery network
  • the client sends a request message to one of multiple real servers through the load balancing server to request target data. Since the load balancing server cannot perceive the storage location of the target data, the load balancing server sends a request message to a real The server forwards the request message, and the target data may not be stored on the real server, and the real server will obtain the target data from other real servers and send it to the client. The transfer of target data between various real servers will put a lot of pressure on the system bandwidth.
  • Embodiments of the present application provide a data request method, a communication device, and a communication system, which are used to reduce traffic between communication devices storing data.
  • a method for requesting data including: the second communication device receives from the first communication device the connection state information of the first session between the first communication device and the client and the cached communication with the client
  • the message communicated with the client includes a request message, and the request message is used to request target data;
  • the second communication device establishes a second session with the client according to the connection status information;
  • the second communication device sends the client a second session through the second session Send the target data;
  • the second communication device sends the unique identifier of the second communication device to the load balancing server, the unique identifier of the second communication device is used to update the flow entry, and before the update, the flow entry is used to indicate that the message from the client will Forwarding to the first communication device, after updating, the flow entry is used to indicate that the message from the client is forwarded to the second communication device.
  • the data request method provided by the embodiment of the present application replaces the transmission of target data between the communication devices storing data by transmitting the connection state information of the session and the cached message communicated with the client between the communication devices storing data, It can reduce the traffic between communication devices storing data, reduce the number of communication devices, save costs, and reduce the time delay of the first packet (open frequency).
  • the unique identifier of the second communications device is a custom identifier, or a real network protocol address of the second communications device, or a media access control address of the second communications device.
  • the flow entry includes the quintuple and the unique identifier of the second communication device (for example, a custom ID, or the real network protocol address of the second communication device, or the media access control address of the second communication device).
  • the mapping relationship includes the unique identifier of the second communication device. The present application does not limit the specific form of the unique identifier of the second communication device, as long as it can be distinguished from the first communication device.
  • a method for requesting data including: the load balancing server sends a request message from the client to the first communication device, the request message is used to request target data; the load balancing server establishes a flow entry, and the flow entry indicates that the The message from the client is forwarded to the first communication device; the load balancing server receives the unique identifier of the second communication device from the second communication device; the load balancing server updates the flow entry according to the unique identifier of the second communication device, and the flow entry indicates that the flow entry will come from The client's message is forwarded to the second communication device.
  • the unique identifier of the second communications device is a custom identifier, or a real network protocol address of the second communications device, or a media access control address of the second communications device.
  • a data request method including: a first communication device receives a request message from a client from a load balancing server, and the request message is used to request target data; the first communication device establishes a first session with the client; A communication device determines that the target data is stored in the second communication device according to the request message and the resource list; the first communication device sends the connection status information of the first session and the cached communication message with the client to the second communication device; the first The communication device disconnects the first session.
  • a second communication device including: a communication module and a processing module, the communication module is configured to receive from the first communication device the connection status information of the first session between the first communication device and the client, and The cached message communicated with the client, the message communicated with the client includes a request message, the request message is used to request the target data; the processing module is used to establish a second session with the client according to the connection state information; the communication module , used to send the target data to the client through the second session; the communication module is used to send the unique identifier of the second communication device to the load balancing server, and the unique identifier of the second communication device is used to update the flow entry. Before the update, The flow entry is used to indicate that the message from the client is forwarded to the first communication device, and after being updated, the flow entry is used to indicate that the message from the client is forwarded to the second communication device.
  • the unique identifier of the second communications device is a custom identifier, or a real network protocol address of the second communications device, or a media access control address of the second communications device.
  • a third communication device including: a communication module and a processing module, the communication module is configured to send a request message from a client to the first communication device, and the request message is used to request target data; the processing module uses In order to establish a flow entry, the flow entry indicates that the message from the client is forwarded to the first communication device; the communication module is used to receive the unique identifier of the second communication device from the second communication device; the processing module is used to receive the unique identifier of the second communication device according to the second communication The unique identifier of the device updates a flow entry, and the flow entry indicates that the message from the client is forwarded to the second communication device.
  • the unique identifier of the second communications device is a custom identifier, or a real network protocol address of the second communications device, or a media access control address of the second communications device.
  • a first communication device including: a communication module and a processing module, the communication module is configured to receive a request message from a client from a load balancing server, and the request message is used to request target data; the processing module is configured to The first session is established with the client; the processing module is used to determine that the target data is stored in the second communication device according to the request message and the resource list; the communication module is used to send the connection state information of the first session and the cached information to the second communication device A message communicated with the client; a processing module, configured to disconnect the first session.
  • a communication system including the second communication device described in the fourth aspect and any implementation manner thereof, the third communication device described in the fifth aspect and any implementation manner thereof, and, The first communication device as described in the sixth aspect.
  • a computer-readable storage medium storing one or more programs, the one or more programs include instructions, and when the instructions are executed on the communication device, the communication device performs the first aspect and any implementation thereof.
  • a computer program product containing instructions.
  • the communication device When the instructions are run on the communication device, the communication device is made to execute the method described in the first aspect and any implementation thereof, or to execute the method described in the second aspect. The method described in any implementation manner thereof, or, perform the method described in the third aspect.
  • FIG. 1 is a schematic structural diagram of a communication system provided by an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of another communication system provided by an embodiment of the present application.
  • FIG. 3 is a schematic structural diagram of another communication system provided by an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of another communication system provided by an embodiment of the present application.
  • FIG. 5 is a schematic flow diagram of a data request method provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a command issued by a communication device provided in an embodiment of the present application.
  • FIG. 7 is a schematic diagram of migrating connection state information of a session provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of migrating cached messages provided by an embodiment of the present application.
  • Fig. 9 is a schematic diagram of a comparison between an original scheme provided in the embodiment of the present application and this scheme.
  • FIG. 10 is a schematic structural diagram of a communication device provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of another communication device provided by an embodiment of the present application.
  • Words such as “exemplary” or “for example” involved in the embodiments of the present application are used to represent examples, illustrations or descriptions. Any embodiment or design described herein as “exemplary” or “for example” is not to be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as “exemplary” or “such as” is intended to present related concepts in a concrete manner.
  • the content delivery network is an intelligent virtual network built on the basis of the existing network, relying on the edge servers deployed in various places, and through the load balancing, content distribution, scheduling and other functions of the central platform, it makes users nearby Obtain the desired content, reduce network congestion, and improve user access response speed and hit rate.
  • Elastic load balancing which automatically distributes incoming application traffic among multiple targets, can handle changing application traffic loads.
  • ALB Application load balancing
  • HTTP hypertext transfer protocol
  • HTTPS hypertext transfer protocol secure
  • HTTPS hypertext transfer protocol secure
  • UDP fast user datagram protocol
  • UDP Internet connections
  • QUIC quick UDP internet connections
  • HTTP an application-layer protocol for distributed, collaborative, and hypermedia information systems, is the basis for data communication on the Internet.
  • HTTPS a transport protocol for secure communication over a computer network.
  • HTTPS communicates over HTTP, but utilizes secure sockets layer (SSL)/transport layer security (TLS) to encrypt packets.
  • SSL secure sockets layer
  • TLS transport layer security
  • UDP a simple datagram-oriented communication protocol, resides at the transport layer.
  • QUIC a general-purpose transport layer network protocol
  • UDP Transmission Control Protocol
  • TCP a connection-oriented, reliable, byte stream-based transport layer communication protocol.
  • MAC Media access control
  • MAC Media access control
  • XDP Express Data Path
  • Inter-board traffic in order to serve the user's traffic request, additional useless data copy and network traffic transmission are generated when the traffic request is provided between the production equipment and the service process.
  • the quintuple refers to the entry in the flow table, including the source Internet protocol (internet protocol, IP) address, source port number, destination IP address, destination port number, and communication protocol of the packet forwarding path.
  • IP Internet protocol
  • the real server (real server, RS), the real server, can also be called the back-end resource node, each node in the cluster, etc.
  • Direct routing direct routing
  • the scheduler of the load balancing server only receives the request message sent by the client and forwards the request message to the back-end RS, and the back-end RS processes the request message directly Send a response message including the target data to the client without going through the dispatcher again.
  • This mode is suitable for scenarios where the upload traffic is small and the download traffic is large.
  • the embodiment of the present application provides a communication system based on a CDN network, including: a client 11, an ELB server 12 and a plurality of RSs 13, wherein the ELB server 12 adopts a direct routing mode.
  • the communication system works as follows:
  • the client 11 sends a request message to the ELB server 12 .
  • Request messages are used to request target data, for example, request to play a video.
  • the ELB server 12 randomly forwards the request message to the RS 13.
  • the ELB server 12 randomly forwards the request message to RS1.
  • S3, RS 13 analyze whether the requested target data of the request message is in the server, if not in the server, then request the target data to other RSs.
  • RS1 checks that the target data requested by the request message is not in RS1, then RS1 requests the target data from RS2.
  • S4 RS 13 returns a response message including target data to the host client.
  • the ELB server 12 cannot perceive the business, so it cannot distribute the request message to the designated RS 13, and inter-board traffic will be generated in step S3, and the inter-board traffic accounts for about 40% of the total traffic, which increases the traffic load , and the accuracy is only 1/N (N is the number of RS 13), resulting in a waste of server resources (wasting (N-1)/N).
  • the embodiment of the present application provides another communication system based on a CDN network, including: a client 11, an ELB server 12, a plurality of RSs 13 and a plurality of ALB servers 14.
  • the communication system works as follows:
  • the client 11 sends a request message to the ELB server 12 .
  • the ELB server 12 forwards the request message to the ALB server 14 according to the distribution rule.
  • the ALB server 14 parses the target address in the request message, and forwards the request message to the corresponding RS 13.
  • S4 RS 13 sends a response message including target data to ALB server 14.
  • the ALB server 14 sends a response message including the target data to the client 11.
  • the problem existing in this communication system Although the ALB server 14 can directly find the RS13 storing the target data, it still cannot solve the problem of inter-board traffic. In the whole process, only the inter-board traffic between RS 13 is transferred to the traffic between RS 13 and ALB server 14, the traffic is not reduced, and the pressure on bandwidth is not eliminated. And the ALB server 14 will become a bottleneck point, causing traffic congestion and increasing time delay. When the traffic is too large, the ALB server 14 will become the bottleneck point in the entire request link, resulting in excessively long delay of the entire request and poor user experience. In addition, resources will be wasted, and the newly added ALB server 14 requires a software server or hardware implementation, which causes large-scale waste of resources and increases the cost of the service provider.
  • the embodiment of the present application provides another communication system based on a CDN network, including: a client 11, an ELB server 12 and a plurality of RS 13.
  • the communication system works as follows:
  • the client 11 sends a request message to the ELB server 12 .
  • the ELB server 12 forwards the request message to the RS 13 according to the distribution rules.
  • the returned response message may also include information such as MAC and IP address of the target RS.
  • the client 11 receives the response message. If the response message includes error information, the client 11 sends the request message again until the target data is hit.
  • the client 11 may directly send the request message to the target RS through the ELB server 12 .
  • the dotted arrow in FIG. 3 shows the interaction process when the target data requested by the request message is not stored in RS1
  • the solid line arrow shows the interaction process when the target data requested by the request message is stored in RS2.
  • the embodiment of the present application provides another communication system based on CDN network, including: client 41, edge gateway 42, load balancing server 43, first communication device 44, second communication device 45, back End host 46 and cloud server 47.
  • the edge gateway 42 is used to forward the request message from the client 41 to the load balancing server 43 .
  • the backend host 46 is used to query the cloud server for resource data and feed back the resource data to the first communication device 44 or the second communication device 45 .
  • the cloud server 47 is used to provide and update resource data (such as video, audio, etc.).
  • the load balancing server 43 is used for distributing the request message from the client 41 to the first communication device 44 or the second communication device 45 .
  • a flow table is stored in the load balancing server 43, and the flow table includes flow entries.
  • the load balancing server 43 receives the request message from the client 41 for the first time, it determines that it needs to be forwarded to the first communication device 44 according to the distribution rule. , the load balancing server 43 creates a new flow entry to instruct to forward subsequent messages from the client 41 to the first communication device 44 . If the load balancing server 43 subsequently receives other messages from the client 41 , the load balancing server 43 may forward the message to the first communication device 44 according to the flow entry.
  • the first communication device 44 and the second communication device 45 may be the aforementioned RS, or a board on the RS, or an RS processor, or the like. Wherein, the differences and connections between the first communication device 44 and the second communication device 45 include: the first communication device 44 does not store the target data requested by the client 41 , and the second communication device 45 stores the target data requested by the client 41 .
  • the virtual internet protocol (virtual internet protocol, VIP) addresses of the first communication device 44 and the second communication device 45 are the same, and the port numbers are the same, but the unique identifiers of the first communication device 44 and the second communication device 45 (such as real IP addresses, MAC addresses) are different, so that the load balancing server 43 distinguishes the first communication device 44 and the second communication device 45 according to the unique identifier.
  • VIP virtual internet protocol
  • the communication system can implement the following data request methods:
  • the client 41 sends a request message to the load balancing server 43 through the edge gateway 42 for the first time to request target data.
  • the load balancing server 43 sends the request message to the first communication device 44 according to the distribution rule.
  • the first communication device 44 establishes a connection with the client 41 after parsing the request message. Since the first communication device 44 does not store the target data requested by the client 41, the first communication device 44 determines that the target data requested by the client 41 is located in the second The communication device 45 , therefore, the management plane of the first communication device 44 sends an instruction to migrate the established session and related data to the second communication device 45 .
  • the second communication device 45 notifies the load balancing server 43 to update the flow table, and locates subsequent request messages for the same target data to the second communication device 45 .
  • the client 41 subsequently sends a request message to the load balancing server 43 through the edge gateway 42, and the load balancing server 43 directly forwards the request message to the second communication device 45 according to the updated flow table.
  • the second communication device can directly send the target data requested by the client 41 to the client 41.
  • the entire interaction process only increases the minimal traffic in the data migration step, and eliminates the inter-board consumption of transmission resources between nodes. flow.
  • this embodiment of the application provides a data request method, as shown in Figure 5, the method includes:
  • the load balancing server 43 receives a request message from the client 41, and forwards it to the first communication device 44 according to a distribution rule.
  • the client 41 sends a request message to the load balancing server 43 through the edge gateway 42 for the first time to request target data, for example, to request live broadcast or video on demand.
  • the load balancing server 43 sends the request message to the first communication device 44 according to the distribution rule.
  • the first communication device 44 receives the request message from the client 41 from the load balancing server 43 .
  • the load balancing server 43 determines to forward the request message to the first communication device 44 according to the distribution rule, and the load balancing server 43 will create a flow entry at this time, and the flow entry includes a quintuple and a unique identifier of the first communication device 44 (such as The user-defined identifier, or the mapping relationship between the real IP address or the MAC address of the first communication device 44, or includes the unique identifier of the first communication device 44 (for example, included in the quintuple of the flow entry).
  • the flow entry is used to indicate to forward the message from the client 41 to the first communication device 44 .
  • source IP address (the IP address of client 41), source port number (port number of client 41), destination IP address (the IP address of the first communication device 44 or the second communication device 45 (real IP address or virtual IP address)), destination port number (the port number of the first communication device 44 or the second communication device 45), and communication protocol.
  • destination IP address the IP address of the first communication device 44 or the second communication device 45 (real IP address or virtual IP address)
  • destination port number (the port number of the first communication device 44 or the second communication device 45)
  • communication protocol the virtual IP addresses of the first communication device 44 and the second communication device 45 are the same but the real IP addresses are different.
  • the quintuples corresponding to the first communication device 44 and the second communication device 45 are different, and the load balancing server 43 according to the quintuples in the flow entry (including the first The unique identifier of the communication device 44) or the unique identifier of the first communication device 44 can forward the subsequently received message from the client 41 to the first communication device 44.
  • the quintuples corresponding to the first communication device 44 and the second communication device 45 are the same, so the flow table
  • the item may include the mapping relationship between the quintuple and the unique identifier of the first communication device 44, so that the load balancing server 43 forwards the subsequently received message from the client 41 to the first communication device 44 according to the mapping relationship in the flow entry. device 44.
  • the first communication device 44 establishes a first session with the client 41.
  • the first communication device 44 establishes a connection with the client 41 after parsing the request message.
  • the first communication device establishes the first session with the client 41 in different ways. For example, for communication protocols such as HTTP and HTTPS, the first communication device establishes a first session with the client 41 through TCP. For communication protocols such as QUIC, the first communication device establishes a first communication connection with the client 41 through UDP.
  • the first communication device 44 determines to store the target data in the second communication device 45 according to the request message and the resource list.
  • the application layer of the first communication device 44 determines that the target data requested by the client 41 is located in the second communication device 45 according to the request message and the resource list.
  • the resource list indicates the mapping relationship between the identifier of the data and the unique identifier (eg, MAC address) of the communication device storing the data. Include the identification of the requested target data in the request message, and the first communication device 44 searches the resource list according to the identification of the target data, thereby determining that the unique identification of the communication device storing the target data is the unique identification of the second communication device 45 (such as a custom identification, or, the real IP address or MAC address of the second communication device 45).
  • the unique identification of the communication device storing the target data is the unique identification of the second communication device 45 (such as a custom identification, or, the real IP address or MAC address of the second communication device 45).
  • the first communication device 44 sends the connection state information of the first session and the cached communication message with the client 41 to the second communication device 45 .
  • the second communication device 45 receives from the first communication device 44 the connection status information of the first session between the first communication device 44 and the client 41 and the request message from the client 41 .
  • the management plane of the first communication device 44 issues a protocol migration command to migrate the stored connection state information of the first session.
  • the first communication device 44 will block (cork) the data flow transmitted between the client 41, or in other words, block the session (session) with the client 41 .
  • the first communication device 44 may send connection status information of the first session based on QUIC, HTTP, HTTPS, TCP, UDP and other communication protocols to the second communication device 45 .
  • connection status information of the first session refers to the link status of the communication protocol, such as the status information of the state machine of the HTTPS communication protocol, and the connection identification number (connection identification) of the QUIC communication protocol. , CID).
  • communication protocols such as TCP and UDP are used, and the connection status information of the first session refers to the socket information of the communication protocol, such as the time window status information of the TCP communication protocol, and the three-way handshake status information of the TCP communication protocol (such as sequence number (sequence number)).
  • the management of the first communication device 44 issues a data migration command to the forwarding module to migrate the cached messages communicated with the client 41 .
  • the message communicated with the client 41 may include the request message received by the first communication device 44 before, and may also include other messages from the client 41 subsequently received by the first communication device 44;
  • the communication message can be sent in the form of the original message or in the form of effective information in the message.
  • the messages communicated with the client 41 cached by the first communication device 44 include messages communicated with the client 41 cached at the application layer (such as an application program (APP)) and cached at the kernel Layer cached messages communicated with the client 41, so the first communication device 44 sends the message communicated with the client 41 cached in the application layer to the second communication device 45 through message forwarding of the application layer,
  • the first communication device 44 sends the message communicated with the client 41 cached at the kernel layer and cached within the time window to the second communication device 45 through message forwarding at the kernel layer (for example, XDP redirection (redirect)). message.
  • the kernel layer for example, XDP redirection (redirect)
  • the second communication device 45 establishes a second session with the client 41 according to the connection status information of the first session.
  • the second communication device 45 uncorks the second session with the client 41 according to the connection status information of the first session, and then resumes the data flow with the client 41 .
  • the client 41 For example, restore the link state of the HTTP communication protocol, restore the link state of the QUIC communication protocol, and so on.
  • the first communication device 44 disconnects the first session with the client 41.
  • the first communication device 44 disconnects the first session with the client 41 , and at this time, the first communication device 44 deletes the connection state information of the first session.
  • the second communication device 45 sends the target data to the client 41 through the second session.
  • the second communication device 45 may adopt the DR mode to send the target data to the client 41 through the second session.
  • steps S105 to S107 are not required to be performed sequentially.
  • the second communication device 45 sends the unique identifier of the second communication device 45 to the load balancing server 43 .
  • the management of the second communication device 45 sends a flow table update command to the load balancing server 43 , and the flow table update command includes the unique identifier of the second communication device 45 .
  • the second communication device 45 may send the unique identifier of the second communication device 45 to the load balancing server 43 to update the flow entry of the flow table in the load balancing server 43 .
  • the unique identification of the second communication device 45 may include a custom identification, or the real IP address or MAC address of the second communication device 45, or the unique identification of the second communication device 45 may include other unique identifier of .
  • the load balancing server 43 updates the flow entry according to the unique identifier of the second communication device 45.
  • the flow entry includes the quintuple and the unique identifier of the first communication device 44 (such as a custom ID, or the real IP address or MAC address of the first communication device 44)
  • the mapping relationship among them or, includes the unique identifier of the first communication device 44, and the flow entry is used to indicate that the message from the client 41 is forwarded to the first communication device 44.
  • the flow entry After the update, the flow entry includes a mapping relationship between the quintuple and the unique identifier of the second communication device 45 (such as a custom ID, or the real IP address or MAC address of the second communication device 45), or, Including the unique identifier of the second communication device 45 , at this time, the flow entry is used to indicate that the message from the client 41 is forwarded to the second communication device 45 .
  • a mapping relationship between the quintuple and the unique identifier of the second communication device 45 such as a custom ID, or the real IP address or MAC address of the second communication device 45
  • the flow entry is used to indicate that the message from the client 41 is forwarded to the second communication device 45 .
  • the client 41 sends a request message to the load balancing server 43 to request target data, for example, request to play a video.
  • the load balancing server 43 randomly forwards the request message to the first communication device 44.
  • the first communication device 44 requests the target data from the second communication device 45 because the target data requested by the parsing request message is not in the local area.
  • the first communication device 44 returns a response message including the target data to the host client 41 .
  • the following process is passed: S1', after the second communication device 45 instructs the load balancing server 43 to update the flow table.
  • S2' The load balancing server 43 may directly forward the subsequently received message from the client 41 to the second communication device 45 according to the updated flow table.
  • S3' the second communication device 45 sends the target data to the client 41.
  • the transmission of target data between the first communication device 44 and the second communication device 45 is avoided.
  • the data request method, communication device, server, and communication system replace the connection status information of the session and the cached communication with the client between the communication devices that store data, instead of
  • the transmission of target data between communication devices can reduce the traffic between communication devices storing data, reduce the number of communication devices, save costs, and reduce the delay of the first packet (open frequency). And it is not limited to cloud scenarios and CDN scenarios, and can also be applied to other scenarios where inter-board traffic exists.
  • the embodiment of the present application also provides a communication device 1000, which can be the first communication device 44, the second communication device 45 or the load balancing server 43 (which can be referred to as the first Three communication devices), configured to execute the method shown in FIG. 5 .
  • the communication device 1000 includes a processing module 1001 and a communication module 1002 .
  • the communication module 1002 is configured to receive a request message from a client from a load balancing server, and the request message is used to request target data.
  • the processing module 1001 is configured to establish a first session with the client.
  • the processing module 1001 is configured to determine, according to the request message and the resource list, that the target data is stored in the second communication device.
  • the communication module 1002 is further configured to send the connection state information of the first session and the cached communication message with the client to the second communication device.
  • the processing module 1001 is also configured to disconnect the first session.
  • the communication module 1002 is configured to receive from the first communication device the connection state information of the first session between the first communication device and the client and the cached
  • the messages communicated between the client and the client include request messages, and the request messages are used to request target data.
  • the processing module 1001 is used to establish a second session with the client according to the connection state information; the communication module 1002 is used to send target data to the client through the second session; the communication module 1002 is used to send the unique identifier of the second communication device to the load balancing server , the unique identifier of the second communication device is used to update the flow entry. Before the update, the flow entry is used to indicate that the message from the client is forwarded to the first communication device. After the update, the flow entry is used to indicate that the message from the client will be forwarded. The message from the terminal is forwarded to the second communication device.
  • the communication module 1002 is used to send a request message from the client to the first communication device, and the request message is used to request target data; the processing module 1001 is used to establish a flow entry, The flow entry indicates that the message from the client is forwarded to the first communication device; the communication module 1002 is used to receive the unique identification of the second communication device from the second communication device; the processing module 1001 is used to update the flow according to the unique identification of the second communication device An entry, the flow entry indicates that the message from the client is forwarded to the second communication device.
  • the first communication device 44, the second communication device 45, and the load balancing server 43 in the embodiment of the present application may be implemented by the communication device (also referred to as a communication device) 1100 in FIG. 11 .
  • FIG. 11 is a schematic structural diagram of a communication device 1100 provided by an embodiment of the present application.
  • the communication device 1100 includes one or more processors 1101 , a memory 1102 and at least one communication interface 1103 .
  • Processor 1101 may be a chip. For example, it can be a field programmable gate array (field programmable gate array, FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), or a central processing unit. It can also be a central processor unit (CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signal processor, DSP), or a microcontroller (micro controller unit, MCU) , and can also be a programmable logic device (programmable logic device, PLD) or other integrated chips.
  • the processor 1101 may correspond to the processing module 1001 described above.
  • the communication interface 1103 may be a transceiver module for communicating with other devices or communication networks, such as Ethernet, wireless local area networks (wireless local area networks, WLAN) and the like.
  • the communication interface 1103 may also be a transceiver circuit located in the processor 1101 to realize signal input and signal output of the processor.
  • the communication interface 1103 is responsible for communicating with other devices or communication networks, which is not specifically limited in this embodiment of the present application.
  • the communication interface 1103 may correspond to the aforementioned communication module 1002 .
  • the storage 1102 may be a device having a storage function.
  • it can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (random access memory, RAM) or other types of memory that can store information and instructions
  • a dynamic storage device can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be stored by a computer Any other medium, but not limited to.
  • the memory 1102 may exist independently and be connected to the processor through a communication line. Memory can also be integrated with the processor.
  • the memory 1102 is used to store instructions and be executed by the processor 1101 .
  • the processor 1101 is configured to execute instructions stored in the memory 1102, so as to implement the method provided in the embodiment of the present application.
  • the instructions in the embodiment of the present application may also be referred to as application program code, which is not specifically limited in the embodiment of the present application.
  • An embodiment of the present application provides a computer-readable storage medium that stores one or more programs, where the one or more programs include instructions, and when the instructions are executed by a communication device, the communication device executes the method shown in FIG. 5 .
  • An embodiment of the present application provides a computer program product including instructions, and when the instructions are run on a communication device, the communication device is made to execute the method shown in FIG. 5 .
  • sequence numbers of the above-mentioned processes do not mean the order of execution, and the execution order of the processes should be determined by their functions and internal logic, and should not be used in the embodiments of the present application.
  • the implementation process constitutes any limitation.
  • modules and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules is only a logical function division. In actual implementation, there may be other division methods.
  • multiple modules or components can be combined or May be integrated into another device, or some features may be omitted, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or modules may be in electrical, mechanical or other forms.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • a software program it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server, or data center Transmission to another website site, computer, server or data center via wired (such as coaxial cable, optical fiber, Digital Subscriber Line (DSL)) or wireless (such as infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or may be a data storage device including one or more servers, data centers, etc. that can be integrated with the medium.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (Solid State Disk, SSD)), etc.
  • a magnetic medium such as a floppy disk, a hard disk, or a magnetic tape
  • an optical medium such as a DVD
  • a semiconductor medium such as a solid state disk (Solid State Disk, SSD)

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)

Abstract

La présente demande concerne le domaine des ordinateurs. Sont divulgués un procédé de demande de données, un appareil de communication et un système de communication, qui sont utilisés pour réduire le trafic entre des appareils de communication pour stocker des données. Le procédé de demande de données comprend les étapes suivantes : un second appareil de communication reçoit, en provenance d'un premier appareil de communication, des informations d'état de connexion d'une première session entre le premier appareil de communication et un client, et un message de communication avec le client, le message de communication avec le client comprenant un message de demande pour demander des données cibles ; le second appareil de communication établit une seconde session avec le client selon les informations d'état de connexion ; le second appareil de communication envoie les données cibles au client au moyen de la seconde session ; et le second appareil de communication envoie un identifiant unique du second appareil de communication à un serveur d'équilibrage de charge, l'identifiant unique du second appareil de communication étant utilisé pour mettre à jour une entrée de table de flux ; et l'entrée de table de flux étant utilisée pour ordonner le transfert du message du client au premier appareil de communication avant d'être mise à jour, et l'entrée de table de flux étant utilisée pour ordonner le transfert du message du client au second appareil de communication après avoir été mise à jour.
PCT/CN2022/122228 2021-10-09 2022-09-28 Procédé de demande de données, appareil de communication, et système de communication WO2023056873A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111178020.4A CN115967679A (zh) 2021-10-09 2021-10-09 数据请求方法、通信装置和通信系统
CN202111178020.4 2021-10-09

Publications (1)

Publication Number Publication Date
WO2023056873A1 true WO2023056873A1 (fr) 2023-04-13

Family

ID=85803914

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/122228 WO2023056873A1 (fr) 2021-10-09 2022-09-28 Procédé de demande de données, appareil de communication, et système de communication

Country Status (2)

Country Link
CN (1) CN115967679A (fr)
WO (1) WO2023056873A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102333130A (zh) * 2011-10-31 2012-01-25 北京蓝汛通信技术有限责任公司 一种访问缓存服务器的方法、系统及缓存智能调度器
US20150341431A1 (en) * 2014-01-31 2015-11-26 Edgecast Networks, Inc. Control message routing within anycast reliant platforms
CN106302225A (zh) * 2016-10-18 2017-01-04 上海优刻得信息科技有限公司 一种服务器负载均衡的方法与装置
CN107872478A (zh) * 2016-09-26 2018-04-03 中国移动通信有限公司研究院 一种内容缓存方法、装置和系统
CN108076142A (zh) * 2017-11-28 2018-05-25 郑州云海信息技术有限公司 一种基于cdn技术加速用户请求的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102333130A (zh) * 2011-10-31 2012-01-25 北京蓝汛通信技术有限责任公司 一种访问缓存服务器的方法、系统及缓存智能调度器
US20150341431A1 (en) * 2014-01-31 2015-11-26 Edgecast Networks, Inc. Control message routing within anycast reliant platforms
CN107872478A (zh) * 2016-09-26 2018-04-03 中国移动通信有限公司研究院 一种内容缓存方法、装置和系统
CN106302225A (zh) * 2016-10-18 2017-01-04 上海优刻得信息科技有限公司 一种服务器负载均衡的方法与装置
CN108076142A (zh) * 2017-11-28 2018-05-25 郑州云海信息技术有限公司 一种基于cdn技术加速用户请求的方法及系统

Also Published As

Publication number Publication date
CN115967679A (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
US10694005B2 (en) Hardware-based packet forwarding for the transport layer
WO2020228505A1 (fr) Procédé, dispositif et système de sélection d'un nœud informatique en périphérie de réseau mobile
US10534601B1 (en) In-service software upgrade of virtual router with reduced packet loss
CA2968964C (fr) Systemes et procedes de transparence d'adresse ip de source
US9647954B2 (en) Method and system for optimizing a network by independently scaling control segments and data flow
US11277313B2 (en) Data transmission method and corresponding device
EP4009593A1 (fr) Procédé et appareil de transmission de données, carte de réseau et support de stockage
US8676980B2 (en) Distributed load balancer in a virtual machine environment
US8447871B1 (en) Simplified method for processing multiple connections from the same client
WO2018133454A1 (fr) Procédé de commande de trajet d'accès à un service à distance, et appareil associé
US20040260745A1 (en) Load balancer performance using affinity modification
WO2021047515A1 (fr) Procédé et appareil d'acheminement de service
JP6395867B2 (ja) OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ
WO2019242638A1 (fr) Procédé et dispositif d'équilibrage de charge
WO2014023003A1 (fr) Procédé, appareil et système pour commander une transmission de données
CN111107672B (zh) 一种建立多路径连接的子流的方法、装置和系统
WO2023151264A1 (fr) Procédé et appareil d'équilibrage de charge, noeud et support de stockage
Kogias et al. Bypassing the load balancer without regrets
WO2013159492A1 (fr) Procédé et système pour le reporting et le téléchargement de données
WO2023186109A1 (fr) Procédé d'accès au nœud et système de transmission de données
WO2023056873A1 (fr) Procédé de demande de données, appareil de communication, et système de communication
WO2022089169A1 (fr) Procédé et appareil d'envoi d'informations de routage de calcul, dispositif, et support de stockage
KR20230158620A (ko) 프록시리스 프로토콜
US11272014B2 (en) Systems and methods for reducing connection setup latency
Ivanisenko Methods and Algorithms of load balancing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22877892

Country of ref document: EP

Kind code of ref document: A1