Data stream transmission method, device, system, computer device and storage medium

By converting QUIC multicast streams into QUIC unicast streams through a multicast gateway, the issue of QUIC multicast protocol not supporting browsers is resolved, achieving secure compatibility on browsers and supporting large-scale live streaming services.

CN116980343BActive Publication Date: 2026-02-17CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310911962.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-24
Publication Date
2026-02-17
Estimated Expiration
2043-07-24

AI Technical Summary

Technical Problem

The existing QUIC multicast protocol does not support browsers, which leads to security issues with multicast and makes it unsuitable for large-scale live streaming services.

Method used

By using a multicast gateway, the multicast stream of the QUIC multicast protocol is converted into a unicast stream of the QUIC unicast protocol and sent to the client, realizing the convergence of multicast and unicast transmission. This ensures that the client still receives a unicast stream based on the QUIC unicast protocol, without requiring any modifications to the client.

Benefits of technology

It enables support for the QUIC multicast protocol in browsers, improving security and compatibility, and enabling its application in large-scale live streaming services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116980343B_ABST
    Figure CN116980343B_ABST
Patent Text Reader

Abstract

The application relates to a data stream transmission method, device, system, computer equipment and storage medium, which are used in a multicast gateway, and the method comprises the following steps: sending a first service request to a multicast server; joining a target multicast group according to a service response of the multicast server to the first service request, and receiving a multicast stream sent by the multicast server based on the target multicast group, wherein the multicast stream is a data stream based on a quick user datagram protocol (UDP) internet connection (QUIC) multicast protocol; performing protocol conversion on the multicast stream to obtain a unicast stream based on a QUIC unicast protocol, and sending the unicast stream to a client. The application converts the multicast stream into a unicast stream through the multicast gateway and sends the unicast stream to the client, realizes the fusion bearing of multicast and unicast, and makes the client receive a unicast stream based on the QUIC unicast protocol, so that the client does not need to be modified, and therefore the method can support a browser.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network technology, and in particular to a data stream transmission method, apparatus, system, computer equipment, and storage medium. Background Technology

[0002] The QUIC (Quick User Datagram Protocol Internet Connection) protocol primarily carries live streaming services via unicast, while multicast is the most cost-effective solution for large-scale live streaming services.

[0003] However, the solution being developed by the IETF (The Internet Engineering Task Force) to support live streaming services via multicast still has the problem of not supporting browsers. Summary of the Invention

[0004] Therefore, it is necessary to provide a method, apparatus, device, system, and storage medium that can support data stream transmission in a browser to address the aforementioned technical problems.

[0005] In a first aspect, this application provides a data stream transmission method for use in a multicast gateway. The method includes: sending a first service request to a multicast server; joining a target multicast group based on the multicast server's service response to the first service request, and receiving a multicast stream sent by the multicast server based on the target multicast group, wherein the multicast stream is a data stream based on the Fast User Datagram Protocol (UDP) Internet Connection (QUIC) multicast protocol; converting the multicast stream to obtain a unicast stream based on the QUIC unicast protocol, and sending the unicast stream to a client.

[0006] In one embodiment, sending a first service request to a multicast server includes: receiving a second service request sent by a client, and sending the first service request to the multicast server upon triggering the second service request.

[0007] In one embodiment, the second service request is a service request based on the QUIC unicast protocol. When the second service request is triggered, the first service request is sent to the multicast server, including: performing protocol conversion processing on the second service request to obtain the first service request based on the QUIC multicast protocol, and sending the first service request to the multicast server.

[0008] In one embodiment, the first service request carries authentication information from the second service request. The authentication information is used by the multicast server to send a service response to the multicast gateway after the multicast gateway has been authenticated based on the authentication information.

[0009] In one embodiment, the authentication information includes the mapping between the encrypted client address and the multicast gateway address.

[0010] In one embodiment, the first service request carries token information from the second service request, and the token information is used by the multicast server to determine the client's address based on the token information.

[0011] In one embodiment, authentication information and token information are sent to the client by a multicast scheduling server.

[0012] In one embodiment, the method further includes: receiving control information from a multicast server and executing a multicast command process based on the control information.

[0013] In one embodiment, the method further includes: sending a third service request to a multicast server, and exiting the target multicast group based on the multicast server's service response to the third service request.

[0014] In one embodiment, sending a third service request to a multicast server includes: receiving a fourth service request sent by a client, and sending the third service request to the multicast server upon triggering the fourth service request.

[0015] In one embodiment, the fourth service request is a service request based on the QUIC unicast protocol. When the fourth service request is triggered, a third service request is sent to the multicast server, including: performing protocol conversion processing on the fourth service request to obtain a third service request based on the QUIC multicast protocol, and sending the third service request to the multicast server.

[0016] Secondly, this application provides a data stream transmission method for use in a multicast scheduling server. The method includes: receiving a configuration request sent by a client based on the QUIC unicast protocol; returning the address of a multicast gateway according to the configuration request; wherein the address of the multicast gateway is used by the client to send a second service request to the multicast gateway, so that the multicast gateway can send a first service request to the multicast server when triggered by the second service request.

[0017] In one embodiment, the configuration request includes a first configuration request, and the method further includes: generating token information and sending it to the client according to the first configuration request, wherein the token information is used by the multicast server to determine the client's address based on the token information.

[0018] In one embodiment, the configuration request includes a second configuration request, and the method further includes: generating authentication information and sending it to the client according to the second configuration request, wherein the authentication information is used for the multicast server to provide a service response to the multicast gateway after the multicast gateway has been authenticated based on the authentication information.

[0019] In one embodiment, the method further includes: configuring the address of the multicast gateway, configuring the correspondence between the client address and the multicast gateway address, and generating a correspondence table between the client address and the multicast gateway address.

[0020] In one embodiment, the method further includes: sending a monitoring request to a multicast gateway; receiving monitoring data sent by the multicast gateway based on the monitoring request; and determining the health status of the multicast gateway based on the monitoring data.

[0021] Thirdly, this application provides a data stream transmission device, disposed in a multicast gateway, the device comprising: a first sending module, configured to send a first service request to a multicast server; a first receiving module, configured to join a target multicast group according to the service response of the multicast server to the first service request, and to receive a multicast stream sent by the multicast server based on the target multicast group, wherein the multicast stream is a data stream based on the QUIC multicast protocol; and a second sending module, configured to perform protocol conversion on the multicast stream to obtain a unicast stream based on the QUIC unicast protocol, and to send the unicast stream to a client.

[0022] In one embodiment, the first sending module is specifically used to receive a second service request sent by the client, and send a first service request to the multicast server when triggered by the second service request.

[0023] In one embodiment, the second service request is a service request based on the QUIC unicast protocol. The first sending module is specifically used to perform protocol conversion processing on the second service request to obtain a first service request based on the QUIC multicast protocol, and send the first service request to the multicast server.

[0024] In one embodiment, the first service request carries authentication information from the second service request. The authentication information is used by the multicast server to send a service response to the multicast gateway after the multicast gateway has been authenticated based on the authentication information.

[0025] In one embodiment, the authentication information includes the mapping between the encrypted client address and the multicast gateway address.

[0026] In one embodiment, the first service request carries token information from the second service request, and the token information is used by the multicast server to determine the client's address based on the token information.

[0027] In one embodiment, authentication information and token information are sent to the client by a multicast scheduling server.

[0028] In one embodiment, the device further includes an execution module for receiving control information from a multicast server and executing multicast command procedures based on the control information.

[0029] In one embodiment, the apparatus further includes a fourth sending module and a third receiving module. The fourth sending module is used to send a third service request to the multicast server, and the third receiving module is used to exit the target multicast group based on the multicast server's service response to the third service request.

[0030] In one embodiment, the fourth sending module is specifically used to receive a fourth service request sent by the client, and to send a third service request to the multicast server when triggered by the fourth service request.

[0031] In one embodiment, the fourth service request is a service request based on the QUIC unicast protocol. The fourth sending module is specifically used to perform protocol conversion processing on the fourth service request to obtain a third service request based on the QUIC multicast protocol, and send the third service request to the multicast server.

[0032] Fourthly, this application provides a data stream transmission device, disposed in a multicast scheduling server, the device comprising: a second receiving module, configured to receive a configuration request sent by a client based on the QUIC unicast protocol; and a third sending module, configured to return the address of the multicast gateway according to the configuration request; wherein the address of the multicast gateway is used by the client to send a second service request to the multicast gateway, so that the multicast gateway can send a first service request to the multicast server upon triggering the second service request.

[0033] In one embodiment, the configuration request includes a first configuration request, and the apparatus further includes a first generation module for generating token information according to the first configuration request and sending it to the client. The token information is used by the multicast server to determine the client's address based on the token information.

[0034] In one embodiment, the configuration request includes a second configuration request, and the device further includes a second generation module for generating authentication information according to the second configuration request and sending it to the client. The authentication information is used by the multicast server to provide a service response to the multicast gateway after the multicast gateway has been authenticated based on the authentication information.

[0035] In one embodiment, the device further includes a configuration module for configuring the address of the multicast gateway, configuring the correspondence between the client address and the multicast gateway address, and generating a correspondence table between the client address and the multicast gateway address.

[0036] In one embodiment, the device further includes a monitoring module for sending a monitoring request to the multicast gateway; receiving monitoring data sent by the multicast gateway based on the monitoring request; and determining the health status of the multicast gateway based on the monitoring data.

[0037] Fifthly, this application provides a data stream transmission system, the system including a multicast gateway, a multicast scheduling server, a multicast server, and a client; the multicast gateway is used to perform the steps performed by the multicast gateway in any of the first or second aspects described above; the multicast scheduling server is used to perform the steps performed by the multicast scheduling server in any of the first or second aspects described above; the multicast server is used to perform the steps performed by the multicast server in any of the first or second aspects described above; and the client is used to perform the steps performed by the client in any of the first or second aspects described above.

[0038] Sixthly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of the method described in any one of the first or second aspects above.

[0039] In a seventh aspect, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the steps of the method described in any one of the first or second aspects.

[0040] Eighthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the steps of the method described in any one of the first or second aspects above.

[0041] The aforementioned data stream transmission method, apparatus, system, computer equipment, and storage medium involve a multicast gateway sending a first service request to a multicast server, then joining a target multicast group based on the multicast server's service response to the first service request, and receiving multicast streams sent by the multicast server based on the target multicast group. These multicast streams are data streams based on the Fast User Datagram Protocol (UDP) Internet Connection and the QUIC multicast protocol. The multicast gateway then performs protocol conversion on the multicast stream to obtain a unicast stream based on the QUIC unicast protocol, and sends the unicast stream to the client. In this way, by converting the multicast stream into a unicast stream and sending it to the client through the multicast gateway, multicast and unicast are integrated and carried, ensuring that the client still receives a unicast stream based on the QUIC unicast protocol without requiring client modification. Therefore, this method can support browsers. Attached Figure Description

[0042] Figure 1 This is an application environment diagram of a data stream transmission method in one embodiment;

[0043] Figure 2 This is a schematic diagram of a system deployment for implementing the QUIC multicast protocol in one embodiment;

[0044] Figure 3 This is a flowchart illustrating a data stream transmission method in one embodiment;

[0045] Figure 4 This is a schematic diagram illustrating the interaction between a multicast gateway, a multicast server, and a client in one embodiment.

[0046] Figure 5 This is a schematic diagram illustrating the protocol conversion between a client and a multicast gateway and multicast server in one embodiment.

[0047] Figure 6 This is a schematic diagram illustrating how a multicast server authenticates clients and multicast gateways in one embodiment.

[0048] Figure 7 This is another data stream transmission method in one embodiment;

[0049] Figure 8 This is a schematic diagram illustrating a multicast scheduling server scheduling a multicast gateway in one embodiment.

[0050] Figure 9 This is yet another data stream transmission method in one embodiment;

[0051] Figure 10 This is a structural block diagram of a data stream transmission device in one embodiment;

[0052] Figure 11 This is a structural block diagram of another data stream transmission device in one embodiment;

[0053] Figure 12 This is a structural block diagram of a data stream transmission system in one embodiment;

[0054] Figure 13 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0055] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0056] Figure 1 This is a schematic diagram illustrating an application scenario of a data stream transmission method provided in an embodiment of this application. For example... Figure 1As shown, this scenario includes all devices in multicast gateway 101, multicast scheduling server 102, multicast server 103, client 104, and publishing client 105, or it may include only a portion of these devices. Publishing client 105 is used to upload multicast streams to the multicast server. Multicast scheduling server 102 is used to configure the multicast gateway for client 104 based on the client's configuration request. Multicast gateway 101 is used to obtain multicast streams from multicast server 103 based on the client 104's service requests, convert them into unicast streams, and send the unicast streams to client 104. Client 104 is compatible with the existing QUIC protocol and is a browser-based client.

[0057] As a next-generation transport protocol, QUIC is based on UDP and implements a reliable, secure, and low-latency transport layer design, making it very suitable for carrying live streaming services such as IPTV (Internet Protocol television) and OTT (Over The Top). QUIC is designed as an application layer protocol of HTTP3 (Hypertext Transfer Protocol 3) and is mainly carried out in unicast mode, while multicast is the lowest cost solution for large-scale live streaming services.

[0058] The IETF is developing the QUIC multicast protocol and solution, such as Figure 2 As shown, a system deployment diagram for implementing the QUIC multicast protocol is provided. The system includes a QUIC multicast client and a QUIC multicast server. The QUIC multicast client includes a QUIC multicast control client and a QUIC multicast receiver client. The QUIC multicast server includes a QUIC multicast control server and a QUIC multicast source server. The QUIC multicast control client and the QUIC multicast control server transmit extended QUIC multicast control information streams, and the QUIC multicast receiver client and the QUIC multicast source server transmit QUIC multicast media data streams (also known as QUIC multicast data streams).

[0059] However, the aforementioned QUIC multicast client does not support browsers, leading to security issues and other problems. Therefore, the QUIC multicast protocol and solution have not yet reached the working group documentation stage. Based on this, it is necessary to propose effective technical solutions to address this problem.

[0060] In one embodiment, such as Figure 3 As shown, a data stream transmission method is provided for use in a multicast gateway. The method includes the following steps:

[0061] Step 301: The multicast gateway sends the first service request to the multicast server.

[0062] The multicast gateway can be a device controlled by the operator. The multicast server can be a QUIC multicast server as defined by the IETF's QUIC multicast protocol and scheme. The multicast server includes a QUIC multicast control server and a QUIC multicast source server.

[0063] Extended QUIC multicast control information stream transmission occurs between the multicast gateway and the QUIC multicast control server, while QUIC multicast data stream transmission occurs between the multicast gateway and the QUIC multicast source server.

[0064] The first service request can be a live playback request sent by the multicast gateway to the multicast server. Furthermore, the first service request is a service request based on the QUIC multicast protocol, i.e., an extended QUIC request. The first service request carries at least one of the following: the domain name sample.com, token information, and authentication information.

[0065] Optionally, after receiving a live playback request from a client, the multicast gateway sends a first service request to the multicast server.

[0066] For example, the first business request is HTTP: / / sample.com / live1 / live1?Token=***&Authinfo.

[0067] Step 302: The multicast gateway joins the target multicast group based on the multicast server's service response to the first service request, and receives the multicast stream sent by the multicast server based on the target multicast group. The multicast stream is a data stream based on the QUIC multicast protocol.

[0068] Among them, the service response is control information based on the QUIC multicast protocol, that is, extended QUIC multicast control information, which includes a multicast group join instruction carrying the multicast address.

[0069] Optionally, after receiving the first service request, the multicast server, based on the QUIC multicast protocol, sends a multicast group join instruction carrying the multicast address to the multicast gateway. This multicast group join instruction instructs the multicast gateway to join the target multicast group corresponding to the multicast address. After receiving the multicast group join instruction, the multicast gateway writes the multicast address into its receiving port to join the target multicast group. Thus, after the multicast server sends a multicast stream to the target multicast group, the multicast gateway can receive the multicast stream through this receiving port.

[0070] Another way for a multicast gateway to join a target multicast group is by using IGMP (Internet Group Management Protocol).

[0071] Step 303: The multicast gateway performs protocol conversion on the multicast stream to obtain a unicast stream based on the QUIC unicast protocol, and sends the unicast stream to the client.

[0072] The client is a general-purpose QUIC client, compatible with the existing QUIC protocol, and can be widely used in browsers.

[0073] Optionally, the multicast gateway unpacks the multicast stream based on the QUIC multicast protocol to obtain the original data stream, then repackages the original data stream based on the QUIC unicast protocol to obtain the unicast stream based on the QUIC unicast protocol, and then sends the unicast stream to the client through the sending port.

[0074] In addition, the distance between the multicast gateway and the client can be set as needed. If the distance between the multicast gateway and the client is relatively short, such as one kilometer, wireless transmission can be achieved between the multicast gateway and the client, thus the data stream transmission method of this application supports wireless transmission.

[0075] In the aforementioned data stream transmission method, the multicast gateway sends a first service request to the multicast server, then joins the target multicast group based on the multicast server's service response to the first service request, and receives the multicast stream sent by the multicast server based on the target multicast group. The multicast stream is a data stream based on the QUIC multicast protocol. The multicast gateway then performs protocol conversion on the multicast stream to obtain a unicast stream based on the QUIC unicast protocol, and sends the unicast stream to the client. In this way, by converting the multicast stream into a unicast stream and sending it to the client through the multicast gateway, the convergence of multicast and unicast is achieved. This ensures that the client still receives a unicast stream based on the QUIC unicast protocol, without requiring any modification to the client. Therefore, this method can support browsers, thereby improving security.

[0076] In one embodiment, sending a first service request to a multicast server includes: receiving a second service request sent by a client, and sending the first service request to the multicast server upon triggering the second service request.

[0077] Optionally, the second service request is a service request based on the QUIC unicast protocol. When the second service request is triggered, the first service request is sent to the multicast server, including: performing protocol conversion processing on the second service request to obtain the first service request based on the QUIC multicast protocol, and sending the first service request to the multicast server.

[0078] The second service request is a service request based on the QUIC unicast protocol, that is, a non-extended QUIC request. The second service request can be a live playback request sent by the client to the multicast gateway. The second service request carries at least one of the following: the multicast gateway address GWIP, the domain name sample.com, token information, and authentication information Authinfo.

[0079] For example, the second business request is HTTP: / / GWIP / sample.com / live1?Token=***&Authinfo.

[0080] In another optional embodiment, based on the above embodiments, a schematic diagram of the interaction between a multicast gateway, a multicast server, and a client is provided, such as... Figure 4 As shown, this multicast gateway includes a QUIC multicast control client, a QUIC multicast stream conversion client, and a QUIC multicast proxy client. The interaction principle is as follows:

[0081] The client sends a non-extended QUIC request (second service request) to the QUIC multicast proxy client. The QUIC multicast proxy client performs protocol conversion on the non-extended QUIC request to obtain an extended QUIC request (first service request), and sends the extended QUIC request to both the QUIC multicast control client and the QUIC multicast stream conversion client.

[0082] After receiving an extended QUIC request, the QUIC multicast control client establishes a QUIC connection with the multicast server and sends the extended QUIC request to the QUIC multicast control server on the multicast server. The QUIC multicast control server then sends a multicast group join instruction carrying the multicast address to the QUIC multicast control client based on the extended QUIC request. The QUIC multicast control client writes this multicast address into the QUIC multicast stream conversion client, enabling the multicast gateway to join the target multicast group. Thus, after the QUIC multicast source server on the multicast server sends a multicast stream to the target multicast group, the QUIC multicast stream conversion client can receive the multicast stream.

[0083] The QUIC multicast stream conversion client, based on extended QUIC requests, forwards the multicast stream to the QUIC multicast proxy client. The QUIC multicast proxy client performs protocol conversion on the multicast stream to obtain a unicast stream, and then sends the unicast stream to the client to complete the data stream transmission.

[0084] In addition, such as Figure 5The diagram illustrates protocol conversion between a client and a multicast gateway and multicast server. The client and multicast server, as well as the multicast server itself, support the QUIC unicast protocol (non-extended QUIC). The multicast server and multicast server communication supports the QUIC multicast protocol (extended QUIC). Therefore, when the multicast gateway receives a service request from a client, it needs to perform protocol conversion on that request, which involves switching between the HTTP application layer and the QUIC transport layer.

[0085] The client sends a non-extended QUIC request to the multicast gateway. The multicast gateway performs protocol conversion on the non-extended QUIC request to obtain an extended QUIC request.

[0086] The client can also send a non-extended QUIC request directly to the multicast server, and the multicast server will send a unicast stream to the client based on the non-extended QUIC request.

[0087] The client can send non-extended QUIC requests to both the multicast server and the multicast gateway.

[0088] In one embodiment, the first service request carries authentication information from the second service request. The authentication information is used by the multicast server to send a service response to the multicast gateway after the multicast gateway has been authenticated based on the authentication information.

[0089] The authentication information includes the correspondence between the encrypted client address and the multicast gateway address. The authentication information is sent to the client by the multicast scheduling server. The specific implementation method is described in the following implementation example on the multicast scheduling server side, and will not be repeated here.

[0090] Optionally, after receiving the first service request, the multicast server parses the first service request. If authentication information is obtained through parsing, it indicates that the multicast gateway is legitimate, and the multicast gateway authentication is successful. Otherwise, it indicates that the multicast gateway is illegitimate, and the multicast gateway authentication fails.

[0091] In one embodiment, the first service request carries token information from the second service request, and the token information is used by the multicast server to determine the client's address based on the token information.

[0092] The token information is sent to the client by the multicast scheduling server. The specific implementation is described in the multicast scheduling server-side embodiment below and will not be repeated here. This token information is used by the client to simplify re-authentication within its validity period.

[0093] like Figure 6As shown, this diagram illustrates a multicast server authenticating clients and multicast gateways. Both clients and multicast gateways can send service requests to the multicast server, which can determine whether the service request originates from the client or the multicast gateway by checking whether the service request carries authentication information.

[0094] For example, a client sends a service request to a multicast server carrying the domain name Domain1 and a token. Upon receiving this service request from the client, which includes the multicast gateway address, domain name Domain1, token, and authentication information Authinfo, the multicast gateway sends its own service request to the multicast server, also carrying the domain name Domain1, token, and Authinfo. Once the multicast server receives both the client's and the multicast gateway's service requests, it can determine whether the request originated from the client or the multicast gateway based on whether the request includes authentication information.

[0095] In one embodiment, the method further includes: receiving control information from a multicast server and executing a multicast command process based on the control information.

[0096] The control information includes multicast group join instructions, multicast group leave instructions, etc. The process of executing multicast commands based on the control information includes: executing the corresponding network layer multicast command on the corresponding port according to the control information, such as IGMP Join (Internet Group Management Protocol Join).

[0097] The process of a multicast gateway executing multicast commands based on a multicast group join instruction has been described in detail in the above embodiments. The process of a multicast gateway executing multicast commands based on a multicast group leave instruction will be described in detail below.

[0098] In one embodiment, the method further includes: sending a third service request to a multicast server, and exiting the target multicast group based on the multicast server's service response to the third service request.

[0099] Optionally, sending a third service request to the multicast server includes: receiving a fourth service request sent by the client, and sending the third service request to the multicast server upon triggering the fourth service request.

[0100] Triggered by the fourth service request, a third service request is sent to the multicast server, including: performing protocol conversion processing on the fourth service request to obtain a third service request based on the QUIC multicast protocol, and sending the third service request to the multicast server.

[0101] The process of exiting the target multicast group based on the multicast server's service response to the fourth service request includes: After receiving the third service request, the multicast server, based on the QUIC multicast protocol, sends a multicast group exit command carrying the multicast address to the multicast gateway. This multicast group exit command instructs the multicast gateway to exit the target multicast group corresponding to the multicast address. After receiving the multicast group exit command, the multicast gateway deletes the multicast address from its receiving port to exit the target multicast group.

[0102] The third service request can be a live broadcast exit request sent by the multicast gateway to the multicast server. Furthermore, the third service request is a service request based on the QUIC multicast protocol, i.e., an extended QUIC request. The third service request carries at least one of the following: the domain name sample.com, token information, and authentication information.

[0103] The fourth service request can be a live broadcast exit request sent by the client to the multicast gateway. Furthermore, the fourth service request is a service request based on the QUIC unicast protocol, i.e., a non-extended QUIC request. The fourth service request carries at least one of the following: the multicast gateway address GWIP, the domain name sample.com, token information, and authentication information Authinfo.

[0104] In addition, the multicast gateway can also receive the fifth service request sent by the client. When triggered by the fifth service request, the multicast gateway stops receiving multicast streams from the multicast server and sending unicast streams to the client.

[0105] The fifth service request can be a live broadcast pause request sent by the client to the multicast gateway. Furthermore, the fifth service request is a service request based on the QUIC unicast protocol, i.e., a non-extended QUIC request. The fifth service request carries at least one of the following: the multicast gateway address GWIP, the domain name sample.com, token information, and authentication information Authinfo.

[0106] In one embodiment, such as Figure 7 As shown, another data stream transmission method is provided for use in a multicast scheduling server. The method includes the following steps:

[0107] Step 701: The multicast scheduling server receives the configuration request sent by the client based on the QUIC unicast protocol.

[0108] The multicast scheduling server can be a device controlled by the operator. A configuration request is used by the client to request the multicast scheduling server to configure a multicast gateway for it; this configuration request is sent by the client based on the QUIC unicast protocol.

[0109] Optionally, the client needs to send a configuration request to the multicast scheduling server before sending the second service request to the multicast gateway.

[0110] Step 702: The multicast scheduling server returns the address of the multicast gateway according to the configuration request; wherein, the address of the multicast gateway is used by the client to send a second service request to the multicast gateway, so that the multicast gateway can send a first service request to the multicast server when triggered by the second service request.

[0111] The multicast scheduling server can retrieve the address of the multicast gateway serving a client from the configuration database based on the client's address. The configuration database stores multiple mappings between different client addresses and multicast gateways; the relationship between multicast gateways and clients can be one-to-many, meaning one multicast gateway can serve multiple clients. Furthermore, the multicast scheduling server can return the multicast gateway address based on the configuration request, or it can return the multicast gateway address using the QUIC unicast protocol.

[0112] Optionally, after obtaining the multicast gateway's address, the client sends a second service request to the multicast gateway. Triggered by the second service request, the multicast gateway sends a first service request to the multicast server. This first service request is used by the multicast gateway to join the target multicast group based on the multicast server's service response, and to receive the multicast stream sent by the multicast server within the target multicast group. The multicast stream is then converted to a unicast stream based on the QUIC unicast protocol, and sent to the client. Here, the multicast stream is a data stream based on the QUIC multicast protocol. Furthermore, the specific implementation method of this step by the multicast gateway is described in the above-mentioned implementation on the multicast gateway side, and will not be repeated here.

[0113] In the aforementioned data stream transmission method, the multicast scheduling server receives a configuration request sent by the client based on the QUIC unicast protocol. Then, based on the configuration request, it returns the address of the multicast gateway. This multicast gateway address is used by the client to send a second service request to the multicast gateway. Triggered by the second service request, the multicast gateway sends a first service request to the multicast server. This first service request is used by the multicast gateway to join a target multicast group based on the multicast server's service response to the first service request. The multicast gateway then receives the multicast stream sent by the multicast server based on the target multicast group. The multicast stream is a data stream based on the QUIC multicast protocol. The multicast gateway then performs protocol conversion on the multicast stream to obtain a unicast stream based on the QUIC unicast protocol and sends the unicast stream to the client. In this way, by converting the multicast stream into a unicast stream and sending it to the client through the multicast gateway, multicast and unicast are integrated and carried together. This ensures that the client receives a unicast stream based on the QUIC unicast protocol, eliminating the need to modify the client. Therefore, this method supports browsers, thereby improving security.

[0114] In one embodiment, the configuration request includes a first configuration request, and the method further includes: generating token information and sending it to the client according to the first configuration request, wherein the token information is used by the multicast server to determine the client's address based on the token information.

[0115] The first configuration request can be a live playback request sent by the client to the multicast scheduling server. The first configuration request carries the domain name sample.com, for example, HTTP: / / sample.com / live1.

[0116] Optionally, the multicast scheduling server has a hash client installed, which can generate a token based on the client's address. This token simplifies re-authentication for the client within its validity period. The multicast scheduling server sends the token to the client in the format of a first response message to redirect to QUIC scheduling. The format of the first response message is, for example, HTTP: / / sample.QuicRR.com / live1?Token=***.

[0117] In one embodiment, the configuration request includes a second configuration request, and the method further includes: generating authentication information and sending it to the client according to the second configuration request, wherein the authentication information is used for the multicast server to provide a service response to the multicast gateway after the multicast gateway has been authenticated based on the authentication information.

[0118] The second configuration request can be a live playback request sent by the client to the multicast scheduling server. The second configuration request carries token information Token and the domain name sample.QuicRR.com, for example, HTTP: / / sample.QuicRR.com / live1?Token=***, which can be used to redirect to the multicast scheduling server through domain name change.

[0119] The authentication information includes the mapping between the encrypted client address and the multicast gateway address.

[0120] Optionally, after receiving the second configuration request from the client, the multicast scheduling server checks whether a suitable multicast gateway exists to serve the client. If so, it encrypts the client's address and the multicast gateway's address using a shared symmetric encryption algorithm to generate authentication information Authinfo. The multicast scheduling server sends the authentication information Authinfo to the client in the format of a second response message to redirect to the multicast gateway. The format of the second response message is, for example, HTTP: / / GWIP / sample.com / live1?Token=***&Authinfo.

[0121] If the multicast server does not exist, it will send a response message to the client in the format of a third response message to redirect the client to the multicast server. The format of the third response message is, for example, HTTP: / / sample.com / live1 / live1?Token=***. At this point, the client sends a sixth service request to the multicast server based on the QUIC unicast protocol. The multicast server responds to the client according to the sixth service request, sending the unicast stream to the client. This process is a normal live streaming service. The sixth service request is, for example, HTTP: / / sample.com / live1?Token=***.

[0122] In this embodiment, the authentication information is generated by the multicast scheduling server, which avoids the multicast gateway and client from decrypting and forging the authentication information. Furthermore, the client sends two live playback requests (a first configuration request and a second configuration request) to the multicast scheduling server based on the QUIC unicast protocol. The multicast scheduling server returns the address of the multicast gateway based on the QUIC unicast protocol, thus enabling the multicast scheduling server to use the non-extended QUIC protocol to direct the application layer requests for live streaming to the multicast gateway.

[0123] In one embodiment, the method further includes: configuring the address of the multicast gateway, configuring the correspondence between the client address and the multicast gateway address, and generating a correspondence table between the client address and the multicast gateway address.

[0124] In one embodiment, the method further includes: sending a monitoring request to the multicast gateway; receiving monitoring data sent by the multicast gateway based on the monitoring request; and determining the health status of the multicast gateway based on the monitoring data.

[0125] In this context, both the address of the multicast gateway and the address of the client can be IP (Internet Protocol) addresses.

[0126] Optional, such as Figure 8 As shown, a schematic diagram of a multicast scheduling server scheduling multicast gateways is provided, wherein there are multiple multicast gateways, and the multicast scheduling server includes a multicast gateway management client and a multicast scheduling client.

[0127] The multicast gateway management client has the function of managing and configuring multicast gateway parameters, including managing and configuring the multicast gateway's IP address and port, version, authentication information, etc. The multicast gateway management client also has the function of monitoring the health status of the multicast gateway and reporting it to the multicast scheduling client. This can be implemented in two ways, as follows:

[0128] The first method involves the multicast gateway management client sending a monitoring request to the multicast gateway, receiving monitoring data from the multicast gateway based on the monitoring request, and determining the health status of the multicast gateway based on the monitoring data.

[0129] The second method involves the multicast gateway management client periodically receiving status data sent by the multicast gateway and determining the health status of the multicast gateway based on this status data.

[0130] The multicast scheduling client has the function of establishing and maintaining a mapping table between client addresses and multicast gateway addresses. The multicast scheduling client also has the function of generating authentication information (Authinfo) during scheduling.

[0131] In another embodiment, before the client sends the first configuration request to the multicast scheduling server, the publishing client, i.e., the live stream source, uploads the live stream to the multicast server. The multicast server converts the live stream into a multicast stream and sends it over the network. Then, the multicast server sends the unicast URL (Uniform Resource Locator) and multicast address of the live stream to the multicast scheduling server. The multicast scheduling server generates a token based on the unicast URL and multicast address.

[0132] In summary, such as Figure 9 The present invention provides another data stream transmission method for a data stream transmission system, which includes a client, a multicast gateway, a multicast scheduling server, a multicast server, and a publishing client. The method consists of two parts: the first part is live broadcast publishing, and the second part is live broadcast service. The second part can be further divided into QUIC multicast service and ordinary live broadcast service. The contents of each part are as follows:

[0133] 1. Live broadcast release, which includes the following steps:

[0134] Step 901: Publish the client to upload the live stream to the multicast server.

[0135] Step 902: The multicast server converts the live stream into a multicast stream based on the QUIC multicast protocol and sends it to the network.

[0136] Step 903: The multicast server sends the unicast URL and multicast address of the live broadcast to the multicast scheduling server.

[0137] 2. Live streaming services, including QUIC multicast service and regular live streaming service, are described below:

[0138] 2.1 QUIC multicast service, which includes the following steps:

[0139] Step 904: The client sends a first configuration request (live playback request) to the multicast scheduling server, such as HTTP: / / sample.com / live1.

[0140] Step 905: The multicast scheduling server authenticates the client and generates a token based on the client's address.

[0141] Step 906: The multicast scheduling server sends the token information to the client. For example, the multicast scheduling server sends the token information to the client in the format of a first response message to redirect to QUIC scheduling. The format of the first response message is, for example, HTTP: / / sample.QuicRR.com / live1?Token=***.

[0142] Step 907: The client sends a second configuration request (live playback request) to the multicast scheduling server, such as HTTP: / / sample.QuicRR.com / live1?Token=***.

[0143] Step 908a: The multicast scheduling server checks whether a suitable multicast network gateway exists. If it does, then proceed to step 909a.

[0144] Step 909a: The multicast scheduling server generates authentication information Authinfo and sends it to the client. For example, the multicast scheduling server sends the authentication information Authinfo to the client in the format of a second response message to redirect to the multicast gateway. The format of the second response message is, for example, HTTP: / / GWIP / sample.com / live1?Token=***&Authinfo.

[0145] In step 910a, the client sends a second service request (live playback request) to the multicast gateway, such as HTTP: / / GWIP / sample.com / live1?Token=***&Authinfo.

[0146] Step 911: The multicast gateway sends the first service request (extended QUIC request) to the multicast server, such as HTTP: / / sample.com / live1 / live1?Token=***&Authinfo.

[0147] Step 912: The multicast server checks the authentication information Authinfo. If the result is that the authentication is successful, then proceed to step 913.

[0148] Step 913: The multicast server sends a response message to the multicast gateway.

[0149] Step 914: The multicast gateway joins the target multicast group using the IGMP protocol.

[0150] Step 915: The multicast gateway converts the multicast stream into a unicast stream and sends it to the client.

[0151] 2.2. Standard live streaming service, which includes the following steps:

[0152] Step 908b: The multicast scheduling server checks whether a suitable multicast network gateway exists. If no suitable gateway exists, proceed to step 909b.

[0153] Step 909b: The scheduling server sends a response message to the client in the format of a third response message to redirect to the multicast server. The format of the third response message is, for example, HTTP: / / sample.com / live1 / live1?Token=***.

[0154] Step 910b: The client sends a sixth service request to the multicast server based on the QUIC unicast protocol. The multicast server responds to the client according to the sixth service request, that is, sends the unicast stream to the client. This process is a normal live streaming service. The sixth service request is, for example, HTTP: / / sample.com / live1?Token=***.

[0155] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0156] Based on the same inventive concept, this application also provides a data stream transmission apparatus for implementing the data stream transmission method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more data stream transmission apparatus embodiments provided below can be found in the limitations of the data stream transmission method described above, and will not be repeated here.

[0157] In one embodiment, such as Figure 10As shown, a data stream transmission device is provided, disposed in a multicast gateway. The data stream transmission device 1000 includes: a first transmitting module 1001, a first receiving module 1002, and a second transmitting module 1003, wherein:

[0158] The first sending module 1001 is used to send the first service request to the multicast server.

[0159] The first receiving module 1002 is used to join the target multicast group according to the service response of the multicast server to the first service request, and to receive the multicast stream sent by the multicast server based on the target multicast group. The multicast stream is a data stream based on the QUIC multicast protocol.

[0160] The second sending module 1003 is used to convert the multicast stream into a protocol to obtain a unicast stream based on the QUIC unicast protocol, and send the unicast stream to the client.

[0161] In one embodiment, the first sending module 1001 is specifically used to receive a second service request sent by the client, and send a first service request to the multicast server when triggered by the second service request.

[0162] In one embodiment, the second service request is a service request based on the QUIC unicast protocol. The first sending module is specifically used to perform protocol conversion processing on the second service request to obtain a first service request based on the QUIC multicast protocol, and send the first service request to the multicast server.

[0163] In one embodiment, the first service request carries authentication information from the second service request. The authentication information is used by the multicast server to send a service response to the multicast gateway after the multicast gateway has been authenticated based on the authentication information.

[0164] In one embodiment, the authentication information includes the mapping between the encrypted client address and the multicast gateway address.

[0165] In one embodiment, the first service request carries token information from the second service request, and the token information is used by the multicast server to determine the client's address based on the token information.

[0166] In one embodiment, authentication information and token information are sent to the client by a multicast scheduling server.

[0167] In one embodiment, the device further includes an execution module for receiving control information from a multicast server and executing multicast command procedures based on the control information.

[0168] In one embodiment, the apparatus further includes a fourth sending module and a third receiving module. The fourth sending module is used to send a third service request to the multicast server, and the third receiving module is used to exit the target multicast group based on the multicast server's service response to the third service request.

[0169] In one embodiment, the fourth sending module is specifically used to receive a fourth service request sent by the client, and to send a third service request to the multicast server when triggered by the fourth service request.

[0170] In one embodiment, the fourth service request is a service request based on the QUIC unicast protocol. The fourth sending module is specifically used to perform protocol conversion processing on the fourth service request to obtain a third service request based on the QUIC multicast protocol, and send the third service request to the multicast server.

[0171] In one embodiment, such as Figure 11 As shown, another data stream transmission device is provided, which is set in a multicast scheduling server. This data stream transmission device 1100 includes: a second receiving module 1101 and a third sending module 1102, wherein:

[0172] The second receiving module 1101 is used to receive configuration requests sent by the client based on the QUIC unicast protocol.

[0173] The third sending module 1102 is used to return the address of the multicast gateway according to the configuration request; wherein, the address of the multicast gateway is used by the client to send a second service request to the multicast gateway, so that the multicast gateway can send a first service request to the multicast server when triggered by the second service request.

[0174] In one embodiment, the configuration request includes a first configuration request, and the apparatus further includes a first generation module for generating token information according to the first configuration request and sending it to the client. The token information is used by the multicast server to determine the client's address based on the token information.

[0175] In one embodiment, the configuration request includes a second configuration request, and the device further includes a second generation module for generating authentication information according to the second configuration request and sending it to the client. The authentication information is used by the multicast server to provide a service response to the multicast gateway after the multicast gateway has been authenticated based on the authentication information.

[0176] In one embodiment, the device further includes a configuration module for configuring the address of the multicast gateway, configuring the correspondence between the client address and the multicast gateway address, and generating a correspondence table between the client address and the multicast gateway address.

[0177] In one embodiment, the device further includes a monitoring module for sending a monitoring request to the multicast gateway; receiving monitoring data sent by the multicast gateway based on the monitoring request; and determining the health status of the multicast gateway based on the monitoring data.

[0178] Each module in the aforementioned data stream transmission device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0179] In one embodiment, such as Figure 12 As shown in the figure, a block diagram of a data stream transmission system is provided, which includes a multicast gateway, a multicast scheduling server, a multicast server, and a client.

[0180] The multicast scheduling server includes: a multicast gateway management client and a multicast scheduling client; the multicast scheduling server includes a QUIC multicast control server and a QUIC multicast source server; the multicast gateway includes a QUIC multicast control client, a QUIC multicast stream conversion client, and a QUIC multicast proxy client.

[0181] A multicast gateway is used to execute the steps performed by the multicast gateway in any of the above method embodiments; a multicast scheduling server is used to execute the steps performed by the multicast scheduling server in any of the above method embodiments; a multicast server is used to execute the steps performed by the multicast server in any of the above method embodiments; and a client is used to execute the steps performed by the client in any of the above method embodiments. The detailed implementation methods will not be described in detail here.

[0182] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 13As shown, this computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database is used for multicast and unicast streams. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a data stream transmission method.

[0183] Those skilled in the art will understand that Figure 13 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0184] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps described in any of the above method embodiments.

[0185] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps described in any of the above method embodiments.

[0186] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps described in any of the above method embodiments.

[0187] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0188] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0189] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A data stream transmission method, characterized in that, For use in multicast gateways, the method includes: Send the first service request to the multicast server; The multicast server joins the target multicast group according to its service response to the first service request, and receives the multicast stream sent by the multicast server based on the target multicast group. The multicast stream is a data stream based on the Fast User Datagram Protocol (UDP) Internet Connection QUIC multicast protocol. The multicast stream is converted to a unicast stream based on the QUIC unicast protocol, and the unicast stream is sent to the client, which is an application running on a browser. Sending the first service request to the multicast server includes: receiving a second service request sent by the client, and sending the first service request to the multicast server upon triggering the second service request; The first service request carries the authentication information and token information from the second service request. The authentication information is used by the multicast server to send the service response back to the multicast gateway after successfully authenticating the multicast gateway based on the authentication information. The token information is used by the multicast server to determine the address of the client based on the token information. The authentication information and the token information are sent to the client by the multicast scheduling server. The method further includes: receiving a monitoring request sent by the multicast scheduling server; and sending monitoring data to the multicast scheduling server based on the monitoring request, so that the multicast scheduling server can determine the health status of the multicast gateway based on the monitoring data.

2. The method according to claim 1, characterized in that, The second service request is a service request based on the QUIC unicast protocol. The step of sending the first service request to the multicast server upon triggering the second service request includes: The second service request is processed by protocol conversion to obtain the first service request based on the QUIC multicast protocol, and the first service request is sent to the multicast server.

3. The method according to claim 1, characterized in that, The authentication information includes the mapping between the encrypted client address and the multicast gateway address.

4. The method according to claim 1, characterized in that, The method further includes: Receive control information from the multicast server and execute multicast command procedures based on the control information.

5. The method according to claim 1, characterized in that, The method further includes: Send a third service request to the multicast server, and exit the target multicast group based on the multicast server's service response to the third service request.

6. The method according to claim 5, characterized in that, Sending a third service request to the multicast server includes: The system receives a fourth service request from the client and, upon triggering the fourth service request, sends the third service request to the multicast server.

7. The method according to claim 6, characterized in that, The fourth service request is a service request based on the QUIC unicast protocol. Sending the third service request to the multicast server upon triggering the fourth service request includes: The fourth service request is processed by protocol conversion to obtain the third service request based on the QUIC multicast protocol, and the third service request is sent to the multicast server.

8. The method according to claim 1, characterized in that, The method further includes: Upon receiving a fifth service request from the client, and triggered by the fifth service request, the server stops receiving the multicast stream from the multicast server and sending the unicast stream to the client.

9. A data stream transmission method, characterized in that, For use in a multicast scheduling server, the method includes: Receive configuration requests sent by clients based on the QUIC unicast protocol, wherein the client application is on a browser; Return the address of the multicast gateway based on the configuration request; The address of the multicast gateway is used by the client to send a second service request to the multicast gateway, so that the multicast gateway can send a first service request to the multicast server upon triggering the second service request. The first service request is used by the multicast server to join the target multicast group in response to the first service request, and to receive the multicast stream sent by the multicast server based on the target multicast group. The multicast stream is then converted into a unicast stream based on the QUIC unicast protocol and sent to the client. The multicast stream is a data stream based on the QUIC multicast protocol. The first service request carries the authentication information and token information from the second service request. The configuration request includes a first configuration request and a second configuration request. The method further includes: generating the token information according to the first configuration request and sending it to the client, wherein the token information is used by the multicast server to determine the address of the client based on the token information; generating the authentication information according to the second configuration request and sending it to the client, wherein the authentication information is used by the multicast server to provide a service response to the multicast gateway after authenticating the multicast gateway based on the authentication information. The method further includes: sending a monitoring request to the multicast gateway; receiving monitoring data sent by the multicast gateway based on the monitoring request; and determining the health status of the multicast gateway based on the monitoring data.

10. The method according to claim 9, characterized in that, The method further includes: Configure the address of the multicast gateway, and configure the correspondence between the client address and the multicast gateway address, and generate a correspondence table between the client address and the multicast gateway address.

11. A data stream transmission device, characterized in that, The device, configured in a multicast gateway, includes: The first sending module is used to send the first service request to the multicast server; The first receiving module is configured to join a target multicast group based on the multicast server's service response to the first service request, and to receive a multicast stream sent by the multicast server based on the target multicast group, wherein the multicast stream is a data stream based on the QUIC multicast protocol. The second sending module is used to convert the multicast stream into a protocol to obtain a unicast stream based on the QUIC unicast protocol, and send the unicast stream to the client, which is applied on a browser. The first sending module is specifically used to receive the second service request sent by the client, and send the first service request to the multicast server when triggered by the second service request; The first service request carries the authentication information and token information from the second service request. The authentication information is used by the multicast server to send the service response back to the multicast gateway after successfully authenticating the multicast gateway based on the authentication information. The token information is used by the multicast server to determine the address of the client based on the token information. The authentication information and the token information are sent to the client by the multicast scheduling server. The first receiving module is further configured to receive a monitoring request sent by the multicast scheduling server; the first sending module is further configured to send monitoring data to the multicast scheduling server based on the monitoring request, so that the multicast scheduling server can determine the health status of the multicast gateway based on the monitoring data.

12. A data stream transmission device, characterized in that, The device, located in the multicast scheduling server, includes: The second receiving module is used to receive configuration requests sent by a client based on the QUIC unicast protocol, wherein the client application is on a browser; The third sending module is used to return the address of the multicast gateway according to the configuration request; The address of the multicast gateway is used by the client to send a second service request to the multicast gateway, so that the multicast gateway can send a first service request to the multicast server upon triggering the second service request. The first service request is used by the multicast server to join the target multicast group in response to the first service request, and to receive the multicast stream sent by the multicast server based on the target multicast group. The multicast stream is then converted into a unicast stream based on the QUIC unicast protocol and sent to the client. The multicast stream is a data stream based on the QUIC multicast protocol. The first service request carries the authentication information and token information from the second service request. The configuration request includes a first configuration request and a second configuration request. The device further includes a first generation module and a second generation module. The first generation module is used to generate the token information according to the first configuration request and send it to the client. The token information is used by the multicast server to determine the address of the client based on the token information. The second generation module is used to generate the authentication information according to the second configuration request and send it to the client. The authentication information is used by the multicast server to provide a service response to the multicast gateway after successfully authenticating the multicast gateway based on the authentication information. The device further includes a monitoring module, used to send a monitoring request to the multicast gateway; receive monitoring data sent by the multicast gateway based on the monitoring request; and determine the health status of the multicast gateway based on the monitoring data.

13. A data stream transmission system, characterized in that, The system includes a multicast gateway, a multicast scheduling server, a multicast server, and a client; The multicast gateway is configured to perform the steps executed by the multicast gateway according to any one of claims 1 to 10; The multicast scheduling server is used to execute the steps performed by the multicast scheduling server according to any one of claims 1 to 10; The multicast server is configured to perform the steps executed by the multicast server as described in any one of claims 1 to 10; The client is used to perform the steps executed by the client according to any one of claims 1 to 10.

14. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 8 or 9 to 10.

15. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 8 or 9 to 10.

16. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 8 or 9 to 10.

Citation Information

Patent Citations

  • Method, apparatus and system for supplying packet service based on IP network

    CN101030918A

  • Home gateway, system and method for accessing multicast service by terminal

    CN105812252A