WO2024032189A1 - Procédé et appareil de transmission de données - Google Patents

Procédé et appareil de transmission de données Download PDF

Info

Publication number
WO2024032189A1
WO2024032189A1 PCT/CN2023/103113 CN2023103113W WO2024032189A1 WO 2024032189 A1 WO2024032189 A1 WO 2024032189A1 CN 2023103113 W CN2023103113 W CN 2023103113W WO 2024032189 A1 WO2024032189 A1 WO 2024032189A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
source station
list
proxy device
terminals
Prior art date
Application number
PCT/CN2023/103113
Other languages
English (en)
Chinese (zh)
Inventor
汪伊明
罗勇
马强德
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2024032189A1 publication Critical patent/WO2024032189A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Definitions

  • This application relates to the field of communication technology, and in particular to data transmission methods and devices.
  • Real-time communication can not only realize the transmission of real-time data between one terminal and another terminal, but also realize the transmission of real-time data between one terminal and multiple terminals in scenarios such as live broadcast business, online education business and online conference business.
  • the real-time data collected by the live broadcast terminal is sent to the data source station, and then the data source station transmits the received real-time data to multiple audience terminals.
  • the data source station refers to the data center that provides large-scale, high-quality, safe and reliable Internet services for enterprises, media and websites, such as Internet data center (IDC).
  • IDC Internet data center
  • the data source station when the data source station needs to send real-time data to multiple audience terminals, the data source station sends real-time data to each audience terminal one by one based on the transmission control protocol (TCP), and transmits the same real-time data multiple times. , complete the transmission of real-time data from the live broadcast terminal to multiple audience terminals.
  • TCP transmission control protocol
  • a data transmission method includes: a proxy device receiving encoded first data sent by a data source station, where the first data carries a first identifier; the proxy device A piece of data is copied to obtain N pieces of first data, wherein the proxy device is connected to multiple terminals, and N terminals among the plurality of terminals request the first data based on the first identification, and the N is an integer greater than or equal to 2; the proxy device sends the first data to each of the N terminals respectively.
  • the data transmission method provided by this application copies the first data through a proxy device. Even if there are multiple terminals requesting to obtain the first data, there is no need for the data source station to send the first data multiple times.
  • the terminal sends the copied first data, which reduces the number of times the data source station transmits the first data, alleviates the consumption of transmission bandwidth of the data source station, and thereby reduces delays and freezes caused by services corresponding to the first data.
  • the proxy device before the proxy device copies the first data, it further includes: receiving data acquisition requests sent by at least two terminals among the plurality of terminals, the data acquisition request carrying The first identifier; the N is obtained according to the number of data acquisition requests. Through the data acquisition request, the number of terminals that need to acquire the first data is determined, and the numerical size of N is obtained to avoid copying the first data that exceeds the demand and wasting unnecessary resources.
  • the proxy device before the proxy device copies the first data, it further includes: obtaining a data list, where the data list includes second identifiers of multiple groups of data, and one group of data is the same Collect the number uploaded by the terminal According to the data, one of the plurality of sets of data includes the first data; receiving a list acquisition request sent by at least two terminals among the plurality of terminals, and sending the request to at least two terminals among the plurality of terminals. The data list is sent, and the second identifier in the data list is used by the N terminals to determine the first identifier.
  • the obtaining the data list includes: receiving the data list sent by the data source station, where the data list is obtained by the data source station based on the first data, and the The first time when the data source station sends the data list is earlier than the second time when the data source station sends the first data.
  • the method further includes: initiating a data transmission service for the data list based on the data list, and obtaining a first startup result of the data transmission service corresponding to the data list. , wherein the first startup result indicates successful startup; sending a data request to the data source station, where the data request is used to request the data source station to send the first data to the proxy device.
  • the first startup result indicates that the startup is successful, it indicates that the proxy device supports the data transmission service of the data list.
  • proxy devices that fail to start the data transmission service are filtered out to ensure the reliability of the data transmission service in the data list.
  • the obtaining the data list includes: generating the data list according to the received unencoded second data, where the second data is used to encode the first data.
  • the data list can be sent by the source station that receives the data, or can be generated by the proxy device based on the unencoded second data.
  • the method of obtaining the data list is not limited, and the flexibility is high.
  • the proxy device After receiving the unencoded second data, the proxy device transmits the unencoded second data to the data source station, and the data source station encodes the second data to obtain the first data.
  • the method further includes: the proxy device fails to copy the first data and sends a copy failure instruction to the data source station, The copy failure instruction is used to prompt the data source station to sequentially send the first data to the terminal requesting the first data.
  • a copy failure instruction is promptly fed back to the data source station to prompt the data source station to send the first data to the terminal requesting the first data, regardless of whether the proxy device successfully copies the first data. It is guaranteed that the terminal requesting the first data obtains the first data, which improves the reliability of data transmission and provides a high interactive experience.
  • the method before receiving the encoded first data sent by the data source station, the method further includes: receiving a data transmission request sent by the data source station, and the data transmission request is used to send the data to the data source station.
  • the proxy device calls the data transmission service; determines the calling result of the data transmission service corresponding to the data source station based on the data transmission request, and the calling result indicates that the data source station calls successfully; sends the data transmission service to the data source station.
  • the calling result is used to instruct the data source station to perform the operation of sending the first data.
  • the data transmission service of the proxy device is called through the data transmission request, so that the proxy device determines that the operations that need to be performed for the received first data are copying and forwarding, thereby ensuring reliable transmission of the data transmission.
  • the proxy device includes an application programming interface API, and the API is used by the data source station to call the data transmission service through the data transmission request.
  • the data source station can call the data transmission service through API, making the calling process more convenient.
  • the proxy device is an edge device.
  • the proxy device is an edge device configured close to the terminal and has a faster response to the terminal.
  • Edge devices include but are not limited to routers, routing switches, integrated access devices (IAD) or multiplexers.
  • proxy devices are ONT, OLT, etc.
  • the first data is data of a live broadcast service, data of an online education service, or data of an online conference service.
  • the method provided by this application does not limit the service type of the first data and is highly versatile.
  • the first identifier is an encoded identifier, or the first identifier is an unencoded identifier. logo.
  • a data transmission device is provided.
  • the device is applied to a proxy device.
  • the device includes: a receiving module configured to receive the encoded first data sent by the data source station.
  • the first data carries the first An identification;
  • a copy module used to copy the first data to obtain N pieces of first data, wherein the proxy device is connected to multiple terminals, and the N terminals among the multiple terminals are based on the first An identifier requests the first data, and N is an integer greater than or equal to 2;
  • a sending module is configured to send the first data to each of the N terminals respectively.
  • the receiving module is further configured to receive data acquisition requests sent by at least two terminals among the plurality of terminals, where the data acquisition requests carry the first identifier; according to the Number of data fetch requests to get the N.
  • the device further includes: an acquisition module, configured to acquire a data list, where the data list includes second identifiers of multiple groups of data, and one group of data is data uploaded by the same collection terminal, One of the multiple sets of data includes the first data; the receiving module is also configured to receive a list acquisition request sent by at least two terminals among the plurality of terminals; the sending module is also Used to send the data list to at least two terminals among the plurality of terminals, where the second identifier in the data list is used by the N terminals to determine the first identifier.
  • an acquisition module configured to acquire a data list, where the data list includes second identifiers of multiple groups of data, and one group of data is data uploaded by the same collection terminal, One of the multiple sets of data includes the first data
  • the receiving module is also configured to receive a list acquisition request sent by at least two terminals among the plurality of terminals
  • the sending module is also Used to send the data list to at least two terminals among the plurality of terminals, where the second identifier in
  • the acquisition module is configured to receive the data list sent by the data source station.
  • the data list is obtained by the data source station based on the first data.
  • the data The first time when the source station sends the data list is earlier than the second time when the data source station sends the first data.
  • the device further includes: a startup module, configured to start a data transmission service for the data list based on the data list, and obtain the first startup of the data transmission service corresponding to the data list.
  • a startup module configured to start a data transmission service for the data list based on the data list, and obtain the first startup of the data transmission service corresponding to the data list.
  • the first startup result indicates successful startup;
  • the sending module is also used to send a data request to the data source station, and the data request is used to request the data source station to send the data to the proxy device. the first data.
  • the acquisition module is configured to generate the data list according to the received unencoded second data, and the second data is used to encode the first data.
  • the sending module is also configured to send a copy failure instruction to the data source station if the proxy device fails to copy the first data, and the copy failure instruction is used to prompt all
  • the data source station sequentially sends the first data to the terminal requesting the first data.
  • the receiving module is also configured to receive a data transmission request sent by the data source station, where the data transmission request is used to call the data transmission service to the proxy device; based on the data The transmission request determines the calling result of the data transmission service corresponding to the data source station, and the calling result indicates that the data source station is successfully called; the sending module is also used to send the calling result to the data source station, The calling result is used to instruct the data source station to perform the operation of sending the first data.
  • the proxy device includes an application programming interface API, and the API is used by the data source station to call the data transmission service through the data transmission request.
  • the proxy device is an edge device.
  • the first data is data of a live broadcast service, data of an online education service, or data of an online conference service.
  • the first identifier is an encoded identifier, or the first identifier is an unencoded identifier.
  • a data transmission device in a third aspect, includes a memory and a processor; the memory stores At least one instruction is stored, and the at least one instruction is loaded and executed by the processor so that the data transmission device implements the data transmission method described in the first aspect.
  • a computer-readable storage medium is provided. At least one instruction is stored in the computer-readable storage medium, and the instruction is loaded and executed by a processor to implement the data transmission method described in the first aspect.
  • a computer program product includes a computer program/instruction, and the computer program/instruction is executed by a processor, so that the computer implements the data transmission method described in the first aspect.
  • a communication device which includes a transceiver, a memory, and a processor.
  • the transceiver, the memory and the processor communicate with each other through an internal connection path
  • the memory is used to store instructions
  • the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals.
  • the processor executes the instructions stored in the memory, the processor is caused to execute the method in the first aspect or any possible implementation of the first aspect.
  • processors there are one or more processors and one or more memories.
  • the memory may be integrated with the processor, or the memory may be provided separately from the processor.
  • the memory can be a non-transitory memory, such as a read-only memory (ROM), which can be integrated on the same chip as the processor, or can be set in different On the chip, this application does not limit the type of memory and the arrangement of the memory and the processor.
  • ROM read-only memory
  • a chip including a processor configured to call from a memory and run instructions stored in the memory, so that a communication device equipped with the chip executes the methods in the above aspects.
  • another chip including: an input interface, an output interface, a processor, and a memory.
  • the input interface, the output interface, the processor, and the memory are connected through an internal connection path.
  • the processing The processor is used to execute the code in the memory, and when the code is executed, the processor is used to execute the methods in the above aspects.
  • Figure 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • Figure 2 is a schematic diagram of another implementation environment provided by the embodiment of the present application.
  • Figure 3 is a flow chart of a data transmission method provided by an embodiment of the present application.
  • Figure 4 is a schematic flow chart of data transmission provided by an embodiment of the present application.
  • Figure 5 is a flow chart of another data transmission method provided by an embodiment of the present application.
  • Figure 6 is a schematic structural diagram of a data transmission device provided by an embodiment of the present application.
  • Figure 7 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • Figure 8 is a schematic structural diagram of another network device provided by an embodiment of the present application.
  • the embodiment provides a data transmission method, which is applied in the data transmission process between the data source station and the terminal in real-time communication.
  • the implementation environment of the method can be seen in Figure 1, including the data source station 101, the proxy device 102 and the At least one terminal 103.
  • the proxy device 102 obtains the encoded first data from the data source station 101, copies the encoded first data, and sends the copied first data to the terminal 103 requesting the first data.
  • the data source station 101 is a network service platform.
  • the data source station 101 can receive the second data uploaded from the collection terminal or access the storage space to obtain the second data, and after obtaining the second data, encode the unencoded second data to obtain the first data.
  • the proxy device 102 is an edge device, and the edge device includes but is not limited to: router, routing switch, integrated access device (integrated access device, IAD) or multiplexer, etc.
  • the terminal 103 can be any electronic product capable of human-computer interaction, including but not limited to mobile phones, personal computers (personal computers, PCs), tablets, etc.
  • the proxy device 102 can establish communication connections with the data source station 101 and the terminal 103 respectively through wired or wireless networks.
  • FIG. 2 is a schematic diagram of another implementation environment provided by the embodiment of the present application, which shows multiple connection modes between the data source station 101, the proxy device 102, and the terminal 103.
  • the proxy device 102 may be other edge devices or optical network terminals (ONT) directly connected to the terminal 103.
  • the proxy device 102 may also be an optical line terminal (optical line terminal, OLT) indirectly connected to the terminal 103 through an ONT.
  • ONT optical line terminal
  • the embodiment of the present application provides a data transmission method.
  • the data transmission method can be based on the implementation environment shown in Figure 1.
  • the method can be executed by a proxy device.
  • the flow chart of the method is shown in Figure 3, including S301-S303.
  • the proxy device receives the encoded first data sent by the data source station, and the first data carries the first identifier.
  • the data source station is used to encode the unencoded second data to obtain a digital code suitable for storage and transmission, that is, the first data.
  • the data source station encodes and compresses the second data so that the data volume of the first data is smaller than the data volume of the second data, thereby improving subsequent transmission efficiency of the first data.
  • the above-mentioned encoding of the second data by the data source station is an example of a processing operation of the second data by the data source station.
  • the data source station can also perform other operations on the second data, such as recording, transcoding, etc.
  • the transmission process of the data obtained after the processing is similar to the transmission process of the first data, which will not be described in detail one by one.
  • the following is an example of the transmission process of the first data.
  • the first data encoded by the data source station is data of real-time services.
  • the first data includes but is not limited to data of live broadcast services, data of online education services, data of online conference services, etc. Since the data transmission processes of different real-time services are similar, the following uses the data of the live broadcast service as an example to illustrate the transmission process of the first data.
  • the data source station before sending the first data to the proxy device, the data source station also needs to obtain the unencoded second data. As for the way for the data source station to obtain the second data, it may be to receive the second data sent from the collection terminal.
  • the collection terminal is configured with a data collection device.
  • the data collection device is, for example, a video collection device used to collect video data or image data, such as a camera, a camera, etc.
  • an audio collection device such as a microphone, used to collect audio data.
  • the first object that initiates real-time communication can collect the second data through the data collection device configured on the collection terminal, and send the collected second data to the data source station in real time.
  • the first object to initiate real-time communication is the anchor who creates the live broadcast room.
  • the camera on the collection terminal records the video and sends the video stream to the data source station.
  • the data source station receives the video stream uploaded by the collection terminal. Get the second data.
  • the collection terminal can choose to send the collected data to the data source station as the second data.
  • the collection terminal can also choose to upload data obtained through other channels to the data source station as the second data.
  • the anchor records the performance video in advance and stores it in the storage space of the collection terminal.
  • the anchor triggers the video playback control provided in the live broadcast application installed and running on the collection terminal, and Select to play the performance video.
  • the collection terminal accesses the storage space and uploads the performance video as the second data to the data source station, and the data source station receives the performance video.
  • the data source station can also access the storage space and use the data stored in the storage space as uncoded second data.
  • the data source station receives the data scheduling instruction, accesses the storage space, obtains the data corresponding to the data scheduling instruction, and obtains unencoded second data.
  • the embodiment of the present application does not limit the sender of the data scheduling instruction. It may be a collection terminal or each terminal requesting the first data. In order to make the description clearer, the terminal connected to the agent device and requesting the first data will be referred to below. for the receiving terminal.
  • the process of obtaining the second data based on the data scheduling instruction will be explained.
  • the anchor needs to turn on the background music.
  • the collection terminal displays the music playlist based on the received music playback instructions.
  • the anchor selects the target music to be played in the music playlist, and the collection terminal sends the data scheduling instructions corresponding to the target music to the data source station based on the anchor's operation.
  • the data source station accesses the storage space to obtain the data to be played based on the received data scheduling instructions. target music, get the second data.
  • the above example illustrates the process of sending data scheduling instructions by the collection terminal.
  • the process of sending data scheduling instructions by the receiving terminal is as follows.
  • the receiving terminal corresponding to the collection terminal refers to the terminal used to watch the live broadcast room created by the collection terminal. Audiences who operate the receiving terminal to watch the live broadcast room and want to interact with the anchor will trigger the cake provided on the receiving terminal. Complimentary special effects controls.
  • the receiving terminal sends data scheduling instructions for the cake gifting special effects to the data source station based on the triggering of the cake gifting special effects control.
  • the data source station accesses the special effects display data stored in the storage space to obtain the cake based on the received data scheduling instructions for the cake gifting special effects.
  • the special effects display data corresponding to the special effects are given as a second data.
  • the storage space accessed by the data source station may be the storage space of the data source station or the storage space of other network devices that are communicatively connected to the data source station.
  • the storage space accessed by the data source station belongs to the storage space of the file source station.
  • the first data/second data can be data of any data type, including but not limited to video data, image data, voice data, game data, etc.
  • the embodiments of this application do not limit the encoding method of the second data by the data source station, including but not limited to transform coding, entropy coding or motion estimation. and motion compensation and other encoding methods.
  • the data source station can select any encoding method to encode the second data to obtain the encoded first data.
  • the first data obtained by encoding the second data by the data source station carries a first identifier, and the first identifier can distinguish the first data from other data.
  • the first identifier is used to indicate the source of the first data, which can be determined based on the source information of the second data.
  • the second data received by the data source station carries the source information of the second data.
  • the source information is, for example, the Internet protocol (internet protocol address, IP) address and media access control (media access control) of the collection terminal corresponding to the second data. , MAC) address.
  • IP Internet protocol
  • media access control media access control
  • the source information may also be the information of the live broadcast room where the terminal is located.
  • the embodiments of the present application do not limit the way in which the second data carries the source information of the second data.
  • the second data can carry the source information of the second data in the extension field of the second data, or it can also carry the source information of the second data through other fields of the second data. carried in the field. No matter how the second data carries the source information of the second data, since the first data is encoded based on the second data, the sources of the first data and the second data are consistent and can be determined based on the source information of the second data.
  • the first identifier of the first data is identifier of the first data.
  • the data source station when encoding the second data, can add additional source information as the first identifier on the basis of the second data, that is, the first identifier is an unencoded identifier, and the proxy device can directly extract it.
  • the first identifier in the first data For example, in the process of reading the first data, the proxy device can obtain the source of the first data indicated by the first identifier of the first data.
  • the data source station encodes the second data, it does not add additional source information on the basis of the second data, but the second data itself includes the source information of the second data.
  • the first identifier It is obtained by encoding the source information of the second data, that is, the first identifier is an encoded identifier. then the agent device receives the encoded After obtaining the first data, the first data needs to be decoded to obtain the second data carrying the source information through decoding, so as to obtain the source of the first data based on the second data.
  • the data source station can send the first data to the proxy device.
  • the proxy device since the data source station forwards the first data to the proxy device through unicast during the process of sending the first data to the receiving terminal through the proxy device. In the unicast forwarding scenario, the proxy device only forwards the received first data to the corresponding receiving terminal.
  • the embodiment of the present application also requires a proxy device to copy the first data.
  • the data source station when multiple receiving terminals obtain the same first data, there is no need for the data source station to send it repeatedly. The proxy device will copy the multiple third data.
  • One data is sent to the receiving terminal in sequence. Therefore, before sending the first data to the proxy device, the data source station also needs to schedule the data transmission service provided by the proxy device so that the proxy device uses the data transmission method provided by the embodiment of the present application to copy and forward the first data. operate.
  • the scheduling process includes: receiving a data transmission request sent by the data source station, the data transmission request is used to call the data transmission service to the proxy device; determining the calling result of the data transmission service corresponding to the data source station based on the data transmission request, and the calling result Indicates that the data source station is successfully called; sends the call result to the data source station, and the call result is used to instruct the data source station to perform the operation of sending the first data.
  • the data transmission request sent by the data source station is encapsulated with at least one piece of information to be matched, and the proxy device determines the matching result of each piece of information to be matched based on the information to be matched encapsulated in the data transmission request. Based on the matching results of each of the to-be-matched information in at least one of the to-be-matched information being matched successfully, it is determined that the calling result indicates that the calling is successful.
  • the proxy device determines whether it supports data transmission based on the data transmission protocol requested by the data source station. If the proxy device supports data transmission based on the data transmission protocol, it is determined that the matching result of the data transmission protocol is a successful match.
  • the data transmission protocol used by the data source station and the proxy device in the process of transmitting the first data is unified, the establishment of a transmission channel between the data source station and the proxy device is realized, and the subsequent transmission of the first data is performed based on the established transmission channel. operation.
  • the embodiments of this application do not limit the data transmission protocol involved in the process of transmitting the first data by the transmission device, including but not limited to hypertext transfer protocol over secure socket layer/hypertext transfer protocol, HTTPs/HTTP), transmission control protocol (transmission control protocol, TCP), etc.
  • the proxy device includes an application programming interface (API), which is used by the data source station to call the data transmission service through a data transmission request.
  • API application programming interface
  • the proxy device provides a subscription service framework, and the data source station can subscribe to the data transmission service provided by the proxy device by calling the API, so that the calling process of the data source station is more convenient and efficient.
  • the data source station can choose to start sending the data transfer request to the proxy device after receiving the unencoded second data.
  • the data source station can also choose to start sending the data transfer request to the proxy device after receiving the second data.
  • a data transfer request was sent to the proxy device. Take the live broadcast business as an example, since the peak period of live broadcast is 7:00-12:00 pm. Therefore, the data source station sends a data transmission request to the proxy device at 6:50 pm to realize the invocation of the data transmission service in advance.
  • the first data can be sent to the proxy device, thereby saving the time between receiving the second data and sending the first data, slowing down Solve the problem of video delay during live broadcast.
  • the data source station can send the first data to the proxy device.
  • the data source station sends the first data to the cloud center, from the cloud center to the edge domain, and then from the edge domain to the edge device located at the edge node, that is, the proxy device, so that the proxy device receives the first data.
  • cloud center, edge domain and edge node are edge computing
  • the cloud center is the management and control end of edge computing
  • the edge domain is used for data aggregation, storage and processing
  • the edge nodes are used for data collection and front-end intelligent processing.
  • the edge nodes where the proxy devices are located are different, the transmission paths through which the proxy devices receive the first data are also different.
  • the proxy device receives the first data sent from the edge domain.
  • the proxy device receives the first data sent from the edge node.
  • Figure 4 shows the transmission path of the ONT proxy device.
  • the ONT proxy device is connected to the OLT edge node.
  • the OLT edge node After the edge domain sends the first data to the OLT edge node, the OLT edge node forwards the first data to the ONT proxy device. , so that the ONT proxy device obtains the first data sent by the data source station, and performs operations related to the proxy device in S302-S303 based on the first data.
  • the data source station adopts a unicast transmission method when sending the first data to the proxy device.
  • the proxy device copies the first data to obtain N pieces of first data, where the proxy device is connected to multiple terminals, and N terminals among the multiple terminals request the first data based on the first identification, and N is greater than or equal to 2. integer.
  • the proxy device since the proxy device is connected to multiple terminals, and at least two of the multiple terminals request the same first data, that is, the data source station needs to send the same first data to at least two terminals through the same proxy device.
  • One data If the proxy device does not copy the first data, the data source station needs to send multiple first data to the proxy device, and end-to-end bandwidth redundancy occurs between the data source station and the proxy device.
  • the proxy device By triggering the proxy device to copy the first data, even if multiple terminals request to obtain the first data, the data source station only needs to send the first data to the proxy device once, reducing the number of times the data source station transmits the first data.
  • the data source station can transmit the first data once to ensure that the first data is transmitted through the proxy device.
  • the terminal that requested the first data receives the first data.
  • the proxy device can flexibly trigger the copy operation of the first data, which not only reduces the bandwidth consumption of the data source station, but also avoids waste of resources.
  • the proxy device needs to copy according to the number of terminals requesting the first data. Therefore, before copying the first data, the proxy device also needs to determine the number of terminals requesting the first data.
  • the determination process includes: receiving data acquisition requests sent by at least two terminals among the multiple terminals, and the data acquisition requests carry the first identifier. ;According to the number of data acquisition requests, N is obtained.
  • the embodiment of the present application does not limit the process of receiving the data acquisition request, which can be implemented based on the data list.
  • the operations that need to be performed also include: obtaining the data list. Includes second identifiers of multiple sets of data, one set of data is data uploaded by the same collection terminal, one set of data in the multiple sets of data includes the first data; receives a list acquisition request sent by at least two terminals among the multiple terminals , sending a data list to at least two terminals among the plurality of terminals, and the second identifier in the data list is used by the N terminals to determine the first identifier.
  • the data list is used to distinguish each group of data in multiple groups of data. Any group of data in multiple groups of data refers to a collection of data uploaded by the same collection terminal. Multiple sets of data that can be obtained are displayed to the terminal requesting the data list through the data list to assist the user in selecting the data to be obtained from the multiple sets of data.
  • the data list is also the live video program list.
  • the live video program list includes the second identifiers of multiple live broadcast rooms. The user can select the live broadcast room to watch from the multiple live broadcast rooms through the live video program list.
  • the proxy device can obtain the data list through two methods including but not limited to the following.
  • Obtaining method 1 Generate a data list based on the received unencoded second data.
  • one set of the multiple sets of data includes uncoded second data.
  • the proxy device can extract a set of data in the process of forwarding the set of data.
  • identification information can distinguish different groups of data.
  • the identification information of a group of data can be the IP address, MAC address, etc. of the collection terminal of the group of data. Therefore, the identification information of a group of data can be used as the second identification of the group of data, and the second identification can be used to identify each data included in the group of data.
  • the proxy device obtains the second identifier of each group of data in the multiple groups of data by performing the above-mentioned operation of extracting identification information on the forwarded multiple groups of data, thereby generating a data list.
  • the generated data list may include the second identification of each group of data. Since the first data is data encoded by the second data, for a group of data including the second data among the above-mentioned groups of data, the second identifier of the group of data may also refer to the group of data including the first data. A second identifier for a set of data.
  • the second identifier of a group of data can be used to identify a group of unencoded data uploaded by the same collection terminal, or can also be used to identify the encoded data corresponding to a group of unencoded data uploaded by the same collection terminal. data.
  • the proxy device forwards the received uncoded video data, that is, the second data, to the data source station, it will extract the information of the collection terminal carried by the second data.
  • the IP address obtains a second identification of a set of data including the second data.
  • the agent device sequentially performs the above operations on the video data uploaded by different collection terminals to obtain a live video program list including the IP addresses of the collection terminals corresponding to different live broadcast rooms, that is, a data list.
  • the data list may also include other information of each group of data. Taking each group of data as the data of a live broadcast room as an example, the other information may be, for example, the cover image of each live broadcast room. Display the cover image of each live broadcast room to assist users in selecting the live broadcast room they want to watch.
  • the proxy device can also generate a data list for other transmission nodes involved in the transmission path, and send the generated data list to the agent. equipment.
  • other transmission nodes can be OLT edge nodes. Since the collection terminal needs to upload video data to the quasi-live broadcast platform, and push the stream to the data source station based on the quasi-live broadcast platform, the uploaded video The data will be sent by the ONT proxy device to the OLT edge node.
  • the OLT edge node can generate a corresponding data list based on the received video data, and send the generated data list to the proxy device when the subsequent proxy device needs to obtain the data list.
  • the second acquisition method is to receive a data list sent by the data source station.
  • the data list is obtained by the data source station based on the first data.
  • the first time the data source station sends the data list is earlier than the second time the data source station sends the first data.
  • the data source station receives multiple sets of data uploaded from multiple collection terminals, and then generates a data list corresponding to the multiple sets of data during the encoding process of the received multiple sets of data.
  • One set of data in the multiple sets of data includes the first data.
  • the process of the data source station generating the data list is similar to the process of the proxy device generating the data list in the acquisition method 1.
  • the data source station performs a process on each set of data in the multiple sets of data.
  • the identification information of each group of data is extracted as the second identification of each group of data, and a data list is generated based on the second identification of each group of data.
  • the proxy device may choose any of the above methods to obtain the data list, and after obtaining the data list, send the data list to the terminal that requested the data list.
  • the terminal connected to the proxy device needs to perform user authentication before requesting the proxy device to obtain the data list, that is, checking the validity of the data services used by the terminal. After passing the authentication, you can request the proxy device to obtain the data list.
  • the terminal requesting the data list can send authentication information to the data source station, and the authentication information can carry member information for user authentication. For example, the data source station obtains the information of members participating in the online education business.
  • the terminal After receiving the authentication information sent by the terminal, it compares the member information carried in the authentication information with the information of members participating in the online education business. If participating If the member information of the online education business includes the member information carried in the certification information, it is determined that the terminal has passed the certification.
  • user authentication and authentication can also be performed on a proxy device or other network devices located between the data source station and the terminal. Therefore, The terminal can also send authentication information to the proxy device, or send authentication information to other network devices located between the data source station and the terminal.
  • the authentication process is similar to the authentication process of the data source station, and will not be described in detail in the embodiment of this application. .
  • the proxy device can send the data list to the terminal requesting the data list.
  • the proxy device starts a data transmission service for the data list.
  • the data transmission service of the data list means that since there are multiple terminals requesting to obtain the data list, the data source station needs to implement sending the data list to multiple terminals requesting the data list, which is similar to the transmission principle of the first data.
  • the proxy device will copy the received data list and send the data list to the terminal requesting the data list respectively, thereby reducing the number of times the data source station sends the data list to the terminal requesting the data list.
  • the above process is also a data transmission service for the data list, and starting the data transmission service for the data list means that the agent device is preparing to perform the operation of copying the data list.
  • the preparation process is, for example, calling a function for copying the data list, or it can be other preparations. process.
  • the agent device After receiving the data list, the agent device starts to start the data transmission service for the data list and obtains the first startup result. For the first startup result, there are two situations: successful startup and startup failure.
  • the data source station and the agent device execute There are also differences in operations.
  • the first startup result indicates startup failure.
  • the first startup result indicating startup failure means that the agent device did not successfully copy the data list.
  • the agent device sends the first startup result to the data source station.
  • the data source station fails to start the data transmission service based on the data list. It copies multiple data lists and sends the multiple data lists to the agent device so that the agent The device forwards it to the corresponding terminal requesting the data list respectively.
  • the data source station when the data source station sends the first data to the proxy device, it chooses to copy N pieces of first data and sends N pieces of first data to the proxy device, so that The proxy device does not need to perform a copy operation and forwards the received N first data to N terminals respectively. Since the data transmission service corresponding to the data list failed to start, it may be caused by a problem with the data transmission service provided by the proxy device. Based on this, the data source station chose not to call the data transmission service of the proxy device when transmitting the first data, thus avoiding The data transmission service of the first data also fails to start, thus affecting the transmission efficiency of the first data.
  • Case 2 The first startup result indicates that the startup is successful.
  • the proxy device calls the data transmission service corresponding to the data list to copy multiple data lists and sends them to the terminal requesting the data list respectively.
  • the process of the data source station sending the first data is also related to the first startup result.
  • the proxy device sends a data request to the data source station, and the data request is used to request the data source station to send the first data to the proxy device.
  • the proxy device may send a data request on the basis of returning the first startup result to the data source station.
  • the proxy device sends the first startup result indicating successful startup to the data source station.
  • the data source station sends the first data to the proxy device according to the successful startup of the data transmission service corresponding to the data list.
  • the data source station may choose to send multiple sets of data to the proxy device, so that the proxy device acquires multiple sets of data including the first data.
  • the proxy device After obtaining the first data, the proxy device obtains the data list and sends the data list to the terminal requesting the data list, so that after the terminal obtains the first data through the data list request, it can quickly send the first data to the terminal requesting the first data. terminal. That is, the execution sequence in which the proxy device first obtains the first data and then obtains the data list can also be implemented.
  • the proxy device or data source station can obtain the data corresponding to the terminal and the data list. corresponding relationship. Take the live broadcast business scenario where the data source station performs user authentication as an example.
  • the data is also the data of each live broadcast.
  • the corresponding relationship between the terminal and the data may be the corresponding relationship between the terminal and the live broadcast room that generated the data.
  • the data source station obtains the authentication information of the terminal, and uses the correspondence between the authentication information of the terminal and the information of each live broadcast room as the correspondence between the terminal and the live broadcast room.
  • the terminal subsequently requests to obtain data in any live broadcast room, it can be determined based on the correspondence between the terminal's authentication information and the information in the live broadcast room whether the terminal has the authority to obtain the data in any live broadcast room.
  • the terminal sends the requested data.
  • the authentication information of the terminal may be the identification of the terminal, such as IP address, MAC address, etc.
  • the information of the live broadcast room is used to identify the live broadcast room.
  • the embodiment of the present application does not limit the information of the live broadcast room, as long as it can distinguish different live broadcast rooms, including but not limited to the identification and number of the live broadcast room.
  • the terminal determines the data that needs to be obtained through the data list.
  • the terminal can send a data acquisition request to the proxy device.
  • the data acquisition request carries a first identifier, which is the identifier of the first data.
  • the first identifier can be the same as the second identifier of a group of data in which the first data is located, that is, the acquisition of the first identifier
  • the method may be to directly carry the second identifier of a set of data including the first data in the data list as the first identifier in the data acquisition request.
  • the first identification may be different from the second identification of a group of data in which the first data is located, but may be an identification determined based on the second identification.
  • the second identifier of the set of data is the number of the target live broadcast room, and the number of the live broadcast room and the IP address of the collection terminal are searched through the number of the target live broadcast room. determine the corresponding relationship between the target live broadcast room and the IP address of the collection terminal corresponding to the target live broadcast room, and use the IP address of the collection terminal corresponding to the target live broadcast room as the first identifier.
  • the proxy device can determine the number of terminals requesting the first data based on the number of received data acquisition requests for acquiring the first data.
  • the data list is also the live video program list.
  • the second identifier includes the number of the live broadcast room.
  • the first data corresponds to When the target live broadcast room is selected, the terminal uses the number of the target live broadcast room in the live video program list as the first identifier of the first data, and sends a data acquisition request carrying the number of the target live broadcast room to the agent device. The terminal is also requesting to obtain the target live broadcast room. Terminal of the first data.
  • the terminals that request to obtain the first data can be all terminals that have obtained the data list. For example, all users who obtain the live video program list choose to enter the target live broadcast room to watch the live broadcast, and the terminals that request to obtain the first data
  • the terminals are all terminals that have obtained the live video program list.
  • the terminals that request to obtain the first data can also be some of the terminals that have obtained the data list. For example, some of the users who obtain the live video program list choose to enter the target live broadcast room to watch the live broadcast.
  • the terminal that requests to obtain the first data is Obtained some terminals of live video program list.
  • the proxy device When a terminal requests the proxy device to obtain the first data, the proxy device also needs to confirm whether the terminal has the authority to obtain the first data to determine whether the first data needs to be sent to the terminal. Optionally, based on the corresponding relationship between the terminal and the data corresponding to the data list, it is determined whether the terminal has the authority to obtain the first data.
  • the terminal For a terminal that requests to obtain the first data, it is determined based on the correspondence between the terminal's authentication information and the information in the live broadcast room.
  • the terminal has the authority to obtain the data of the target live broadcast room, and the terminal has the authority to obtain the data of the target live broadcast room. It is determined that the first data generated by the target live broadcast room needs to be sent to the terminal.
  • the proxy device Since the data received by the proxy device may include multiple different data, the proxy device also needs to determine the first data requested by the terminal from the multiple data received. For example, since the data acquisition request when the terminal requests the first data carries the first identifier of the requested first data, the proxy device identifies the first identifier of each received data, based on the first identifier of each received data. The first identifier determines the data matching the first identifier carried in the data acquisition request from the plurality of data, thereby realizing the determination of the first data. Among them, the first of each data received by the proxy device The process of obtaining the identifier is similar to the process of obtaining the first identifier of the first data. Please refer to the description of obtaining the first identifier of the first data in S301, which will not be described again here.
  • the above example illustrates the situation when the first identifier carried in the data acquisition request is consistent with the first identifier type of the first data.
  • the first identifier carried in the data acquisition request and the first identifier of the first data are both the live broadcast room number or the collection number.
  • the first identifier carried by the data acquisition request sent by the terminal is different from the first identifier of the first data.
  • the first identifier carried by the data acquisition request is the live broadcast room number.
  • the first identifier of the first data is the IP address of the collection terminal
  • Type conversion is performed, and after the type conversion is consistent, the first data that matches the first identification carried in the data acquisition request sent by the terminal is determined from the plurality of data based on the first identification of each received data, thereby realizing the first 1. Determination of data.
  • the first identifier of the data received by the proxy device only includes the IP address or MAC address of the collection terminal, and the first identifier carried in the data acquisition request sent by the terminal when requesting the first data belongs to the live broadcast room. information. Therefore, in the process of determining the first data, the proxy device also needs to first determine the information of the live broadcast room corresponding to each data based on the correspondence between the IP address or MAC address of the collection terminal and the information of the live broadcast room, and then jointly send the data to the terminal.
  • the information of the live broadcast room carried in the data acquisition request is used to determine the first data requested by the terminal from multiple data.
  • the correspondence between the IP address or MAC address of the collection terminal and the information in the live broadcast room may be obtained by the data source station based on the received second data, or may be obtained through other methods.
  • the proxy device may copy the first data according to the numerical size of N.
  • the proxy device may choose to complete the copying of N pieces of first data first, and then send the copied first data to the receiving terminal requesting the first data.
  • M is a positive integer less than N.
  • the proxy device can select randomly, or based on the priority of the receiving terminal, select the receiving terminal with a higher priority to send the first One data.
  • the priority of the receiving terminal can be determined based on the traffic subscription package of the receiving terminal, or the membership level of the receiving terminal in the live broadcast application, etc.
  • the proxy device after the proxy device starts the data transmission service to copy the first data, it also sends a second startup result to the data source station.
  • the second startup result is used to instruct the proxy device to copy the first data. for success or failure.
  • the proxy device fails to successfully copy the first data and sends a copy failure instruction to the data source station.
  • the copy failure instruction is used to prompt the data source station to sequentially send the first data to the terminal requesting the first data. Failure to copy the first data, that is, the second startup result indicates startup failure.
  • the process of the proxy device sending a copy failure instruction to the data source station is similar to the process of the proxy device sending a data request to the data source station shown in the above embodiment. This will not be described in detail for now.
  • the proxy device sends the first data to each of the N terminals respectively.
  • the proxy device can directly send the first data to the receiving terminal that requests the first data.
  • other proxy devices shown in Figure 4 directly send the first data to the receiving terminal
  • the ONT proxy device shown in Figure 4 directly sends the first data to the receiving terminal.
  • the receiving terminal sends the first data.
  • the proxy device can also forward the first data through other edge devices, and the other edge devices forward the first data to the receiving terminal, so that the proxy device sends the first data to the receiving terminal, such as the OLT proxy shown in Figure 4
  • the device forwards the first data to the receiving terminal through the ONT.
  • the proxy device adopts a stream pulling method when sending the first data to the receiving device.
  • the proxy device after sending the copied first data to each receiving device, the proxy device also caches the received first data. By caching the first data, other receiving terminals can obtain the first data. When needed, the first data can be quickly sent to other receiving terminals, thereby improving response response time.
  • the proxy device can be any edge device, such as a broadband remote access server (broadband remote access server). remote access server, BRAS) or access point (access point, AP), etc.
  • the proxy device can also be other network devices besides the data source station and the terminal.
  • the network structure between the data source station, the proxy device and the terminal can also be any network structure, which is not limited in the embodiments of this application. .
  • the embodiments of this application are used to illustrate real-time services such as live broadcast services, online conference services, and online classroom services, and are intended to introduce that the data transmission method provided by this application is suitable for communication scenarios between one terminal and multiple terminals. There are no restrictions on the name of the above-mentioned real-time service and whether the first data spread in the above-mentioned real-time service is collected in real-time.
  • the data transmission method provided by the embodiment of the present application copies the first data through the proxy device. Even if there are multiple terminals that need to obtain the first data, there is no need for the data source station to send the data multiple times and the request is made through the proxy device.
  • the terminal of the first data sends the copied first data, which reduces the number of times the data source station transmits the first data and alleviates the consumption of transmission bandwidth of the data source station.
  • the data transmission service provided by the proxy device can also copy and forward the data list, which also reduces the number of transmissions of the data source station, relieves the bandwidth pressure of the data source station, and fills the "double" "Gigabit” broadband network content, after the network is generated, will not be dropped or interrupted, increasing the user's interactive experience in real-time business scenarios.
  • the agent device provides a new data transmission service. For broadband business applications such as live streaming, online meetings, and online education, the packages corresponding to the data transmission service are of high value and can increase the operator's revenue.
  • Figure 5 is a flow chart of another data transmission method provided by the embodiment of the present application.
  • the data transmission method is interactively executed by the data source station, the proxy device and the terminal.
  • the method includes the following steps 501 -511.
  • Step 501 The data source station sends a data transmission request to the proxy device.
  • the process of the data source station sending a data transmission request to the proxy device is similar to the process of the data source station sending a data transmission request to the proxy device in S301 of the embodiment shown in FIG. 3 , and will not be described again here.
  • Step 502 The proxy device determines the call result according to the data transmission request and returns the call result to the data source station.
  • the process by which the data source station invokes the data transmission service of the proxy device through the data transmission request is similar to the process by which the data source station invokes the data transmission service by the proxy device through the data transmission request in S301 of the embodiment shown in Figure 3. No further details will be given here.
  • Step 503 Based on the call result indicating that the call is successful, the data source station sends the data list to the proxy device.
  • the process of the data source station sending the data list to the proxy device is similar to the process of the data source station sending the data list to the proxy device in S302 of the embodiment shown in FIG. 3 , and will not be described again here.
  • Step 504 The proxy device starts a data transmission service for the data list based on the received data list.
  • the process of the proxy device initiating the data transmission service for the data list is similar to the process of the proxy device initiating the data transmission service for the data list in S302 of the embodiment shown in FIG. 3 , and will not be described again here.
  • a first startup result is obtained.
  • the first startup result indicates that the startup is successful.
  • the agent device performs the operation of step 505.
  • the first startup result indicates that the startup fails.
  • the agent device performs steps. 510 operation.
  • Step 505 The proxy device returns the first startup result.
  • the process of the proxy device returning the first startup result is similar to the process of the proxy device returning the first startup result in S302 of the embodiment shown in FIG. 3 , and will not be described again here.
  • Step 506 Based on the first startup result indicating successful startup, the data source station sends the first data to the proxy device.
  • the process of the data source station sending the first data to the proxy device is similar to the process of the data source station sending the first data to the proxy device in S302 of the embodiment shown in FIG. 3 , and will not be described again here.
  • Step 507 The proxy device starts the data transmission service of the first data.
  • the proxy device starts the data transmission service of the first data based on the received first data, and obtains the second starting result.
  • the process of the proxy device initiating the data transmission service of the first data is similar to the process of the proxy device initiating the data transmission service of the first data in S302 of the embodiment shown in FIG. 3 , and will not be described again here.
  • the proxy device performs the operation of step 509 after receiving the data acquisition request. If the second startup result indicates startup failure, the proxy device performs the operation of step 510 after receiving the data acquisition request.
  • Step 508 Based on the second startup result indicating successful startup, at least two terminals among the plurality of terminals send data acquisition requests for the first data to the proxy device.
  • the process in which the terminal sends a data acquisition request for the first data to the proxy device is similar to the process in which the terminal sends a data acquisition request for the first data to the proxy device in S302 in the embodiment shown in FIG. 3 , and will not be discussed here for now. Elaborate.
  • Step 509 According to the data acquisition request, the proxy device sends the first data to the terminal.
  • the process of the proxy device sending the first data to the terminal is similar to the process of the proxy device sending the first data to the terminal in S303 of the embodiment shown in FIG. 3, and will not be described again here.
  • Step 510 Based on the first startup result or the second startup result indicating startup failure, the terminal sends a data acquisition request for the first data to the data source station.
  • the proxy device uploads the data acquisition request for the first data sent by the terminal to the data source station based on the first startup result or the second startup result indicating failure, thereby enabling the terminal to send the data acquisition request to the data source station.
  • the data acquisition request for the first data is used as a copy failure request, prompting the data source station to copy N pieces of first data, and sends them to the terminal requesting the first data in sequence.
  • Step 511 According to the data acquisition request, the data source station sends the first data to the terminal.
  • the process of the data source station sending the first data to the terminal is similar to the process of the data source station sending the first data to the terminal in S302 of the embodiment shown in FIG. 3 , and will not be described again here.
  • Figure 6 is a schematic structural diagram of a data transmission device provided by an embodiment of the present application. Based on the following modules shown in Figure 6, the data transmission device shown in Figure 6 can perform all or part of the operations shown in Figure 3 above. It should be understood that the device may include more additional modules than the modules shown or omit some of the modules shown therein, and the embodiments of the present application are not limited to this. As shown in Figure 6, this device is applied to proxy equipment and includes:
  • the receiving module 601 is used to receive the encoded first data sent by the data source station, where the first data carries the first identifier;
  • the copy module 602 is used to copy the first data to obtain N pieces of first data, wherein the proxy device is connected to multiple terminals, and N terminals among the multiple terminals request the first data based on the first identification, and N is greater than an integer equal to 2;
  • the sending module 603 is configured to send the first data to each of the N terminals.
  • the receiving module 601 is also configured to receive data acquisition requests sent by at least two terminals among the plurality of terminals, where the data acquisition requests carry the first identifier; N is obtained according to the number of data acquisition requests.
  • the device further includes: an acquisition module, used to obtain a data list.
  • the data list includes second identifiers of multiple sets of data.
  • One set of data is data uploaded by the same collection terminal. Among the multiple sets of data, One set of data includes the first data;
  • the receiving module 601 is also used to receive a list acquisition request sent by at least two terminals among the plurality of terminals;
  • the sending module 603 is also used to send a request to at least two terminals among the plurality of terminals.
  • a data list is sent, and the second identifier in the data list is used by N terminals to determine the first identifier.
  • the acquisition module is configured to receive a data list sent by the data source station.
  • the data list is obtained by the data source station based on the first data.
  • the first time the data source station sends the data list is earlier than the data source station.
  • the device further includes: a startup module, configured to start a data transmission service for the data list based on the data list, and obtain a first startup result of the data transmission service corresponding to the data list, where the first startup result Indicates that the startup is successful; the sending module 603 is also used to send a data request to the data source station, and the data request is used to request the data source station to send the first data to the proxy device.
  • a startup module configured to start a data transmission service for the data list based on the data list, and obtain a first startup result of the data transmission service corresponding to the data list, where the first startup result Indicates that the startup is successful
  • the sending module 603 is also used to send a data request to the data source station, and the data request is used to request the data source station to send the first data to the proxy device.
  • the acquisition module is configured to generate a data list based on the received unencoded second data, and the second data is used to encode the first data.
  • the sending module 603 is also used to send a copy failure instruction to the data source station if the agent device fails to successfully copy the first data.
  • the copy failure instruction is used to prompt the data source station to request the terminal for the first data.
  • the first data is sent in sequence.
  • the receiving module 601 is also used to receive a data transmission request sent by the data source station.
  • the data transmission request is used to call the data transmission service to the proxy device; determine the data corresponding to the data source station based on the data transmission request.
  • the calling result of the transmission service indicates that the data source station has successfully called;
  • the sending module 603 is also used to send the calling result to the data source station, and the calling result is used to instruct the data source station to perform the operation of sending the first data.
  • the proxy device includes an application programming interface API, and the API is used by the data source station to call the data transmission service through the data transmission request.
  • the proxy device is an edge device.
  • the first data is data of a live broadcast service, data of an online education service, or data of an online conference service.
  • the first identifier is an encoded identifier, or the first identifier is an unencoded identifier.
  • the above device copies the first data through the proxy device. Even if there are multiple terminals requesting to obtain the first data, there is no need for the data source station to send the first data multiple times.
  • the proxy device sends the copied third data to the terminal requesting the first data through the proxy device.
  • One data which reduces the number of times the data source station transmits the first data, alleviates the consumption of transmission bandwidth of the data source station, and thereby reduces the delay and lag caused by the business corresponding to the first data.
  • Figure 7 shows a schematic structural diagram of a network device 700 provided by an exemplary embodiment of the present application.
  • the network device 700 shown in FIG. 7 is used to perform operations related to the above-mentioned data transmission method shown in FIG. 3 .
  • the network device 700 is, for example, a switch, a router, etc., and the network device 700 can be implemented by a general bus architecture.
  • the network device 700 includes at least one processor 701, a memory 703, and at least one communication interface 704.
  • the processor 701 is, for example, a general central processing unit (CPU), a digital signal processor (DSP), a network processor (NP), a graphics processing unit (GPU), Neural network processors (neural-network processing units, NPU), data processing units (Data Processing Unit, DPU), microprocessors, or one or more integrated circuits used to implement the solution of the present application.
  • the processor 701 includes an application-specific integrated circuit (ASIC), a programmable logic (programmable logic device, PLD) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • a PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof. It may implement or execute various logical blocks, modules and circuits described in connection with the disclosure of the embodiments of this application.
  • the processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
  • the network device 700 also includes a bus.
  • the bus is used to transfer information between the various components of the network device 700 .
  • the bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in Figure 7, but it does not mean that there is only one bus or one type of bus.
  • the memory 703 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, or a random access memory (random access memory, RAM) or a device that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • Other types of dynamic storage devices such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical discs Storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can Any other media accessed by a computer, without limitation.
  • the memory 703 exists independently, for example, and is connected to the processor 701 through a bus. Memory 703 may also be integrated with processor 701.
  • the communication interface 704 uses any device such as a transceiver to communicate with other devices or a communication network.
  • the communication network can be Ethernet, a radio access network (RAN) or a wireless local area network (WLAN), etc.
  • the communication interface 704 may include a wired communication interface and may also include a wireless communication interface.
  • the communication interface 704 can be an Ethernet (Ethernet) interface, a Fast Ethernet (FE) interface, a Gigabit Ethernet (GE) interface, an asynchronous transfer mode (Asynchronous Transfer Mode, ATM) interface, a wireless LAN ( wireless local area networks, WLAN) interface, cellular network communication interface or a combination thereof.
  • the Ethernet interface can be an optical interface, an electrical interface, or a combination thereof.
  • the communication interface 704 can be used for the network device 700 to communicate with other devices.
  • the processor 701 may include one or more CPUs, such as CPU0 and CPU1 as shown in FIG. 7 .
  • Each of these processors may be a single-CPU processor or a multi-CPU processor.
  • a processor here may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the network device 700 may include multiple processors, such as the processor 701 and the processor 705 shown in FIG. 7 .
  • processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • a processor here may refer to one or more devices, circuits, and/or processing cores for processing data (such as computer program instructions).
  • the network device 700 may also include an output device and an input device.
  • Output devices communicate with processor 701 and can display information in a variety of ways.
  • the output device may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, a projector, etc.
  • Input devices communicate with processor 701 and can receive user input in a variety of ways.
  • the input device may be a mouse, a keyboard, a touch screen device or a sensing device, etc.
  • the memory 703 is used to store the program code 710 for executing the solution of the present application, and the processor 701 can execute the program code 710 stored in the memory 703. That is, the network device 700 can implement the data transmission method provided by the method embodiment through the processor 701 and the program code 710 in the memory 703 .
  • Program code 710 may include one or more software modules.
  • the processor 701 itself can also store program codes or instructions for executing the solution of the present application.
  • the network device 700 in the embodiment of the present application may correspond to the data transmission device in each of the above method embodiments.
  • Each step of the data transmission method shown in FIG. 3 is completed through an integrated logic circuit of hardware or instructions in the form of software in the processor of the network device 700 .
  • the steps of the methods disclosed in conjunction with the embodiments of the present application can be directly implemented by a hardware processor for execution, or can be executed by a combination of hardware and software modules in the processor.
  • the software module can be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other mature storage media in this field.
  • the storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware. To avoid repetition, the details will not be described here.
  • FIG 8 is a schematic structural diagram of another network device provided by an embodiment of the present application.
  • the network device is, for example, a server.
  • the server may vary greatly due to different configurations or performance, and may include one or more processors 801 and a or multiple memories 802, wherein at least one computer program is stored in the one or more memories 802, and the at least one computer program is loaded and executed by the one or more processors 801 to enable the server to implement each of the above methods.
  • the processor 801 is, for example, a central processing unit (CPU).
  • the network device can also have components such as wired or wireless network interfaces, keyboards, and input and output interfaces to facilitate input and output.
  • the network device can also include other components for realizing device functions, which will not be described again here.
  • An embodiment of the present application also provides a communication device, which includes: a transceiver, a memory, and a processor.
  • the transceiver, the memory and the processor communicate with each other through an internal connection path, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals.
  • the processor executes the instructions stored in the memory, the processor is caused to execute the data transmission method.
  • processor can be a central processing unit (CPU), or other general-purpose processor, digital signal processor (digital signal processing, DSP), application specific integrated circuit (application specific integrated circuit), ASIC), field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general-purpose processor can be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor that supports advanced RISC machines (ARM) architecture.
  • ARM advanced RISC machines
  • the above-mentioned memory may include a read-only memory and a random access memory, and provide instructions and data to the processor.
  • Memory may also include non-volatile random access memory.
  • the memory may also store device type information.
  • the memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically removable memory. Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be random access memory (RAM), which is used as an external cache. By way of illustration, but not limitation, many forms of RAM are available.
  • static random access memory static random access memory
  • DRAM Dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronization Dynamic random access memory
  • SCRAM synchronous link dynamic random access memory
  • direct memory bus random access memory direct rambus RAM, DR RAM
  • Embodiments of the present application also provide a computer-readable storage medium, in which at least one instruction is stored, and the instruction is loaded and executed by the processor, so that the computer implements any of the above-mentioned data transmission methods.
  • Embodiments of the present application also provide a computer program (product).
  • the computer program When the computer program is executed by a computer, it can cause the processor or computer to execute corresponding steps and/or processes in the above method embodiments.
  • Embodiments of the present application also provide a chip, including a processor, configured to call and run instructions stored in the memory, so that the communication device installed with the chip executes any of the above-described data transmission methods. .
  • An embodiment of the present application also provides another chip, including: an input interface, an output interface, a processor, and a memory.
  • the input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the The processor is configured to execute the code in the memory.
  • the processor is configured to execute any of the above data transmission methods.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another, e.g., the computer instructions may be transferred from a website, computer, server, or data center Transmission to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more available media integrated.
  • the available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk), etc.
  • the program can be stored in a computer-readable storage medium.
  • the storage medium can be read-only memory, magnetic disk or optical disk, etc.
  • the computer program product includes one or more computer program instructions.
  • methods of embodiments of the present application may be described in the context of machine-executable instructions, such as included in a program module executing in a device on a target's real or virtual processor.
  • program modules include routines, programs, libraries, objects, classes, components, data structures, etc., which perform specific tasks or implement specific abstract data structures.
  • the functionality of the program modules may be Merge or split between the described program modules.
  • Machine-executable instructions for program modules can execute locally or on a distributed device. In a distributed device, program modules can be located in both local and remote storage media.
  • Computer program codes for implementing the methods of embodiments of the present application may be written in one or more programming languages. These computer program codes may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data transmission device, so that when executed by the computer or other programmable data transmission device, the program code causes the flowchart and/or block diagram to be displayed. The functions/operations specified in are implemented.
  • the program code may execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or entirely on the remote computer or server.
  • the computer program code or related data may be carried by any appropriate carrier, so that the device, device or processor can perform the various processes and operations described above.
  • Examples of carriers include signals, computer-readable media, and the like.
  • Examples of signals may include electrical, optical, radio, acoustic, or other forms of propagated signals, such as carrier waves, infrared signals, and the like.
  • a machine-readable medium may be any tangible medium that contains or stores a program for or in connection with an instruction execution system, apparatus, or device.
  • the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or devices, or any suitable combination thereof. More detailed examples of machine-readable storage media include an electrical connection with one or more wires, laptop computer disk, hard drive, random memory accessor (RAM), read-only memory (ROM), erasable programmable read-only memory Memory (EPROM or flash memory), optical storage device, magnetic storage device, or any suitable combination thereof.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules is only a logical function division. In actual implementation, there may be other division methods.
  • multiple modules or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented.
  • the coupling or direct coupling or communication connection between each other shown or discussed may be indirect coupling or communication connection through some interfaces, devices or modules, or may be electrical, mechanical or other forms of connection.
  • the modules described as separate components may or may not be physically separated.
  • the components shown as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed to multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments of the present application.
  • each functional module in each embodiment of the present application can be integrated into one processing module, or each module can exist physically alone, or two or more modules can be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or software function modules.
  • the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program code. .
  • first, second and other words are used to distinguish the same or similar items with basically the same functions and functions. It should be understood that the terms “first”, “second” and “nth” There is no logical or temporal dependence, nor There are no restrictions on the quantity and order of execution. It should also be understood that, although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first image may be referred to as a second image, and similarly, a second image may be referred to as a first image, without departing from the scope of various described examples. Both the first image and the second image may be images, and in some cases, may be separate and different images.
  • the size of the sequence number of each process does not mean the order of execution.
  • the execution order of each process should be determined by its function and internal logic, and should not be determined by the execution order of the embodiments of the present application.
  • the implementation process constitutes no limitation.
  • determining B based on A does not mean determining B only based on A, and B can also be determined based on A and/or other information.
  • references throughout this specification to "one embodiment,””anembodiment,” and “a possible implementation” mean that specific features, structures, or characteristics related to the embodiment or implementation are included herein. In at least one embodiment of the application. Therefore, “in one embodiment” or “in an embodiment” or “a possible implementation” appearing in various places throughout this specification do not necessarily refer to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.

Abstract

La présente demande a trait au domaine technique des communications. Sont divulgués un procédé et un appareil de transmission de données. Le procédé comprend les étapes suivantes : un dispositif mandataire reçoit des premières données codées envoyées par une station source de données, les premières données transportant un premier identifiant ; le dispositif mandataire duplique les premières données, de façon à obtenir N éléments de premières données, le dispositif mandataire étant connecté à une pluralité de terminaux, et N terminaux parmi la pluralité de terminaux demandent les premières données sur la base du premier identifiant, N étant un nombre entier supérieur ou égal à 2 ; et le dispositif mandataire envoie les premières données à chacun des N terminaux. Dans la présente demande, des premières données sont dupliquées et transférées au moyen d'un dispositif mandataire, et permettent ainsi même s'il existe une pluralité de terminaux demandant l'acquisition des premières données, d'éviter à une station source de données de devoir envoyer les premières données de multiples fois, ce qui permet de réduire le nombre de transmissions des premières données par la station source de données, de réduire la consommation de bande passante de transmission de la station source de données, et de réduire le retard et la latence se produisant dans un service correspondant aux premières données.
PCT/CN2023/103113 2022-08-11 2023-06-28 Procédé et appareil de transmission de données WO2024032189A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210962834.5A CN117640753A (zh) 2022-08-11 2022-08-11 数据传输方法和装置
CN202210962834.5 2022-08-11

Publications (1)

Publication Number Publication Date
WO2024032189A1 true WO2024032189A1 (fr) 2024-02-15

Family

ID=89850625

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/103113 WO2024032189A1 (fr) 2022-08-11 2023-06-28 Procédé et appareil de transmission de données

Country Status (2)

Country Link
CN (1) CN117640753A (fr)
WO (1) WO2024032189A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852570A (zh) * 2005-09-05 2006-10-25 华为技术有限公司 一种基于移动网络的ip组播系统和方法
WO2006122509A1 (fr) * 2005-05-20 2006-11-23 Huawei Technologies Co., Ltd. Procede de multidiffusion de donnees de trafic fonde sur le reseau mobile
CN110502649A (zh) * 2019-07-02 2019-11-26 中国联合网络通信集团有限公司 一种多媒体业务的分类方法及装置
US20200067818A1 (en) * 2018-08-21 2020-02-27 Cisco Technology, Inc. Service traffic replication and dynamic policy enforcement in a multi-cloud service mesh
CN114598644A (zh) * 2020-12-02 2022-06-07 华为技术有限公司 Bier报文转发的方法、设备以及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006122509A1 (fr) * 2005-05-20 2006-11-23 Huawei Technologies Co., Ltd. Procede de multidiffusion de donnees de trafic fonde sur le reseau mobile
CN1852570A (zh) * 2005-09-05 2006-10-25 华为技术有限公司 一种基于移动网络的ip组播系统和方法
US20200067818A1 (en) * 2018-08-21 2020-02-27 Cisco Technology, Inc. Service traffic replication and dynamic policy enforcement in a multi-cloud service mesh
CN110502649A (zh) * 2019-07-02 2019-11-26 中国联合网络通信集团有限公司 一种多媒体业务的分类方法及装置
CN114598644A (zh) * 2020-12-02 2022-06-07 华为技术有限公司 Bier报文转发的方法、设备以及系统

Also Published As

Publication number Publication date
CN117640753A (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
WO2023024834A9 (fr) Procédé et appareil de traitement de données de jeu, et support de stockage
WO2022095795A1 (fr) Procédé et appareil de communication, support lisible par ordinateur, et dispositif électronique
US9674252B2 (en) System and method for efficient delivery of repetitive multimedia content
WO2016049987A1 (fr) Procédé et appareil de traitement de données, et serveurs associés
US10277865B2 (en) Data transmission method and system, and related devices
CN108347622B (zh) 多媒体数据推送方法、装置、存储介质及设备
US20220210485A1 (en) Method for managing network live streaming data and related apparatus, and device and storage medium
WO2017124860A1 (fr) Système distribué de service de machine virtuelle multi-écran sans fil
WO2020248649A1 (fr) Procédé, appareil et système de lecture synchrone de données audio et vidéo, dispositif électronique et support
US9270937B2 (en) Real time stream provisioning infrastructure
US20150188928A1 (en) Private-public chat functionality
JP2016508357A (ja) 複数のメディア・ストリームの使用による無線リアルタイム・メディア通信
CN113114688B (zh) 多媒体会议管理方法及装置、存储介质、电子设备
CN105144673A (zh) 延迟减少的服务器干预式音频-视频通信
CN105072507B (zh) 一种多媒体数据的传输方法及系统
KR102149445B1 (ko) 멀티미디어 브로드캐스트 멀티캐스트 서비스 기반의 플렉서블 브로드캐스트 서비스를 위한 방법 및 장치
WO2023115906A1 (fr) Procédé de lecture de vidéo et dispositif associé
WO2020199929A1 (fr) Procédé de distribution de données et dispositif de réseau
US9264662B2 (en) Chat preauthorization
CN110113558B (zh) 数据处理方法、装置、系统及计算机可读存储介质
EP3399725B1 (fr) Procédé et dispositif de multidiffusion de flux multimédia
JP2014131143A (ja) 送信装置、送信方法、及びプログラム
US20070220162A1 (en) Media processing abstraction model
WO2024032189A1 (fr) Procédé et appareil de transmission de données
CN110519331B (zh) 一种视联网资源处理方法及装置

Legal Events

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

Ref document number: 23851416

Country of ref document: EP

Kind code of ref document: A1