WO2023000894A1 - 一种数据传输方法、装置、服务器、存储介质及程序产品 - Google Patents
一种数据传输方法、装置、服务器、存储介质及程序产品 Download PDFInfo
- Publication number
- WO2023000894A1 WO2023000894A1 PCT/CN2022/099987 CN2022099987W WO2023000894A1 WO 2023000894 A1 WO2023000894 A1 WO 2023000894A1 CN 2022099987 W CN2022099987 W CN 2022099987W WO 2023000894 A1 WO2023000894 A1 WO 2023000894A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transmission channel
- transmission
- session layer
- channel
- data
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 454
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000009826 distribution Methods 0.000 claims abstract description 10
- 238000005070 sampling Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 3
- 230000032258 transport Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100206195 Arabidopsis thaliana TCP2 gene Proteins 0.000 description 2
- 101000666730 Homo sapiens T-complex protein 1 subunit alpha Proteins 0.000 description 2
- 101100536570 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CCT2 gene Proteins 0.000 description 2
- 102100038410 T-complex protein 1 subunit alpha Human genes 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1095—Inter-network session transfer or sharing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/327—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the session layer [OSI layer 5]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
Definitions
- the present application relates to the technical field of data transmission, in particular to data transmission.
- cloud video As an example, the content of cloud video is integrated in the cloud video server, and the cloud video server provides video services to the user's terminal equipment, such as on-demand, live broadcast, video call, cloud game, etc.
- the server is usually based on a multi-channel single-protocol transmission solution.
- the multi-channel transmission scheme can provide more feasible alternative channels, the effect on improving the quality of service is still not significant.
- TCP Transmission Control Protocol
- FIG. 1 is a schematic diagram of the architecture of the MPTCP transmission scheme in the stack. As shown in Figure 1, TCP1, TCP2...TCPn of the transport layer are n different channels under the TCP protocol.
- subflow a, subflow b, subflow c, and subflow d are transmitted through two TCP channels (TCP1 and TCP2), seq represents the sequence number of the subflow data packet, ack represents the response, and the next sequence is allowed Number of packets transmitted.
- TCP1 and TCP2 TCP1 and TCP2
- seq represents the sequence number of the subflow data packet
- ack represents the response
- the next sequence is allowed Number of packets transmitted.
- the data packet with the sequence number 124 can be transmitted by the subflow b through another TCP channel only after receiving a response.
- Embodiments of the present application provide a data transmission method, device, server, storage medium, and program product, so as to increase the degree of freedom of data transmission and improve the quality of data transmission services.
- the present application provides a data transmission method on the one hand, and the method includes:
- the first transmission channel as the responsible channel for the content to be transmitted, transmit the data unit distributed by the session layer to the target terminal device;
- the transport layer uses different transport protocols
- the data unit delivered by the session layer is transmitted to the target terminal device via the second transmission channel.
- a data transmission device the device includes:
- a data unit division module configured to divide the content to be transmitted into multiple data units at the session layer, and the content to be transmitted is used for transmission to the target terminal device;
- the transmission module is configured to use the first transmission channel as the responsible channel for the content to be transmitted, and transmit the data unit distributed by the session layer to the target terminal device;
- the data unit distribution module is used to distribute the data unit to the second transmission channel by the session layer when the session layer switches the responsible channel of the content to be transmitted from the first transmission channel to the second transmission channel; the first transmission channel and the The second transmission channel adopts different transmission protocols in the transmission layer;
- the transmission module is further configured to transmit the data unit distributed by the session layer to the target terminal device through the second transmission channel.
- Another aspect of the present application provides a server for transmitting video data, the server includes a processor and a memory:
- the memory is used to store the program code and transmit the program code to the processor
- the processor is configured to execute the steps of the data transmission method according to the above aspect according to the instructions in the program code.
- Another aspect of the present application provides a computer-readable storage medium, where the computer-readable storage medium is used to store program codes, and the program codes are used to execute the data transmission method of the above aspect.
- Another aspect of the present application provides a computer program product including instructions, which, when run on a computer, cause the computer to execute the data transmission method of the above aspect.
- a first transmission channel and a second transmission channel connected to a target terminal device are established at the transport layer, and the two channels use different transmission protocols.
- the content to be transmitted is divided into multiple data units at the session layer, and the session layer makes a switching decision on the responsible channel for transmitting the content to be transmitted.
- the session layer switches the responsible channel from the first transmission channel to the second transmission channel, the session layer distributes the data units to the second transmission channel, and the second transmission channel specifically sends the data units distributed by the session layer to the target terminal device.
- the session layer Since the transmission protocols of the two transmission channels are different, and the session layer is responsible for segmenting and distributing data units, it can get rid of the limitations and constraints of the data sequence number space inherent in the transmission protocol, and facilitate the session layer to independently manage and distribute data. Constrained by the same sequence space of a certain transmission protocol, the degree of freedom of transmission is improved, and the quality of data transmission service is effectively improved, so that users corresponding to the target terminal can experience the transmitted content more smoothly. In addition, the design of multiple channels can also improve the reliability of data transmission.
- Figure 1 is a schematic diagram of the architecture of the MPTCP transmission scheme in the stack
- Fig. 2 is a schematic diagram of the sequential transmission of data packets of multiple subflows in the MPTCP transmission scheme
- FIG. 3A is an application scenario architecture diagram of the data transmission method provided by the embodiment of the present application.
- FIG. 3B is a schematic diagram of a communication model framework between a server and a target terminal device provided in an embodiment of the present application;
- FIG. 3C is a schematic diagram of a video stream production device transmitting content to be transmitted to a server provided by an embodiment of the present application;
- FIG. 4 is a flowchart of a data transmission method provided by an embodiment of the present application.
- FIG. 5 is a schematic diagram of a server distributing data units to transmission channels at the session layer according to an embodiment of the present application
- FIG. 6 is a flow chart of another data transmission method provided by the embodiment of the present application.
- FIG. 7A is a schematic diagram of data units in various transmission states provided by the embodiment of the present application.
- FIG. 7B is a schematic diagram of a data unit selectively distributed to the second transmission channel provided by the present application.
- FIG. 8 is a schematic diagram of distributing data units across multiple channels provided by an embodiment of the present application.
- FIG. 9 is a schematic diagram of distributing data units accumulated in the first transmission channel to the second transmission channel that need to be retransmitted according to an embodiment of the present application.
- FIG. 10 is a schematic structural diagram of a data transmission device provided in an embodiment of the present application.
- FIG. 11 is a schematic structural diagram of a server for data transmission provided by an embodiment of the present application.
- FIG. 12 is a schematic structural diagram of a terminal device for data transmission provided by an embodiment of the present application.
- the MPTCP scheme is a multi-channel transmission scheme.
- the MPTCP transmission scheme is limited by the protocol.
- Each TCP channel transmits data packets according to the same sequence number space. Before the current data packet being transmitted is confirmed by the peer, it is not allowed to transmit the data packet with the next sequence number. Therefore, the degree of freedom is low when transmitting data through the MPTCP scheme, which affects the quality of data transmission services provided to users.
- the present application proposes a data transmission method, device, server and storage medium.
- the following describes the data transmission method in combination with actual application scenarios.
- the data transmission method provided in this application can be applied to computer equipment with data transmission functions, such as servers or terminals.
- the terminal device may specifically be a smart phone, a desktop computer, a notebook computer, a tablet computer, a smart speaker, a smart watch, etc., but is not limited thereto.
- the server may be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers.
- the server can also provide basic cloud services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Cloud server for computing services.
- Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and network in a wide area network or a local area network to realize data calculation, storage, processing, and sharing.
- Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on cloud computing business model applications. It can form a resource pool and be used on demand, which is flexible and convenient. Cloud computing technology will become an important support.
- the background services of technical network systems require a lot of computing and storage resources, such as video websites, picture websites and more portal websites. With the rapid development and application of the Internet industry, each item may have its own identification mark in the future, which needs to be transmitted to the background system for logical processing. Data of different levels will be processed separately, and all kinds of industry data need to be powerful.
- the system backing support can only be realized through cloud computing.
- Cloud games can also be called gaming on demand, which is an online game technology based on cloud computing technology.
- Cloud gaming technology enables light-end devices with relatively limited graphics processing and data computing capabilities to run high-quality games.
- the game is not run on the player's game terminal, but in the cloud server, and the cloud server renders the game scene into a video and audio stream, which is transmitted to the player's game terminal through the network.
- the player's game terminal does not need to have powerful graphics computing and data processing capabilities, but only needs to have basic streaming media playback capabilities and the ability to obtain player input instructions and send them to the cloud server.
- the data transmission method will be introduced and explained by taking the server as an example of implementing the method.
- the implementation subject of this method may also be a terminal device.
- FIG. 3A is an application scenario architecture diagram of the data transmission method provided by the embodiment of the present application.
- the application scenario shown in FIG. 3A includes a server 301 and a terminal device 302 .
- the server 301 may communicate with one or more terminal devices 302 .
- the target terminal device 302 may be any terminal device 302 communicatively connected to the server 301 .
- the server 301 and the target terminal device 302 establish at least two transmission channels with different transmission protocols.
- the first transmission channel and the second transmission channel are taken as examples for description.
- the first transmission channel may be a transmission channel under the TCP protocol
- the second transmission channel may be a transmission channel under the UDP protocol.
- the dotted line and the solid line between the server 301 and the target terminal device 302 respectively represent the first transmission channel and the second transmission channel.
- FIG. 3B is an architecture diagram of a communication model between a server and a target terminal device.
- the communication model includes a session layer, a transport layer, a network layer, a data link layer and a physical layer.
- the transport layer includes multiple transport channels using different transport protocols, and FIG. 3B only briefly shows the first transport channel (TCP protocol) and the second transport channel (UDP protocol).
- TCP protocol transport channel
- UDP protocol transport channel
- the first physical layer is responsible for the original bit stream transmission on the mechanical, electronic, and timing interface communication channels.
- the second layer is responsible for physical addressing while converting the raw bit stream into a logical transmission line.
- the first layer and the second layer usually belong to the network card and network cable.
- the third layer of the network layer is responsible for controlling the operation of the subnet, such as logical addressing, packet transmission, routing selection, etc.
- the fourth layer is used to transmit the content to be transmitted to the peer (ie, the target terminal device) and receive a response from the peer.
- the fifth layer is the session layer, which is used to establish and manage sessions with target terminal equipment. The following focuses on the important role of the session layer in the above communication model framework in terms of data transmission in the embodiment of the present application.
- the transmission of content from the server 301 to the target terminal device 302 is no longer performed independently by the transport layer, but by the participation of the session layer.
- the content to be transmitted may be multimedia data, such as video data, audio data and so on.
- the server 301 divides the content to be transmitted that needs to be provided to the target terminal device through the session layer, and obtains multiple data units of the content to be transmitted through the segmentation.
- the data units segmented by the session layer can be uniformly managed by the session layer, including identifying the transmission status and importance of the data units to control the distribution of the data units. That is, the session layer manages the boundaries and state of data units.
- the session layer switches the responsible channel for the content to be transmitted, since the data unit can be managed and distributed to the new responsible channel by the session layer, and the transmission protocols of the responsible channel before and after switching are different, the new The responsible channel only needs to transmit the data units distributed by the session layer to the target terminal device 302, and other undistributed data units can be skipped and not retransmitted.
- the transmission of content data units to be transmitted is controlled by the session layer, which increases the freedom of data transmission and improves the service quality of data transmission. It also improves user experience.
- the content to be transmitted divided by the server 301 at the session layer may be provided by a video stream production device 303 .
- FIG. 3C is a schematic diagram of the video stream production device 303 transmitting the content to be transmitted to the server 301 .
- FIG. 4 is a flowchart of a data transmission method provided by an embodiment of the present application. This method is applied to the server 301 in the data transmission architecture shown in FIG. 3A , and the solution is implemented at the server 301 .
- the implementation of the solution is based on the establishment of at least two transmission channels with different transmission protocols between the server and the target terminal device, which are used or reserved for data transmission.
- the data transmission methods shown in Figure 4 include:
- S401 Divide the content to be transmitted into multiple data units at the session layer.
- the content to be transmitted described in the embodiment of the present application refers to the content that the server needs to transmit to the target terminal device.
- the target terminal device runs a certain game application program, and the video stream of the game is integrated in the cloud video server, then the cloud video server needs to transmit the video data of the game as the content to be transmitted to the target terminal device.
- the server divides the content to be transmitted (such as a video stream) into multiple data units at the session layer.
- the content to be transmitted such as a video stream
- the server By dividing the content to be transmitted into data units at the session layer, it can get rid of the limitation and restriction of the data serial number space inherent in a transmission channel transmission protocol, and facilitate the session layer to independently manage and distribute data.
- the video frame size and the video packet size of the video are determined at the session layer; the minimum value of the video frame size and the packet size is used as the Partitioning granularity; the video is divided into multiple data units according to the partitioning granularity at the session layer. If the size of the video frame is smaller than the size of the data packet, the content to be transmitted is divided into multiple data units with the video frame as the granularity; if the size of the data packet is smaller than the size of the video frame, the content to be transmitted is divided into multiple data units at the granularity data unit.
- the session layer can implement more fine-grained management and distribution.
- These data units divided by the session layer can be managed by a unified number of the session layer, for example, the numbers are 1, 2, 3 and so on.
- the session layer divides the content to be transmitted, it may specifically number according to the composition sequence of the data in the to-be-transmitted content (for example, the composition sequence of video pictures).
- the management number of the data unit at the session layer here is different from the serial number assigned to the data in the serial number space under the first transmission channel transmission protocol, and also different from the serial number space under the second transmission channel transmission protocol The serial number assigned to the data in . That is, the numbering of data units is independent of the sequence number space of any transmission protocol, and is also independent of the constraints on the order of data transmission of continuous sequence numbers in any transmission protocol.
- S402 Using the first transmission channel as a responsible channel for the content to be transmitted, transmit the data unit distributed by the session layer to the target terminal device.
- the channel responsible for transmitting the content to be transmitted is called the responsible channel.
- the first transmission channel is used as the responsible channel, that is, the original channel for transmitting data units
- the second transmission channel is used as the responsible channel, that is, the current channel for transmitting data units . Since the present application does not limit the transmission protocol corresponding to the first transmission channel, the specific original channel is not limited.
- the session layer can be used to sample the first transmission channel and the second transmission channel (for example, sampling according to a predetermined time interval or frequency) to obtain network sampling results of the two transmission channels.
- the sampled content may include, but is not limited to: the number of data units accumulated in the channel, channel packet loss rate, and network round trip delay (Round Trip Time, RTT), etc.
- the network sampling result is the sampling result of the above content.
- the server may make a decision between two channels at the session layer based on the network sampling result. For example, the channel with the best network sampling result is used as the current responsible channel. Before S402, it is determined from the first transmission channel and the second transmission channel that the first transmission channel is used as the responsible channel.
- the network sampling of the transmission channel is performed continuously or periodically.
- the network sampling result of the first transmission channel is not constant and may fluctuate.
- the session layer may switch the responsible channel from the first transmission channel to another transmission channel with a different transmission protocol, such as the second transmission channel, according to the network sampling result. After the responsible channel is switched, the session layer may no longer distribute data units to the original responsible channel (ie, the first transmission channel), but distribute data units to the new responsible channel (ie, the second transmission channel).
- the data units distributed to the second transmission channel may include multiple types of data units, for example, data units that have not been transmitted by the first transmission channel, data units that have been transmitted by the first transmission channel but failed, and so on.
- S404 Transmit the data unit distributed by the session layer to the target terminal device by using the second transmission channel.
- the second transmission channel only needs to be responsible for transmitting the data units distributed by the session layer.
- FIG. 5 is a schematic diagram of a server distributing data units to transmission channels at a session layer according to an embodiment of the present application.
- data units 1-4 are distributed to the first transmission channel
- data unit 4 also needs to be distributed to the second transmission channel
- data units 5-7 that have not been distributed also need to be distributed to the second transmission channel.
- the reason for the change of the distribution strategy above is that the channel responsible for the content to be transmitted is switched from the first transmission channel to the second transmission channel.
- the second transmission channel only needs to be responsible for transmitting data units 4, 5, 6, 7, etc.
- the server and the target terminal device have established a first transmission channel and a second transmission channel with different transmission protocols.
- the content to be transmitted is divided into multiple data units at the session layer, and the session layer makes a switching decision on the responsible channel for transmitting the content to be transmitted.
- the session layer is responsible for channel switching from the first transmission channel to the second transmission channel, the session layer distributes the data units to the second transmission channel, and the second transmission channel specifically sends the data units distributed by the session layer to the target terminal device.
- the session layer Since the transmission protocols of the two transmission channels are different, and the session layer is responsible for segmenting and distributing data units, it can get rid of the limitations and constraints of the data sequence number space inherent in the transmission protocol, and facilitate the session layer to independently manage and distribute data. Constrained by the same sequence space of a certain transmission protocol, after channel switching, only the distributed data units need to be transmitted, which improves the degree of freedom of transmission, effectively improves the quality of data transmission services, and enables users corresponding to the target terminal to be smoother Experience the content provided by the server.
- the data transmission is usually operated independently by the transport layer, resulting in that in some cases the effect experienced by the user after data transmission may not match the actual requirements. For example, the actual bit rate is too low, the delay is too large, etc. The main reason for this is that the transport layer itself cannot perceive these requirements.
- the present application also provides another data transmission method, which refers to the performance requirements of the content to be transmitted when the session layer decides to be in charge of the channel. In this way, the determined channel transmission effect can better match the requirements, thereby improving the data transmission service quality and user experience.
- FIG. 6 is a flowchart of another data transmission method provided by the embodiment of the present application.
- the data transmission method shown in Figure 6 includes:
- S700 Establish a first transmission channel and a second transmission channel with the target terminal device at the transport layer, where the first transmission channel and the second transmission channel use different transport protocols.
- FIG. 3A for a schematic diagram of establishing communication between multiple channels of different transmission protocols and the target terminal device.
- S701 Divide the content to be transmitted into multiple data units at the session layer.
- S702 Obtain performance requirement information of the content to be transmitted through the session layer.
- the performance requirement information of the content to be transmitted may include various information, such as video code rate, transmission rate, delay, resolution, and so on.
- the following exemplarily introduces two implementation manners for obtaining performance requirement information of the content to be transmitted.
- the performance requirement information of the content to be transmitted may be received from the target terminal device through the session layer.
- the performance requirement information may be a setting result of the user corresponding to the target terminal device on the content to be transmitted. For example, if the content to be transferred is a cloud game and the player has set the above requirements, the results of these settings can be uploaded to the server after the settings are completed.
- the session layer determines the performance requirement information of the content to be transmitted based on the type of the content to be transmitted.
- different video types correspond to different performance requirement information.
- the player's experience of cloud games may involve the game battle mode, so cloud games need to ensure that players experience high bit rate and ultra-low latency, so as to ensure smooth operation.
- the requirements for the above aspects are relatively low. Therefore, the mapping relationship between the type of content to be transmitted and the performance requirement information can be constructed in advance, so that based on the type of content to be transmitted, the performance requirement information of the content to be transmitted can be directly determined according to the above mapping relationship.
- the session layer determines from the first transmission channel and the second transmission channel that the network sampling results meet the performance requirement information as the responsible channel.
- the first transmission channel may be used as the determined responsible channel.
- the network conditions of the first transmission channel and the second transmission channel are continuously monitored.
- Combining the performance requirement information obtained in S702 and the network sampling results of the first transmission channel and the second transmission channel compare whether the first transmission channel and the second transmission channel meet the performance requirement information. For example, when the network sampling result of the second transmission channel indicates that the performance requirements of the content to be transmitted cannot be met, while the network sampling result of the first transmission channel indicates that the performance requirements of the content to be transmitted can be met, the first transmission channel can be selected as the content to be transmitted The responsible channel for the content.
- the performance of each transmission channel can be judged based on the network sampling results, so that the transmission channel that meets the performance requirements can be accurately determined for the transmission of data units, improving data transfer success rate.
- the transmission that best matches (that is, is the closest) to the performance requirement information can be determined from the first transmission channel and the second transmission channel. aisle.
- the network sampling result of the first transmission channel best matches the performance requirement information, and the first transmission channel is used as the responsible channel for the content to be transmitted. By selecting the most matching transmission channel, the transmission performance can be further guaranteed.
- S704 Use the first transmission channel to transmit the data unit to the target terminal device, and perform network sampling on the first transmission channel through the session layer, to obtain a network sampling result of the first transmission channel.
- the number of data units accumulated in the first transmission channel, the packet loss rate and the network round-trip delay RTT may be sampled through the session layer.
- S705 Determine whether the network sampling result of the first transmission channel satisfies a preset switching condition. If yes, go to S706; if not, go to S704.
- the sampling content may include three aspects: the quantity of accumulated data units, the packet loss rate, and the network round-trip delay RTT.
- preset switching conditions can be set.
- the preset switching conditions include any one of the following conditions or a combination of multiple conditions:
- Second condition the packet loss rate of the first transmission channel reaches a preset rate
- the preset switching conditions include a combination of multiple conditions among the three conditions, if any one of the preset switching conditions is met, the responsible channel needs to be switched.
- Satisfaction of any one of the above first to third conditions indicates that the current channel is used to continue to transmit data units, and the expected data transmission service quality cannot be achieved, which will lead to poor user experience.
- the first condition it means that the first transmission channel is severely blocked, and it is difficult to transmit the data unit.
- the second condition it means that the packet loss rate is too high, and the data units received by the peer end are seriously missing.
- the third condition it means that the delay is too large and a serious breakpoint is experienced at the peer end.
- the original channel is continued to be used to transmit data units, and the channel is continuously monitored.
- the transmission performance of the transmission channel is determined by sampling in multiple dimensions, which can effectively improve the accuracy of determining the responsible channel.
- the session layer selects a data unit to distribute to the second transmission channel based on the transmission status and importance identifier of the data unit is introduced below.
- S707 The session layer judges whether it is a data unit that needs to be retransmitted based on the transmission status and importance identifier of the data unit, and if yes, distributes it to the second transmission channel, and enters S708; if not, does not distribute it to the second transmission channel , enter S708.
- the session layer can identify the transmission status of the data unit and identify the importance flag of the transmission unit.
- the transmission status of the data unit may include: not transmitted, successfully transmitted, unsuccessfully transmitted, and the like. Untransmitted means that the data unit has not been transmitted to the target terminal device; successful transmission means that the data unit has been transmitted and has received confirmation from the peer (ie, the target terminal device); unsuccessful transmission means that the data unit has been transmitted but has not received confirmation from the peer .
- FIG. 7A illustrates data units in various transmission states. Wherein, data units 1-2 are data units that have been successfully transmitted, data units 3-4 are data units that have not been successfully transmitted, and data units 5-8 are data units that have not been transmitted.
- the importance identifier indicates the importance of the data unit to the content to be transmitted, and the importance identifier can be allocated by the session layer and read when needed.
- the specific allocation method can be allocated through the attributes of the data. For example, when the video frame is used as the division granularity, if the data unit is a key frame, the importance flag "first flag” is added, and if the data unit is not a key frame, the importance flag "second flag” is added.
- the data units whose importance is identified as "first identification” are more important than the data units whose importance is identified as "second identification”. As an example, the first identifier is 1, and the second identifier is 0.
- the session layer recognizes the target data unit whose first transmission channel transmission is unsuccessful based on the transmission status of the data unit; the session layer identifies the importance mark of the target data unit; when the importance mark is the first mark, the session layer sends the target data unit The unit is distributed to the second transmission channel; when the importance identifier is the second identifier, the target data unit is not distributed to the second transmission channel. This means that for data units whose transmission fails, the second data channel does not need to retransmit all of them, and distributes them to the second transmission channel according to the importance.
- the transmission state of the data unit indicates that the transmission is unsuccessful, and the importance identification is the second identification, it is judged that the data unit does not need to be retransmitted; if the transmission status of the data unit indicates that the transmission is unsuccessful, and the importance identification is the first identification, Then it is judged that the data unit needs to be retransmitted.
- the target data unit can be selectively retransmitted, and the transmission resource is reasonably used under the premise of ensuring the transmission quality, and the transmission efficiency is improved.
- FIG. 7B is a schematic diagram of selectively distributing data units to a second transmission channel according to the present application.
- the responsible channel is switched from the first transport channel to the second transport channel by the session layer.
- Data units 1 and 2 have been successfully transmitted from the server to the target terminal device by the first transmission channel.
- Data unit 3 and data unit 4 are data units that have not been successfully transmitted by the first transmission channel. By identifying the importance flag, it is judged that data unit 3 needs to be retransmitted, so they are redistributed to the second transmission channel by the session layer.
- the accumulated data unit 4 can be skipped because the importance indicator indicates that it is not a data unit that must be retransmitted.
- the data unit 5 following the data unit 4 is a data unit of a new frame of the content to be transmitted, which has not been transmitted by the first transmission channel, so it is directly distributed to the second transmission channel by the session layer. That is to say, after the second transmission channel finishes retransmitting the data unit 3, it can directly transmit the data unit 5 to the target terminal, and does not need to be responsible for transmitting undistributed data units.
- S708 Transmit the data unit distributed by the session layer to the target terminal device by using the second transmission channel.
- the channel with the highest matching degree is selected as the channel responsible for the content to be transmitted by acquiring the performance requirement information of the content to be transmitted and combining the performance requirement information.
- This solution uses the session layer to perceive the actual needs of the transmission content application scenario, solves the problem that cannot be solved by relying on the transmission layer alone, improves the transmission fluency and reliability of the channel used for transmission, and better matches the actual needs. Data transmission services Quality is improved.
- the session layer can also use multiple transmission channels with different transmission protocols as the channels responsible for the content to be transmitted.
- the account of the user corresponding to the target terminal device has a higher priority, it is possible to use multiple transmission channels as the responsible channel.
- the server distributes different data units to different transmission channels in parallel.
- FIG. 8 is a schematic diagram of distributing data units on multiple channels according to an embodiment of the present application.
- the session layer uses the first transmission channel as the responsible channel for data units 1-9, and uses the second transmission channel as the responsible channel for data units 10-15.
- the server distributes the data units 7-9 that need to be retransmitted to the second transmission channel through the management and decision-making of the session layer, so that the second transmission channel retransmits the data units 7-9 to the target terminal equipment.
- FIG. 9 is a schematic diagram of distributing data units accumulated in a first transmission channel to a second transmission channel according to an embodiment of the present application.
- the session layer will switch the responsible channel again, that is, change the responsible channel from the second transmission channel Back to the first transmission channel. In this way, the quality of data transmission is guaranteed.
- the session layer will still identify the importance identifiers to determine the distribution strategy.
- the present application also provides a data transmission device accordingly.
- the specific implementation of the device will be described below in conjunction with the embodiments and the accompanying drawings.
- FIG. 10 is a schematic structural diagram of a data transmission device provided by an embodiment of the present application.
- the data transmission device 1000 shown in Figure 10 includes:
- a data unit division module 1100 configured to divide the content to be transmitted into multiple data units at the session layer, and the content to be transmitted is used for transmission to the target terminal device;
- the transmission module 1200 is configured to use the first transmission channel as the responsible channel for the content to be transmitted to transmit the data unit distributed by the session layer to the target terminal device;
- the data unit distribution module 1300 is configured to distribute the data unit to the second transmission channel by the session layer when the responsible channel of the content to be transmitted is switched from the first transmission channel to the second transmission channel by the session layer; the first transmission channel using a different transport protocol at the transport layer than the second transport channel;
- the transmission module 1200 is further configured to transmit the data unit distributed by the session layer to the target terminal device through the second transmission channel.
- the transmission module 1200 includes:
- An information acquisition unit configured to acquire performance requirement information of the content to be transmitted through the session layer
- the channel determination unit is used to determine the transmission channel whose network sampling result meets the performance requirement information from the first transmission channel and the second transmission channel by the session layer according to the network sampling results of the first transmission channel and the second transmission channel respectively as the responsible channel for the content to be transmitted;
- the first transmission unit is configured to transmit the data unit of the content to be transmitted to the target terminal device through the first transmission channel.
- the information obtaining unit is configured to receive performance requirement information for the content to be transmitted from the target terminal device through the session layer; or determine, based on the type of the content to be transmitted, the session layer Information describing the performance requirements of the content to be transmitted.
- the responsible channel determination unit is configured to determine, through the session layer, that the network sampling results of the first transmission channel and the second transmission channel meet the performance requirement information, and the first transmission channel The network sampling result of the network most closely matches the performance requirement information, then the first transmission channel is used as the responsible channel for the content to be transmitted.
- the content to be transmitted includes video
- the data unit division module 1100 includes:
- a data size determination unit is used to determine the video frame size of the video and the packet size of the video at the session layer;
- a division granularity determination unit configured to use the minimum value among the video frame size and the data packet size as the division granularity
- the division unit is used to divide the video into multiple data units according to the division granularity at the session layer.
- the data unit distributing module 1300 is configured to, by the session layer, select a data unit to be distributed to the second transmission channel based on the transmission status and the importance identifier of the data unit.
- the data unit distribution module 1300 includes:
- a transmission status identification unit configured to identify a target data unit by the session layer based on the transmission status of the data unit, where the target data unit is a data unit that has not been successfully transmitted by the first transmission channel;
- An importance identification unit used for identifying the importance identification of the target data unit by the session layer
- the distribution unit is configured to distribute the target data unit to the second transmission channel by the session layer when the importance identifier of the target data unit is the first identifier; when the importance identifier of the target data unit is the second identifier, not to the second transmission channel
- the transport channel distributes the object data units.
- the data transmission device may also include:
- a channel switching module configured to switch the responsible channel from the first transmission channel to a second transmission channel with different transmission protocols
- Channel switching module including:
- a sampling unit configured to perform network sampling on the first transmission channel through the session layer, to obtain a network sampling result of the first transmission channel
- the channel switching unit is configured to switch the responsible channel of the content to be transmitted from the first transmission channel to the second transmission channel by the session layer when the network sampling result meets the preset switching condition.
- the sampling unit is specifically configured to sample the number of data units accumulated in the first transmission channel, the packet loss rate and the network round-trip delay RTT through the session layer, to obtain the network sampling result of the first transmission channel;
- the preset switching conditions include any one of the following conditions or a combination of multiple conditions:
- Second condition the packet loss rate of the first transmission channel reaches a preset rate
- the data transmission device also includes:
- a channel establishment module configured to establish the first transmission channel and the second transmission channel between the transport layer and the target terminal device.
- the data device provided in the embodiment of the present application may be applied to a terminal device or a server, and the content to be transmitted is multimedia data.
- the server is a cloud video server, and the multimedia data is cloud video.
- the involved server can form a block chain with other servers, and the server is a node on the block chain.
- the first transmission channel and the second transmission channel connected to the target terminal device are established at the transport layer, and the two channels use different transport protocols.
- the content to be transmitted is divided into multiple data units at the session layer, and the session layer makes a switching decision on the responsible channel for transmitting the content to be transmitted.
- the session layer switches the responsible channel from the first transmission channel to the second transmission channel, the session layer distributes the data units to the second transmission channel, and the second transmission channel specifically sends the data units distributed by the session layer to the target terminal device.
- the session layer Since the transmission protocols of the two transmission channels are different, and the session layer is responsible for segmenting and distributing data units, it can get rid of the limitations and constraints of the data sequence number space inherent in the transmission protocol, and facilitate the session layer to independently manage and distribute data. Constrained by the same sequence space of a certain transmission protocol, the degree of freedom of transmission is improved, and the quality of data transmission service is effectively improved, so that users corresponding to the target terminal can experience the transmitted content more smoothly. In addition, the design of multiple channels can also improve the reliability of data transmission.
- FIG. 11 is a schematic structural diagram of a server provided by an embodiment of the present application, and the server 900 is used for data transmission.
- the server 900 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (central processing units, CPU) 922 (for example, one or more processors) and memory 932, one or more A storage medium 930 (such as one or more mass storage devices) storing application programs 942 or data 944 .
- the memory 932 and the storage medium 930 may be temporary storage or persistent storage.
- the program stored in the storage medium 930 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server.
- the central processing unit 922 may be configured to communicate with the storage medium 930 , and execute a series of instruction operations in the storage medium 930 on the server 900 .
- the server 900 can also include one or more power supplies 926, one or more wired or wireless network interfaces 950, one or more input and output interfaces 958, and/or, one or more operating systems 941, such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM , etc.
- operating systems 941 such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM , etc.
- the steps performed by the server in the foregoing embodiments may be based on the server structure shown in FIG. 11 .
- CPU 922 is used for carrying out following steps:
- the first transmission channel as the channel responsible for the content to be transmitted, transmit the data unit distributed by the session layer to the target terminal device;
- the session layer When the session layer switches the responsible channel of the content to be transmitted from the first transmission channel to a second transmission channel with a different transmission protocol, the session layer distributes data units to the second transmission channel;
- the first transmission channel and the second transmission channel adopt different transmission protocols at the transport layer;
- the data unit distributed by the session layer is transmitted to the target terminal device by using the second transmission channel.
- the embodiment of the present application also provides another terminal device for data transmission, as shown in Figure 12, for the sake of illustration, only the parts related to the embodiment of the present application are shown, and the specific technical details are not disclosed, please refer to The method part of the embodiment of the present application.
- the terminal can be any terminal device including mobile phone, tablet computer, personal digital assistant (English full name: Personal Digital Assistant, English abbreviation: PDA), sales terminal (English full name: Point of Sales, English abbreviation: POS), vehicle-mounted computer, etc. Take the terminal as a mobile phone as an example:
- FIG. 12 shows a block diagram of a partial structure of a mobile phone related to the terminal provided by the embodiment of the present application.
- the mobile phone includes: radio frequency (English full name: Radio Frequency, English abbreviation: RF) circuit 1010, memory 1020, input unit 1030, display unit 1040, sensor 1050, audio circuit 1060, wireless fidelity (WiFi) module 1070, Processor 1080, and power supply 1090 and other components.
- radio frequency English full name: Radio Frequency, English abbreviation: RF
- memory 1020 input unit 1030, display unit 1040, sensor 1050, audio circuit 1060, wireless fidelity (WiFi) module 1070, Processor 1080, and power supply 1090 and other components.
- WiFi wireless fidelity
- the RF circuit 1010 can be used for sending and receiving information or receiving and sending signals during a call.
- the processor 1080 After receiving the downlink information from the base station, it is processed by the processor 1080; in addition, it sends the designed uplink data to the base station.
- the memory 1020 can be used to store software programs and modules, and the processor 1080 executes various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 1020 .
- the input unit 1030 can be used to receive input numbers or character information, and generate key signal input related to user settings and function control of the mobile phone.
- the input unit 1030 may include a touch panel 1031 and other input devices 1032 .
- the display unit 1040 may be used to display information input by or provided to the user and various menus of the mobile phone.
- the display unit 1040 may include a display panel 1041 .
- the handset may also include at least one sensor 1050, such as a light sensor, a motion sensor, and other sensors.
- the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 1041 according to the brightness of the ambient light, and the proximity sensor may turn off the display panel 1041 and/or when the mobile phone is moved to the ear. or backlight.
- the audio circuit 1060, the speaker 1061, and the microphone 1062 can provide an audio interface between the user and the mobile phone.
- WiFi is a short-distance wireless transmission technology.
- the mobile phone can help users send and receive emails, browse web pages, and access streaming media through the WiFi module 1070, which provides users with wireless broadband Internet access.
- the processor 1080 is the control center of the mobile phone. It uses various interfaces and lines to connect various parts of the entire mobile phone. By running or executing software programs and/or modules stored in the memory 1020, and calling data stored in the memory 1020, execution Various functions and processing data of the mobile phone.
- the handset also includes a power source 1090 (such as a battery) for powering various components.
- a power source 1090 such as a battery
- the processor 1080 included in the terminal also has the following functions:
- the first transmission channel as the channel responsible for the content to be transmitted, transmit the data unit distributed by the session layer to the target terminal device;
- the session layer When the session layer switches the responsible channel of the content to be transmitted from the first transmission channel to a second transmission channel with a different transmission protocol, the session layer distributes data units to the second transmission channel;
- the first transmission channel and the second transmission channel adopt different transmission protocols at the transport layer;
- the data unit distributed by the session layer is transmitted to the target terminal device by using the second transmission channel.
- An embodiment of the present application further provides a computer-readable storage medium, which is used to store a program code, and the program code is used to execute any implementation manner in the data transmission method described in the foregoing embodiments.
- An embodiment of the present application further provides a computer program product including instructions, which, when run on a computer, cause the computer to execute any implementation manner in the data transmission method described in the foregoing embodiments.
- the disclosed system, device and method can be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
- the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
- the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
- the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
- the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (English full name: Read-Only Memory, English abbreviation: ROM), random access memory (English full name: Random Access Memory, English abbreviation: RAM), magnetic Various media that can store program codes such as discs or optical discs.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (16)
- 一种数据传输方法,所述方法由计算机设备执行,所述方法包括:在会话层将待传输内容划分为多个数据单元,所述待传输内容用于向目标终端设备传输;以第一传输通道作为所述待传输内容的负责通道,向目标终端设备传输所述会话层分发的所述数据单元;当由所述会话层将所述待传输内容的负责通道从所述第一传输通道切换到第二传输通道时,由所述会话层向所述第二传输通道分发所述数据单元;所述第一传输通道和所述第二传输通道在传输层采用不同的传输协议;以所述第二传输通道向所述目标终端设备传输所述会话层分发的所述数据单元。
- 根据权利要求1所述的方法,所述方法还包括:通过所述会话层获取对所述待传输内容的性能要求信息;根据分别对所述第一传输通道和所述第二传输通道的网络采样结果,由所述会话层从所述第一传输通道和所述第二传输通道中确定出网络采样结果满足所述性能要求信息的传输通道作为所述负责通道。
- 根据权利要求2所述的方法,所述通过所述会话层获取对所述待传输内容的性能要求信息,包括:通过所述会话层从所述目标终端设备接收对所述待传输内容的性能要求信息;或者,由所述会话层基于所述待传输内容的类型确定对所述待传输内容的性能要求信息。
- 根据权利要求2所述的方法,所述根据分别对所述第一传输通道和所述第二传输通道的网络采样结果,由所述会话层从所述第一传输通道和所述第二传输通道中确定出网络采样结果满足所述性能要求信息的传输通道作为所述负责通道,包括:当通过所述会话层确定所述第一传输通道和所述第二传输通道的网络采样结果均满足所述性能要求信息,且所述第一传输通道的网络采样结果与所述性能要求信息最匹配,则将所述第一传输通道作为所述待传输内容的负责通道。
- 根据权利要求1所述的方法,所述待传输内容包括视频,所述在会话层将待传输内容划分为多个数据单元,包括:在所述会话层确定所述视频的视频帧大小和所述视频的数据包大小;将所述视频帧大小与所述数据包大小之中的最小值作为所述划分粒度;在所述会话层根据所述划分粒度将所述视频划分为多个数据单元。
- 根据权利要求1所述的方法,所述由所述会话层向所述第二传输通道分发数据单元,包括:由所述会话层基于所述数据单元的传输状态和重要性标识,选择向所述第二传输通道分发的数据单元。
- 根据权利要求6所述的方法,所述由所述会话层基于所述数据单元的传输状态和重要性标识,选择向所述第二传输通道分发的数据单元,包括:由所述会话层基于所述数据单元的传输状态识别出目标数据单元,所述目标数据单元 为所述第一传输通道传输未成功的数据单元;由所述会话层识别所述目标数据单元的重要性标识;当所述目标数据单元的重要性标识为第一标识时,由所述会话层将所述目标数据单元分发给所述第二传输通道;当所述目标数据单元的重要性标识为第二标识时,不向所述第二传输通道分发所述目标数据单元。
- 根据权利要求1所述的方法,所述方法还包括:通过所述会话层对所述第一传输通道进行网络采样,得到所述第一传输通道的网络采样结果;当所述网络采样结果满足预设切换条件时,由所述会话层将所述负责通道从所述第一传输通道切换到所述第二传输通道。
- 根据权利要求8所述的方法,所述通过所述会话层对所述第一传输通道进行网络采样,得到所述第一传输通道的网络采样结果,包括:通过所述会话层对所述第一传输通道中堆积的数据单元的数量、丢包率和网络往返延迟RTT进行采样,得到所述第一传输通道的网络采样结果;所述预设切换条件包括以下任一种条件或者多种条件的组合:第一条件:所述第一传输通道中堆积的数据单元的数量超过预设数量;第二条件:所述第一传输通道的丢包率达到预设比率;第三条件:所述RTT超过预设时长。
- 根据权利要求1所述的方法,在所述以第一传输通道作为所述待传输内容的负责通道,向目标终端设备传输所述会话层分发的所述数据单元之前,所述方法还包括:在所述传输层与所述目标终端设备之间建立所述第一传输通道和所述第二传输通道。
- 根据权利要求1所述的方法,所述方法应用于服务器,所述待传输内容为多媒体数据。
- 根据权利要求1所述的方法,所述服务器为云视频服务器,所述多媒体数据为云视频。
- 一种数据传输装置,所述装置包括:数据单元划分模块,用于在会话层将待传输内容划分为多个数据单元,所述待传输内容用于向目标终端设备传输;传输模块,用于以第一传输通道作为所述待传输内容的负责通道,向目标终端设备传输所述会话层分发的所述数据单元;数据单元分发模块,用于当由所述会话层将所述待传输内容的负责通道从所述第一传输通道切换到第二传输通道时,由所述会话层向所述第二传输通道分发所述数据单元;所述第一传输通道和所述第二传输通道在传输层采用不同的传输协议;所述传输模块,还用于以所述第二传输通道向所述目标终端设备传输所述会话层分发的所述数据单元。
- 一种用于传输视频数据的服务器,所述服务器包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行权利要求1-12任一项所述的数据传输方法。
- 一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-12任一项所述的数据传输方法。
- 一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行权利要求1-12任一项所述的数据传输方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020237033841A KR20230150878A (ko) | 2021-07-21 | 2022-06-21 | 데이터 송신 방법 및 장치, 그리고 서버, 저장 매체, 및 프로그램 제품 |
EP22845059.9A EP4287591A1 (en) | 2021-07-21 | 2022-06-21 | Data transmission method and apparatus, and server, storage medium and program product |
US18/140,169 US11924255B2 (en) | 2021-07-21 | 2023-04-27 | Data transmission method and apparatus, server, storage medium, and program product |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110827938.0A CN113572836B (zh) | 2021-07-21 | 2021-07-21 | 一种数据传输方法、装置、服务器及存储介质 |
CN202110827938.0 | 2021-07-21 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/140,169 Continuation US11924255B2 (en) | 2021-07-21 | 2023-04-27 | Data transmission method and apparatus, server, storage medium, and program product |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023000894A1 true WO2023000894A1 (zh) | 2023-01-26 |
Family
ID=78166125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/099987 WO2023000894A1 (zh) | 2021-07-21 | 2022-06-21 | 一种数据传输方法、装置、服务器、存储介质及程序产品 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11924255B2 (zh) |
EP (1) | EP4287591A1 (zh) |
KR (1) | KR20230150878A (zh) |
CN (1) | CN113572836B (zh) |
WO (1) | WO2023000894A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150057A (zh) * | 2023-04-24 | 2023-05-23 | 北京探境科技有限公司 | 数据传输方法、装置、计算机设备及可读存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572836B (zh) * | 2021-07-21 | 2022-07-15 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、服务器及存储介质 |
CN114095451B (zh) * | 2021-11-17 | 2024-05-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、设备及计算机可读存储介质 |
CN117318071B (zh) * | 2023-11-30 | 2024-03-15 | 中国电力科学研究院有限公司 | 一种基于高速无线传输网络的电力负荷调控系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719918A (zh) * | 2009-11-27 | 2010-06-02 | 北京交通大学 | 一种改进的适用于多连接多路径的传输方法 |
CN104753971A (zh) * | 2013-12-25 | 2015-07-01 | 北京新媒传信科技有限公司 | 基于远程会议的客户端及媒体源传输方法 |
US20170093811A1 (en) * | 2014-05-20 | 2017-03-30 | Secret Double Octopus Ltd. | Method for establishing a secure private interconnection over a multipath network |
CN108604994A (zh) * | 2015-11-02 | 2018-09-28 | 分散网络公司 | 虚拟分散联网系统和方法 |
CN108932948A (zh) * | 2017-05-26 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 音频数据处理方法、装置、计算机设备和计算机可读存储介质 |
CN110943998A (zh) * | 2019-12-04 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 一种信号传输方法、装置、设备及介质 |
CN111316598A (zh) * | 2018-07-17 | 2020-06-19 | 华为技术有限公司 | 一种多屏互动方法及设备 |
CN113572836A (zh) * | 2021-07-21 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、服务器及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590127A (en) * | 1995-05-26 | 1996-12-31 | Lucent Technologies Inc. | Multimedia conference call providing adjustable bandwidth for individual communication terminals |
US6628615B1 (en) * | 2000-01-18 | 2003-09-30 | International Business Machines Corporation | Two level virtual channels |
US8837599B2 (en) * | 2004-10-04 | 2014-09-16 | Broadcom Corporation | System, method and apparatus for clean channel change |
CN104918125A (zh) * | 2015-05-19 | 2015-09-16 | 乐视致新电子科技(天津)有限公司 | 一种频道的切换方法和装置 |
CN105450539A (zh) * | 2015-12-03 | 2016-03-30 | 山东胜开电子科技有限公司 | 一种支持多模网络协议的传输协议实现方法 |
KR102515269B1 (ko) * | 2016-03-05 | 2023-03-30 | 삼성전자주식회사 | 전자장치에서의 비디오 스트리밍 장치 및 방법 |
CN108810177A (zh) * | 2018-08-27 | 2018-11-13 | 优视科技新加坡有限公司 | 数据传输方法及其装置 |
CN109996097B (zh) * | 2019-03-12 | 2022-01-04 | 广州虎牙信息科技有限公司 | 一种投屏方法、系统及存储装置 |
CN110099403B (zh) * | 2019-05-17 | 2022-07-19 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN111770140A (zh) * | 2020-06-09 | 2020-10-13 | 成都中云天下科技有限公司 | 一种通信方法、用户设备及代理服务器集群 |
CN111970334A (zh) * | 2020-07-30 | 2020-11-20 | 杭州超级科技有限公司 | 基于tcp的数据传输方法、装置、电子设备及介质 |
-
2021
- 2021-07-21 CN CN202110827938.0A patent/CN113572836B/zh active Active
-
2022
- 2022-06-21 KR KR1020237033841A patent/KR20230150878A/ko active Search and Examination
- 2022-06-21 EP EP22845059.9A patent/EP4287591A1/en active Pending
- 2022-06-21 WO PCT/CN2022/099987 patent/WO2023000894A1/zh active Application Filing
-
2023
- 2023-04-27 US US18/140,169 patent/US11924255B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719918A (zh) * | 2009-11-27 | 2010-06-02 | 北京交通大学 | 一种改进的适用于多连接多路径的传输方法 |
CN104753971A (zh) * | 2013-12-25 | 2015-07-01 | 北京新媒传信科技有限公司 | 基于远程会议的客户端及媒体源传输方法 |
US20170093811A1 (en) * | 2014-05-20 | 2017-03-30 | Secret Double Octopus Ltd. | Method for establishing a secure private interconnection over a multipath network |
CN108604994A (zh) * | 2015-11-02 | 2018-09-28 | 分散网络公司 | 虚拟分散联网系统和方法 |
CN108932948A (zh) * | 2017-05-26 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 音频数据处理方法、装置、计算机设备和计算机可读存储介质 |
CN111316598A (zh) * | 2018-07-17 | 2020-06-19 | 华为技术有限公司 | 一种多屏互动方法及设备 |
CN110943998A (zh) * | 2019-12-04 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 一种信号传输方法、装置、设备及介质 |
CN113572836A (zh) * | 2021-07-21 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
LI GUODONG, LI KAI, LI JUN, LIU CHANG′AN: "Primary Path Automatic Handover Based on Comprehensive Performance Evaluation Method", HUAZHONG KEJI DAXUE XUEBAO (ZIRAN KEXUE BAN)/JOURNAL OF HUAZHONG UNIVERSITY OF SCIENCE AND TECHNOLOGY (NATURAL SCIENCE EDITION), HUAZHONG KEJI DAXUE, CN, vol. 39, no. II, 15 November 2011 (2011-11-15), CN , pages 235 - 238, XP093026637, ISSN: 1671-4512, DOI: 10.13245/j.hust.2011.s2.065 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150057A (zh) * | 2023-04-24 | 2023-05-23 | 北京探境科技有限公司 | 数据传输方法、装置、计算机设备及可读存储介质 |
CN116150057B (zh) * | 2023-04-24 | 2023-11-03 | 北京探境科技有限公司 | 数据传输方法、装置、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11924255B2 (en) | 2024-03-05 |
CN113572836A (zh) | 2021-10-29 |
EP4287591A1 (en) | 2023-12-06 |
US20230269281A1 (en) | 2023-08-24 |
KR20230150878A (ko) | 2023-10-31 |
CN113572836B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023000894A1 (zh) | 一种数据传输方法、装置、服务器、存储介质及程序产品 | |
CN112437122B (zh) | 通信方法、装置、计算机可读介质及电子设备 | |
CN107743698B (zh) | 用于多路径媒体传递的方法和装置 | |
CN111937364A (zh) | 无线网络系统中处理数据路径创建的方法和系统 | |
US20230083441A1 (en) | Managing subpacket transmission and reception for advanced interactive services | |
CN112804710B (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
CN112291366A (zh) | 数据传输方法、装置、存储介质及电子设备 | |
JP2022501899A (ja) | データ伝送方法、装置、コンピュータ読み取り可能な媒体および電子デバイス | |
CN112787945B (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
US20150271226A1 (en) | Transport accelerator implementing a multiple interface architecture | |
KR20020010913A (ko) | 통신 네트워크에서의 방법 및 장치 | |
US8973074B2 (en) | Method and system for isochronous communication in audio/video networks | |
US20070160048A1 (en) | Method for providing data and data transmission system | |
KR20230058493A (ko) | 데이터 전송 방법 및 장치, 컴퓨터가 판독 가능한 저장 매체, 전자 디바이스 그리고 컴퓨터 프로그램 제품 | |
CN113747203A (zh) | 一种视频信息传输方法、装置、电子设备及存储介质 | |
CN107251487B (zh) | 网络中的带宽分发方法、设备及计算机可读存储介质 | |
CN112333690B (zh) | 数据传输方法、装置、存储介质、终端及网络接入点设备 | |
CN112398754B (zh) | 数据传输方法、装置、介质、电子设备及网络接入设备 | |
US9003466B2 (en) | Method and system for isochronous data stream management in high speed audio/video networks | |
US11671487B1 (en) | Port prediction for peer-to-peer communications | |
JP2021527351A (ja) | ネットワーク容量に制約のあるシナリオにおける共同メディア制作のためのネットワーク制御上りリンクメディア伝送 | |
WO2015156476A1 (ko) | 청크 기반의 끊김 없는 스트림 송수신 장치 및 그 방법 | |
CN114363676A (zh) | 视频流传输方法、装置、设备及介质 | |
CN111615170B (zh) | 一种数据传输方法及系统 | |
US20140244798A1 (en) | TCP-Based Weighted Fair Video Delivery |
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: 22845059 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022845059 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2022845059 Country of ref document: EP Effective date: 20230831 |
|
ENP | Entry into the national phase |
Ref document number: 20237033841 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020237033841 Country of ref document: KR |
|
NENP | Non-entry into the national phase |
Ref country code: DE |