CN116980343A - Data stream transmission method, device, system, computer equipment and storage medium - Google Patents
Data stream transmission method, device, system, computer equipment and storage medium Download PDFInfo
- Publication number
- CN116980343A CN116980343A CN202310911962.1A CN202310911962A CN116980343A CN 116980343 A CN116980343 A CN 116980343A CN 202310911962 A CN202310911962 A CN 202310911962A CN 116980343 A CN116980343 A CN 116980343A
- Authority
- CN
- China
- Prior art keywords
- multicast
- service request
- client
- server
- gateway
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
技术领域Technical field
本申请涉及网络技术领域,特别是涉及一种数据流传输方法、装置、系统、计算机设备和存储介质。The present application relates to the field of network technology, and in particular to a data stream transmission method, device, system, computer equipment and storage medium.
背景技术Background technique
QUIC(Quick User Datagram Protocol Internet Connection,快速用户数据报协议UDP互联网连接)协议主要以单播方式承载直播业务,而大规模直播业务使用组播方式承载才是最低成本的方案。The QUIC (Quick User Datagram Protocol Internet Connection, Quick User Datagram Protocol UDP Internet Connection) protocol mainly carries live broadcast services in unicast mode, and the lowest cost solution is to carry large-scale live broadcast services in multicast mode.
然而,IETF(The Internet Engineering Task Force,国际互联网工程任务组)正在制定的可以以组播方式承载直播业务的方案,还存在不支持浏览器的问题。However, the solution that IETF (The Internet Engineering Task Force) is developing to carry live broadcast services in multicast mode still has the problem of not supporting browsers.
发明内容Contents of the invention
基于此,有必要针对上述技术问题,提供一种能够支持浏览器的数据流传输方法、装置、设备、系统和存储介质。Based on this, it is necessary to provide a data streaming transmission method, device, equipment, system and storage medium that can support the browser in view of the above technical problems.
第一方面,本申请提供了一种数据流传输方法,用于组播网关中,所述方法包括:向组播服务器发送第一业务请求;根据组播服务器对第一业务请求的业务响应加入目标组播组,并基于目标组播组接收组播服务器发送的组播流,组播流为基于快速用户数据报协议UDP互联网连接QUIC组播协议的数据流;将组播流进行协议转换,得到基于QUIC单播协议的单播流,并将单播流发送至客户端。In a first aspect, the present 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; adding a data stream according to the multicast server's service response to the first service request. Target multicast group, and 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 Fast User Datagram Protocol UDP Internet Connection QUIC multicast protocol; perform protocol conversion on the multicast stream, Get the unicast stream based on QUIC unicast protocol and send the unicast stream to the client.
在其中一个实施例中,向组播服务器发送第一业务请求,包括:接收客户端发送的第二业务请求,在第二业务请求的触发下向组播服务器发送第一业务请求。In one embodiment, 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 when triggered by the second service request.
在其中一个实施例中,第二业务请求为基于QUIC单播协议的业务请求,在第二业务请求的触发下向组播服务器发送第一业务请求,包括:对第二业务请求进行协议转换处理,得到基于QUIC组播协议的第一业务请求,并将第一业务请求发送至组播服务器。In one embodiment, the second service request is a service request based on the QUIC unicast protocol. Triggered by the second service request, sending the first service request to the multicast server includes: performing protocol conversion processing on the second service request. , obtain the first service request based on the QUIC multicast protocol, and send the first service request to the multicast server.
在其中一个实施例中,第一业务请求携带有第二业务请求中的鉴权信息,鉴权信息用于供组播服务器在基于鉴权信息对组播网关鉴权通过后向组播网关反馈业务响应。In one embodiment, the first service request carries the authentication information in the second service request. The authentication information is used for the multicast server to feedback to the multicast gateway after passing the authentication of the multicast gateway based on the authentication information. Business response.
在其中一个实施例中,鉴权信息包括加密后的客户端的地址和组播网关的地址的对应关系。In one embodiment, the authentication information includes an encrypted correspondence between the address of the client and the address of the multicast gateway.
在其中一个实施例中,第一业务请求携带有第二业务请求中的令牌信息,令牌信息用于供组播服务器基于令牌信息确定客户端的地址。In one embodiment, the first service request carries token information in the second service request, and the token information is used by the multicast server to determine the address of the client based on the token information.
在其中一个实施例中,鉴权信息和令牌信息是由组播调度服务器下发至客户端的。In one embodiment, the authentication information and token information are delivered to the client by the multicast scheduling server.
在其中一个实施例中,该方法还包括:从组播服务器接收控制信息,根据控制信息执行组播命令流程。In one embodiment, the method further includes: receiving control information from the multicast server, and executing a multicast command process according to the control information.
在其中一个实施例中,该方法还包括:向组播服务器发送第三业务请求,根据组播服务器对第三业务请求的业务响应退出目标组播组。In one embodiment, the method further includes: sending a third service request to the multicast server, and exiting the target multicast group according to the multicast server's service response to the third service request.
在其中一个实施例中,向组播服务器发送第三业务请求,包括:接收客户端发送的第四业务请求,在第四业务请求的触发下向组播服务器发送第三业务请求。In one embodiment, sending the third service request to the multicast server includes: receiving the fourth service request sent by the client, and sending the third service request to the multicast server when triggered by the fourth service request.
在其中一个实施例中,第四业务请求为基于QUIC单播协议的业务请求,在第四业务请求的触发下向组播服务器发送第三业务请求,包括:对第四业务请求进行协议转换处理,得到基于QUIC组播协议的第三业务请求,并将第三业务请求发送至组播服务器。In one embodiment, the fourth service request is a service request based on the QUIC unicast protocol. Triggered by the fourth service request, sending the third service request to the multicast server includes: performing protocol conversion processing on the fourth service request. , obtain the third service request based on the QUIC multicast protocol, and send the third service request to the multicast server.
第二方面,本申请提供了一种数据流传输方法,用于组播调度服务器中,所述方法包括:接收客户端基于QUIC单播协议发送的配置请求;根据配置请求返回组播网关的地址;其中,组播网关的地址用于客户端向组播网关发送第二业务请求,以供组播网关在第二业务请求的触发下向组播服务器发送第一业务请求。In the second aspect, 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; and returning 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 the second service request to the multicast gateway, so that the multicast gateway sends the first service request to the multicast server when triggered by the second service request.
在其中一个实施例中,配置请求包括第一配置请求,方法还包括:根据第一配置请求,生成令牌信息并发送至客户端,令牌信息用于供组播服务器基于令牌信息确定客户端的地址。In one embodiment, the configuration request includes a first configuration request, and the method further includes: generating token information according to the first configuration request and sending it to the client, where the token information is used by the multicast server to determine the client based on the token information. end address.
在其中一个实施例中,配置请求包括第二配置请求,方法还包括:根据第二配置请求,生成鉴权信息并发送至客户端,鉴权信息用于供组播服务器在基于鉴权信息对组播网关鉴权通过后向组播网关反馈业务响应。In one embodiment, the configuration request includes a second configuration request, and the method further includes: generating authentication information according to the second configuration request and sending it to the client, where the authentication information is used by the multicast server to configure the pair based on the authentication information. After the multicast gateway passes the authentication, the service response is fed back to the multicast gateway.
在其中一个实施例中,该方法还包括:配置组播网关的地址,以及配置客户端的地址和组播网关的地址的对应关系,生成客户端的地址和组播网关的地址的对应关系表。In one embodiment, the method further includes: configuring the address of the multicast gateway, configuring the correspondence between the client's address and the address of the multicast gateway, and generating a correspondence table between the client's address and the address of the multicast gateway.
在其中一个实施例中,该方法还包括:向组播网关发送监测请求;接收组播网关基于监测请求发送的监测数据;根据监测数据确定组播网关的健康状态。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.
第三方面,本申请提供了一种数据流传输装置,设置于组播网关中,该装置包括:第一发送模块,用于向组播服务器发送第一业务请求;第一接收模块,用于根据组播服务器对第一业务请求的业务响应加入目标组播组,并基于目标组播组接收组播服务器发送的组播流,组播流为基于QUIC组播协议的数据流;第二发送模块,用于将组播流进行协议转换,得到基于QUIC单播协议的单播流,并将单播流发送至客户端。In a third aspect, this application provides a data stream transmission device, which is provided in a multicast gateway. The device includes: a first sending module for sending a first service request to the multicast server; a first receiving module for Join the target multicast group according to the service response of the multicast server to the first service request, and 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; the second sending Module, used to convert the multicast stream into a protocol, obtain a unicast stream based on the QUIC unicast protocol, and send the unicast stream to the client.
在其中一个实施例中,第一发送模块,具体用于接收客户端发送的第二业务请求,在第二业务请求的触发下向组播服务器发送第一业务请求。In one embodiment, the first sending module is specifically configured 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.
在其中一个实施例中,第二业务请求为基于QUIC单播协议的业务请求,第一发送模块,具体用于对第二业务请求进行协议转换处理,得到基于QUIC组播协议的第一业务请求,并将第一业务请求发送至组播服务器。In one embodiment, the second service request is a service request based on the QUIC unicast protocol. The first sending module is specifically configured to perform protocol conversion processing on the second service request to obtain the first service request based on the QUIC multicast protocol. , and sends the first service request to the multicast server.
在其中一个实施例中,第一业务请求携带有第二业务请求中的鉴权信息,鉴权信息用于供组播服务器在基于鉴权信息对组播网关鉴权通过后向组播网关反馈业务响应。In one embodiment, the first service request carries the authentication information in the second service request. The authentication information is used for the multicast server to feedback to the multicast gateway after passing the authentication of the multicast gateway based on the authentication information. Business response.
在其中一个实施例中,鉴权信息包括加密后的客户端的地址和组播网关的地址的对应关系。In one embodiment, the authentication information includes an encrypted correspondence between the address of the client and the address of the multicast gateway.
在其中一个实施例中,第一业务请求携带有第二业务请求中的令牌信息,令牌信息用于供组播服务器基于令牌信息确定客户端的地址。In one embodiment, the first service request carries token information in the second service request, and the token information is used by the multicast server to determine the address of the client based on the token information.
在其中一个实施例中,鉴权信息和令牌信息是由组播调度服务器下发至客户端的。In one embodiment, the authentication information and token information are delivered to the client by the multicast scheduling server.
在其中一个实施例中,该装置还包括执行模块,用于从组播服务器接收控制信息,根据控制信息执行组播命令流程。In one embodiment, the device further includes an execution module configured to receive control information from the multicast server and execute the multicast command process according to the control information.
在其中一个实施例中,该装置还包括第四发送模块和第三接收模块,第四发送模块,用于向组播服务器发送第三业务请求,第三接收模块,用于根据组播服务器对第三业务请求的业务响应退出目标组播组。In one embodiment, the device 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. The third receiving module is used to send a third service request to the multicast server according to the multicast server. The service response requested by the third service exits the target multicast group.
在其中一个实施例中,第四发送模块,具体用于接收客户端发送的第四业务请求,在第四业务请求的触发下向组播服务器发送第三业务请求。In one embodiment, the fourth sending module is specifically configured to receive the fourth service request sent by the client, and send the third service request to the multicast server when triggered by the fourth service request.
在其中一个实施例中,第四业务请求为基于QUIC单播协议的业务请求,第四发送模块,具体用于对第四业务请求进行协议转换处理,得到基于QUIC组播协议的第三业务请求,并将第三业务请求发送至组播服务器。In one embodiment, the fourth service request is a service request based on the QUIC unicast protocol, and the fourth sending module is specifically configured to perform protocol conversion processing on the fourth service request to obtain a third service request based on the QUIC multicast protocol. , and sends the third service request to the multicast server.
第四方面,本申请提供了一种数据流传输装置,设置于组播调度服务器中,该装置包括:第二接收模块,用于接收客户端基于QUIC单播协议发送的配置请求;第三发送模块,用于根据配置请求返回组播网关的地址;其中,组播网关的地址用于客户端向组播网关发送第二业务请求,以供组播网关在第二业务请求的触发下向组播服务器发送第一业务请求。In the fourth aspect, this application provides a data stream transmission device, which is provided in a multicast scheduling server. The device includes: a second receiving module for receiving a configuration request sent by a client based on the QUIC unicast protocol; a third sending module. A 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 the multicast gateway to the multicast gateway when triggered by the second service request. The broadcast server sends the first service request.
在其中一个实施例中,配置请求包括第一配置请求,该装置还包括第一生成模块,用于根据第一配置请求,生成令牌信息并发送至客户端,令牌信息用于供组播服务器基于令牌信息确定客户端的地址。In one embodiment, the configuration request includes a first configuration request, and the device further includes a first generating module configured to generate token information according to the first configuration request and send it to the client, where the token information is used for multicast The server determines the client's address based on the token information.
在其中一个实施例中,配置请求包括第二配置请求,该装置还包括第二生成模块,用于根据第二配置请求,生成鉴权信息并发送至客户端,鉴权信息用于供组播服务器在基于鉴权信息对组播网关鉴权通过后向组播网关反馈业务响应。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, where the authentication information is used for multicast After the server passes the authentication of the multicast gateway based on the authentication information, the server feeds back a service response to the multicast gateway.
在其中一个实施例中,该装置还包括配置模块,用于配置组播网关的地址,以及配置客户端的地址和组播网关的地址的对应关系,生成客户端的地址和组播网关的地址的对应关系表。In one embodiment, the device further includes a configuration module for configuring the address of the multicast gateway, configuring the correspondence between the client's address and the multicast gateway's address, and generating a correspondence between the client's address and the multicast gateway's address. Relational tables.
在其中一个实施例中,该装置还包括监测模块,用于向组播网关发送监测请求;接收组播网关基于监测请求发送的监测数据;根据监测数据确定组播网关的健康状态。In one embodiment, the device further includes a monitoring module, configured 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.
第五方面,本申请提供了一种数据流传输系统,系统包括组播网关、组播调度服务器、组播服务器和客户端;组播网关,用于执行上述第一方面或第二方面中任一项的组播网关所执行的步骤;组播调度服务器,用于执行上述第一方面或第二方面中任一项的组播调度服务器所执行的步骤;组播服务器,用于执行上述第一方面或第二方面中任一项的组播服务器所执行的步骤;客户端,用于执行上述第一方面或第二方面中任一项的客户端所执行的步骤。In a fifth aspect, this application provides a data stream transmission system. The system includes a multicast gateway, a multicast scheduling server, a multicast server and a client; the multicast gateway is used to perform any of the above first or second aspects. The steps performed by the multicast gateway of one of the above items; the multicast scheduling server is used to perform the steps performed by the multicast scheduling server of any one of the above first aspect or the second aspect; the multicast server is used to perform the above mentioned third aspect. The steps performed by the multicast server in any one of the first aspect or the second aspect; the client is used to perform the steps performed by the client in any one of the first aspect or the second aspect.
第六方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面中任一项所述的方法的步骤。In a sixth aspect, this application also provides a computer device. The computer device includes a memory and a processor. The memory stores a computer program. When the processor executes the computer program, the steps of the method described in any one of the above first or second aspects are implemented.
第七方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面中任一项所述的方法的步骤。In a seventh aspect, this application also provides a computer-readable storage medium. The computer-readable storage medium has a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method described in any one of the above-mentioned first or second aspects are implemented.
第八方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面或第二方面中任一项所述的方法的步骤。In an eighth aspect, 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 aspect or the second aspect.
上述数据流传输方法、装置、系统、计算机设备和存储介质,组播网关通过向组播服务器发送第一业务请求,然后根据组播服务器对第一业务请求的业务响应加入目标组播组,并基于目标组播组接收组播服务器发送的组播流,组播流为基于快速用户数据报协议UDP互联网连接QUIC组播协议的数据流,而后组播网关将组播流进行协议转换,得到基于QUIC单播协议的单播流,并将单播流发送至客户端,这样,通过组播网关将组播流转换为单播流发送至客户端,实现组播和单播的融合承载,使得客户端接收的还是基于QUIC单播协议的单播流,无需对客户端进行改造,因此采用该方法能够支持浏览器。In the above data stream transmission method, device, system, computer equipment and storage medium, the multicast gateway sends a first service request to the multicast server, and then joins the target multicast group according to the multicast server's service response to the first service request, and Based on the target multicast group, the multicast stream sent by the multicast server is received. The multicast stream is a data stream based on the Fast User Datagram Protocol UDP Internet Connection QUIC multicast protocol. Then the multicast gateway converts the multicast stream into a protocol based on QUIC unicast protocol unicast stream, and sends the unicast stream to the client. In this way, the multicast stream is converted into a unicast stream and sent to the client through the multicast gateway, realizing the integrated bearing of multicast and unicast, so that What the client receives is still the unicast stream based on the QUIC unicast protocol, and there is no need to modify the client, so this method can support the browser.
附图说明Description of the drawings
图1为一个实施例中一种数据流传输方法的应用环境图;Figure 1 is an application environment diagram of a data stream transmission method in one embodiment;
图2为一个实施例中一种实现QUIC组播协议的系统部署示意图;Figure 2 is a schematic diagram of system deployment for implementing the QUIC multicast protocol in one embodiment;
图3为一个实施例中一种数据流传输方法的流程示意图;Figure 3 is a schematic flowchart of a data stream transmission method in one embodiment;
图4为一个实施例中一种组播网关与组播服务器和客户端的交互示意图;Figure 4 is a schematic diagram of the interaction between a multicast gateway, a multicast server and a client in one embodiment;
图5为一个实施例中一种客户端与组播网关和组播服务器之间的协议转换示意图;Figure 5 is a schematic diagram of protocol conversion between a client, a multicast gateway and a multicast server in one embodiment;
图6为一个实施例中一种组播服务器对客户端和组播网关鉴权的示意图;Figure 6 is a schematic diagram of a multicast server authenticating a client and a multicast gateway in one embodiment;
图7为一个实施例中另一种数据流传输方法;Figure 7 shows another data stream transmission method in one embodiment;
图8为一个实施例中一种组播调度服务器调度组播网关的示意图;Figure 8 is a schematic diagram of a multicast scheduling server scheduling a multicast gateway in an embodiment;
图9为一个实施例中又一种数据流传输方法;Figure 9 shows another data stream transmission method in an embodiment;
图10为一个实施例中一种数据流传输装置的结构框图;Figure 10 is a structural block diagram of a data stream transmission device in one embodiment;
图11为一个实施例中另一种数据流传输装置的结构框图;Figure 11 is a structural block diagram of another data stream transmission device in one embodiment;
图12为一个实施例中一种数据流传输系统的结构框图;Figure 12 is a structural block diagram of a data stream transmission system in one embodiment;
图13为一个实施例中计算机设备的内部结构图。Figure 13 is an internal structure diagram of a computer device in one embodiment.
具体实施方式Detailed ways
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。In order to make the purpose, technical solutions and advantages of the present application more clear, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present application and are not used to limit the present application.
图1为本申请实施例提供的一种数据流传输方法的应用场景示意图。如图1所示,该场景中包括组播网关101、组播调度服务器102、组播服务器103、客户端104和发布客户端105中的所有设备,还可以仅包括一部分设备。其中,发布客户端105用于将组播流上传至组播服务器,组播调度服务器102用于基于客户端的配置请求为客户端104配置组播网关,组播网关101用于基于客户端104的业务请求从组播服务器103获取组播流并转化为单播流,且将单播流发送至客户端104,该客户端104兼容现有QUIC协议,是可在浏览器上应用的客户端。Figure 1 is a schematic diagram of an application scenario of a data stream transmission method provided by an embodiment of the present application. As shown in Figure 1, this scenario includes all devices in the multicast gateway 101, multicast scheduling server 102, multicast server 103, client 104, and publishing client 105, and may also include only some devices. Among them, the publishing client 105 is used to upload the multicast stream to the multicast server, the multicast scheduling server 102 is used to configure a multicast gateway for the client 104 based on the client's configuration request, and the multicast gateway 101 is used to configure the multicast gateway based on the client 104. The service request obtains the multicast stream from the multicast server 103 and converts it into a unicast stream, and sends the unicast stream to the client 104. The client 104 is compatible with the existing QUIC protocol and is a client that can be applied on the browser.
QUIC协议作为新一代传输协议,基于UDP实现了可靠、安全、低延时的传输层设计,非常适合IPTV(Internet Protocol television,交互式网络电视)、OTT(Over The Top,通过互联网向用户提供应用服务)等直播业务承载;QUIC协议为HTTP3(Hypertext TransferProtocol 3,第三版超文本传输协议)应用层协议设计,主要以单播方式承载,而大规模直播业务使用组播承载才是最低成本的方案。As a new generation transmission protocol, the QUIC protocol implements a reliable, secure, and low-latency transmission layer design based on UDP. It is very suitable for IPTV (Internet Protocol television, interactive network television), OTT (Over The Top), and provides applications to users through the Internet. Service) and other live broadcast services are carried; the QUIC protocol is designed as an application layer protocol of HTTP3 (Hypertext Transfer Protocol 3, the third version of Hypertext Transfer Protocol), and is mainly carried in unicast mode. However, the lowest cost is to use multicast to carry large-scale live broadcast services. plan.
IETF正在制定QUIC组播协议与方案,如图2所示,提供了一种实现QUIC组播协议的系统部署示意图,该系统包括QUIC组播客户端和QUIC组播服务器,其中,QUIC组播客户端包括QUIC组播控制客户端和QUIC组播接收客户端,QUIC组播服务器包括QUIC组播控制服务端和QUIC组播源服务端;QUIC组播控制客户端和QUIC组播控制服务端之间进行扩展的QUIC组播控制信息流传输,QUIC组播接收客户端和QUIC组播源服务端之间进行QUIC组播媒体数据流(也称为QUIC组播数据流)传输。The IETF is formulating the QUIC multicast protocol and solution. As shown in Figure 2, a system deployment diagram for implementing the QUIC multicast protocol is provided. The system includes a QUIC multicast client and a QUIC multicast server. Among them, the QUIC multicast client The client includes the QUIC multicast control client and the QUIC multicast receiving client, the QUIC multicast server includes the QUIC multicast control server and the QUIC multicast source server; the connection between the QUIC multicast control client and the QUIC multicast control server Extended QUIC multicast control information flow transmission is performed, and QUIC multicast media data flow (also called QUIC multicast data flow) is transmitted between the QUIC multicast receiving client and the QUIC multicast source server.
但是,上述QUIC组播客户端不支持浏览器,导致组播存在安全性问题等,因此,上述QUIC组播协议与方案还未能进入工作组文档阶段。基于此,有必要提出有效的技术手段解决该问题。However, the above-mentioned QUIC multicast client does not support browsers, which leads to security issues in multicast. Therefore, the above-mentioned QUIC multicast protocol and solution have not yet entered the working group documentation stage. Based on this, it is necessary to propose effective technical means to solve this problem.
在一个实施例中,如图3所示,提供了一种数据流传输方法,用于组播网关中,所述方法包括以下步骤:In one embodiment, as shown in Figure 3, a data stream transmission method is provided for use in a multicast gateway. The method includes the following steps:
步骤301,组播网关向组播服务器发送第一业务请求。Step 301: The multicast gateway sends a first service request to the multicast server.
其中,组播网关可以是由运营商控制的设备。组播服务器可以是IETF制定的QUIC组播协议与方案中的QUIC组播服务器,组播服务器包括QUIC组播控制服务端和QUIC组播源服务端。The multicast gateway may be a device controlled by an operator. The multicast server may be a QUIC multicast server in the QUIC multicast protocol and solution developed by the IETF. The multicast server includes a QUIC multicast control server and a QUIC multicast source server.
组播网关和QUIC组播控制服务端之间进行扩展的QUIC组播控制信息流传输,组播网关和QUIC组播源服务端之间进行QUIC组播数据流传输。The extended QUIC multicast control information stream is transmitted between the multicast gateway and the QUIC multicast control server, and the QUIC multicast data stream is transmitted between the multicast gateway and the QUIC multicast source server.
第一业务请求可以是组播网关向组播服务器发送的直播播放请求,且,第一业务请求为基于QUIC组播协议的业务请求,也即是扩展QUIC请求。第一业务请求携带域名sample.com、令牌信息Token和鉴权信息Authinfo中的至少一种。The first service request may be a live broadcast request sent by the multicast gateway to the multicast server, and the first service request is a service request based on the QUIC multicast protocol, that is, an extended QUIC request. The first service request carries at least one of the domain name sample.com, token information Token, and authentication information Authinfo.
可选的,组播网关在接收到客户端发送的直播播放请求后,向组播服务器发送第一业务请求。Optionally, after receiving the live broadcast request sent by the client, the multicast gateway sends the first service request to the multicast server.
例如,第一业务请求HTTP://sample.com/live1/live1?Token=***&Authinfo。For example, the first business request HTTP://sample.com/live1/live1? Token=***&Authinfo.
步骤302,组播网关根据组播服务器对第一业务请求的业务响应加入目标组播组,并基于目标组播组接收组播服务器发送的组播流,组播流为基于QUIC组播协议的数据流。Step 302: The multicast gateway joins the target multicast group according to 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 based on the QUIC multicast protocol. data flow.
其中,业务响应是基于QUIC组播协议的控制信息,也即是扩展的QUIC组播控制信息,其包括携带组播地址的组播组加入指令。The service response is control information based on the QUIC multicast protocol, that is, extended QUIC multicast control information, which includes a multicast group joining instruction carrying a multicast address.
可选的,组播服务器接收到第一业务请求后,根据第一业务请求,基于QUIC组播协议向组播网关发送携带组播地址的组播组加入指令,该组播组加入指令用于指示组播网关加入该组播地址对应的目标组播组。在组播网关接收到该组播组加入指令后,会将该组播地址写入接收端口,以实现加入目标组播组,从而在组播服务器向目标组播组发送组播流后,组播网关可以通过该接收端口接收到组播流。Optionally, after receiving the first service request, the multicast server sends a multicast group join instruction carrying a multicast address to the multicast gateway based on the QUIC multicast protocol according to the first service request. The multicast group join instruction is used to Instructs the multicast gateway to join the target multicast group corresponding to the multicast address. After the multicast gateway receives the multicast group joining instruction, it will write the multicast address to the receiving port to join the target multicast group. Therefore, after the multicast server sends the multicast stream to the target multicast group, the group The multicast gateway can receive multicast streams through this receiving port.
组播网关加入目标组播组的方式还可以是使用IGMP(Internet GroupManagement Protocol,互联网组管理协议)方式加入目标组播组。The multicast gateway can also join the target multicast group by using the Internet Group Management Protocol (IGMP) method to join the target multicast group.
步骤303,组播网关将组播流进行协议转换,得到基于QUIC单播协议的单播流,并将单播流发送至客户端。Step 303: The multicast gateway performs protocol conversion on the multicast stream, obtains a unicast stream based on the QUIC unicast protocol, and sends the unicast stream to the client.
其中,客户端是QUIC通用客户端,兼容现有QUIC协议,可在浏览器上广泛使用。Among them, the client is a QUIC universal client, which is compatible with the existing QUIC protocol and can be widely used on browsers.
可选的,组播网关将基于QUIC组播协议的组播流进行解包,得到原始数据流,然后基于QUIC单播协议对原始数据流重新打包,得到基于QUIC单播协议的单播流,再通过发送端口将该单播流发送至客户端。Optionally, the multicast gateway unpacks the multicast stream based on the QUIC multicast protocol to obtain the original data stream, and then repackages the original data stream based on the QUIC unicast protocol to obtain the unicast stream based on the QUIC unicast protocol. The unicast stream is then sent to the client through the sending port.
另外,组播网关和客户端的距离可以根据需要设定,若组播网关和客户端的距离较近,如一公里,则组播网关和客户端之间就可以实现无线传输,从而本申请的数据流传输方法支持无线传输。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 close, such as one kilometer, then wireless transmission can be achieved between the multicast gateway and the client, so that the data flow of this application The transmission method supports wireless transmission.
上述数据流传输方法中,组播网关通过向组播服务器发送第一业务请求,然后根据组播服务器对第一业务请求的业务响应加入目标组播组,并基于目标组播组接收组播服务器发送的组播流,组播流为基于QUIC组播协议的数据流,而后组播网关将组播流进行协议转换,得到基于QUIC单播协议的单播流,并将单播流发送至客户端,这样,通过组播网关将组播流转换为单播流发送至客户端,实现组播和单播的融合承载,使得客户端接收的还是基于QUIC单播协议的单播流,无需对客户端进行改造,因此采用该方法能够支持浏览器,从而可以提升安全性。In the above 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 server based on the target multicast group. The multicast stream sent is a data stream based on the QUIC multicast protocol. The multicast gateway then converts the multicast stream into a protocol to obtain a unicast stream based on the QUIC unicast protocol, and sends the unicast stream to the client. end, in this way, the multicast stream is converted into a unicast stream and sent to the client through the multicast gateway, realizing the integrated bearer of multicast and unicast, so that the client still receives the unicast stream based on the QUIC unicast protocol, without the need for The client is modified so that the browser can be supported using this method, which can improve security.
在其中一个实施例中,向组播服务器发送第一业务请求,包括:接收客户端发送的第二业务请求,在第二业务请求的触发下向组播服务器发送第一业务请求。In one embodiment, 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 when triggered by the second service request.
可选的,第二业务请求为基于QUIC单播协议的业务请求,在第二业务请求的触发下向组播服务器发送第一业务请求,包括:对第二业务请求进行协议转换处理,得到基于QUIC组播协议的第一业务请求,并将第一业务请求发送至组播服务器。Optionally, the second service request is a service request based on the QUIC unicast protocol. The first service request is sent to the multicast server triggered by the second service request, including: performing protocol conversion processing on the second service request to obtain the service request based on the QUIC unicast protocol. A first service request of the QUIC multicast protocol, and sends the first service request to the multicast server.
其中,第二业务请求为基于QUIC单播协议的业务请求,也即是非扩展QUIC请求,第二业务请求可以是客户端向组播网关发送的直播播放请求。第二业务请求携带组播网关地址GWIP、域名sample.com、令牌信息Token和鉴权信息Authinfo中的至少一种。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 may be a live broadcast request sent by the client to the multicast gateway. The second service request carries at least one of the multicast gateway address GWIP, domain name sample.com, token information Token, and authentication information Authinfo.
例如,第二业务请求HTTP://GWIP/sample.com/live1?Token=***&Authinfo。For example, the second service request HTTP://GWIP/sample.com/live1? Token=***&Authinfo.
在另一个可选的实施例中,基于上述实施例,提供了一种组播网关与组播服务器和客户端的交互示意图,如图4所示,该组播网关包括QUIC组播控制客户端和QUIC组播流转换客户端和QUIC组播代理客户端。交互原理如下:In another optional embodiment, based on the above embodiment, a schematic diagram of interaction between a multicast gateway, a multicast server and a client is provided, as shown in Figure 4. The multicast gateway includes a QUIC multicast control client and QUIC multicast stream conversion client and QUIC multicast proxy client. The interaction principle is as follows:
客户端向QUIC组播代理客户端发送非扩展QUIC请求(第二业务请求)。QUIC组播代理客户端对非扩展QUIC请求进行协议转换,得到扩展QUIC请求(第一业务请求),并向QUIC组播控制客户端和QUIC组播流转换客户端分别发送该扩展QUIC请求。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, obtains the extended QUIC request (first service request), and sends the extended QUIC request to the QUIC multicast control client and the QUIC multicast stream conversion client respectively.
QUIC组播控制客户端接收到扩展QUIC请求后,与组播服务器建立QUIC连接,向组播服务器中的QUIC组播控制服务端发送扩展QUIC请求,QUIC组播控制服务端根据扩展QUIC请求向QUIC组播控制客户端发送携带组播地址的组播组加入指令,QUIC组播控制客户端将该组播地址写入QUIC组播流转换客户端,以实现组播网关加入目标组播组,从而在组播服务器中的QUIC组播源服务端向目标组播组发送组播流后,QUIC组播流转换客户端就可以接收到组播流。After receiving the extended QUIC request, the QUIC multicast control client establishes a QUIC connection with the multicast server and sends an extended QUIC request to the QUIC multicast control server in the multicast server. The QUIC multicast control server sends an extended QUIC request to the QUIC server based on the extended QUIC request. The multicast control client sends a multicast group join instruction carrying a multicast address, and the QUIC multicast control client writes the multicast address into the QUIC multicast stream conversion client to enable the multicast gateway to join the target multicast group, thereby After the QUIC multicast source server in the multicast server sends the multicast stream to the target multicast group, the QUIC multicast stream conversion client can receive the multicast stream.
QUIC组播流转换客户端基于扩展QUIC请求,将组播流转发至QUIC组播代理客户端。QUIC组播代理客户端对组播流进行协议转换得到单播流,并将单播流发送至客户端,以完成数据流的传输。The QUIC multicast stream conversion client forwards the multicast stream to the QUIC multicast proxy client based on the extended QUIC request. The QUIC multicast proxy client performs protocol conversion on the multicast stream to obtain a unicast stream, and sends the unicast stream to the client to complete the transmission of the data stream.
此外,如图5所示,提供了一种客户端与组播网关和组播服务器之间的协议转换示意图,其中,客户端与组播服务器和组播服务器之间均支持的是QUIC单播协议,也即是非扩展QUIC协议,组播服务器和组播服务器之间支持的是QUIC组播协议,也即是扩展QUIC协议。因此,当组播网关接收到客户端的业务请求后,需要对该业务请求进行协议转换,也即是实现HTTP应用层与QUIC传输层之间的转换。In addition, as shown in Figure 5, a schematic diagram of protocol conversion between the client, the multicast gateway and the multicast server is provided, in which QUIC unicast is supported between the client, the multicast server and the multicast server. protocol, that is, the non-extended QUIC protocol. What is supported between the multicast server and the multicast server is the QUIC multicast protocol, which is the extended QUIC protocol. Therefore, when the multicast gateway receives the client's service request, it needs to perform protocol conversion on the service request, that is, to implement conversion between the HTTP application layer and the QUIC transport layer.
客户端向组播网关发送非扩展QUIC请求,组播网关对非扩展QUIC请求进行协议转换,得到扩展QUIC请求,The client sends a non-extended QUIC request to the multicast gateway, and the multicast gateway performs protocol conversion on the non-extended QUIC request and obtains the extended QUIC request.
客户端还可以向组播服务器直接发送非扩展QUIC请求,组播服务器根据该非扩展QUIC请求向客户端发送单播流,The client can also directly send a non-extended QUIC request to the multicast server, and the multicast server sends a unicast stream to the client based on the non-extended QUIC request.
客户端可以向组播服务器和组播网关均发送非扩展QUIC请求,The client can send non-extended QUIC requests to both the multicast server and the multicast gateway,
在其中一个实施例中,第一业务请求携带有第二业务请求中的鉴权信息,鉴权信息用于供组播服务器在基于鉴权信息对组播网关鉴权通过后向组播网关反馈业务响应。In one embodiment, the first service request carries the authentication information in the second service request. The authentication information is used for the multicast server to feedback to the multicast gateway after passing the authentication of the multicast gateway based on the authentication information. Business response.
其中,鉴权信息包括加密后的客户端的地址和组播网关的地址的对应关系,鉴权信息是由组播调度服务器下发至客户端的,其具体实现方式见下述组播调度服务器侧实施例,在此不再赘述。Among them, the authentication information includes the encrypted correspondence between the client's address and the address of the multicast gateway. The authentication information is delivered to the client by the multicast scheduling server. For its specific implementation, see the following implementation on the multicast scheduling server side. For example, I won’t go into details here.
可选的,组播服务器接收到第一业务请求后,解析第一业务请求,若解析得到鉴权信息,说明该组播网关合法,则组播网关鉴权通过,否则,说明该组播网关不合法,则组播网关鉴权不通过。Optionally, after receiving the first service request, the multicast server parses the first service request. If the authentication information is obtained through the parsing, it means that the multicast gateway is legal, and the multicast gateway has passed the authentication. Otherwise, it means that the multicast gateway has passed the authentication. If it is illegal, the multicast gateway authentication fails.
在其中一个实施例中,第一业务请求携带有第二业务请求中的令牌信息,令牌信息用于供组播服务器基于令牌信息确定客户端的地址。In one embodiment, the first service request carries token information in the second service request, and the token information is used by the multicast server to determine the address of the client based on the token information.
其中,令牌信息是由组播调度服务器下发至客户端的,其具体实现方式见下述组播调度服务器侧实施例,在此不再赘述。该令牌信息用于客户端在有效期内简化再次鉴权。The token information is delivered to the client by the multicast scheduling server. The specific implementation method can be found in the following embodiments on the multicast scheduling server side, which will not be described again here. This token information is used by the client to simplify re-authentication within the validity period.
如图6所示,提供了一种组播服务器对客户端和组播网关鉴权的示意图,其中,客户端和组播网关均可以向组播服务器发送业务请求,组播服务器可以通过业务请求是否携带鉴权信息来判断业务请求来自客户端还是组播网关。As shown in Figure 6, a schematic diagram of the multicast server authenticating the client and the multicast gateway is provided. In it, both the client and the multicast gateway can send service requests to the multicast server, and the multicast server can pass the service request. Whether it carries authentication information is used to determine whether the service request comes from the client or the multicast gateway.
例如,客户端向组播服务器发送携带有域名Domain1和令牌信息Token的业务请求。组播网关接收到来自客户端的携带有组播网关地址、域名Domain1、令牌信息Token和鉴权信息Authinfo的业务请求后,组播网关向组播服务器发送携带有域名Domain1、令牌信息Token和鉴权信息Authinfo的业务请求。当组播服务器接收到客户端和组播网关分别发送的业务请求后,就可以根据业务请求中是否携带鉴权信息来判断业务请求来自客户端还是组播网关。For example, the client sends a service request carrying the domain name Domain1 and token information Token to the multicast server. After the multicast gateway receives the service request from the client that carries the multicast gateway address, domain name Domain1, token information Token, and authentication information Authinfo, the multicast gateway sends the multicast server the service request carrying the domain name Domain1, token information Token, and Business request for authentication information Authinfo. After the multicast server receives the service requests sent by the client and the multicast gateway respectively, it can determine whether the service request comes from the client or the multicast gateway based on whether the service request carries authentication information.
在其中一个实施例中,该方法还包括:从组播服务器接收控制信息,根据控制信息执行组播命令流程。In one embodiment, the method further includes: receiving control information from the multicast server, and executing a multicast command process according to the control information.
其中,控制信息包括组播组加入指令、组播组退出指令等,根据控制信息执行组播命令流程包括:根据控制信息在相应端口执行相应网络层组播命令,如IGMP Join(Internet Group Management Protocol Join,加入互联网组管理协议)。Among them, the control information includes multicast group joining instructions, multicast group exit instructions, etc. The process of executing multicast commands according to the control information includes: executing corresponding network layer multicast commands on the corresponding ports according to the control information, such as IGMP Join (Internet Group Management Protocol Join, join the Internet Group Management Protocol).
组播网关根据组播组加入指令执行组播命令流程上述实施例已详细阐述,下面将详细阐述组播网关根据组播组退出指令执行组播命令流程。The process of the multicast gateway executing the multicast command according to the multicast group joining instruction has been described in detail in the above embodiments. The following will elaborate on the process of the multicast gateway executing the multicast command according to the multicast group exit instruction.
在其中一个实施例中,该方法还包括:向组播服务器发送第三业务请求,根据组播服务器对第三业务请求的业务响应退出目标组播组。In one embodiment, the method further includes: sending a third service request to the multicast server, and exiting the target multicast group according to the multicast server's service response to the third service request.
可选的,向组播服务器发送第三业务请求,包括:接收客户端发送的第四业务请求,在第四业务请求的触发下向组播服务器发送第三业务请求。Optionally, sending the third service request to the multicast server includes: receiving the fourth service request sent by the client, and sending the third service request to the multicast server when triggered by the fourth service request.
在第四业务请求的触发下向组播服务器发送第三业务请求,包括:对第四业务请求进行协议转换处理,得到基于QUIC组播协议的第三业务请求,并将第三业务请求发送至组播服务器。Sending a third service request to the multicast server triggered by the fourth service request includes: performing protocol conversion processing on the fourth service request, obtaining a third service request based on the QUIC multicast protocol, and sending the third service request to Multicast server.
根据组播服务器对第四业务请求的业务响应退出目标组播组,包括:组播服务器接收到第三业务请求后,根据第三业务请求,基于QUIC组播协议向组播网关发送携带组播地址的组播组退出指令,该组播组退出指令用于指示组播网关退出该组播地址对应的目标组播组。在组播网关接收到该组播组退出指令后,会将该组播地址从接收端口中删除,以实现退出目标组播组。Exiting the target multicast group according to the service response of the multicast server to the fourth service request includes: after the multicast server receives the third service request, according to the third service request, the multicast packet is sent to the multicast gateway based on the QUIC multicast protocol. The multicast group exit command of the address is used to instruct the multicast gateway to exit the target multicast group corresponding to the multicast address. After receiving the multicast group exit command, the multicast gateway will delete the multicast address from the receiving port to exit the target multicast group.
其中,第三业务请求可以是组播网关向组播服务器发送的直播退出请求,且,第三业务请求为基于QUIC组播协议的业务请求,也即是扩展QUIC请求。第三业务请求携带域名sample.com、令牌信息Token和鉴权信息Authinfo中的至少一种。The third service request may be a live broadcast exit request sent by the multicast gateway to the multicast server, and the third service request is a service request based on the QUIC multicast protocol, that is, an extended QUIC request. The third service request carries at least one of the domain name sample.com, token information Token, and authentication information Authinfo.
第四业务请求可以是客户端向组播网关发送的直播退出请求,且,第四业务请求为基于QUIC单播协议的业务请求,也即是非扩展QUIC请求。第四业务请求携带组播网关地址GWIP、域名sample.com、令牌信息Token和鉴权信息Authinfo中的至少一种。The fourth service request may be a live broadcast exit request sent by the client to the multicast gateway, and the fourth service request is a service request based on the QUIC unicast protocol, that is, a non-extended QUIC request. The fourth service request carries at least one of the multicast gateway address GWIP, domain name sample.com, token information Token, and authentication information Authinfo.
另外,组播网关还可以接收客户端发送的第五业务请求,在第五业务请求的触发下,组播网关停止从组播服务器接收组播流和向客户端发送单播流。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 the multicast stream from the multicast server and sending the unicast stream to the client.
其中,第五业务请求可以是客户端向组播网关发送的直播暂停请求,且,第五业务请求为基于QUIC单播协议的业务请求,也即是非扩展QUIC请求。第五业务请求携带组播网关地址GWIP、域名sample.com、令牌信息Token和鉴权信息Authinfo中的至少一种。The fifth service request may be a live broadcast pause request sent by the client to the multicast gateway, and the fifth service request is a service request based on the QUIC unicast protocol, that is, a non-extended QUIC request. The fifth service request carries at least one of the multicast gateway address GWIP, domain name sample.com, token information Token, and authentication information Authinfo.
在一个实施例中,如图7所示,提供了另一种数据流传输方法,用于组播调度服务器中,所述方法包括以下步骤:In one embodiment, as shown in Figure 7, another data stream transmission method is provided for use in a multicast scheduling server. The method includes the following steps:
步骤701,组播调度服务器接收客户端基于QUIC单播协议发送的配置请求。Step 701: The multicast scheduling server receives the configuration request sent by the client based on the QUIC unicast protocol.
其中,组播调度服务器可以是由运营商控制的设备。配置请求用于客户端向组播调度服务器请求为其配置组播网关,该配置请求是客户端基于QUIC单播协议发送的请求。The multicast scheduling server may be a device controlled by an operator. The configuration request is used by the client to request the multicast scheduling server to configure a multicast gateway for it. The configuration request is a request sent by the client based on the QUIC unicast protocol.
可选的,客户端在向组播网关发送第二业务请求之前,需要向组播调度服务器发送配置请求。Optionally, before sending the second service request to the multicast gateway, the client needs to send a configuration request to the multicast scheduling server.
步骤702,组播调度服务器根据配置请求返回组播网关的地址;其中,组播网关的地址用于客户端向组播网关发送第二业务请求,以供组播网关在第二业务请求的触发下向组播服务器发送第一业务请求。Step 702: The multicast scheduling server returns the address of the multicast gateway according to the configuration request; where the address of the multicast gateway is used by the client to send the second service request to the multicast gateway, so that the multicast gateway can trigger the second service request. Next, the first service request is sent to the multicast server.
其中,组播调度服务器可以根据客户端的地址从配置数据库中查询到服务于该客户端的组播网关的地址,其中,配置数据库中存储有不同客户端的地址与组播网关的多组对应关系,组播网关和客户端可以是一对多的关系,即一个组播网关可以服务多个客户端。另外,组播调度服务器根据配置请求返回组播网关的地址可以是,组播调度服务器基于QUIC单播协议返回组播网关的地址。Among them, the multicast scheduling server can query the address of the multicast gateway serving the client from the configuration database according to the client's address. The configuration database stores multiple sets of correspondences between the addresses of different clients and the multicast gateway. The multicast gateway and the client can have a one-to-many relationship, that is, one multicast gateway can serve multiple clients. In addition, the multicast scheduling server may return the address of the multicast gateway according to the configuration request, and the multicast scheduling server may return the address of the multicast gateway based on the QUIC unicast protocol.
可选的,客户端得到组播网关的地址后,向组播网关发送第二业务请求,组播网关在第二业务请求的触发下向组播服务器发送第一业务请求,第一业务请求用于组播网关根据组播服务器对第一业务请求的业务响应加入目标组播组,并基于目标组播组接收组播服务器发送的组播流,将组播流进行协议转换,得到基于QUIC单播协议的单播流,并将单播流发送至客户端,其中,组播流为基于QUIC组播协议的数据流。另外,对于组播网关实现该步骤的具体实现方式见上述组播网关侧的实施例,在此不再赘述。Optionally, after the client obtains the address of the multicast gateway, it sends a second service request to the multicast gateway. The multicast gateway sends a first service request to the multicast server under the trigger of the second service request. The first service request uses The multicast gateway joins the target multicast group according to the multicast server's service response to the first service request, receives the multicast stream sent by the multicast server based on the target multicast group, and performs protocol conversion on the multicast stream to obtain a QUIC-based single unicast stream of the QUIC multicast protocol and sends the unicast stream to the client, where the multicast stream is a data stream based on the QUIC multicast protocol. In addition, the specific implementation method for the multicast gateway to implement this step can be found in the above-mentioned embodiment on the multicast gateway side, and will not be described again here.
上述数据流传输方法中,组播调度服务器接收客户端基于QUIC单播协议发送的配置请求,然后根据配置请求返回组播网关的地址,该组播网关的地址用于客户端向组播网关发送第二业务请求,以供组播网关在第二业务请求的触发下向组播服务器发送第一业务请求,该第一业务请求用于组播网关通过向组播服务器发送第一业务请求,然后根据组播服务器对第一业务请求的业务响应加入目标组播组,并基于目标组播组接收组播服务器发送的组播流,组播流为基于QUIC组播协议的数据流,而后组播网关将组播流进行协议转换,得到基于QUIC单播协议的单播流,并将单播流发送至客户端,这样,通过组播网关将组播流转换为单播流发送至客户端,实现组播和单播的融合承载,使得客户端接收的还是基于QUIC单播协议的单播流,无需对客户端进行改造,因此采用该方法能够支持浏览器,从而可以提升安全性。In the above data stream transmission method, the multicast scheduling server receives the configuration request sent by the client based on the QUIC unicast protocol, and then returns the address of the multicast gateway according to the configuration request. The address of the multicast gateway is used by the client to send data to the multicast gateway. The second service request is for the multicast gateway to send the first service request to the multicast server when triggered by the second service request. The first service request is used for the multicast gateway to send the first service request to the multicast server, and then Join the target multicast group according to the service response of the multicast server to the first service request, and 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, and then multicast The 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. In this way, the multicast stream is converted into a unicast stream through the multicast gateway and sent to the client. Implementing the integrated bearer of multicast and unicast allows the client to receive unicast streams based on the QUIC unicast protocol without the need to modify the client. Therefore, this method can support browsers, thereby improving security.
在其中一个实施例中,配置请求包括第一配置请求,方法还包括:根据第一配置请求,生成令牌信息并发送至客户端,令牌信息用于供组播服务器基于令牌信息确定客户端的地址。In one embodiment, the configuration request includes a first configuration request, and the method further includes: generating token information according to the first configuration request and sending it to the client, where the token information is used by the multicast server to determine the client based on the token information. end address.
其中,第一配置请求可以是客户端向组播调度服务器发送的直播播放请求,第一配置请求携带域名sample.com,例如,HTTP://sample.com/live1。The first configuration request may be a live broadcast request sent by the client to the multicast scheduling server, and the first configuration request carries the domain name sample.com, for example, HTTP://sample.com/live1.
可选的,组播调度服务器安装有HASH(哈希)客户端,其可以根据客户端的地址生成令牌信息Token,用于客户端在有效期内简化再次鉴权。组播调度服务器将令牌信息Token以第一响应信息的格式发送至客户端,以实现重定向至QUIC调度,第一响应信息的格式例如HTTP://sample.QuicRR.com/live1?Token=***。Optionally, the multicast scheduling server is installed with a HASH (hash) client, which can generate token information Token based on the client's address, which can be used by the client to simplify re-authentication within the validity period. The multicast scheduling server sends the token information Token to the client in the format of the first response information to implement redirection to QUIC scheduling. The format of the first response information is such as HTTP://sample.QuicRR.com/live1? Token=***.
在其中一个实施例中,配置请求包括第二配置请求,方法还包括:根据第二配置请求,生成鉴权信息并发送至客户端,鉴权信息用于供组播服务器在基于鉴权信息对组播网关鉴权通过后向组播网关反馈业务响应。In one embodiment, the configuration request includes a second configuration request, and the method further includes: generating authentication information according to the second configuration request and sending it to the client, where the authentication information is used by the multicast server to configure the pair based on the authentication information. After the multicast gateway passes the authentication, the service response is fed back to the multicast gateway.
其中,第二配置请求可以是客户端向组播调度服务器发送的直播播放请求,第二配置请求携带令牌信息Token和域名sample.QuicRR.com,例如,HTTP://sample.QuicRR.com/live1?Token=***,其可以实现通过域名变换引导至组播调度服务器。The second configuration request may be a live broadcast request sent by the client to the multicast scheduling server. The second configuration request carries the token information Token and the domain name sample.QuicRR.com, for example, HTTP://sample.QuicRR.com/ live1? Token=***, which can be directed to the multicast scheduling server through domain name change.
鉴权信息包括加密后的客户端的地址和组播网关的地址的对应关系。The authentication information includes the encrypted correspondence between the client's address and the address of the multicast gateway.
可选的,组播调度服务器接收到客户端发送第二配置请求后,组播调度服务器检查是否存在适合服务于该客户端的组播网关,若存在,则通过共享的对称加密算法,加密客户端的地址和组播网关的地址,生成鉴权信息Authinfo。组播调度服务器将鉴权信息Authinfo以第二响应信息的格式发送至客户端,以实现重定向至组播网关,第二响应信息的格式例如HTTP://GWIP/sample.com/live1?Token=***&Authinfo。Optionally, after the multicast scheduling server receives the second configuration request sent by the client, the multicast scheduling server checks whether there is a multicast gateway suitable for serving the client. If it exists, the client's information is encrypted using a shared symmetric encryption algorithm. address and the address of the multicast gateway to generate authentication information Authinfo. The multicast scheduling server sends the authentication information Authinfo to the client in the format of the second response information to implement redirection to the multicast gateway. The format of the second response information is, for example, HTTP://GWIP/sample.com/live1? Token=***&Authinfo.
若不存在,则组播调度服务器将响应消息以第三响应信息的格式发送至客户端,以实现重定向至组播服务器,第三响应信息的格式例如HTTP://sample.com/live1/live1?Token=***。此时,客户端基于QUIC单播协议向组播服务器发送第六业务请求,组播度武器根据第六业务请求响应客户端,即将单播流发送至客户端,此过程为普通的直播服务,第六业务请求例如HTTP://sample.com/live1?Token=***。If it does not exist, the multicast scheduling server sends the response message to the client in the format of the third response information to implement redirection to the multicast server. The format of the third response information is, for example, HTTP://sample.com/live1/ live1? Token=***. At this time, the client sends the sixth service request to the multicast server based on the QUIC unicast protocol, and 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 an ordinary live broadcast service. The sixth business request is HTTP://sample.com/live1? Token=***.
本实施例中,鉴权信息由组播调度服务器生成,可以避免组播网关和客户端对该鉴权信息进行解密与伪造。另外,客户端基于QUIC单播协议向组播调度服务器发送两次直播播放请求(第一配置请求和第二配置请求),组播调度服务器基于QUIC单播协议返回组播网关的地址,实现了组播调度服务器使用非扩展QUIC协议,把直播的应用层请求引导至了组播网关。In this embodiment, the authentication information is generated by the multicast scheduling server, which can prevent the multicast gateway and the client from decrypting and forging the authentication information. In addition, the client sends two live broadcast requests (the first configuration request and the second configuration request) to the multicast scheduling server based on the QUIC unicast protocol, and the multicast scheduling server returns the address of the multicast gateway based on the QUIC unicast protocol, realizing The multicast scheduling server uses the non-extended QUIC protocol to guide live application layer requests to the multicast gateway.
在其中一个实施例中,该方法还包括:配置组播网关的地址,以及配置客户端的地址和组播网关的地址的对应关系,生成客户端的地址和组播网关的地址的对应关系表。In one embodiment, the method further includes: configuring the address of the multicast gateway, configuring the correspondence between the client's address and the address of the multicast gateway, and generating a correspondence table between the client's address and the address of the multicast gateway.
在其中一个实施例中,所述方法还包括:向所述组播网关发送监测请求;接收所述组播网关基于所述监测请求发送的监测数据;根据所述监测数据确定所述组播网关的健康状态。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 multicast gateway based on the monitoring data. health status.
其中,上述组播网关的地址和客户端的地址均可以是IP(Internet Protocol,网络互联协议)地址。Wherein, both the address of the multicast gateway and the address of the client may be IP (Internet Protocol) addresses.
可选的,如图8所示,提供了一种组播调度服务器调度组播网关的示意图,其中组播网关有多个,组播调度服务器包括组播网关管理客户端和组播调度客户端。Optionally, as shown in Figure 8, a schematic diagram of a multicast scheduling server scheduling a multicast gateway is provided. There are multiple multicast gateways, and the multicast scheduling server includes a multicast gateway management client and a multicast scheduling client. .
组播网关管理客户端具有管理和配置组播网关的参数的功能,包括管理和配置组播网关的IP地址和端口、组播网关的版本、认证信息等。组播网关管理客户端还具有监控组播网关健康状态,并上报给组播调度客户端的功能,其实现方式有两种,分别如下:The multicast gateway management client has the function of managing and configuring the parameters of the multicast gateway, including managing and configuring the IP address and port of the multicast gateway, the version of the multicast gateway, 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. There are two implementation methods, as follows:
第一种,组播网关管理客户端向组播网关发送监测请求,接收组播网关基于监测请求发送的监测数据,根据监测数据确定组播网关的健康状态。First, the multicast gateway management client sends a monitoring request to the multicast gateway, receives the monitoring data sent by the multicast gateway based on the monitoring request, and determines the health status of the multicast gateway based on the monitoring data.
第二种,组播网关管理客户端周期性接收组播网关发送的状态数据,根据该状态数据确定组播网关的健康状态。Second, the multicast gateway management client periodically receives status data sent by the multicast gateway and determines the health status of the multicast gateway based on the status data.
组播调度客户端具有建立与维护客户端的地址和组播网关的地址的对应关系表的功能。组播调度客户端还具有在调度时产生鉴权信息Authinfo的功能。The multicast scheduling client has the function of establishing and maintaining a correspondence table between the client's address and the address of the multicast gateway. The multicast scheduling client also has the function of generating authentication information Authinfo during scheduling.
在另外一个实施例中,在客户端向组播调度服务器发送第一配置请求之前,发布客户端,也即是直播源,会向组播服务器上传直播,组播服务器将该直播转换为组播流并向网络发送,然后组播服务器将该直播的单播URL(Uniform Resource Locator,统一资源定位符)及组播地址发送至组播调度服务器。组播调度服务器根据单播URL及组播地址生成令牌信息Token。In another embodiment, before the client sends the first configuration request to the multicast scheduling server, the publishing client, that is, the live broadcast source, will upload the live broadcast to the multicast server, and the multicast server will convert the live broadcast into multicast stream and send it to the network, and then the multicast server sends the unicast URL (Uniform Resource Locator, Uniform Resource Locator) and multicast address of the live broadcast to the multicast scheduling server. The multicast scheduling server generates token information Token based on the unicast URL and multicast address.
综上所述,如图9所述,提供了又一种数据流传输方法,用于数据流传输系统,数据流传输系统包括客户端、组播网关、组播调度服务器、组播服务器和发布客户端。所述方法分为两部分,第一部分是直播发布,第二部分是直播服务,该第二部分又可以分为QUIC组播服务和普通直播服务,各部分包括的内容如下:In summary, as shown in Figure 9, another data stream transmission method is provided for the data stream transmission system. The data stream transmission system includes a client, a multicast gateway, a multicast scheduling server, a multicast server and a publishing system. client. The method is divided into two parts. The first part is live broadcast release, and the second part is live broadcast service. The second part can be divided into QUIC multicast service and ordinary live broadcast service. The contents of each part are as follows:
1、直播发布,其包括如下步骤:1. Live broadcast, which includes the following steps:
步骤901,发布客户端向组播服务器上传直播。Step 901: The publishing client uploads the live broadcast to the multicast server.
步骤902,组播服务器将直播转化为基于QUIC组播协议的组播流,并向网络发送。Step 902: The multicast server converts the live broadcast into a multicast stream based on the QUIC multicast protocol and sends it to the network.
步骤903,组播服务器将直播的单播URL及组播地址发送至组播调度服务器。Step 903: The multicast server sends the live unicast URL and multicast address to the multicast scheduling server.
2、直播服务,包括QUIC组播服务和普通直播服务,其中,QUIC组播服务和普通直播服务的分别如下:2. Live broadcast services include QUIC multicast services and ordinary live broadcast services. The differences between QUIC multicast services and ordinary live broadcast services are as follows:
2.1、QUIC组播服务,其包括如下步骤:2.1. QUIC multicast service, which includes the following steps:
步骤904,客户端向组播调度服务器发送第一配置请求(直播播放请求),如HTTP://sample.com/live1。Step 904: The client sends a first configuration request (live broadcast request) to the multicast scheduling server, such as HTTP://sample.com/live1.
步骤905,组播调度服务器对客户端进行鉴权,根据客户端的地址生成令牌信息Token。Step 905: The multicast scheduling server authenticates the client and generates token information Token according to the client's address.
步骤906,组播调度服务器将令牌信息Token发送至客户端。例如,组播调度服务器将令牌信息Token以第一响应信息的格式发送至客户端,以实现重定向至QUIC调度,第一响应信息的格式例如HTTP://sample.QuicRR.com/live1?Token=***。Step 906: The multicast scheduling server sends the token information Token to the client. For example, the multicast scheduling server sends the token information Token to the client in the format of the first response information to implement redirection to QUIC scheduling. The format of the first response information is such as HTTP://sample.QuicRR.com/live1? Token=***.
步骤907,客户端向组播调度服务器发送第二配置请求(直播播放请求),如HTTP://sample.QuicRR.com/live1?Token=***。Step 907: The client sends a second configuration request (live broadcast request) to the multicast scheduling server, such as HTTP://sample.QuicRR.com/live1? Token=***.
步骤908a,组播调度服务器检查是否存在适合的组播网网关,结果为存在,则执行步骤909a;Step 908a: The multicast scheduling server checks whether a suitable multicast network gateway exists. If the result is that it exists, step 909a is executed;
步骤909a,组播调度服务器生成鉴权信息Authinfo发送至客户端。例如,组播调度服务器将鉴权信息Authinfo以第二响应信息的格式发送至客户端,以实现重定向至组播网关,第二响应信息的格式例如HTTP://GWIP/sample.com/live1?Token=***&Authinfo。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 the second response information to implement redirection to the multicast gateway. The format of the second response information is, for example, HTTP://GWIP/sample.com/live1 ? Token=***&Authinfo.
步骤910a,客户端向组播网关发送第二业务请求(直播播放请求),如HTTP://GWIP/sample.com/live1?Token=***&Authinfo。Step 910a: The client sends a second service request (live broadcast request) to the multicast gateway, such as HTTP://GWIP/sample.com/live1? Token=***&Authinfo.
步骤911,组播网关向组播服务器发送第一业务请求(扩展QUIC请求),如HTTP://sample.com/live1/live1?Token=***&Authinfo。Step 911: The multicast gateway sends a first service request (extended QUIC request) to the multicast server, such as HTTP://sample.com/live1/live1? Token=***&Authinfo.
步骤912,组播服务器检查鉴权信息Authinfo,结果为通过鉴权,则执行步骤913。Step 912: The multicast server checks the authentication information Authinfo. If the result is that the authentication is passed, step 913 is executed.
步骤913,组播服务器向组播网关发送响应信息。Step 913: The multicast server sends response information to the multicast gateway.
步骤914,组播网关使用IGMP协议加入目标组播组。Step 914: The multicast gateway uses the IGMP protocol to join the target multicast group.
步骤915,组播网关将组播流转换为单播流发送至客户端。Step 915: The multicast gateway converts the multicast stream into a unicast stream and sends it to the client.
2.2、普通直播服务,其包括如下步骤:2.2. Ordinary live broadcast service, which includes the following steps:
步骤908b,组播调度服务器检查是否存在适合的组播网网关,结果为不存在,执行步骤909b。Step 908b: The multicast scheduling server checks whether a suitable multicast network gateway exists. If the result is that it does not exist, step 909b is executed.
步骤909b,调度服务器将响应消息以第三响应信息的格式发送至客户端,以实现重定向至组播服务器,第三响应信息的格式例如HTTP://sample.com/live1/live1?Token=***。Step 909b: The scheduling server sends the response message to the client in the format of the third response information to implement redirection to the multicast server. The format of the third response information is, for example, HTTP://sample.com/live1/live1? Token=***.
步骤910b,客户端基于QUIC单播协议向组播服务器发送第六业务请求,组播度武器根据第六业务请求响应客户端,即将单播流发送至客户端,此过程为普通的直播服务,第六业务请求例如HTTP://sample.com/live1?Token=***。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 an ordinary live broadcast service. The sixth business request is HTTP://sample.com/live1? Token=***.
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。It should be understood that although the steps in the flowcharts involved in the above-mentioned embodiments are shown in sequence as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated in this article, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least some of the steps in the flowcharts involved in the above embodiments may include multiple steps or stages. These steps or stages are not necessarily executed at the same time, but may be completed at different times. The execution order of these steps or stages is not necessarily sequential, but may be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据流传输方法的数据流传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据流传输装置实施例中的具体限定可以参见上文中对于数据流传输方法的限定,在此不再赘述。Based on the same inventive concept, embodiments of the present application also provide a data stream transmission device for implementing the above-mentioned data stream transmission method. The implementation solution provided by this device to solve the problem is similar to the implementation solution recorded in the above method. Therefore, the specific limitations in the one or more data stream transmission device embodiments provided below can be found in the above description of the data stream transmission method. Limitations will not be repeated here.
在一个实施例中,如图10所示,提供了一种数据流传输装置,设置于组播网关中,该数据流传输装置1000包括:第一发送模块1001、第一接收模块1002和第二发送模块1003,其中:In one embodiment, as shown in Figure 10, a data stream transmission device is provided, which is provided in a multicast gateway. The data stream transmission device 1000 includes: a first sending module 1001, a first receiving module 1002 and a second Send module 1003, where:
第一发送模块1001,用于向组播服务器发送第一业务请求。The first sending module 1001 is used to send a first service request to the multicast server.
第一接收模块1002,用于根据组播服务器对第一业务请求的业务响应加入目标组播组,并基于目标组播组接收组播服务器发送的组播流,组播流为基于QUIC组播协议的数据流。The first receiving module 1002 is configured to join the target multicast group according to the multicast server's service response to the first service request, and receive the multicast stream sent by the multicast server based on the target multicast group. The multicast stream is QUIC-based multicast. Protocol data flow.
第二发送模块1003,用于将组播流进行协议转换,得到基于QUIC单播协议的单播流,并将单播流发送至客户端。The second sending module 1003 is used to perform protocol conversion on the multicast stream, obtain a unicast stream based on the QUIC unicast protocol, and send the unicast stream to the client.
在其中一个实施例中,第一发送模块1001,具体用于接收客户端发送的第二业务请求,在第二业务请求的触发下向组播服务器发送第一业务请求。In one embodiment, the first sending module 1001 is specifically configured to receive a second service request sent by the client, and send the first service request to the multicast server when triggered by the second service request.
在其中一个实施例中,第二业务请求为基于QUIC单播协议的业务请求,第一发送模块,具体用于对第二业务请求进行协议转换处理,得到基于QUIC组播协议的第一业务请求,并将第一业务请求发送至组播服务器。In one embodiment, the second service request is a service request based on the QUIC unicast protocol. The first sending module is specifically configured to perform protocol conversion processing on the second service request to obtain the first service request based on the QUIC multicast protocol. , and sends the first service request to the multicast server.
在其中一个实施例中,第一业务请求携带有第二业务请求中的鉴权信息,鉴权信息用于供组播服务器在基于鉴权信息对组播网关鉴权通过后向组播网关反馈业务响应。In one embodiment, the first service request carries the authentication information in the second service request. The authentication information is used for the multicast server to feedback to the multicast gateway after passing the authentication of the multicast gateway based on the authentication information. Business response.
在其中一个实施例中,鉴权信息包括加密后的客户端的地址和组播网关的地址的对应关系。In one embodiment, the authentication information includes an encrypted correspondence between the address of the client and the address of the multicast gateway.
在其中一个实施例中,第一业务请求携带有第二业务请求中的令牌信息,令牌信息用于供组播服务器基于令牌信息确定客户端的地址。In one embodiment, the first service request carries token information in the second service request, and the token information is used by the multicast server to determine the address of the client based on the token information.
在其中一个实施例中,鉴权信息和令牌信息是由组播调度服务器下发至客户端的。In one embodiment, the authentication information and token information are delivered to the client by the multicast scheduling server.
在其中一个实施例中,该装置还包括执行模块,用于从组播服务器接收控制信息,根据控制信息执行组播命令流程。In one embodiment, the device further includes an execution module configured to receive control information from the multicast server and execute the multicast command process according to the control information.
在其中一个实施例中,该装置还包括第四发送模块和第三接收模块,第四发送模块,用于向组播服务器发送第三业务请求,第三接收模块,用于根据组播服务器对第三业务请求的业务响应退出目标组播组。In one embodiment, the device 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. The third receiving module is used to send a third service request to the multicast server according to the multicast server. The service response requested by the third service exits the target multicast group.
在其中一个实施例中,第四发送模块,具体用于接收客户端发送的第四业务请求,在第四业务请求的触发下向组播服务器发送第三业务请求。In one embodiment, the fourth sending module is specifically configured to receive the fourth service request sent by the client, and send the third service request to the multicast server when triggered by the fourth service request.
在其中一个实施例中,第四业务请求为基于QUIC单播协议的业务请求,第四发送模块,具体用于对第四业务请求进行协议转换处理,得到基于QUIC组播协议的第三业务请求,并将第三业务请求发送至组播服务器。In one embodiment, the fourth service request is a service request based on the QUIC unicast protocol, and the fourth sending module is specifically configured to perform protocol conversion processing on the fourth service request to obtain a third service request based on the QUIC multicast protocol. , and sends the third service request to the multicast server.
在一个实施例中,如图11所示,提供了另一种数据流传输装置,设置于组播调度服务器中,该数据流传输装置1100包括:第二接收模块1101和第三发送模块1102,其中:In one embodiment, as shown in Figure 11, another data stream transmission device is provided, which is provided in the multicast scheduling server. The data stream transmission device 1100 includes: a second receiving module 1101 and a third sending module 1102, in:
第二接收模块1101,用于接收客户端基于QUIC单播协议发送的配置请求。The second receiving module 1101 is used to receive the configuration request sent by the client based on the QUIC unicast protocol.
第三发送模块1102,用于根据配置请求返回组播网关的地址;其中,组播网关的地址用于客户端向组播网关发送第二业务请求,以供组播网关在第二业务请求的触发下向组播服务器发送第一业务请求。The third sending module 1102 is 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 the second service request to the multicast gateway, so that the multicast gateway can respond to the second service request. The first service request is sent to the multicast server when triggered.
在其中一个实施例中,配置请求包括第一配置请求,该装置还包括第一生成模块,用于根据第一配置请求,生成令牌信息并发送至客户端,令牌信息用于供组播服务器基于令牌信息确定客户端的地址。In one embodiment, the configuration request includes a first configuration request, and the device further includes a first generating module configured to generate token information according to the first configuration request and send it to the client, where the token information is used for multicast The server determines the client's address based on the token information.
在其中一个实施例中,配置请求包括第二配置请求,该装置还包括第二生成模块,用于根据第二配置请求,生成鉴权信息并发送至客户端,鉴权信息用于供组播服务器在基于鉴权信息对组播网关鉴权通过后向组播网关反馈业务响应。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, where the authentication information is used for multicast After the server passes the authentication of the multicast gateway based on the authentication information, the server feeds back a service response to the multicast gateway.
在其中一个实施例中,该装置还包括配置模块,用于配置组播网关的地址,以及配置客户端的地址和组播网关的地址的对应关系,生成客户端的地址和组播网关的地址的对应关系表。In one embodiment, the device further includes a configuration module for configuring the address of the multicast gateway, configuring the correspondence between the client's address and the address of the multicast gateway, and generating a correspondence between the client's address and the address of the multicast gateway. Relational tables.
在其中一个实施例中,该装置还包括监测模块,用于向组播网关发送监测请求;接收组播网关基于监测请求发送的监测数据;根据监测数据确定组播网关的健康状态。In one embodiment, the device further includes a monitoring module, configured 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.
上述数据流传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。Each module in the above-mentioned data stream transmission device can be implemented in whole or in part by software, hardware and combinations thereof. Each of the above modules may be embedded in or independent of the processor of the computer device in the form of hardware, or may be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
在一个实施例中,如图12所示,提供了一种数据流传输系统的结构框图,该系统包括组播网关、组播调度服务器、组播服务器和客户端。In one embodiment, as shown in Figure 12, a structural block diagram of a data stream transmission system is provided. The system includes a multicast gateway, a multicast scheduling server, a multicast server and a client.
组播调度服务器包括:组播网关管理客户端和组播调度客户端;组播调度服务器包括QUIC组播控制服务端和QUIC组播源服务端;组播网关包括QUIC组播控制客户端和QUIC组播流转换客户端和QUIC组播代理客户端。The multicast scheduling server includes: multicast gateway management client and multicast scheduling client; the multicast scheduling server includes QUIC multicast control server and QUIC multicast source server; the multicast gateway includes QUIC multicast control client and QUIC Multicast stream conversion client and QUIC multicast proxy client.
组播网关,用于执行上述任一项方法实施例中的组播网关所执行的步骤;组播调度服务器,用于执行上述任一项方法实施例中的组播调度服务器所执行的步骤;组播服务器,用于执行上述任一项方法实施例中的组播服务器所执行的步骤;客户端,用于执行上述任一项方法实施例中的客户端所执行的步骤,在此不再赘述详细实现方法。The multicast gateway is used to perform the steps performed by the multicast gateway in any of the above method embodiments; the multicast scheduling server is used to perform the steps performed by the multicast scheduling server in any of the above method embodiments; The multicast server is used to perform the steps performed by the multicast server in any of the above method embodiments; the client is used to perform the steps performed by the client in any of the above method embodiments, which will not be repeated here. Describe the detailed implementation method.
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于组播流和单播流等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据流传输方法。In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in Figure 13. The computer device includes a processor, a memory, an input/output interface (Input/Output, referred to as I/O), and a communication interface. Among them, the processor, memory and input/output interface are connected through the system bus, and the communication interface is connected to the system bus through the input/output interface. Wherein, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes non-volatile storage media and internal memory. The non-volatile storage medium stores operating systems, computer programs and databases. This internal memory provides an environment for the execution of operating systems and computer programs in non-volatile storage media. The computer device's database is used for data such as multicast streams and unicast streams. The input/output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with an external terminal through a network connection. The computer program implements a data streaming method when executed by a processor.
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。Those skilled in the art can understand that the structure shown in Figure 13 is only a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer equipment to which the solution of the present application is applied. Specific computer equipment can May include more or fewer parts than shown, or combine certain parts, or have a different arrangement of parts.
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一项方法实施例所述的步骤。In one embodiment, a computer device is provided, including a memory and a processor. A computer program is stored in the memory. When the processor executes the computer program, it implements the steps described in any of the above method embodiments.
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项方法实施例所述的步骤。In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps described in any of the above method embodiments are implemented.
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现实现上述任一项方法实施例所述的步骤。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.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage. In the media, when executed, the computer program may include the processes of the above method embodiments. Any reference to memory, database or other media used in the embodiments provided in this application may 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 memory (ReRAM), magnetic variable memory (Magnetoresistive Random) Access Memory (MRAM), Ferroelectric Random Access Memory (FRAM), Phase Change Memory (PCM), graphene memory, etc. Volatile memory may include random access memory (Random Access Memory, RAM) or external cache memory. By way of illustration but not limitation, RAM can be in various forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM). The databases involved in the various embodiments provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include blockchain-based distributed databases, etc., but are not limited thereto. The processors involved in the various embodiments provided in this application may be general-purpose processors, central processing units, graphics processors, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to this.
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above embodiments can be combined in any way. To simplify the description, 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, all possible combinations should be used. It is considered to be within the scope of this manual.
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。The above-described embodiments only express several implementation modes of the present application, and their descriptions are relatively specific and detailed, but should not be construed as limiting the patent scope of the present application. It should be noted that, for those of ordinary skill in the art, several modifications and improvements can be made without departing from the concept of the present application, and these all fall within the protection scope of the present application. Therefore, the scope of protection of this application should be determined by the appended claims.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310911962.1A CN116980343A (en) | 2023-07-24 | 2023-07-24 | Data stream transmission method, device, system, computer equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310911962.1A CN116980343A (en) | 2023-07-24 | 2023-07-24 | Data stream transmission method, device, system, computer equipment and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116980343A true CN116980343A (en) | 2023-10-31 |
Family
ID=88472466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310911962.1A Pending CN116980343A (en) | 2023-07-24 | 2023-07-24 | Data stream transmission method, device, system, computer equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116980343A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7031326B1 (en) * | 1997-09-11 | 2006-04-18 | At&T Corp | Method and system for a Unicast endpoint client to access a multicast internet protocol (IP) session |
CN101030918A (en) * | 2006-03-03 | 2007-09-05 | 华为技术有限公司 | Method, apparatus and system for supplying packet service based on IP network |
CN105812252A (en) * | 2014-12-29 | 2016-07-27 | 中国电信股份有限公司 | Home gateway, system and method for accessing multicast service by terminal |
CN108023736A (en) * | 2016-11-03 | 2018-05-11 | 阿里巴巴集团控股有限公司 | Communication means, server device, client device, apparatus and system |
CN113873299A (en) * | 2020-06-30 | 2021-12-31 | 中兴通讯股份有限公司 | Multicast service access method and device, electronic device and storage medium |
CN116074297A (en) * | 2021-10-29 | 2023-05-05 | 中国电信股份有限公司 | Video transmission method, system and related equipment |
-
2023
- 2023-07-24 CN CN202310911962.1A patent/CN116980343A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7031326B1 (en) * | 1997-09-11 | 2006-04-18 | At&T Corp | Method and system for a Unicast endpoint client to access a multicast internet protocol (IP) session |
CN101030918A (en) * | 2006-03-03 | 2007-09-05 | 华为技术有限公司 | Method, apparatus and system for supplying packet service based on IP network |
CN105812252A (en) * | 2014-12-29 | 2016-07-27 | 中国电信股份有限公司 | Home gateway, system and method for accessing multicast service by terminal |
CN108023736A (en) * | 2016-11-03 | 2018-05-11 | 阿里巴巴集团控股有限公司 | Communication means, server device, client device, apparatus and system |
CN113873299A (en) * | 2020-06-30 | 2021-12-31 | 中兴通讯股份有限公司 | Multicast service access method and device, electronic device and storage medium |
CN116074297A (en) * | 2021-10-29 | 2023-05-05 | 中国电信股份有限公司 | Video transmission method, system and related equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10574440B2 (en) | High-performance access management and data protection for distributed messaging applications | |
CN101854338B (en) | Subscriber equipment and its subscription management method, real-time communication method and system | |
JP5714690B2 (en) | Pluggable token provider model that enforces authentication across multiple web services | |
Zhu et al. | ACT: audio conference tool over named data networking | |
CN101517963B (en) | Distributed, scalable, pluggable conferencing architecture | |
CN104854838B (en) | System and method for distributing from audio-visual content to client device | |
WO2013060210A1 (en) | Sharing control system and method for network resources download information | |
CN110166577B (en) | Distributed application group session processing system and method | |
US9525848B2 (en) | Domain trusted video network | |
WO2011000289A1 (en) | Method, system and proxy node for peer-to-peer (p2p) streaming media data distribution | |
US11831768B2 (en) | Cryptographic material sharing among entities with no direct trust relationship or connectivity | |
CN110392020B (en) | Streaming media resource transmission method and system | |
US20070226745A1 (en) | Method and system for processing a service request | |
KR20160066545A (en) | Method and apparatus for providing media resource | |
CN106817629B (en) | A kind of media information transmission method, device and system | |
US20040122975A1 (en) | Communication of electronic data via a network infrastructure | |
CN109618187A (en) | Method and device for acquiring video data | |
Emmanuel et al. | A peer-to-peer architecture for real-time communication using Webrtc | |
CN116980343A (en) | Data stream transmission method, device, system, computer equipment and storage medium | |
Hammershøj et al. | Next-generation ott distribution architecture supporting multicast-assisted abr (mabr) and http/3 over quic | |
CN101989978A (en) | Method, device and system for forwarding data by real time streaming protocol (RTSP) proxy | |
JP4494279B2 (en) | Multicast control method, multicast control device, content attribute information management device, and program | |
CN101471938A (en) | Authentication method, system and device for point-to-point network | |
US11863592B2 (en) | Active speaker tracking using a global naming scheme | |
JP4498968B2 (en) | Authentication gateway device and program thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |