WO2023035779A1 - Data transmission method, data processing method, sending end device, receiving end device, conference terminal, and computer-readable storage medium - Google Patents

Data transmission method, data processing method, sending end device, receiving end device, conference terminal, and computer-readable storage medium Download PDF

Info

Publication number
WO2023035779A1
WO2023035779A1 PCT/CN2022/106656 CN2022106656W WO2023035779A1 WO 2023035779 A1 WO2023035779 A1 WO 2023035779A1 CN 2022106656 W CN2022106656 W CN 2022106656W WO 2023035779 A1 WO2023035779 A1 WO 2023035779A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
end device
data packet
processor
receiving end
Prior art date
Application number
PCT/CN2022/106656
Other languages
French (fr)
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 WO2023035779A1 publication Critical patent/WO2023035779A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Definitions

  • the present disclosure relates to the field of communication technologies, and in particular, to a data transmission method, a data processing method, a sending end device, a receiving end device, a conference terminal, and a computer-readable storage medium.
  • web conferencing has supported virtual background, video editing and file sharing , Web conferencing functions based on virtual reality (VR, Virtual Reality) and augmented reality (AR, Augmented Reality) technologies are also under development.
  • VR virtual reality
  • AR Augmented Reality
  • an embodiment of the present disclosure provides a data transmission method applied to a sending end device, including:
  • the data to be transmitted is transmitted through multiple media transmission links.
  • an embodiment of the present disclosure provides a data processing method applied to a receiving end device, including:
  • an embodiment of the present disclosure provides a sender device, including:
  • processors one or more processors
  • Memory on which one or more computer programs are stored, when said one or more computer programs are executed by said one or more processors, said one or more processors implement the first aspect of the present disclosure
  • One or more I/O interfaces connected between the processor and the memory, configured to realize information exchange between the processor and the memory.
  • an embodiment of the present disclosure provides a receiver device, including:
  • processors one or more processors
  • Memory on which one or more computer programs are stored, when the one or more computer programs are executed by the one or more processors, causing the one or more processors to implement the second aspect of the present disclosure
  • One or more I/O interfaces connected between the processor and the memory, configured to realize information exchange between the processor and the memory.
  • an embodiment of the present disclosure provides a conference terminal, including:
  • processors one or more processors
  • Memory on which one or more computer programs are stored, when said one or more computer programs are executed by said one or more processors, said one or more processors implement the first aspect of the present disclosure At least one of the data transmission method provided by the example and the data processing method provided by the second aspect of the present disclosure;
  • One or more I/O interfaces connected between the processor and the memory, configured to realize information exchange between the processor and the memory.
  • an embodiment of the present disclosure provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, at least one of the following methods is implemented:
  • the second aspect is the data processing method provided by the embodiments of the present disclosure.
  • FIG. 1 is a flowchart of a data transmission method in an embodiment of the present disclosure
  • FIG. 2 is a flowchart of some steps in a data transmission method in an embodiment of the present disclosure
  • FIG. 3 is a flowchart of some steps in a data transmission method in an embodiment of the present disclosure
  • Fig. 4 is a flowchart of some steps in a data transmission method in an embodiment of the present disclosure
  • Fig. 5 is a flowchart of some steps in a data transmission method in an embodiment of the present disclosure
  • FIG. 6 is a flowchart of a data processing method in an embodiment of the present disclosure.
  • FIG. 7 is a flowchart of some steps in a data processing method in an embodiment of the present disclosure.
  • Fig. 8 is a flowchart of some steps in a data processing method in an embodiment of the present disclosure.
  • FIG. 9 is a flowchart of some steps in a data processing method in an embodiment of the present disclosure.
  • FIG. 10 is a block diagram of a sending end device in an embodiment of the present disclosure.
  • FIG. 11 is a block diagram of a receiver device in an embodiment of the present disclosure.
  • FIG. 12 is a block diagram of a conference terminal in an embodiment of the present disclosure.
  • Fig. 13 is a composition block diagram of a computer-readable storage medium in an embodiment of the present disclosure.
  • FIG. 14 is a schematic diagram of a network architecture of a network meeting provided by an example of the present disclosure.
  • FIG. 15 is a schematic diagram of a conference terminal provided by an example of the present disclosure.
  • FIG. 16 is a schematic diagram of a process for establishing multiple media transmission links provided by an example of the present disclosure
  • FIG. 17 is a schematic flow diagram of sending media data by a conference terminal at the sending end provided by an example of the present disclosure.
  • Fig. 18 is a schematic flowchart of receiving and processing media data by a conference terminal at a receiving end provided by an example of the present disclosure.
  • Packet loss and delay are important factors affecting the quality of online conferences. As network conditions deteriorate, packet loss and delay will become more serious. Some related technologies can solve the packet loss problem when the network condition is bad, so as to guarantee the quality of the network meeting.
  • the packet loss problem is solved by packet loss retransmission and forward error correction (FEC, Forward Error Correction).
  • Packet loss retransmission means that the sending end device caches data packets and retransmits the lost data packets when it is notified that the data packets are lost; forward error correction refers to carrying FEC redundant packets while sending data packets, and the receiving end detects When the packet is lost, some data packets can be recovered from the FEC redundant packet.
  • FEC Forward Error Correction
  • an embodiment of the present disclosure provides a data transmission method applied to a sending end device, including steps S100 and S200.
  • the sending end device refers to a device that sends data during a data transmission process
  • the receiving end device refers to a device that receives data during a data transmission process.
  • the same device can be both a sender and a receiver.
  • the sending end device and the receiving end device are conference terminals.
  • the media transmission link is used to transmit media data between the sending end device and the receiving end device.
  • the media data may refer to audio data, may also be video data, and may also be audio and video data.
  • the present disclosure makes no special limitation on this.
  • the media transmission link can also be used to transmit data other than media data, such as text and documents.
  • both the sending end device and the receiving end device have multiple network communication capabilities, that is, both the sending end device and the receiving end device can access various networks, and the sending end device and the receiving end device are respectively connected to Into any kind of network, the data sent by the sending end device can finally reach the receiving end device.
  • the present disclosure makes no special limitation on various networks.
  • the various networks include at least two of wired communication networks, wireless communication networks, and mobile communication networks. It should be noted that, in the data transmission method provided in the present disclosure, the network resources of various networks accessed by the sending end device are independent of each other, and sending data through different networks will not compete for network resources.
  • multiple media transmission links corresponding to multiple networks means that in the sending end device, one media transmission link is established on a network connected to the sending end device, and multiple media transmission links The media transmission links are respectively established on various networks accessed by the sending end device.
  • the multiple media transmission links also correspond to various networks accessed by the receiving end device.
  • the network corresponding to the same media transmission link in the sending end device and the corresponding network in the receiving end device may be the same or different, which is not specifically limited in the present disclosure.
  • steps S100 and S200 are executed at the kernel level, and the application layer and the user are not aware of the process of establishing multiple media transmission links and transmitting data through multiple media transmission links.
  • multiple media transmission links established on various networks serve as mutual backups, and when transmitting data through multiple media transmission links, the multiple media transmission links will not compete with each other for network resources , when transmitting data, there will always be a media transmission link with the smallest delay among the multiple media transmission links, which means that data can always be transmitted through the media transmission link with the There are other media transmission links to supplement the package.
  • the data transmission method When the data transmission method is applied to a network conference, it can greatly shorten the delay and avoid packet loss, thereby effectively ensuring the quality of the network conference and improving user experience.
  • step S200 includes steps S210 and S220.
  • the tag field is used to uniquely identify the data packet.
  • the present disclosure makes no special limitation on the label field.
  • the sending end device numbers the data packets, and the sequence number of each data packet is the label field of the data packets.
  • a label field is added to the data packet, and the data packet with the label field added is copied to each media transmission link for transmission, so that the receiving end device receives the data packet from multiple media transmission links Afterwards, the data packets received repeatedly can be screened out according to the label fields of the data packets, that is, for the same data packets in multiple media transmission links, the receiving end device only selects the one that arrives first, and the repeated data packets received subsequently will be discarded to shorten the delay.
  • the application layer is not aware of the establishment of multiple media transmission links and the process of transmitting data through the multiple media transmission links.
  • the application layer writes the data to be transmitted into the sending buffer, and sends a socket (socket) call signal to the kernel; the kernel responds to the socket sending call signal to obtain the data to be transmitted from the send buffer .
  • a label field is added to the packet header of the data packet.
  • step S210 includes steps S211 and S212.
  • the media data packet may refer to an audio data packet, may also be a video data packet, and may also be an audio and video data packet.
  • the present disclosure makes no special limitation on this.
  • non-media data that is relatively insensitive to delay and packet loss such as text and documents
  • steps S211 and S212 when the data to be transmitted is media data, the media data is copied to multiple media transmission links for transmission; when the data to be transmitted is non-media data, through one of the multiple media transmission links
  • the transmission of non-media data can save network resources as a whole, avoid network congestion caused by the transmission of non-media data, and further guarantee the quality of network meetings.
  • step S100 includes steps S111 to S113.
  • the receiving end device accesses multiple networks, establish at least one second link according to the network configuration information of the sending end device and the network configuration information of the receiving end device, and the multiple The media transmission link includes the first link and the at least one second link.
  • the first link is established at the application layer, and the second link is established at the kernel level.
  • the sending end device establishes the first link with the receiving end device using a primary Internet Protocol address (IP, Internet Protocol).
  • IP Internet Protocol
  • step S100 further includes step S114 .
  • the network configuration information of the sending end device is sent to the receiving end device through step S114, so that the receiving end device can establish multiple media transmission links with the sending end device according to the network configuration information of the sending end device.
  • step S100 includes steps S121 and S122.
  • the various networks accessed by the sending end device include at least two of a wired communication network, a wireless communication network, and a mobile communication network.
  • an embodiment of the present disclosure provides a data processing method applied to a receiving end device, including steps S300 and S400.
  • the sending device refers to a device that sends data during a data transmission
  • the receiving device refers to a device that receives data during a data transmission.
  • the same device can be both a sender and a receiver.
  • the sending end device and the receiving end device are conference terminals.
  • the media transmission link is used to transmit media data between the sending end device and the receiving end device.
  • the media data may refer to audio data, may also be video data, and may also be audio and video data.
  • the present disclosure makes no special limitation on this.
  • the media transmission link can also be used to transmit data other than media data, such as text and documents.
  • both the sending end device and the receiving end device have multiple network communication capabilities, that is, both the sending end device and the receiving end device can access various networks, and the sending end device and the receiving end device are respectively connected to Into any kind of network, the data sent by the sending end device can finally reach the receiving end device.
  • the present disclosure makes no special limitation on various networks.
  • the various networks include at least two of a wired communication network, a wireless communication network, and a mobile communication network. It should be noted that, in the data processing method provided in the present disclosure, the network resources of various networks accessed by the sending end device are independent of each other, and sending data through different networks will not compete for network resources.
  • multiple media transmission links corresponding to multiple networks means that in the receiving end device, one media transmission link is established on a network accessed by the receiving end device, and multiple media transmission links The media transmission links are respectively established on various networks accessed by the receiving end device.
  • the multiple media transmission links also correspond to various networks accessed by the sender device.
  • the network corresponding to the same media transmission link in the sending end device and the corresponding network in the receiving end device may be the same or different, which is not specifically limited in the present disclosure.
  • step S300 is executed at the kernel level, and the application layer and the user are unaware of the process of receiving data packets to be processed through multiple media transmission links.
  • multiple media transmission links established on various networks serve as backups for each other, and multiple media transmission links will not compete with each other when receiving data packets to be processed through multiple media transmission links resources, when receiving data packets to be processed, there will always be a media transmission link with the smallest delay among the multiple media transmission links, which means that the data packets to be processed can always be received through the media transmission link with the smallest relative delay. And when a media transmission link loses packets, there are other media transmission links to supplement it.
  • the data processing method is applied to a network conference, it can greatly shorten the delay and avoid packet loss, thereby effectively ensuring the quality of the network conference and improving user experience.
  • the receiving end device receives data packets from multiple media transmission links according to the principle of "whoever arrives first receives".
  • the principle of "whoever arrives first” means that the sending device copies the data packets to each media transmission link for transmission, and the receiving device filters out the duplicate received data packets after receiving data packets from multiple media transmission links , that is, for the same data packet in multiple media transmission links, the receiving end device only selects the one that arrives first, and discards the repeated data packets received subsequently, so that the delay can be shortened.
  • step S400 includes steps S410 to S430.
  • the tag field is used to uniquely identify the data packet, and the receiving end device can screen out the repeatedly received data packets according to the tag field.
  • the present disclosure makes no special limitation on the label field.
  • the sending end device numbers the data packets, and the sequence number of each data packet is the label field of the data packets.
  • performing application layer processing on the pending data packet includes: removing the label field of the pending data packet, and sending the pending data packet from which the label field is removed to the application layer program for further processing.
  • the sending device can also transmit non-media data that is relatively insensitive to delay and packet loss, for example text, documents, etc.
  • non-media data for example text, documents, etc.
  • the sending end device only adds a label field to the media data packet, and copies it to multiple media transmission links for transmission; non-media data does not add a label field, and passes through one of the multiple media transmission links to transfer.
  • the media data may refer to audio data packets, video data packets, or audio and video data packets.
  • the present disclosure makes no special limitation on this.
  • step S410 includes steps S411 and S412.
  • the data packet to be processed is a media data packet, extract a label field of the data packet to be processed.
  • the sending end device first establishes a first link with the receiving end device, obtains the network configuration information of the receiving end device through the first link, and transmits the network configuration information of the sending end device to the receiving end device through the first link configuration information.
  • the data processing method further includes steps S501 and S502.
  • an embodiment of the present disclosure provides a sender device, including one or more processors 101 (only one is shown in FIG. 10 ), memory 102, and one or more I/O interfaces 103 ( Only one is shown in Figure 10).
  • One or more computer programs are stored on the memory 102, and when the one or more computer programs are executed by the one or more processors 101, the one or more processors 101 realize the first aspect of the present disclosure
  • the data transmission method provided by the embodiment is not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, the one or more processors 101, the one or more processors 101 realize the first aspect of the present disclosure.
  • the one or more I/O interfaces 103 are connected between the processor 101 and the memory 102 and are configured to realize information exchange between the processor 101 and the memory 102 .
  • Processor 101 is a device with data processing capability, including but not limited to central processing unit (CPU) etc.
  • memory 102 is a device with data storage capability, including but not limited to random access memory (RAM, more specifically SDRAM, DDR etc.), read-only memory (ROM), electrified erasable programmable read-only memory (EEPROM), flash memory (FLASH);
  • I/O interface (read-write interface) 103 is connected between processor 101 and memory 102, can realize processing Information interaction between the device 101 and the memory 102, including but not limited to a data bus (Bus).
  • Buss data bus
  • the processor 101 , the memory 102 and the I/O interface 103 are connected to each other through the bus 104 , and are further connected to other components of the computing device.
  • an embodiment of the present disclosure provides a receiver device, including one or more processors 201 (only one is shown in FIG. 11 ), memory 202, and one or more I/O interfaces 203 ( Only one is shown in Figure 11).
  • One or more computer programs are stored on the memory 202, and when the one or more computer programs are executed by the one or more processors 201, the one or more processors 201 realize the second aspect of the present disclosure
  • the data processing method provided by the embodiment is not limited to the embodiment.
  • the one or more I/O interfaces 203 are connected between the processor 201 and the memory 202 and are configured to realize information exchange between the processor 201 and the memory 202 .
  • Processor 201 is a device with data processing capability, including but not limited to central processing unit (CPU) etc.
  • memory 202 is a device with data storage capability, including but not limited to random access memory (RAM, more specifically SDRAM, DDR etc.), read-only memory (ROM), electrified erasable programmable read-only memory (EEPROM), flash memory (FLASH);
  • I/O interface (read-write interface) 203 is connected between processor 201 and memory 202, can realize processing Information interaction between the device 201 and the memory 202, including but not limited to a data bus (Bus).
  • Buss data bus
  • the processor 201 , the memory 202 and the I/O interface 203 are connected to each other through the bus 204 , and further connected to other components of the computing device.
  • an embodiment of the present disclosure provides a conference terminal, including one or more processors 301 (only one is shown in FIG. 12 ), memory 302, and one or more I/O interfaces 303 (FIG. 12 only one is shown).
  • One or more computer programs are stored on the memory 302, and when the one or more computer programs are executed by the one or more processors 301, the one or more processors 301 implement the first aspect of the present disclosure
  • the data transmission method provided by the embodiments and the second aspect At least one of the data processing methods provided by the embodiments of the present disclosure.
  • the one or more I/O interfaces 303 are connected between the processor 301 and the memory 302 and are configured to implement information exchange between the processor 301 and the memory 302 .
  • Processor 301 is a device with data processing capability, including but not limited to central processing unit (CPU) etc.
  • memory 302 is a device with data storage capability, including but not limited to random access memory (RAM, more specifically SDRAM, DDR etc.), read-only memory (ROM), electrified erasable programmable read-only memory (EEPROM), flash memory (FLASH);
  • I/O interface (read-write interface) 303 is connected between processor 301 and memory 302, can realize processing Information interaction between the device 301 and the memory 302, including but not limited to a data bus (Bus).
  • Buss data bus
  • the processor 301 , the memory 302 and the I/O interface 303 are connected to each other through the bus 304 , and further connected to other components of the computing device.
  • an embodiment of the present disclosure provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, at least one of the following methods is implemented:
  • the second aspect is the data processing method provided by the embodiments of the present disclosure.
  • Fig. 14 is a schematic diagram of the network architecture of the network meeting provided by the disclosed example.
  • the conference terminals support three types of network communication capabilities: wired network, wireless network, and 5G network.
  • the conference terminal can be connected to any network, and the data sent by the conference terminal at the sending end can reach the conference terminal at the receiving end.
  • three media transmission links are established between conference terminals based on three types of networks: wired network, wireless network and 5G network: media transmission link 1, media transmission link 2 and media transmission link 3.
  • Fig. 15 is a schematic structural diagram of a conference terminal provided by an example of the present disclosure.
  • the application layer of the conference terminal includes a media module configured to process media data and non-media data, and the application layer sends the code stream to the kernel of the conference terminal through the User Datagram Protocol (UDP, User Datagram Protocol).
  • UDP User Datagram Protocol
  • the kernel of the conference terminal includes a transmission control protocol (TCP, Transmission Control Protocol) stack, a link building module, and a distribution module.
  • TCP Transmission Control Protocol
  • the link building module is configured to create multiple media transmission links
  • the distribution module is configured to add a label field to the data packet, copy the data packet, and distribute the data packet to multiple media transmission links for forwarding.
  • the physical layer of the conference terminal includes wired network card, wireless network card, and 5G module.
  • the kernel establishes media transmission link 1, media transmission link 2, and media transmission link 3 through the wired network card, wireless network card, and 5G module of the physical layer.
  • Fig. 16 is a schematic diagram of a process for establishing multiple media transmission links provided by an example of the present disclosure. As shown in FIG. 16, the process of establishing multiple media transmission links includes steps E101 to E103.
  • the application layer media module in the conference terminal at the sending end initiates the establishment of the first link (main channel), and obtains the network communication capabilities of the conference terminal at the receiving end through the main channel, for example, whether the conference terminal at the receiving end supports wired networks, wireless networks, 5G network.
  • E102 Determine whether the wired network, wireless network, and 5G network of the conference terminal at the sending end are available; if at least two of the wired network, wireless network, and 5G network are available, execute E103; otherwise, interact with the conference terminal at the receiving end through the main channel .
  • E103 Determine whether the conference terminal at the receiving end supports at least two of a wired network, a wireless network, and a 5G network;
  • the conference terminal establishes multiple media transmission links; otherwise, it interacts with the conference terminal at the receiving end through the main channel.
  • Fig. 17 is a schematic flowchart of sending media data by a conference terminal at a sending end provided by an example of the present disclosure. As shown in FIG. 17 , the process of sending media data by the conference terminal at the sending end includes steps E201 to E204.
  • the application layer sends the media data to the kernel protocol stack for processing.
  • the kernel judges whether multiple media transmission links have been established between the current sending end and the receiving end; if multiple media transmission links have not been established, then initiate the establishment of multiple media transmission links; if multiple media transmission links have been established If there is a path, number each data packet of the media data, and add a sequence number to the header of the data packet.
  • the wired network card, wireless network card, and 5G module of the physical layer of the sending end send the data packet with the added serial number to the network corresponding to each media transmission link, and complete the sending task of the conference terminal at the sending end.
  • Fig. 18 is a schematic flowchart of receiving and processing media data by a conference terminal at a receiving end provided by an example of the present disclosure. As shown in FIG. 18 , the process of receiving and processing media data by the conference terminal at the receiving end includes steps E301 to E303 .
  • the wired network card, wireless network card, and 5G module of the physical layer of the receiving end receive media data successively, and then send the data up to the kernel protocol stack for processing;
  • the kernel protocol stack After the kernel protocol stack receives the media data, it parses the serial number in the header of the data packet to determine whether the data packet with the same serial number has been received; if the data packet with the same serial number has been received, discard the data packet and continue Wait for the next data packet; otherwise, send the data packet up to the application layer program for the next step of processing;
  • the application layer program (mainly the media module) receives the data packet, it performs corresponding decoding and display processing.
  • Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media).
  • computer storage media includes both volatile and nonvolatile media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. permanent, removable and non-removable media.
  • Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, tape, magnetic disk storage or other magnetic storage devices, or can Any other medium used to store desired information and which can be accessed by a computer.
  • communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Provided in the present disclosure is a data transmission method, which method is applied to a sending end device. The data transmission method comprises: establishing a plurality of media transmission links with a receiving end device, wherein the plurality of media transmission links correspond to various types of networks that a sending end device accesses; and by means of the plurality of media transmission links, transmitting data to be transmitted. Further provided in the present disclosure are a data processing method, a sending end device, a receiving end device, a conference terminal, and a computer-readable storage medium.

Description

数据传输方法、数据处理方法、发送端设备、接收端设备、会议终端、以及计算机可读存储介质Data transmission method, data processing method, sending end device, receiving end device, conference terminal, and computer-readable storage medium
相关申请的交叉引用Cross References to Related Applications
本申请要求于2021年9月10日提交的中国专利申请NO.202111062989.5的优先权,该中国专利申请的内容通过引用的方式整体合并于此。This application claims priority to Chinese Patent Application No. 202111062989.5 filed on September 10, 2021, the contents of which are hereby incorporated by reference in their entirety.
技术领域technical field
本公开涉及通信技术领域,特别涉及数据传输方法、数据处理方法、发送端设备、接收端设备、会议终端、以及计算机可读存储介质。The present disclosure relates to the field of communication technologies, and in particular, to a data transmission method, a data processing method, a sending end device, a receiving end device, a conference terminal, and a computer-readable storage medium.
背景技术Background technique
随着网络会议相关技术的发展,网络会议的语音清晰度、视频分辨率在快速提升,网络会议的功能也愈加丰富,例如,一些相关技术中,网络会议已支持虚拟背景、视频剪辑和文件共享,基于虚拟现实(VR,Virtual Reality)和增强现实(AR,Augmented Reality)技术的网络会议功能也在发展中。With the development of web conferencing related technologies, the voice clarity and video resolution of web conferencing are rapidly improving, and the functions of web conferencing are becoming more and more abundant. For example, in some related technologies, web conferencing has supported virtual background, video editing and file sharing , Web conferencing functions based on virtual reality (VR, Virtual Reality) and augmented reality (AR, Augmented Reality) technologies are also under development.
但是,受网络条件限制,在有效保障网络会议的质量方面还存在一些不足。However, limited by network conditions, there are still some deficiencies in effectively guaranteeing the quality of network meetings.
公开内容public content
第一方面,本公开实施例提供一种数据传输方法,应用于发送端设备,包括:In the first aspect, an embodiment of the present disclosure provides a data transmission method applied to a sending end device, including:
与接收端设备建立多条媒体传输链路,多条所述媒体传输链路对应于所述发送端设备接入的多种网络;以及Establishing multiple media transmission links with the receiving end device, where the multiple media transmission links correspond to various networks accessed by the sending end device; and
通过多条所述媒体传输链路传输待传输数据。The data to be transmitted is transmitted through multiple media transmission links.
第二方面,本公开实施例提供一种数据处理方法,应用于接收端设备,包括:In the second aspect, an embodiment of the present disclosure provides a data processing method applied to a receiving end device, including:
通过与发送端设备建立的多条媒体传输链路接收待处理数据包,多条所述媒体传输链路对应于所述接收端设备接入的多种网络;以及receiving the data packet to be processed through multiple media transmission links established with the sending end device, where the multiple media transmission links correspond to various networks accessed by the receiving end device; and
对所述待处理数据包进行处理。Process the data packets to be processed.
第三方面,本公开实施例提供一种发送端设备,包括:In a third aspect, an embodiment of the present disclosure provides a sender device, including:
一个或多个处理器;one or more processors;
存储器,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现第一方面本公开实施例提供的数据传输方法;以及Memory, on which one or more computer programs are stored, when said one or more computer programs are executed by said one or more processors, said one or more processors implement the first aspect of the present disclosure The data transfer method provided by the example; and
一个或多个I/O接口,连接在所述处理器与所述存储器之间,配置为实现所述处理器与所述存储器的信息交互。One or more I/O interfaces, connected between the processor and the memory, configured to realize information exchange between the processor and the memory.
第四方面,本公开实施例提供一种接收端设备,包括:In a fourth aspect, an embodiment of the present disclosure provides a receiver device, including:
一个或多个处理器;one or more processors;
存储器,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现第二方面本公开实施例提供的数据处理方法;以及Memory, on which one or more computer programs are stored, when the one or more computer programs are executed by the one or more processors, causing the one or more processors to implement the second aspect of the present disclosure The data processing method provided by the example; and
一个或多个I/O接口,连接在所述处理器与所述存储器之间,配置为实现所述处理器与所述存储器的信息交互。One or more I/O interfaces, connected between the processor and the memory, configured to realize information exchange between the processor and the memory.
第五方面,本公开实施例提供一种会议终端,包括:In a fifth aspect, an embodiment of the present disclosure provides a conference terminal, including:
一个或多个处理器;one or more processors;
存储器,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现第一方面本公开实施例提供的数据传输方法和第二方面本公开实施例提供的数据处理方法中的至少一者;以及Memory, on which one or more computer programs are stored, when said one or more computer programs are executed by said one or more processors, said one or more processors implement the first aspect of the present disclosure At least one of the data transmission method provided by the example and the data processing method provided by the second aspect of the present disclosure; and
一个或多个I/O接口,连接在所述处理器与所述存储器之间,配置为实现所述处理器与所述存储器的信息交互。One or more I/O interfaces, connected between the processor and the memory, configured to realize information exchange between the processor and the memory.
第六方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下方法中的至少一者:In a sixth aspect, an embodiment of the present disclosure provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, at least one of the following methods is implemented:
第一方面本公开实施例提供的数据传输方法;和The data transmission method provided by the embodiment of the present disclosure in the first aspect; and
第二方面本公开实施例提供的数据处理方法。The second aspect is the data processing method provided by the embodiments of the present disclosure.
附图说明Description of drawings
图1是本公开实施例中一种数据传输方法的流程图;FIG. 1 is a flowchart of a data transmission method in an embodiment of the present disclosure;
图2是本公开实施例中一种数据传输方法中部分步骤的流程图;FIG. 2 is a flowchart of some steps in a data transmission method in an embodiment of the present disclosure;
图3是本公开实施例中一种数据传输方法中部分步骤的流程图;FIG. 3 is a flowchart of some steps in a data transmission method in an embodiment of the present disclosure;
图4是本公开实施例中一种数据传输方法中部分步骤的流程图;Fig. 4 is a flowchart of some steps in a data transmission method in an embodiment of the present disclosure;
图5是本公开实施例中一种数据传输方法中部分步骤的流程图;Fig. 5 is a flowchart of some steps in a data transmission method in an embodiment of the present disclosure;
图6是本公开实施例中一种数据处理方法的流程图;FIG. 6 is a flowchart of a data processing method in an embodiment of the present disclosure;
图7是本公开实施例中一种数据处理方法中部分步骤的流程图;FIG. 7 is a flowchart of some steps in a data processing method in an embodiment of the present disclosure;
图8是本公开实施例中一种数据处理方法中部分步骤的流程图;Fig. 8 is a flowchart of some steps in a data processing method in an embodiment of the present disclosure;
图9是本公开实施例中一种数据处理方法中部分步骤的流程图;FIG. 9 is a flowchart of some steps in a data processing method in an embodiment of the present disclosure;
图10是本公开实施例中一种发送端设备的组成框图;FIG. 10 is a block diagram of a sending end device in an embodiment of the present disclosure;
图11是本公开实施例中一种接收端设备的组成框图;FIG. 11 is a block diagram of a receiver device in an embodiment of the present disclosure;
图12是本公开实施例中一种会议终端的组成框图;FIG. 12 is a block diagram of a conference terminal in an embodiment of the present disclosure;
图13是本公开实施例中一种计算机可读存储介质的组成框图;Fig. 13 is a composition block diagram of a computer-readable storage medium in an embodiment of the present disclosure;
图14是本公开实例提供的网络会议的网络架构示意图;FIG. 14 is a schematic diagram of a network architecture of a network meeting provided by an example of the present disclosure;
图15是本公开实例提供的会议终端的架构示意图;FIG. 15 is a schematic diagram of a conference terminal provided by an example of the present disclosure;
图16是本公开实例提供的多条媒体传输链路建立流程的示意图;FIG. 16 is a schematic diagram of a process for establishing multiple media transmission links provided by an example of the present disclosure;
图17是本公开实例提供的发送端的会议终端发送媒体数据的流程示意图;以及FIG. 17 is a schematic flow diagram of sending media data by a conference terminal at the sending end provided by an example of the present disclosure; and
图18是本公开实例提供的接收端的会议终端接收并处理媒体数据的流程示意图。Fig. 18 is a schematic flowchart of receiving and processing media data by a conference terminal at a receiving end provided by an example of the present disclosure.
具体实施方式Detailed ways
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的数据传输方法、数据处理方法、发送端设备、接收端设备、会议终端以及计算机可读存储介质进行详细描述。In order for those skilled in the art to better understand the technical solution of the present disclosure, the data transmission method, data processing method, sending end device, receiving end device, conference terminal and computer-readable storage medium provided by the present disclosure are described below in conjunction with the accompanying drawings A detailed description.
在下文中将参考附图更充分地描述示例实施例,但是所述示例 实施例可以以不同形式来体现,且本公开不应当被解释为限于本文阐述的实施例。提供这些实施例的目的在于使本公开更加透彻和完整,并使本领域技术人员充分理解本公开的范围。Example embodiments will be described more fully hereinafter with reference to the accompanying drawings, but the example embodiments may be embodied in different forms and the disclosure should not be construed as limited to the embodiments set forth herein. These embodiments are provided to make the present disclosure more thorough and complete, and to enable those skilled in the art to fully understand the scope of the present disclosure.
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。In the case of no conflict, various embodiments of the present disclosure and various features in the embodiments can be combined with each other.
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
本文所使用的术语仅用于描述特定实施例,且不限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在特定特征、整体、步骤、操作、元件和/或组件,但不排除存在或可添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。The terms used herein are for describing particular embodiments only, and do not limit the present disclosure. As used herein, the singular forms "a" and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that when the terms "comprising" and/or "consisting of" are used in this specification, the presence of specific features, integers, steps, operations, elements and/or components is specified but not excluded or may be present. Add one or more other features, integers, steps, operations, elements, components and/or groups thereof.
除非另外限定,否则本文所用的所有术语(包括技术术语和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。Unless otherwise defined, all terms (including technical terms and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with their meanings in the context of the relevant art and the present disclosure, and will not be interpreted as having idealized or excessive formal meanings unless This article expressly so limits.
丢包和时延是影响网络会议质量的重要因素。随着网络条件的恶化,丢包和时延会愈发严重。一些相关技术能够解决网络条件恶劣时的丢包问题,以保障网络会议的质量。Packet loss and delay are important factors affecting the quality of online conferences. As network conditions deteriorate, packet loss and delay will become more serious. Some related technologies can solve the packet loss problem when the network condition is bad, so as to guarantee the quality of the network meeting.
例如,在一些相关技术中,通过丢包重传和前向纠错(FEC,Forward Error Correction)解决丢包问题。丢包重传是指发送端设备缓存数据包,在被告知数据包丢失的情况下重传丢失的数据包;前向纠错是指在发送数据包的同时携带FEC冗余包,接收端检测到丢包时,可以从FEC冗余包里面恢复部分数据包。但是,丢包重传和前向纠错都只能解决一部分丢包问题,而在解决时延问题方面仍有不足。For example, in some related technologies, the packet loss problem is solved by packet loss retransmission and forward error correction (FEC, Forward Error Correction). Packet loss retransmission means that the sending end device caches data packets and retransmits the lost data packets when it is notified that the data packets are lost; forward error correction refers to carrying FEC redundant packets while sending data packets, and the receiving end detects When the packet is lost, some data packets can be recovered from the FEC redundant packet. However, both packet loss retransmission and forward error correction can only solve part of the packet loss problem, and are still insufficient in solving the delay problem.
第一方面,参照图1,本公开实施例提供一种数据传输方法,应用于发送端设备,包括步骤S100和S200。In a first aspect, referring to FIG. 1 , an embodiment of the present disclosure provides a data transmission method applied to a sending end device, including steps S100 and S200.
S100、与接收端设备建立多条媒体传输链路,多条所述媒体传 输链路对应于所述发送端设备接入的多种网络。S100. Establish multiple media transmission links with the receiving end device, and the multiple media transmission links correspond to various networks accessed by the sending end device.
S200、通过多条所述媒体传输链路传输待传输数据。S200. Transmit data to be transmitted through multiple media transmission links.
需要说明的是,在本公开提供的数据传输方法中,发送端设备是指在一次数据传输过程中发送数据的设备;接收端设备是指在一次数据传输过程中接收数据的设备。在完整的数据传输过程中,同一设备既可以是发送端设备,也可以是接收端设备。在一些实施方式中,发送端设备和接收端设备为会议终端。It should be noted that, in the data transmission method provided in the present disclosure, the sending end device refers to a device that sends data during a data transmission process; the receiving end device refers to a device that receives data during a data transmission process. During a complete data transfer, the same device can be both a sender and a receiver. In some implementation manners, the sending end device and the receiving end device are conference terminals.
在本公开提供的数据传输方法中,媒体传输链路用于在发送端设备和接收端设备之间传输媒体数据。媒体数据可以是指音频数据,也可以为视频数据,还可以是音视频数据。本公开对此不做特殊限定。在一些实施方式中,媒体传输链路也可以用于传输媒体数据以外的数据,例如文字、文档等。In the data transmission method provided in the present disclosure, the media transmission link is used to transmit media data between the sending end device and the receiving end device. The media data may refer to audio data, may also be video data, and may also be audio and video data. The present disclosure makes no special limitation on this. In some implementations, the media transmission link can also be used to transmit data other than media data, such as text and documents.
在本公开提供的数据传输方法中,发送端设备和接收端设备都具备多种网络通信能力,即发送端设备和接收端设备都能接入多种网络,发送端设备、接收端设备分别接入任意一种网络,发送端设备发送的数据最终都能到达接收端设备。本公开对多种网络不做特殊限定。例如,多种网络包括有线通信网络、无线通信网络和移动通信网络中的至少两者。需要说明的是,在本公开提供的数据传输方法中,发送端设备接入的各种网络的网络资源相互独立,通过不同网络发送数据不会竞争网络资源。In the data transmission method provided in this disclosure, both the sending end device and the receiving end device have multiple network communication capabilities, that is, both the sending end device and the receiving end device can access various networks, and the sending end device and the receiving end device are respectively connected to Into any kind of network, the data sent by the sending end device can finally reach the receiving end device. The present disclosure makes no special limitation on various networks. For example, the various networks include at least two of wired communication networks, wireless communication networks, and mobile communication networks. It should be noted that, in the data transmission method provided in the present disclosure, the network resources of various networks accessed by the sending end device are independent of each other, and sending data through different networks will not compete for network resources.
在本公开提供的数据传输方法中,多条媒体传输链路对应于多种网络是指,在发送端设备中,一条媒体传输链路建立在发送端设备接入的一种网络上,多条媒体传输链路分别建立在发送端设备接入的多种网络上。在本公开提供的数据传输方法中,在接收端设备中,多条媒体传输链路也对应于接收端设备接入的多种网络。同一条媒体传输链路在发送端设备中对应的网络与在接收端设备中对应的网络可以相同,也可以不同,本公开对此不做特殊限定。In the data transmission method provided in this disclosure, multiple media transmission links corresponding to multiple networks means that in the sending end device, one media transmission link is established on a network connected to the sending end device, and multiple media transmission links The media transmission links are respectively established on various networks accessed by the sending end device. In the data transmission method provided in the present disclosure, in the receiving end device, the multiple media transmission links also correspond to various networks accessed by the receiving end device. The network corresponding to the same media transmission link in the sending end device and the corresponding network in the receiving end device may be the same or different, which is not specifically limited in the present disclosure.
还需说明的是,步骤S100和S200是在内核层面执行的,应用层和用户对多条媒体传输链路的建立和通过多条媒体传输链路传输数据的过程无感知。It should also be noted that steps S100 and S200 are executed at the kernel level, and the application layer and the user are not aware of the process of establishing multiple media transmission links and transmitting data through multiple media transmission links.
本公开提供的数据传输方法中,建立在多种网络上的多条媒体传输链路互为备份,通过多条媒体传输链路传输数据时多条媒体传输链路之间不会相互竞争网络资源,在传输数据时,多条媒体传输链路中总会有时延相对最小的一条媒体传输链路,相当于总能通过时延相对最小的媒体传输链路传输数据,并且一条媒体传输链路丢包时还有其他媒体传输链路进行补充。当该数据传输方法应用于网络会议时,能够极大缩短时延,避免丢包,从而有效保障了网络会议的质量,提升了用户体验。In the data transmission method provided by the present disclosure, multiple media transmission links established on various networks serve as mutual backups, and when transmitting data through multiple media transmission links, the multiple media transmission links will not compete with each other for network resources , when transmitting data, there will always be a media transmission link with the smallest delay among the multiple media transmission links, which means that data can always be transmitted through the media transmission link with the There are other media transmission links to supplement the package. When the data transmission method is applied to a network conference, it can greatly shorten the delay and avoid packet loss, thereby effectively ensuring the quality of the network conference and improving user experience.
在一些实施方式中,参照图2,步骤S200包括步骤S210和S220。In some implementations, referring to FIG. 2 , step S200 includes steps S210 and S220.
S210、为所述待传输数据的数据包添加标签字段,不同数据包的标签字段不同。S210. Add a label field to the data packet of the data to be transmitted, and the label fields of different data packets are different.
S220、将添加了标签字段的数据包复制到各条所述媒体传输链路进行传输。S220. Copy the data packet added with the label field to each of the media transmission links for transmission.
本公开提供的数据传输方法中标签字段用于唯一的标识数据包。本公开对标签字段不做特殊限定。例如,发送端设备对数据包进行编号,各个数据包的序列号即数据包的标签字段。In the data transmission method provided by the present disclosure, the tag field is used to uniquely identify the data packet. The present disclosure makes no special limitation on the label field. For example, the sending end device numbers the data packets, and the sequence number of each data packet is the label field of the data packets.
本公开提供的数据传输方法中为数据包添加标签字段,并将添加了标签字段的数据包复制到各条媒体传输链路进行传输,使得接收端设备从多条媒体传输链路接收到数据包后能够根据数据包的标签字段筛除重复接收的数据包,即对于多条媒体传输链路中相同的数据包,接收端设备只选择最先达到的一者,后续接收到重复的数据包则丢弃,从而能够缩短时延。In the data transmission method provided by the present disclosure, a label field is added to the data packet, and the data packet with the label field added is copied to each media transmission link for transmission, so that the receiving end device receives the data packet from multiple media transmission links Afterwards, the data packets received repeatedly can be screened out according to the label fields of the data packets, that is, for the same data packets in multiple media transmission links, the receiving end device only selects the one that arrives first, and the repeated data packets received subsequently will be discarded to shorten the delay.
需要说明的是,本公开提供的数据传输方法中,应用层对多条媒体传输链路的建立和通过多条媒体传输链路传输数据的过程无感知。当需要发送媒体数据时,应用层将待传输数据写入发送缓冲区,并向内核发送套接字(socket)发送调用信令;内核响应于socket发送调用信令从发送缓冲区获取待传输数据。It should be noted that, in the data transmission method provided in the present disclosure, the application layer is not aware of the establishment of multiple media transmission links and the process of transmitting data through the multiple media transmission links. When the media data needs to be sent, the application layer writes the data to be transmitted into the sending buffer, and sends a socket (socket) call signal to the kernel; the kernel responds to the socket sending call signal to obtain the data to be transmitted from the send buffer .
在一些实施方式中,在数据包的包头添加标签字段。In some implementations, a label field is added to the packet header of the data packet.
在一些实施方式中,参照图3,步骤S210包括步骤S211和S212。In some implementations, referring to FIG. 3 , step S210 includes steps S211 and S212.
S211、判断所述待传输数据的数据包是否为媒体数据包。S211. Determine whether the data packet of the data to be transmitted is a media data packet.
S212、在所述待传输数据的数据包为媒体数据包的情况下,为所述待传输数据的数据包添加标签字段。S212. When the data packet of the data to be transmitted is a media data packet, add a tag field to the data packet of the data to be transmitted.
在本公开提供的数据传输方法中,媒体数据包可以是指音频数据包,也可以视频数据包,还可以是音视频数据包。本公开对此不做特殊限定。In the data transmission method provided in the present disclosure, the media data packet may refer to an audio data packet, may also be a video data packet, and may also be an audio and video data packet. The present disclosure makes no special limitation on this.
需要说明的是,在网络会议过程中,除了传输对时延和丢包较敏感的媒体数据,还可以传输对时延和丢包相对不敏感的非媒体数据,例如文字、文档等。通过步骤S211和S212,当待传输数据是媒体数据时,将媒体数据拷贝到多条媒体传输链路进行传输;当待传输数据为非媒体数据时,通过多条媒体传输链路中的一者传输非媒体数据,能够整体上节约网络资源,避免因传输非媒体数据造成网络拥塞,从而进一步保障网络会议质量。It should be noted that during the online conference, in addition to transmitting media data that is sensitive to delay and packet loss, non-media data that is relatively insensitive to delay and packet loss, such as text and documents, can also be transmitted. Through steps S211 and S212, when the data to be transmitted is media data, the media data is copied to multiple media transmission links for transmission; when the data to be transmitted is non-media data, through one of the multiple media transmission links The transmission of non-media data can save network resources as a whole, avoid network congestion caused by the transmission of non-media data, and further guarantee the quality of network meetings.
在一些实施方式中,参照图4,步骤S100包括步骤S111至S113。In some implementations, referring to FIG. 4 , step S100 includes steps S111 to S113.
S111、与所述接收端设备建立第一链路。S111. Establish a first link with the receiving end device.
S112、通过所述第一链路获取所述接收端设备的网络配置信息。S112. Acquire network configuration information of the receiving end device through the first link.
S113、在所述接收端设备接入多种网络的情况下,根据所述发送端设备的网络配置信息和所述接收端设备的网络配置信息,建立至少一条第二链路,所述多条媒体传输链路包括所述第一链路和所述至少一条第二链路。S113. In the case that the receiving end device accesses multiple networks, establish at least one second link according to the network configuration information of the sending end device and the network configuration information of the receiving end device, and the multiple The media transmission link includes the first link and the at least one second link.
在一些实施方式中,第一链路是在应用层建立的,第二链路是在内核层面建立的。在一些实施方式中,发送端设备使用主网际协议地址(IP,Internet Protocol)与接收端设备建立第一链路。In some embodiments, the first link is established at the application layer, and the second link is established at the kernel level. In some implementation manners, the sending end device establishes the first link with the receiving end device using a primary Internet Protocol address (IP, Internet Protocol).
在一些实施方式中,参照图4,在步骤S111之后,步骤S100还包括步骤S114。In some implementations, referring to FIG. 4 , after step S111 , step S100 further includes step S114 .
S114、通过所述第一链路向所述接收端设备传输所述发送端设备的网络配置信息。S114. Transmit the network configuration information of the sending-end device to the receiving-end device through the first link.
通过步骤S114将发送端设备的网络配置信息发送到接收端设备,使得接收端设备能够根据发送端设备的网络配置信息与发送端设备建立多条媒体传输链路。The network configuration information of the sending end device is sent to the receiving end device through step S114, so that the receiving end device can establish multiple media transmission links with the sending end device according to the network configuration information of the sending end device.
在一些实施方式中,参照图5,步骤S100包括步骤S121和S122。In some implementations, referring to FIG. 5 , step S100 includes steps S121 and S122.
S121、创建多个套接字以与所述接收端设备建立多条媒体传输链路。S121. Create multiple sockets to establish multiple media transmission links with the receiving device.
S122、将所述多个套接字与所述发送端设备中用于接入多种网络的多个网卡一一对应绑定。S122. Bind the multiple sockets in a one-to-one correspondence with multiple network cards used to access various networks in the sending end device.
需要说明的是,使用多个套接字与接收端设备建立多条媒体传输链路,能够使应用层对于多条媒体传输链路的创建以及通过多条媒体传输链路传输数据的过程无感知。It should be noted that using multiple sockets to establish multiple media transmission links with the receiving end device can make the application layer unaware of the creation of multiple media transmission links and the process of transmitting data through multiple media transmission links .
在一些实施方式中,所述发送端设备接入的多种网络包括有线通信网络、无线通信网络和移动通信网络中的至少两者。In some implementation manners, the various networks accessed by the sending end device include at least two of a wired communication network, a wireless communication network, and a mobile communication network.
第二方面,参照图6,本公开实施例提供一种数据处理方法,应用于接收端设备,包括步骤S300和S400。In a second aspect, referring to FIG. 6 , an embodiment of the present disclosure provides a data processing method applied to a receiving end device, including steps S300 and S400.
S300、通过与发送端设备建立的多条媒体传输链路接收待处理数据包,多条所述媒体传输链路对应于所述接收端设备接入的多种网络。S300. Receive data packets to be processed through multiple media transmission links established with the sending end device, where the multiple media transmission links correspond to various networks accessed by the receiving end device.
S400、对所述待处理数据包进行处理。S400. Process the data packets to be processed.
需要说明的是,在本公开提供的数据处理方法中,发送端设备是指在一次数据传输过程中发送数据的设备;接收端设备是指在一次数据传输过程中接收数据的设备。在完整的数据传输过程中,同一设备既可以是发送端设备,也可以是接收端设备。在一些实施方式中,发送端设备和接收端设备为会议终端。It should be noted that, in the data processing method provided in the present disclosure, the sending device refers to a device that sends data during a data transmission; the receiving device refers to a device that receives data during a data transmission. During a complete data transfer, the same device can be both a sender and a receiver. In some implementation manners, the sending end device and the receiving end device are conference terminals.
在本公开提供的数据处理方法中,媒体传输链路用于在发送端设备和接收端设备之间传输媒体数据。媒体数据可以是指音频数据,也可以为视频数据,还可以是音视频数据。本公开对此不做特殊限定。在一些实施方式中,媒体传输链路也可以用于传输媒体数据以外的数据,例如文字、文档等。In the data processing method provided in the present disclosure, the media transmission link is used to transmit media data between the sending end device and the receiving end device. The media data may refer to audio data, may also be video data, and may also be audio and video data. The present disclosure makes no special limitation on this. In some implementations, the media transmission link can also be used to transmit data other than media data, such as text and documents.
在本公开提供的数据处理方法中,发送端设备和接收端设备都具备多种网络通信能力,即发送端设备和接收端设备都能接入多种网络,发送端设备、接收端设备分别接入任意一种网络,发送端设备发送的数据最终都能到达接收端设备。本公开对多种网络不做特殊限定。例如,多种网络包括有线通信网络、无线通信网络和移动通信网络中 的至少两者。需要说明的是,在本公开提供的数据处理方法中,发送端设备接入的各种网络的网络资源相互独立,通过不同网络发送数据不会竞争网络资源。In the data processing method provided in this disclosure, both the sending end device and the receiving end device have multiple network communication capabilities, that is, both the sending end device and the receiving end device can access various networks, and the sending end device and the receiving end device are respectively connected to Into any kind of network, the data sent by the sending end device can finally reach the receiving end device. The present disclosure makes no special limitation on various networks. For example, the various networks include at least two of a wired communication network, a wireless communication network, and a mobile communication network. It should be noted that, in the data processing method provided in the present disclosure, the network resources of various networks accessed by the sending end device are independent of each other, and sending data through different networks will not compete for network resources.
在本公开提供的数据处理方法中,多条媒体传输链路对应于多种网络是指,在接收端设备中,一条媒体传输链路建立在接收端设备接入的一种网络上,多条媒体传输链路分别建立在接收端设备接入的多种网络上。在本公开提供的数据处理方法中,在发送端设备中,多条媒体传输链路也对应于发送端设备接入的多种网络。同一条媒体传输链路在发送端设备中对应的网络与在接收端设备中对应的网络可以相同,也可以不同,本公开对此不做特殊限定。In the data processing method provided in the present disclosure, multiple media transmission links corresponding to multiple networks means that in the receiving end device, one media transmission link is established on a network accessed by the receiving end device, and multiple media transmission links The media transmission links are respectively established on various networks accessed by the receiving end device. In the data processing method provided in the present disclosure, in the sender device, the multiple media transmission links also correspond to various networks accessed by the sender device. The network corresponding to the same media transmission link in the sending end device and the corresponding network in the receiving end device may be the same or different, which is not specifically limited in the present disclosure.
还需说明的是,步骤S300是在内核层面执行的,应用层和用户对通过多条媒体传输链路接收待处理数据包的过程无感知。It should also be noted that step S300 is executed at the kernel level, and the application layer and the user are unaware of the process of receiving data packets to be processed through multiple media transmission links.
本公开提供的数据处理方法中,建立在多种网络上的多条媒体传输链路互为备份,通过多条媒体传输链路接收待处理数据包时多条媒体传输链路不会相互竞争网络资源,在接收待处理数据包时,多条媒体传输链路中总会有时延相对最小的一条媒体传输链路,相当于总能通过相对时延最小的媒体传输链路接收待处理数据包,并且一条媒体传输链路丢包时还有其他媒体传输链路进行补充。当该数据处理方法应用于网络会议时,能够极大缩短时延,避免丢包,从而有效保障了网络会议的质量,提升了用户体验。In the data processing method provided by the present disclosure, multiple media transmission links established on various networks serve as backups for each other, and multiple media transmission links will not compete with each other when receiving data packets to be processed through multiple media transmission links resources, when receiving data packets to be processed, there will always be a media transmission link with the smallest delay among the multiple media transmission links, which means that the data packets to be processed can always be received through the media transmission link with the smallest relative delay. And when a media transmission link loses packets, there are other media transmission links to supplement it. When the data processing method is applied to a network conference, it can greatly shorten the delay and avoid packet loss, thereby effectively ensuring the quality of the network conference and improving user experience.
在一些实施方式中,接收端设备按照“谁先到收谁”的原则从多条媒体传输链路中接收数据包。“谁先到收谁”的原则是指发送端设备将数据包复制到各条媒体传输链路进行传输,接收端设备从多条媒体传输链路接收到数据包后筛除重复接收的数据包,即对于多条媒体传输链路中相同的数据包,接收端设备只选择最先达到的一者,后续接收到重复的数据包则丢弃,从而能够缩短时延。In some implementation manners, the receiving end device receives data packets from multiple media transmission links according to the principle of "whoever arrives first receives". The principle of "whoever arrives first" means that the sending device copies the data packets to each media transmission link for transmission, and the receiving device filters out the duplicate received data packets after receiving data packets from multiple media transmission links , that is, for the same data packet in multiple media transmission links, the receiving end device only selects the one that arrives first, and discards the repeated data packets received subsequently, so that the delay can be shortened.
相应地,在一些实施方式中,参照图7,步骤S400包括步骤S410至S430。Correspondingly, in some implementations, referring to FIG. 7 , step S400 includes steps S410 to S430.
S410、提取所述待处理数据包的标签字段,不同待处理数据包的标签字段不同。S410. Extract the label field of the data packet to be processed, and the label fields of different data packets to be processed are different.
S420、在所述待处理数据包的标签字段与任意一个已接收数据包的标签字段相同的情况下,丢弃所述待处理数据包。S420. If the label field of the data packet to be processed is the same as the label field of any received data packet, discard the data packet to be processed.
S430、在所述待处理数据包的标签字段与各个已接收数据包的标签字段均不相同的情况下,对所述待处理数据包执行应用层处理。S430. In a case where the label field of the data packet to be processed is different from the label field of each received data packet, perform application layer processing on the data packet to be processed.
本公开提供的数据处理方法中标签字段用于唯一的标识数据包,接收端设备能够根据标签字段筛除重复接收的数据包。本公开对标签字段不做特殊限定。例如,发送端设备对数据包进行编号,各个数据包的序号即数据包的标签字段。In the data processing method provided by the present disclosure, the tag field is used to uniquely identify the data packet, and the receiving end device can screen out the repeatedly received data packets according to the tag field. The present disclosure makes no special limitation on the label field. For example, the sending end device numbers the data packets, and the sequence number of each data packet is the label field of the data packets.
在一些实施方式中,对所述待处理数据包执行应用层处理包括:去除待处理数据包的标签字段,将去除标签字段的待处理数据包向上发送到应用层程序,进行下一步的处理。In some implementations, performing application layer processing on the pending data packet includes: removing the label field of the pending data packet, and sending the pending data packet from which the label field is removed to the application layer program for further processing.
本公开提供的数据处理方法中,在网络会议过程中,发送端设备除了传输对时延和丢包较敏感的媒体数据,还可以传输对时延和丢包相对不敏感的非媒体数据,例如文字、文档等。在一些实施方式中,发送端设备只为媒体数据包添加标签字段,并复制到多条媒体传输链路进行传输;非媒体数据则不添加标签字段,通过多条媒体传输链路中的一者进行传输。In the data processing method provided by the present disclosure, during the network conference, in addition to transmitting media data that is sensitive to delay and packet loss, the sending device can also transmit non-media data that is relatively insensitive to delay and packet loss, for example text, documents, etc. In some embodiments, the sending end device only adds a label field to the media data packet, and copies it to multiple media transmission links for transmission; non-media data does not add a label field, and passes through one of the multiple media transmission links to transfer.
在本公开提供的数据处理方法中,媒体数据可以是指音频数据包,也可以是视频数据包,还可以是音视频数据包。本公开对此不做特殊限定。In the data processing method provided in the present disclosure, the media data may refer to audio data packets, video data packets, or audio and video data packets. The present disclosure makes no special limitation on this.
相应地,在一些实施方式中,参照图8,步骤S410包括步骤S411和S412。Correspondingly, in some implementations, referring to FIG. 8 , step S410 includes steps S411 and S412.
S411、判断所述待处理数据包是否为媒体数据包。S411. Determine whether the data packet to be processed is a media data packet.
S412、在所述待处理数据包为媒体数据包的情况下,提取所述待处理数据包的标签字段。S412. If the data packet to be processed is a media data packet, extract a label field of the data packet to be processed.
在一些实施方式中,发送端设备首先与接收端设备建立第一链路,通过第一链路获取接收端设备的网络配置信息,并通过第一链路向接收端设备传输发送端设备的网络配置信息。In some embodiments, the sending end device first establishes a first link with the receiving end device, obtains the network configuration information of the receiving end device through the first link, and transmits the network configuration information of the sending end device to the receiving end device through the first link configuration information.
相应地,在一些实施方式中,参照图9,在步骤S300之前,所述数据处理方法还包括步骤S501和S502。Correspondingly, in some implementations, referring to FIG. 9 , before step S300, the data processing method further includes steps S501 and S502.
S501、接收所述发送端设备的网络配置信息。S501. Receive network configuration information of the sending end device.
S502、根据所述发送端设备的网络配置信息与所述接收端设备的网络配置信息,与所述发送端设备建立多条所述媒体传输链路。S502. Establish multiple media transmission links with the sending device according to the network configuration information of the sending device and the network configuration information of the receiving device.
第三方面,参照图10,本公开实施例提供一种发送端设备,包括一个或多个处理器101(图10中仅示出一个)、存储器102以及一个或多个I/O接口103(图10中仅示出一个)。In a third aspect, referring to FIG. 10 , an embodiment of the present disclosure provides a sender device, including one or more processors 101 (only one is shown in FIG. 10 ), memory 102, and one or more I/O interfaces 103 ( Only one is shown in Figure 10).
存储器102上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器101执行时,使得所述一个或多个处理器101实现第一方面本公开实施例提供的数据传输方法。One or more computer programs are stored on the memory 102, and when the one or more computer programs are executed by the one or more processors 101, the one or more processors 101 realize the first aspect of the present disclosure The data transmission method provided by the embodiment.
所述一个或多个I/O接口103连接在处理器101与存储器102之间,配置为实现处理器101与存储器102的信息交互。The one or more I/O interfaces 103 are connected between the processor 101 and the memory 102 and are configured to realize information exchange between the processor 101 and the memory 102 .
处理器101为具有数据处理能力的器件,包括但不限于中央处理器(CPU)等;存储器102为具有数据存储能力的器件,包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)103连接在处理器101与存储器102间,能实现处理器101与存储器102的信息交互,包括但不限于数据总线(Bus)等。 Processor 101 is a device with data processing capability, including but not limited to central processing unit (CPU) etc.; memory 102 is a device with data storage capability, including but not limited to random access memory (RAM, more specifically SDRAM, DDR etc.), read-only memory (ROM), electrified erasable programmable read-only memory (EEPROM), flash memory (FLASH); I/O interface (read-write interface) 103 is connected between processor 101 and memory 102, can realize processing Information interaction between the device 101 and the memory 102, including but not limited to a data bus (Bus).
在一些实施方式中,处理器101、存储器102和I/O接口103通过总线104相互连接,进而与计算设备的其它组件连接。In some implementations, the processor 101 , the memory 102 and the I/O interface 103 are connected to each other through the bus 104 , and are further connected to other components of the computing device.
第四方面,参照图11,本公开实施例提供一种接收端设备,包括一个或多个处理器201(图11中仅示出一个)、存储器202以及一个或多个I/O接口203(图11中仅示出一个)。In the fourth aspect, referring to FIG. 11 , an embodiment of the present disclosure provides a receiver device, including one or more processors 201 (only one is shown in FIG. 11 ), memory 202, and one or more I/O interfaces 203 ( Only one is shown in Figure 11).
存储器202上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器201执行时,使得所述一个或多个处理器201实现第二方面本公开实施例提供的数据处理方法。One or more computer programs are stored on the memory 202, and when the one or more computer programs are executed by the one or more processors 201, the one or more processors 201 realize the second aspect of the present disclosure The data processing method provided by the embodiment.
所述一个或多个I/O接口203连接在处理器201与存储器202之间,配置为实现处理器201与存储器202的信息交互。The one or more I/O interfaces 203 are connected between the processor 201 and the memory 202 and are configured to realize information exchange between the processor 201 and the memory 202 .
处理器201为具有数据处理能力的器件,包括但不限于中央处理器(CPU)等;存储器202为具有数据存储能力的器件,包括但不 限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)203连接在处理器201与存储器202间,能实现处理器201与存储器202的信息交互,包括但不限于数据总线(Bus)等。 Processor 201 is a device with data processing capability, including but not limited to central processing unit (CPU) etc.; memory 202 is a device with data storage capability, including but not limited to random access memory (RAM, more specifically SDRAM, DDR etc.), read-only memory (ROM), electrified erasable programmable read-only memory (EEPROM), flash memory (FLASH); I/O interface (read-write interface) 203 is connected between processor 201 and memory 202, can realize processing Information interaction between the device 201 and the memory 202, including but not limited to a data bus (Bus).
在一些实施方式中,处理器201、存储器202和I/O接口203通过总线204相互连接,进而与计算设备的其它组件连接。In some implementations, the processor 201 , the memory 202 and the I/O interface 203 are connected to each other through the bus 204 , and further connected to other components of the computing device.
第五方面,参照图12,本公开实施例提供一种会议终端,包括一个或多个处理器301(图12中仅示出一个)、存储器302以及一个或多个I/O接口303(图12中仅示出一个)。In the fifth aspect, referring to FIG. 12 , an embodiment of the present disclosure provides a conference terminal, including one or more processors 301 (only one is shown in FIG. 12 ), memory 302, and one or more I/O interfaces 303 (FIG. 12 only one is shown).
存储器302上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器301执行时,使得所述一个或多个处理器301实现第一方面本公开实施例提供的数据传输方法和第二方面本公开实施例提供的数据处理方法中的至少一者。One or more computer programs are stored on the memory 302, and when the one or more computer programs are executed by the one or more processors 301, the one or more processors 301 implement the first aspect of the present disclosure The data transmission method provided by the embodiments and the second aspect At least one of the data processing methods provided by the embodiments of the present disclosure.
所述一个或多个I/O接口303连接在处理器301与存储器302之间,配置为实现处理器301与存储器302的信息交互。The one or more I/O interfaces 303 are connected between the processor 301 and the memory 302 and are configured to implement information exchange between the processor 301 and the memory 302 .
处理器301为具有数据处理能力的器件,包括但不限于中央处理器(CPU)等;存储器302为具有数据存储能力的器件,包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)303连接在处理器301与存储器302间,能实现处理器301与存储器302的信息交互,包括但不限于数据总线(Bus)等。 Processor 301 is a device with data processing capability, including but not limited to central processing unit (CPU) etc.; memory 302 is a device with data storage capability, including but not limited to random access memory (RAM, more specifically SDRAM, DDR etc.), read-only memory (ROM), electrified erasable programmable read-only memory (EEPROM), flash memory (FLASH); I/O interface (read-write interface) 303 is connected between processor 301 and memory 302, can realize processing Information interaction between the device 301 and the memory 302, including but not limited to a data bus (Bus).
在一些实施方式中,处理器301、存储器302和I/O接口303通过总线304相互连接,进而与计算设备的其它组件连接。In some implementations, the processor 301 , the memory 302 and the I/O interface 303 are connected to each other through the bus 304 , and further connected to other components of the computing device.
第六方面,参照图13,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下方法中的至少一者:In the sixth aspect, referring to FIG. 13 , an embodiment of the present disclosure provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, at least one of the following methods is implemented:
第一方面本公开实施例提供的数据传输方法;和The data transmission method provided by the embodiment of the present disclosure in the first aspect; and
第二方面本公开实施例提供的数据处理方法。The second aspect is the data processing method provided by the embodiments of the present disclosure.
为了使本领域技术人员能够更清楚地理解本公开实施例提供的技术方案,下面通过具体的实例,对本公开实施例提供的技术方案进行详细说明。In order to enable those skilled in the art to understand the technical solutions provided by the embodiments of the present disclosure more clearly, the technical solutions provided by the embodiments of the present disclosure will be described in detail below through specific examples.
图14是本公开实例提供的网络会议的网络架构示意图。Fig. 14 is a schematic diagram of the network architecture of the network meeting provided by the disclosed example.
在本实例中,会议终端都支持有线网络、无线网络和5G网络三种网络通信能力,会议终端可以接入任意一种网络,发送端的会议终端发送的数据都能够到达接收端的会议终端。In this example, the conference terminals support three types of network communication capabilities: wired network, wireless network, and 5G network. The conference terminal can be connected to any network, and the data sent by the conference terminal at the sending end can reach the conference terminal at the receiving end.
在本实例中,会议终端之间基于有线网络、无线网络和5G网络三种网络建立三条媒体传输链路:媒体传输链路1、媒体传输链路2和媒体传输链路3。In this example, three media transmission links are established between conference terminals based on three types of networks: wired network, wireless network and 5G network: media transmission link 1, media transmission link 2 and media transmission link 3.
图15是本公开实例提供的会议终端的架构示意图。Fig. 15 is a schematic structural diagram of a conference terminal provided by an example of the present disclosure.
会议终端的应用层包括配置为处理媒体数据和非媒体数据的媒体模块,应用层通过用户数据报协议(UDP,User Datagram Protocol)方式将码流交给会议终端的内核。The application layer of the conference terminal includes a media module configured to process media data and non-media data, and the application layer sends the code stream to the kernel of the conference terminal through the User Datagram Protocol (UDP, User Datagram Protocol).
会议终端的内核包括传输控制协议(TCP,Transmission Control Protocol)栈、建链模块、以及分发模块。建链模块配置为创建多条媒体传输链路,分发模块配置为为数据包添加标签字段、拷贝数据包、以及将数据包分发到多条媒体传输链路进行转发。The kernel of the conference terminal includes a transmission control protocol (TCP, Transmission Control Protocol) stack, a link building module, and a distribution module. The link building module is configured to create multiple media transmission links, and the distribution module is configured to add a label field to the data packet, copy the data packet, and distribute the data packet to multiple media transmission links for forwarding.
会议终端的物理层包括有线网卡、无线网卡、5G模块,内核通过物理层的有线网卡、无线网卡、5G模块建立媒体传输链路1、媒体传输链路2、媒体传输链路3。The physical layer of the conference terminal includes wired network card, wireless network card, and 5G module. The kernel establishes media transmission link 1, media transmission link 2, and media transmission link 3 through the wired network card, wireless network card, and 5G module of the physical layer.
图16是本公开实例提供的多条媒体传输链路建立流程的示意图。如图16所示,多条媒体传输链路的建立流程包括步骤E101至E103。Fig. 16 is a schematic diagram of a process for establishing multiple media transmission links provided by an example of the present disclosure. As shown in FIG. 16, the process of establishing multiple media transmission links includes steps E101 to E103.
E101、发送端的会议终端中应用层媒体模块发起建立第一链路(主通道),通过主通道获取接收端的会议终端具备的网络通信能力,例如,接收端的会议终端是否支持有线网络、无线网络、5G网络。E101. The application layer media module in the conference terminal at the sending end initiates the establishment of the first link (main channel), and obtains the network communication capabilities of the conference terminal at the receiving end through the main channel, for example, whether the conference terminal at the receiving end supports wired networks, wireless networks, 5G network.
E102、判断发送端的会议终端的有线网络、无线网络、5G网络是否可用;若有线网络、无线网络、5G网络中的至少两者可用,执行E103;否则,通过主通道与接收端的会议终端进行交互。E102. Determine whether the wired network, wireless network, and 5G network of the conference terminal at the sending end are available; if at least two of the wired network, wireless network, and 5G network are available, execute E103; otherwise, interact with the conference terminal at the receiving end through the main channel .
E103、判断接收端的会议终端是否支持有线网络、无线网络、 5G网络中的至少两者;若接收端的会议终端支持有线网络、无线网络、5G网络中的至少两者,在内核层面发起与接收端的会议终端建立多条媒体传输链路;否则,通过主通道与接收端的会议终端进行交互。E103. Determine whether the conference terminal at the receiving end supports at least two of a wired network, a wireless network, and a 5G network; The conference terminal establishes multiple media transmission links; otherwise, it interacts with the conference terminal at the receiving end through the main channel.
图17是本公开实例提供的发送端的会议终端发送媒体数据的流程示意图。如图17所示,发送端的会议终端发送媒体数据的流程包括步骤E201至E204。Fig. 17 is a schematic flowchart of sending media data by a conference terminal at a sending end provided by an example of the present disclosure. As shown in FIG. 17 , the process of sending media data by the conference terminal at the sending end includes steps E201 to E204.
E201、应用层将媒体数据发送给内核协议栈来处理。E201. The application layer sends the media data to the kernel protocol stack for processing.
E202、内核判断当前发送端和接收端之间是否已经建立多条媒体传输链路;若未建立多条媒体传输链路,则发起建立多条媒体传输链路;若已经建立多条媒体传输链路,则为媒体数据的每一个数据包编号,并在数据包的包头添加序列号。E202. The kernel judges whether multiple media transmission links have been established between the current sending end and the receiving end; if multiple media transmission links have not been established, then initiate the establishment of multiple media transmission links; if multiple media transmission links have been established If there is a path, number each data packet of the media data, and add a sequence number to the header of the data packet.
E203、将添加了序列号的数据包拷贝多份,分别通过多条媒体传输链路进行转发。E203. Multiple copies of the data packet added with the sequence number are copied, and forwarded through multiple media transmission links respectively.
E204、由发送端的物理层的有线网卡、无线网卡、5G模块将添加了序列号的数据包发送到各条媒体传输链路对应的网络,完成发送端的会议终端的发送任务。E204. The wired network card, wireless network card, and 5G module of the physical layer of the sending end send the data packet with the added serial number to the network corresponding to each media transmission link, and complete the sending task of the conference terminal at the sending end.
图18是本公开实例提供的接收端的会议终端接收并处理媒体数据的流程示意图。如图18所示,接收端的会议终端接收并处理媒体数据的流程包括步骤E301至E303。Fig. 18 is a schematic flowchart of receiving and processing media data by a conference terminal at a receiving end provided by an example of the present disclosure. As shown in FIG. 18 , the process of receiving and processing media data by the conference terminal at the receiving end includes steps E301 to E303 .
E301、接收端物理层的有线网卡、无线网卡、5G模块先后收到媒体数据,然后将数据向上发送到内核协议栈进行处理;E301, the wired network card, wireless network card, and 5G module of the physical layer of the receiving end receive media data successively, and then send the data up to the kernel protocol stack for processing;
E302、内核协议栈收到媒体数据后,解析数据包包头中的序列号,判断是否已经接收过序列号相同的数据包;若已经接收过序列号相同的数据包,则丢弃该数据包,继续等待下一个数据包;否则,将该数据包向上发送到应用层程序,进行下一步的处理;E302, after the kernel protocol stack receives the media data, it parses the serial number in the header of the data packet to determine whether the data packet with the same serial number has been received; if the data packet with the same serial number has been received, discard the data packet and continue Wait for the next data packet; otherwise, send the data packet up to the application layer program for the next step of processing;
E303、应用层程序(主要是媒体模块)收到数据包后,进行相应的解码和送显处理,对应用层来说,对内核层面通过多条媒体传输链路接收多份相同数据包的过程无感知。E303. After the application layer program (mainly the media module) receives the data packet, it performs corresponding decoding and display processing. For the application layer, the process of receiving multiple copies of the same data packet through multiple media transmission links at the kernel level No perception.
本领域普通技术人员可以理解,上文中所公开方法中的全部或 某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器(如中央处理器、数字信号处理器或微处理器)执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。Those of ordinary skill in the art can understand that all or some of the steps in the method disclosed above and the functional modules/units in the device can be implemented as software, firmware, hardware and an appropriate combination thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be composed of several physical components. Components cooperate to execute. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). As known to those of ordinary skill in the art, the term computer storage media includes both volatile and nonvolatile media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. permanent, removable and non-removable media. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridges, tape, magnetic disk storage or other magnetic storage devices, or can Any other medium used to store desired information and which can be accessed by a computer. In addition, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media .
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则与特定实施例相结合描述的特征、特性和/或元素可单独使用,或可与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。Example embodiments have been disclosed herein, and while specific terms have been employed, they are used and should be construed in a generic descriptive sense only and not for purposes of limitation. In some instances, it will be apparent to those skilled in the art that features, characteristics and/or elements described in connection with a particular embodiment may be used alone or in combination with features, characteristics described in connection with other embodiments, unless expressly stated otherwise. and/or elements in combination. Accordingly, it will be understood by those of ordinary skill in the art that various changes in form and details may be made without departing from the scope of the present disclosure as set forth in the appended claims.

Claims (15)

  1. 一种数据传输方法,应用于发送端设备,包括:A data transmission method applied to a sending device, including:
    与接收端设备建立多条媒体传输链路,多条所述媒体传输链路对应于所述发送端设备接入的多种网络;以及Establishing multiple media transmission links with the receiving end device, where the multiple media transmission links correspond to various networks accessed by the sending end device; and
    通过多条所述媒体传输链路传输待传输数据。The data to be transmitted is transmitted through multiple media transmission links.
  2. 根据权利要求1所述的数据传输方法,其中,所述通过多条所述媒体传输链路传输待传输数据包括:The data transmission method according to claim 1, wherein said transmitting the data to be transmitted through a plurality of said media transmission links comprises:
    为所述待传输数据的数据包添加标签字段,不同数据包的标签字段不同;以及Adding a label field to the data packet of the data to be transmitted, the label fields of different data packets are different; and
    将添加了标签字段的数据包复制到各条所述媒体传输链路进行传输。Copying the data packet added with the label field to each of the media transmission links for transmission.
  3. 根据权利要求2所述的数据传输方法,其中,所述为所述待传输数据的数据包添加标签字段包括:The data transmission method according to claim 2, wherein said adding a label field to the data packet of the data to be transmitted comprises:
    判断所述待传输数据的数据包是否为媒体数据包;以及judging whether the data packet of the data to be transmitted is a media data packet; and
    在所述待传输数据的数据包为媒体数据包的情况下,为所述待传输数据的数据包添加标签字段。When the data packet of the data to be transmitted is a media data packet, a label field is added to the data packet of the data to be transmitted.
  4. 根据权利要求1至3中任意一项所述的数据传输方法,其中,所述与接收端设备建立多条媒体传输链路包括:The data transmission method according to any one of claims 1 to 3, wherein said establishing multiple media transmission links with the receiving end device comprises:
    与所述接收端设备建立第一链路;establishing a first link with the receiving end device;
    通过所述第一链路获取所述接收端设备的网络配置信息;以及Obtaining network configuration information of the receiver device through the first link; and
    在所述接收端设备接入多种网络的情况下,根据所述发送端设备的网络配置信息和所述接收端设备的网络配置信息,建立至少一条第二链路,所述多条媒体传输链路包括所述第一链路和所述至少一条第二链路。When the receiving end device accesses multiple networks, at least one second link is established according to the network configuration information of the sending end device and the network configuration information of the receiving end device, and the multiple media transmissions The links include the first link and the at least one second link.
  5. 根据权利要求4所述的数据传输方法,其中,所述与接收端 设备建立多条媒体传输链路还包括:The data transmission method according to claim 4, wherein said setting up multiple media transmission links with the receiving end device also includes:
    在所述与所述接收端设备建立第一链路之后,通过所述第一链路向所述接收端设备传输所述发送端设备的网络配置信息。After the first link is established with the receiving end device, the network configuration information of the sending end device is transmitted to the receiving end device through the first link.
  6. 根据权利要求1至3中任意一项所述的数据传输方法,其中,所述与接收端设备建立多条媒体传输链路包括:The data transmission method according to any one of claims 1 to 3, wherein said establishing multiple media transmission links with the receiving end device comprises:
    创建多个套接字以与所述接收端设备建立多条媒体传输链路;以及creating a plurality of sockets to establish a plurality of media transmission links with the receiving device; and
    将所述多个套接字与所述发送端设备中用于接入多种网络的多个网卡一一对应绑定。Binding the multiple sockets in one-to-one correspondence with multiple network cards used to access various networks in the sending end device.
  7. 根据权利要求1至3中任意一项所述的数据传输方法,其中,所述发送端设备接入的多种网络包括有线通信网络、无线通信网络、移动通信网络中的至少两者。The data transmission method according to any one of claims 1 to 3, wherein the various networks accessed by the sending end device include at least two of a wired communication network, a wireless communication network, and a mobile communication network.
  8. 一种数据处理方法,应用于接收端设备,包括:A data processing method applied to a receiving end device, comprising:
    通过与发送端设备建立的多条媒体传输链路接收待处理数据包,多条所述媒体传输链路对应于所述接收端设备接入的多种网络;以及receiving the data packet to be processed through multiple media transmission links established with the sending end device, where the multiple media transmission links correspond to various networks accessed by the receiving end device; and
    对所述待处理数据包进行处理。Process the data packets to be processed.
  9. 根据权利要求8所述的数据处理方法,其中,所述对所述待处理数据包进行处理包括:The data processing method according to claim 8, wherein said processing said data packet to be processed comprises:
    提取所述待处理数据包的标签字段,其中,不同待处理数据包的标签字段不同;Extracting the label fields of the data packets to be processed, wherein the label fields of different data packets to be processed are different;
    在所述待处理数据包的标签字段与任意一个已接收数据包的标签字段相同的情况下,丢弃所述待处理数据包;以及In the case that the label field of the data packet to be processed is the same as the label field of any received data packet, discarding the data packet to be processed; and
    在所述待处理数据包的标签字段与各个已接收数据包的标签字段均不相同的情况下,对所述待处理数据包执行应用层处理。In a case where the label field of the data packet to be processed is different from the label field of each received data packet, application layer processing is performed on the data packet to be processed.
  10. 根据权利要求9所述的数据处理方法,其中,所述提取所 述待处理数据包的标签字段包括:The data processing method according to claim 9, wherein said extracting the label field of said data packet to be processed comprises:
    判断所述待处理数据包是否为媒体数据包;以及judging whether the data packet to be processed is a media data packet; and
    在所述待处理数据包为媒体数据包的情况下,提取所述待处理数据包的标签字段。In the case that the data packet to be processed is a media data packet, the label field of the data packet to be processed is extracted.
  11. 根据权利要求8至10中任意一项所述的数据处理方法,还包括:The data processing method according to any one of claims 8 to 10, further comprising:
    在所述通过与发送端设备建立的多条媒体传输链路接收待处理数据包之前,接收所述发送端设备的网络配置信息;以及Before receiving the data packets to be processed through the multiple media transmission links established with the sender device, receiving network configuration information of the sender device; and
    根据所述发送端设备的网络配置信息与所述接收端设备的网络配置信息,与所述发送端设备建立多条所述媒体传输链路。Establishing multiple media transmission links with the sender device according to the network configuration information of the sender device and the network configuration information of the receiver device.
  12. 一种发送端设备,包括:A sender device, comprising:
    至少一个处理器;at least one processor;
    存储器,其上存储有至少一个计算机程序,当所述至少一个计算机程序被所述至少一个处理器执行时,使得所述至少一个处理器实现根据权利要求1至7中任意一项所述的数据传输方法;以及memory having stored thereon at least one computer program which, when executed by said at least one processor, causes said at least one processor to implement data according to any one of claims 1 to 7 method of transmission; and
    至少一个I/O接口,连接在所述处理器与所述存储器之间,配置为实现所述处理器与所述存储器的信息交互。At least one I/O interface is connected between the processor and the memory and is configured to realize information exchange between the processor and the memory.
  13. 一种接收端设备,包括:A receiver device, comprising:
    至少一个处理器;at least one processor;
    存储器,其上存储有至少一个计算机程序,当所述至少一个计算机程序被所述至少一个处理器执行时,使得所述至少一个处理器实现根据权利要求8至11中任意一项所述的数据处理方法;以及memory having stored thereon at least one computer program which, when executed by said at least one processor, causes said at least one processor to implement data according to any one of claims 8 to 11 the method of treatment; and
    至少一个I/O接口,连接在所述处理器与所述存储器之间,配置为实现所述处理器与所述存储器的信息交互。At least one I/O interface is connected between the processor and the memory and is configured to realize information exchange between the processor and the memory.
  14. 一种会议终端,包括:A conference terminal, comprising:
    至少一个处理器;at least one processor;
    存储器,其上存储有至少一个计算机程序,当所述至少一个计算机程序被所述至少一个处理器执行时,使得所述至少一个处理器实现根据权利要求1至7中任意一项所述的数据传输方法和根据权利要求8至11中任意一项所述的数据处理方法中的至少一者;以及memory having stored thereon at least one computer program which, when executed by said at least one processor, causes said at least one processor to implement data according to any one of claims 1 to 7 at least one of a transmission method and a data processing method according to any one of claims 8 to 11; and
    至少一个I/O接口,连接在所述处理器与所述存储器之间,配置为实现所述处理器与所述存储器的信息交互。At least one I/O interface is connected between the processor and the memory and is configured to realize information exchange between the processor and the memory.
  15. 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下方法中的至少一者:A computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, at least one of the following methods is implemented:
    根据权利要求1至7中任意一项所述的数据传输方法;和A data transmission method according to any one of claims 1 to 7; and
    根据权利要求8至11中任意一项所述的数据处理方法。The data processing method according to any one of claims 8-11.
PCT/CN2022/106656 2021-09-10 2022-07-20 Data transmission method, data processing method, sending end device, receiving end device, conference terminal, and computer-readable storage medium WO2023035779A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111062989.5 2021-09-10
CN202111062989.5A CN115801739A (en) 2021-09-10 2021-09-10 Data transmission method, data processing method and device, conference terminal and medium

Publications (1)

Publication Number Publication Date
WO2023035779A1 true WO2023035779A1 (en) 2023-03-16

Family

ID=85416796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/106656 WO2023035779A1 (en) 2021-09-10 2022-07-20 Data transmission method, data processing method, sending end device, receiving end device, conference terminal, and computer-readable storage medium

Country Status (2)

Country Link
CN (1) CN115801739A (en)
WO (1) WO2023035779A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117478707A (en) * 2023-12-27 2024-01-30 天津数智物联科技有限公司 Multi-target energy management data transmission method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665142A (en) * 2012-04-05 2012-09-12 浙江大学 Wireless audio and video parallel transmission method with terminal equalization rate
WO2014101068A1 (en) * 2012-12-27 2014-07-03 华为技术有限公司 Method for realizing multi-wireless-mode communication and user equipment
CN107018088A (en) * 2017-03-06 2017-08-04 北京安博通科技股份有限公司 Transmission link system of selection and device
CN108540380A (en) * 2017-03-02 2018-09-14 华为技术有限公司 More subflow network transfer methods and device
CN109769139A (en) * 2018-11-23 2019-05-17 深圳秦云网科技有限公司 A kind of method and device of transmitting video data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665142A (en) * 2012-04-05 2012-09-12 浙江大学 Wireless audio and video parallel transmission method with terminal equalization rate
WO2014101068A1 (en) * 2012-12-27 2014-07-03 华为技术有限公司 Method for realizing multi-wireless-mode communication and user equipment
CN108540380A (en) * 2017-03-02 2018-09-14 华为技术有限公司 More subflow network transfer methods and device
CN107018088A (en) * 2017-03-06 2017-08-04 北京安博通科技股份有限公司 Transmission link system of selection and device
CN109769139A (en) * 2018-11-23 2019-05-17 深圳秦云网科技有限公司 A kind of method and device of transmitting video data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117478707A (en) * 2023-12-27 2024-01-30 天津数智物联科技有限公司 Multi-target energy management data transmission method
CN117478707B (en) * 2023-12-27 2024-05-07 天津数智物联科技有限公司 Multi-target energy management data transmission method

Also Published As

Publication number Publication date
CN115801739A (en) 2023-03-14

Similar Documents

Publication Publication Date Title
JP6640038B2 (en) Method and apparatus for performing extended file distribution in multicast communication or broadcast communication
US7143132B2 (en) Distributing files from a single server to multiple clients via cyclical multicasting
WO2019144836A1 (en) Data transmission method, apparatus and system
WO2022247550A1 (en) Data retransmission processing method and apparatus, computer device, and storage medium
JP5711143B2 (en) Method and apparatus for performing reliable multicast streaming
EP2437421B1 (en) Method, device and communication system for retransmitting based on forward error correction
JPWO2005099188A1 (en) Communication quality control method and apparatus
CN109391551B (en) Multi-port multicast method, equipment and computer readable storage medium
WO2023035779A1 (en) Data transmission method, data processing method, sending end device, receiving end device, conference terminal, and computer-readable storage medium
WO2017162117A1 (en) Accurate speed limiting method and apparatus for cluster
WO2017173880A1 (en) Method and device for reducing packet loss ratio of transmission
TWI230531B (en) Local area network of controlling signal transmission and a method thereof
WO2017148419A1 (en) Data transmission method and server
US11134001B2 (en) Data distribution method and distribution server
US7660906B1 (en) Data delivery system and method
WO2022100199A1 (en) Data transmission method and apparatus, and medium, electronic device and network access device
WO2017045568A1 (en) Media stream transmission method, device, and system
WO2019205756A1 (en) Data transmission protection method, apparatus, and system, and computer readable storage medium
US9948473B2 (en) Seamless connection handshake for a reliable multicast session
JP2004135239A (en) Data distributing apparatus, receiving apparatus, data distributing method, data distributing program, and recording medium with the same program recorded thereon
WO2010108416A1 (en) Method, device and communication system for forwarding scalable video coding data messages
WO2020007278A1 (en) Data transmitting method and device, and data receiving method and device
CN109792444B (en) Play-out buffering in a live content distribution system
Yetgi et al. Efficient progressive downloading over multimedia broadcast multicast service
WO2024104016A1 (en) Data transmission method and apparatus, and electronic device and storage medium

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: 22866254

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE