WO2023273486A1 - 一种数据传输的方法和装置 - Google Patents

一种数据传输的方法和装置 Download PDF

Info

Publication number
WO2023273486A1
WO2023273486A1 PCT/CN2022/085045 CN2022085045W WO2023273486A1 WO 2023273486 A1 WO2023273486 A1 WO 2023273486A1 CN 2022085045 W CN2022085045 W CN 2022085045W WO 2023273486 A1 WO2023273486 A1 WO 2023273486A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
data
data block
confirmation message
data packet
Prior art date
Application number
PCT/CN2022/085045
Other languages
English (en)
French (fr)
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 华为技术有限公司
Priority to CN202280043511.4A priority Critical patent/CN117546429A/zh
Publication of WO2023273486A1 publication Critical patent/WO2023273486A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems

Definitions

  • the present application relates to the communication field, and in particular to a data transmission method and device.
  • TCP transmission control protocol
  • the present application provides a method and device for data transmission, which can improve the throughput rate of communication between devices.
  • a method for data transmission may be executed by a first electronic device, and the first electronic device may be an electronic device at the sending end, or may also be implemented by a chip configured in the electronic device at the sending end or
  • the implementation of the circuit is not limited in this application.
  • the method includes: the first electronic device continuously sends data packets of the first data block to the second electronic device; the first electronic device receives a first confirmation message corresponding to the first data block from the second electronic device , wherein the first confirmation message is used to indicate that the second electronic device has completely received the data packet of the first data block, or the first confirmation message includes a first sequence number, and the first sequence number includes the first data block The sequence numbers of the data packets not received by the second electronic device in the data packets.
  • the first electronic device receives the first confirmation message again, that is, the stages of sending data and receiving feedback information are separated, and the half-duplex mechanism chip can be used to the maximum extent, and can Reduce the impact of receiving retransmitted packets on sending, so that the throughput rate is improved.
  • the method further includes: the first electronic device sending the data packet corresponding to the first sequence number to the second electronic device.
  • the method further includes: the first electronic device receives a third confirmation message from the second electronic device, and the third confirmation message is used to indicate that the The second electronic device completely receives the data packet corresponding to the first sequence number.
  • the first confirmation message is received by the second electronic device according to the actual sequence number of the data packet of the first data block and the second electronic device The sequence number of the data packet is determined, wherein the header information of the data packet of the first data block includes the actual sequence number of the data packet of the first data block.
  • the method further includes: the first electronic device sends a second confirmation message to the second electronic device, and the second confirmation message is used to indicate that the first electronic device An electronic device receives the first confirmation message.
  • the method further includes: the first electronic device does not receive the first confirmation message within a first time period, and the first electronic device sends the first confirmation message to the first electronic device The second electronic device continuously sends the data packets of the first data block again.
  • the first electronic device when the first electronic device does not receive the feedback information from the receiving end electronic device within the first time period, the first electronic device retransmits the data block, which can save the waiting time of the first electronic device and improve the efficiency of data transmission .
  • a method for data transmission is provided, and the method can be executed by a second electronic device, and the second electronic device can be a receiving-end electronic device, or can also be implemented by a chip configured in the receiving-end electronic device or
  • the implementation of the circuit is not limited in this application.
  • the method includes: the second electronic device continuously receives the data packets of the first data block from the first electronic device; the second electronic device determines that the data packet of the first data block has been sent; The electronic device sends a first acknowledgment message corresponding to the first data block, where the first acknowledgment message is used to instruct the second electronic device to completely receive the data packet of the first data block, or the first acknowledgment
  • the message includes a first sequence number, and the first sequence number includes a sequence number of a data packet not received by the second electronic device in the data packets of the first data block.
  • the stage of sending the data packet is separated from the stage of transmitting the first confirmation message, which can reduce the reverse transmission The decrease in overall throughput due to bandwidth.
  • the method further includes: receiving, by the second electronic device, the data packet corresponding to the first sequence number.
  • the second electronic device determines that the last data packet of the first data block has not been received within the first time period, or, the second electronic device determines that The last data packet of the first data block was received.
  • the second electronic device determines the first A confirmation message, wherein the header information of the data packet of the first data block includes the actual sequence number of the data packet of the first data block.
  • the method further includes: the second electronic device receives a second confirmation message from the first electronic device, and the second confirmation message is used to indicate that the The first electronic device receives the first confirmation message.
  • the method further includes: after the second electronic device receives the data packet corresponding to the first sequence number, returning a third confirmation message to the first electronic device, the The third confirmation message is used to instruct the second electronic device to completely receive the data packet corresponding to the first sequence number.
  • a data transmission device where the device includes a first electronic device, or, the device includes a device for implementing a function of the first electronic device, and the device may be a sending-end electronic device.
  • the device includes: a transceiver module, configured to continuously send the data packets of the first data block to the second electronic device; the transceiver module, also configured to receive the first data packet corresponding to the first data block from the second electronic device A confirmation message, wherein the first confirmation message is used to indicate that the second electronic device has completely received the data packet of the first data block, or, the first confirmation message includes a first sequence number, and the first sequence number includes the The serial numbers of the data packets not received by the second electronic device in the data packets of the first data block.
  • the transceiver module is further configured to send the data packet corresponding to the first sequence number to the second electronic device.
  • the first confirmation message is received by the second electronic device according to the actual sequence number of the data packet of the first data block and the second electronic device The sequence number of the data packet is determined, wherein the header information of the data packet of the first data block includes the actual sequence number of the data packet of the first data block.
  • the transceiver module is further configured to send the first confirmation message to the first electronic device if the first electronic device does not receive the first confirmation message within the first time period.
  • the second electronic device continuously sends the data packets of the first data block again.
  • a device for data transmission includes a second electronic device, or the device includes a device for realizing the function of the second electronic device, and the device may be a receiving end electronic device.
  • the device includes: a transceiver module, configured to continuously receive data packets of the first data block from the first electronic device; a processing module, configured to determine that the data packet of the first data block has been sent; the transceiver module is also configured to send The first electronic device sends a first confirmation message corresponding to the first data block, where the first confirmation message is used to instruct the second electronic device to completely receive the data packet of the first data block, or, the The first confirmation message includes a first sequence number, and the first sequence number includes a sequence number of a data packet not received by the second electronic device in the data packets of the first data block.
  • the transceiver module is further configured to receive the data packet corresponding to the first sequence number.
  • the processing module determines that the last data packet of the first data block is not received within the first time period, or, the processing module determines that the first data packet is received The last packet of a data block.
  • the processing module is specifically configured to: determine the sequence number of the data packet received by the second electronic device according to the actual sequence number of the data packet of the first data block and the sequence number of the data packet received by the second electronic device.
  • the first confirmation message wherein the header information of the data packet of the first data block includes the actual sequence number of the data packet of the first data block.
  • the transceiver module is further configured to receive a second confirmation message from the first electronic device, and the second confirmation message is used to indicate that the first electronic device The device receives the first confirmation message.
  • a data transmission device is provided, and the device is used to execute the method provided in the first aspect above.
  • the apparatus may include a unit and/or module for executing the method provided by the first aspect, such as a processing module and/or a transceiver module.
  • the apparatus is a sending-end electronic device. It may be a transmitter, or an output interface; the processing module may be a processor.
  • the apparatus is a chip, a chip system or a circuit used in the electronic device at the sending end.
  • the transceiver module unit may be an output interface, interface circuit, output circuit, pin or related circuit on the chip, chip system or circuit, etc.
  • the processing module may be a processor, a processing circuit, or a logic circuit.
  • the above-mentioned transceiver may be a transceiver circuit.
  • the above-mentioned output interface may be an output circuit.
  • a data transmission device is provided, and the device is used to execute the method provided in the second aspect above.
  • the apparatus may include a unit and/or module for executing the method provided by the second aspect, such as a processing module and/or a transceiver module.
  • the apparatus is a receiving end electronic device.
  • the transceiver module may be a transceiver, or an input interface;
  • the processing module may be a processor.
  • the apparatus is a chip, a chip system or a circuit used in an electronic device at the receiving end.
  • the transceiver module unit may be an input interface, interface circuit, input circuit, pin or related circuit on the chip, chip system or circuit, etc.
  • the processing module may be a processor, a processing circuit, or a logic circuit.
  • the above-mentioned transceiver may be a transceiver circuit.
  • the above-mentioned input interface may be an input circuit.
  • a device for data transmission includes: a memory for storing programs; a processor for executing the programs stored in the memory, and when the programs stored in the memory are executed, the processor is used for executing the above-mentioned first Aspect or the method provided by the second aspect.
  • the apparatus is an electronic device at a sending end or an electronic device at a receiving end.
  • the apparatus is a chip, a chip system or a circuit used in the electronic device at the sending end or the electronic device at the receiving end.
  • the present application provides a processor configured to execute the methods provided in the foregoing aspects.
  • the process of sending the above information and obtaining/receiving the above information in the above method can be understood as the process of outputting the above information by the processor and the process of receiving the input of the above information by the processor.
  • the processor When outputting the above information, the processor outputs the above information to the transceiver for transmission by the transceiver. After the above information is output by the processor, other processing may be required before reaching the transceiver.
  • the transceiver acquires/receives the above-mentioned information and inputs it to the processor. Furthermore, after the transceiver receives the above information, the above information may need to be processed before being input to the processor.
  • processor For the operations of transmitting, sending, and acquiring/receiving involved in the processor, if there is no special description, or if it does not conflict with its actual function or internal logic in the relevant description, it can be understood more generally as the processor Output and receive, input and other operations, rather than the transmission, transmission and reception operations performed directly by radio frequency circuits and antennas.
  • the above-mentioned processor may be a processor dedicated to performing these methods, or may be a processor that executes computer instructions in a memory to perform these methods, such as a general-purpose processor.
  • the above-mentioned memory can be a non-transitory (non-transitory) memory, such as a read-only memory (Read Only Memory, ROM), which can be integrated with the processor on the same chip, or can be respectively arranged on different chips.
  • ROM read-only memory
  • the embodiment does not limit the type of the memory and the arrangement of the memory and the processor.
  • a ninth aspect provides a computer-readable storage medium, where the computer-readable medium stores program code for execution by a device, where the program code includes a method for executing the methods provided in the first aspect to the second aspect above.
  • a computer program product including instructions is provided, and when the computer program product is run on a computer, the computer is made to execute the methods provided in the first aspect to the second aspect above.
  • a chip in an eleventh aspect, includes a processor and a communication interface, and the processor reads instructions stored in the memory through the communication interface, and executes the methods provided in the first aspect to the second aspect above.
  • the chip may further include a memory, the memory stores instructions, the processor is used to execute the instructions stored in the memory, and when the instructions are executed, the processor is used to execute the above-mentioned first The methods provided in the first aspect to the second aspect.
  • FIG. 1 shows an exemplary architecture diagram of a communication system 100 according to an embodiment of the present application.
  • FIG. 2 shows a schematic architecture diagram of the connection process of the protocol of the present application in a distributed file system scenario.
  • Figure 3 shows the data units in each layer of the OSI model.
  • FIG. 4 shows a schematic flowchart of a data transmission method 400 provided by an embodiment of the present application.
  • FIG. 5 shows a message format of a data packet provided by the embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of an electronic device at a sending end according to an embodiment of the present application.
  • Fig. 7 is a schematic structural diagram of an electronic device at a receiving end according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a chip according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a chip according to an embodiment of the present application.
  • the technical solution of the embodiment of the present application can be applied to various communication systems, such as: Global System of Mobile communication (Global System of Mobile communication, GSM) system, code division multiple access (Code Division Multiple Access, CDMA) system, broadband code division multiple access (Wideband Code Division Multiple Access, WCDMA) system, General Packet Radio Service (GPRS), Long Term Evolution (LTE) system, LTE Frequency Division Duplex (FDD) system, LTE Time Division Duplex (TDD), Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) communication system, 5th Generation (5G) system or new radio (New Radio, NR), next-generation communication system (for example, 6G communication system), fusion system of multiple access systems, or evolution system, etc.
  • GSM Global System of Mobile communication
  • CDMA code division multiple access
  • WCDMA Wideband Code Division Multiple Access
  • GPRS General Packet Radio Service
  • LTE Long Term Evolution
  • FDD Frequency Division Duplex
  • TDD Time Division Duplex
  • the terminal equipment involved in this embodiment of the present application may include various access terminals, mobile equipment, user terminals or user equipment (user equipment, UE) with wireless communication functions.
  • the terminal device may be a mobile phone, a tablet computer (Pad), a computer with a wireless transceiver function, a virtual reality (virtual reality, VR) terminal device, an augmented reality (augmented reality, AR) terminal device, an industrial control ( Wireless terminals in industrial control, machine type communication (MTC) terminals, customer premise equipment (CPE), wireless terminals in self-driving, remote medical Wireless terminals in smart grid, wireless terminals in transportation safety, wireless terminals in smart city, wireless terminals in smart home, etc.
  • the embodiments of the present application do not limit the application scenarios.
  • the aforementioned terminal equipment and the chips that can be installed in the aforementioned terminal equipment are collectively referred to as terminal equipment.
  • the terminal device may also be a wearable device.
  • Wearable devices can also be called wearable smart devices, which is a general term for the application of wearable technology to intelligently design daily wear and develop wearable devices, such as glasses, gloves, watches, clothing and shoes.
  • a wearable device is a portable device that is worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are not only a hardware device, but also achieve powerful functions through software support, data interaction, and cloud interaction.
  • Generalized wearable smart devices include full-featured, large-sized, complete or partial functions without relying on smart phones, such as smart watches or smart glasses, etc., and only focus on a certain type of application functions, and need to cooperate with other devices such as smart phones Use, such as various smart bracelets and smart jewelry for physical sign monitoring.
  • the network device in the embodiment of the present application may be a device for communicating with a terminal device, and the network device may be a Global System of Mobile communication (GSM) system or a code division multiple access (Code Division Multiple Access, CDMA)
  • the base station (Base Transceiver Station, BTS) in the wideband code division multiple access (Wideband Code Division Multiple Access, WCDMA) system (NodeB, NB) can also be the evolved base station (Evolutionary Base Station) in the LTE system NodeB, eNB or eNodeB), it can also be a wireless controller in a cloud radio access network (Cloud Radio Access Network, CRAN) scenario, or the network device can be a relay station, an access point, a vehicle device, a wearable device, and a 5G Network equipment in the network or network equipment in the evolved PLMN network, network equipment in the next generation communication system (for example, 6G communication system), network equipment in the converged system of multiple access systems, or network equipment in the evolution system Equipment, etc., are not
  • FIG. 1 is a schematic diagram of a D2D communication system 100 provided by an embodiment of the present application.
  • the first terminal device 101 and the second terminal device 102 can communicate in the D2D communication mode.
  • the first terminal device 101 and the second terminal device 102 directly communicate through the D2D link, that is The first terminal device 101 and the second terminal device 102 can independently establish and maintain a D2D link.
  • the D2D link can be a wireless connection between the two devices.
  • Bluetooth can be used to enable the devices to communicate directly, or the D2D link can be It is a wired direct connection between two devices, or it can also be through a connection in the same local area network.
  • the first terminal device communicates with the second terminal device through a D2D link, and its transmission resource can be selected by the terminal device independently, and the network device does not need to allocate transmission resources.
  • the reliable transmission in D2D communication mainly uses the TCP protocol.
  • the TCP protocol adopts a solution of assigning a sequence number to each packet, and the sequence number also ensures that the packets transmitted to the receiving entity can be transmitted according to the sequence number. take over.
  • the receiving entity then sends back a corresponding acknowledgment character (ACK) for the successfully received packet. If the sending entity does not receive an acknowledgment within a reasonable round-trip delay, the corresponding packet is assumed to be lost and retransmitted.
  • TCP uses a checksum function to check whether the data has errors, and the checksum is calculated when sending and receiving. In addition, if the receiving end finds an error, it will send a negative acknowledgment (NACK) to the sending station to indicate an error in the message and request retransmission.
  • NACK negative acknowledgment
  • the TCP transmission protocol transmits data
  • there will be a three-way handshake to establish a connection which is inefficient and occupies high system resources.
  • there are confirmation, window, retransmission, and congestion control mechanisms during data transmission so it is very thick and complicated. It is difficult to play the actual maximum throughput of the chip.
  • the thick TCP protocol uses packet loss to detect the available bandwidth, which will lead to retransmission and slow down the network communication speed, which cannot be well adapted to D2D communication.
  • this application proposes a light and simple D2D protocol, which can be applied in the low packet loss rate scenarios of near-field direct transmission or LAN transmission.
  • it can reduce the impact of receiving and retransmitting packets on sending influence, so that the throughput rate is improved.
  • the D2D protocol proposed in this application can coexist with the TCP protocol in the same device.
  • it can be established through processes such as device discovery, authentication, channel link building, and exchange of dynamic port numbers and protocol types. connect.
  • software version numbers can be exchanged during the protocol handshake stage on the application, so as to determine whether the peer device supports the D2D protocol type provided by this application.
  • FIG. 2 shows a schematic architecture diagram of a connection process of the protocol in this application in a distributed file system scenario. mainly includes:
  • the discovery module may be a Bluetooth module, and the discovery process may be a passive discovery process.
  • the Bluetooth module 201 of the device 200 finds that there are devices within a certain connection range.
  • the Bluetooth module 301 of 300 can be connected, and the device 200 initiates a Bluetooth wireless connection process to the device 300 .
  • the process of initiating a connection may be that the Bluetooth module 201 sends a connection request to the Bluetooth module 301 to request a wireless connection.
  • the Bluetooth module 301 of the device 300 finds that the Bluetooth module 201 of the device 200 can be connected within its connection range, and thus initiates a connection request.
  • an active connection for example, when the device 300 is getting closer to the device 200, it can trigger the discovery of the Bluetooth module 201 of the device 200, for example, similar to the screen projection interaction process, or when the device 300 is close to the device 200, the device 300
  • the two-dimensional code is displayed, and the user can turn on the camera of the device 200 to scan the two-dimensional code of the device 300 .
  • the device 200 and the device 300 perform authentication and other operations in their security authentication modules 202 and 203 respectively, mutually authenticate security and store pairing information.
  • the process of creating a channel between the device 200 and the device 300 can be simply understood as creating a local area network, and the device 200 and the device 300 exchange IP addresses with each other.
  • D2D protocol may use the existing connection wifi or USB channel between the current device 200 and the device 300 .
  • S205 (S205A, S205B), discovering that the peer device is connected to the pull-up service.
  • device 200 or device 300 starts a corresponding system service service.
  • the user state application 203 sends the port number and port type to the device discovery module 201.
  • port number and port type can distinguish different services and are used for the connection between the device 200 and the device 300 .
  • the device 200 sends information such as the server port type to the device 300.
  • the discovery module 301 of the device 300 after receiving the port number and port type sent by the device 200 , the discovery module 301 of the device 300 sends it to the user mode application 303 of the device 300 .
  • the user state application 203 establishes a link with the user state application 303 and shakes hands, and exchanges ports to generate socket or socket (socket) information.
  • S210 (S210A, S210B), the user mode applications 203 and 303 of the device 200 and the device 300 transmit the connection handle information to the distributed file systems 204 and 304 respectively.
  • the application When the file sent by the application is large, for example, it may be larger than a preset threshold or a default threshold, the application will trigger the D2D protocol to establish a link for data transmission, and the preset threshold may be 100M.
  • the network adapter layer is used to decouple the protocol layer from the upper file system.
  • a D2D link is established, for example, when there is or can be established a transmission channel with low packet loss rate and high bandwidth such as wifi/wired direct connection or wifi LAN
  • the default underlying protocol uses the D2D protocol, otherwise the network adapter will Switch the connection to another protocol.
  • the network adapter can use the TCP protocol by default.
  • D2D protocol provided by the embodiment of the present application can also be applied in other scenarios, for example, it can be used in the application of near-field transmission, etc., and is not limited to the distributed file system.
  • the first electronic device may be an electronic device at the sending end, or an equipment device for realizing the functions of the electronic device at the sending end, or may be an equipment device with some functions of the electronic device at the sending end , or a software, system, or program that can support the electronic device at the sending end to realize the function, such as a chip system, the software, system, or program can be installed in the electronic device at the sending end, which is not specifically limited in this embodiment.
  • the second electronic device may be an electronic device at the receiving end, or an equipment device for realizing the functions of the electronic device at the receiving end, or an equipment device with some functions of the electronic device at the receiving end, or a device capable of supporting the electronic device at the receiving end to realize the function
  • Software, system, and program, such as a chip system may be installed in the electronic device at the receiving end, which is not specifically limited in this embodiment.
  • the first electronic device is taken as an example of a sending-end electronic device
  • the second electronic device is taken as an example of a receiving-end electronic device for description.
  • FIG. 4 shows a schematic flowchart of a data transmission method 400 provided by an embodiment of the present application. As shown in Figure 4, the data transmission method includes:
  • the electronic device 400 at the sending end updates the size of the first data block.
  • data blocks and data packets in this application may also correspond to other models, which is not limited in this application.
  • the first data block is a data block to be transmitted currently.
  • the sending-end electronic device 400 can update the size of the data block according to the current transmission situation.
  • the transmission situation may include: 400 The real-time rate, maximum rate, or average rate of the statistics, or the average maximum bandwidth of the current statistics, etc.
  • the current data block to be transmitted may be set to a larger data block, so as to avoid data block transmission for too long or packet loss.
  • the size of the data block can be set to a default or random size, for example, it can be 1Mb, 2Mb, etc.
  • the sending-end electronic device 400 in this embodiment may correspond to the terminal device 101 in FIG. 1 , or the device 200 in FIG. 2
  • the receiving-end electronic device 500 may correspond to the terminal device 102 in FIG. 1 , or the device in FIG. 2 300.
  • the interval between the first sent data packet and the last sent data packet of each data block satisfies the following relationship:
  • RTT round-trip time
  • This RTT is determined by three parts: the propagation time of the link, the processing time of the end system, the queuing and processing time in the cache of the router.
  • the values of the first two parts are relatively fixed as a TCP connection, and the queuing and processing time in the cache of the router will change with the change of the congestion degree of the entire network. Therefore, changes in RTT reflect changes in network congestion to a certain extent.
  • block_size is the size of the data block
  • send_speed is the air interface rate of the chip, and its initial value can be 1Gbps by default.
  • Such a data block size can make the ACK or NACK packet of the previous data block reply just received after the current data block is sent, and then the next data packet can be sent directly or the previous data packet can be retransmitted.
  • the size of the data block should also take into account the sending buffer that the current socket can create, that is, to ensure that the current sending buffer can accommodate two data blocks, one of which is waiting to be sent or sent, and correspondingly, the other The data block is in the state of being sent or waiting to receive an ACK or NACK.
  • the size of the data block can satisfy the following relationship:
  • send_buffer represents the size of the data block in the cache.
  • the remaining file when the size of the remaining file is smaller than the calculated size of the data block, the remaining file can still be used as a data block.
  • the electronic device 400 at the sending end continuously sends data packets to the electronic device 500 at the receiving end.
  • the sending-end electronic device 400 divides the first data block into multiple data packets according to the size of the set first data block, and sends the data packets to the receiving-end electronic device 500 in the form of a message.
  • the message format of the data packet can be as follows: Figure 5 shows.
  • the sequence number is the number of the current packet
  • the acknowledgment number is used to indicate the sequence numbers of all data packets that the electronic device 500 at the receiving end has successfully received currently.
  • Flags indicate the type of the current packet, occupying 8 bits. For example, if the ACK bit is set to 1, it can indicate that the current packet is an ACK packet, or if the NACK flag in the flag is set to 1, it can indicate that the current packet is a NACK packet , while the bit length of the NACK pair is not 0, at this time, the NACK pair will contain a data pair, and the data pair indicates the receiving interval of the current data packet, that is, the sequence number interval of the received data packet. Or the data bit is set to 1, indicating that the type of the current packet is a data packet.
  • the number of ACK bits or NACK flag bits or data bits can be preset.
  • preset may include predefined definitions, for example, protocol definitions.
  • predefinition can be realized by pre-saving corresponding codes, tables or other methods that can be used to indicate related information in the device, and this application does not limit its specific implementation.
  • the flag When the packet is a data packet, the flag also includes a flag bit for identifying the first data packet of the data block, and when the flag bit is set to 1, it can indicate that the data packet is the first data packet sent, At this time, the electronic device 500 at the receiving end may determine according to the data packet that the electronic device 400 at the sending end starts to send the data packet of the first data block.
  • the flag may also include a flag bit for identifying the last data packet of the data block. When the flag bit is set to 1, it indicates that the current packet is the last data packet.
  • the flag bit can be used for the receiving end electronic device 500 to confirm whether to start receiving a data packet of a new data block and to confirm whether the sending end electronic device 400 has sent all the data packets of the data block.
  • the message of the data packet may also include the number of data packets contained in the first data block, and the part of the message of the data packet representing header information may also include the number of all data packets in the first data block. Actual serial number.
  • the receiving-end electronic device 500 can obtain the actual sequence numbers of all the data packets of the first data block according to the packet header information, that is, the sequence numbers of the data packets that the receiving-end electronic device 500 needs to receive.
  • the data length indicates the length of the data carried by the current packet.
  • the NACK packet may be in the following format:
  • the sequence number of the ACK packet is 50286, indicating that all the data packets before the data packet 50286 have been received.
  • the electronic device 500 at the receiving end determines that the data packets of the first data block have been sent completely.
  • the electronic device 500 at the receiving end may determine that the last data packet of the first data block has been received according to when the last data bit in the flag of the data packet is set to 1.
  • the receiving-end electronic device 500 determines that the last data packet of the first data block has not been received within a period of time, and the receiving-end electronic device 500 determines that the data packets of the first data block have been sent completely.
  • the receiving-end electronic device 500 judges whether all the data packets of the data block are currently received, and performs corresponding operations according to the judgment result.
  • the process may include scenario 1 or scenario 2.
  • Scenario 1 means that the electronic device 500 at the receiving end has completely received all the data packets of the data block
  • scenario 2 means that the electronic device 500 at the receiving end has not completely received all the data packets of the data block.
  • Scenario 1 specifically includes the following two steps:
  • the receiving end electronic device 500 determines that all data packets of the data block have been completely received.
  • the receiving-end electronic device 500 may judge that the data packet has been completely received according to the sequence number of the received data packet and the actual sequence number of the data packet of the first data block, for example, when the receiving-end electronic device 500 judges that the last After one data packet, when checking the sequence numbers of all the data packets that need to be received, the receiving-end electronic device 500 determines that it has received all the data packets sent by the sending-end electronic device 400 .
  • the receiving-end electronic device 500 sends a first confirmation message to the sending-end electronic device 400 .
  • the electronic device 500 at the receiving end will reply a first confirmation message, which is used to indicate that the electronic device 500 at the receiving end has completely received the first confirmation message.
  • the first confirmation message may be sent to the sending end electronic device 400 in the form of an ACK packet, indicating that the current data packet has been completely received, and the sending end electronic device 400 starts to send the next data block, or ends Sending of packets.
  • the electronic device 500 at the receiving end may generate the first confirmation message, and then send it to the electronic device 400 at the sending end.
  • the electronic device 400 at the sending end sends the second confirmation message to the electronic device 500 at the receiving end.
  • the sending-end electronic device 400 after receiving the first confirmation message, sends a second confirmation message to the receiving-end electronic device, and the second confirmation message is used to indicate that the sending-end electronic device 400 has received the first confirmation message.
  • a confirmation message is used to indicate that the sending-end electronic device 400 has received the first confirmation message.
  • Scenario 2 specifically includes the following steps:
  • the electronic device 500 at the receiving end determines that all data packets of the data block have not been completely received.
  • the receiving-end electronic device 500 can judge the incompletely received data packet according to the sequence number of the received data packet and the actual sequence number of the data packet of the first data block, for example, when the receiving-end electronic device 500 judges that the received After the last data packet, check that the sequence number of the received data packet is only a part of the sequence number of the data packet to be received, that is, when the sequence numbers of the received data packets are discontinuous, the receiving end electronic device 500 determines the data packet of the data block Lost during transmission.
  • the electronic device 500 at the receiving end sends the first confirmation message to the electronic device 400 at the sending end.
  • the receiving-end electronic device 500 sends a first confirmation message to the sending-end electronic device 400.
  • the first confirmation message may be a NACK message.
  • the first acknowledgment message includes a vector composed of a first sequence number, where the first sequence number is a sequence number of a packet that fails to be sent in the first data block.
  • the electronic device 500 at the receiving end may generate the first confirmation message, and then send it to the electronic device 400 at the sending end.
  • the electronic device 400 at the sending end sends the second confirmation message to the electronic device 500 at the receiving end.
  • the sending-end electronic device 400 after receiving the first acknowledgment message, the sending-end electronic device 400 sends a second acknowledgment message to the receiving-end electronic device, the second acknowledgment message may be an ACK message, and the second acknowledgment message uses In order to indicate that the sending-end electronic device 400 has received the first confirmation message.
  • the electronic device 400 at the sending end generates the smallest data block including the lost data packet.
  • the electronic device 400 at the sending end regenerates the lost data packet into a data block according to the vector in the first acknowledgment message.
  • the electronic device 400 at the sending end resends the lost data packet.
  • this step can be the same as the above-mentioned step 402, which will not be repeated here.
  • the receiving end sends a third confirmation message to the sending end.
  • the electronic device 500 at the receiving end confirms that all missing data packets have been received, it sends a third confirmation message to the electronic device at the sending end.
  • the third confirmation message may be an ACK packet, indicating that the electronic device 500 at the receiving end has received The data packet whose data block is lost, so far, the sending end electronic device 400 can start to send the next data block or end the sending of the data packet.
  • the sending end electronic device 400 transmits the data packet, it does not discard the data packet immediately, but temporarily stores the data packet in the buffer area, and releases the data in the buffer area until receiving a confirmation packet without loss.
  • the sequence numbers of the data packets that failed to be sent in the current data block are used to form a vector in the first confirmation message, and the first confirmation message is fed back to the
  • the electronic equipment at the sending end greatly reduces the data volume of the reverse confirmation message and saves resources.
  • the sending-end electronic device 400 can start a timer, and when the timer expires, that is, at the first Within the time period, if the electronic device at the sending end has not received the first confirmation message, the electronic device at the sending end 400 actively resends the data block. If the retransmission is caused by the loss of the first acknowledgment message returned by the electronic device at the receiving end, when the electronic device at the receiving end repeatedly receives the data packets of the data block, the electronic device at the receiving end will resend the first confirmation message generated last time. Confirm and resend to the electronic device at the sending end. After the electronic device at the sending end receives the first confirmation message, it can instead send the lost data packet according to the vector information in the first confirmation message.
  • FIG. 6 is a schematic structural diagram of a sending-end electronic device 600 provided by an embodiment of the present application.
  • the sending-end electronic device 600 shown in FIG. 6 includes a processor 610, and the processor 610 can call and run a computer program from the memory to implement the corresponding processes implemented by the sending-end electronic device in each method of the embodiment of the present application.
  • the processor 610 can call and run a computer program from the memory to implement the corresponding processes implemented by the sending-end electronic device in each method of the embodiment of the present application.
  • the electronic device 600 at the sending end may further include a memory 620 .
  • the processor 610 can invoke and run a computer program from the memory 620, so as to implement the method in the embodiment of the present application.
  • the memory 620 may be an independent device independent of the processor 610 , or may be integrated in the processor 610 .
  • the sending-end electronic device 600 may further include a transceiver 630, and the processor 610 may control the transceiver 630 to communicate with other devices, specifically, to send information or data to other devices, or Receive messages or data from other devices.
  • the transceiver 630 may include a transmitter and a receiver.
  • the transceiver 630 may further include antennas, and the number of antennas may be one or more.
  • FIG. 7 is a schematic structural diagram of a receiver electronic device 700 provided by an embodiment of the present application.
  • the receiving-end electronic device 700 shown in FIG. 7 includes a processor 710, and the processor 710 can call and run a computer program from the memory to implement the corresponding processes implemented by the receiving-end electronic device in each method of the embodiment of the present application.
  • the processor 710 can call and run a computer program from the memory to implement the corresponding processes implemented by the receiving-end electronic device in each method of the embodiment of the present application.
  • the electronic device 700 at the receiving end may further include a memory 720 .
  • the processor 710 can invoke and run a computer program from the memory 720, so as to implement the method in the embodiment of the present application.
  • the memory 720 may be an independent device independent of the processor 710 , or may be integrated in the processor 710 .
  • the electronic device 700 at the receiving end may further include a transceiver 730, and the processor 710 may control the transceiver 730 to communicate with other devices, specifically, to send information or data to other devices, or Receive messages or data from other devices.
  • the processor 710 may control the transceiver 730 to communicate with other devices, specifically, to send information or data to other devices, or Receive messages or data from other devices.
  • the transceiver 730 may include a transmitter and a receiver.
  • the transceiver 730 may further include an antenna, and the number of antennas may be one or more.
  • FIG. 8 is a schematic structural diagram of a chip according to an embodiment of the present application.
  • the chip 800 shown in FIG. 8 includes a processor 810, and the processor 810 can call and run a computer program from the memory, so as to implement the corresponding processes implemented by the electronic device at the sending end in each method of the embodiment of the present application. For the sake of brevity, here No longer.
  • the chip 800 may further include a memory 820 .
  • the processor 810 can call and run a computer program from the memory 820, so as to implement the method in the embodiment of the present application.
  • the memory 820 may be an independent device independent of the processor 810 , or may be integrated in the processor 810 .
  • the chip 800 may also include an input interface 830 .
  • the processor 810 may control the input interface 830 to communicate with other devices or chips, specifically, may obtain information or data sent by other devices or chips.
  • the chip 800 may also include an output interface 840 .
  • the processor 810 can control the output interface 840 to communicate with other devices or chips, specifically, can output information or data to other devices or chips.
  • chips mentioned in the embodiments of the present application may also be called system-on-chip, system-on-chip, system-on-a-chip, or system-on-a-chip.
  • FIG. 9 is a schematic structural diagram of a chip according to an embodiment of the present application.
  • the chip 900 shown in FIG. 9 includes a processor 910, and the processor 910 can call and run a computer program from the memory, so as to implement the corresponding processes implemented by the electronic device at the receiving end in each method of the embodiment of the present application. For the sake of brevity, here No longer.
  • the chip 900 may further include a memory 920 .
  • the processor 910 can invoke and run a computer program from the memory 920, so as to implement the method in the embodiment of the present application.
  • the memory 920 may be an independent device independent of the processor 910 , or may be integrated in the processor 910 .
  • the chip 900 may also include an input interface 930 .
  • the processor 910 can control the input interface 930 to communicate with other devices or chips, specifically, can obtain information or data sent by other devices or chips.
  • the chip 900 may also include an output interface 940 .
  • the processor 910 can control the output interface 940 to communicate with other devices or chips, specifically, can output information or data to other devices or chips.
  • chips mentioned in the embodiments of the present application may also be called system-on-chip, system-on-chip, system-on-a-chip, or system-on-a-chip.
  • the processor in the embodiment of the present application may be an integrated circuit chip, which has a signal processing capability.
  • each step of the above-mentioned method embodiment can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software.
  • the above-mentioned processor can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), an off-the-shelf programmable gate array (Field Programmable Gate Array, FPGA) or other available Program logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash.
  • the volatile memory can be Random Access Memory (RAM), which acts as external cache memory.
  • RAM Static Random Access Memory
  • SRAM Static Random Access Memory
  • DRAM Dynamic Random Access Memory
  • Synchronous Dynamic Random Access Memory Synchronous Dynamic Random Access Memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM, DDR SDRAM enhanced synchronous dynamic random access memory
  • Enhanced SDRAM, ESDRAM synchronous connection dynamic random access memory
  • Synchlink DRAM, SLDRAM Direct Memory Bus Random Access Memory
  • Direct Rambus RAM Direct Rambus RAM
  • the memory in the embodiment of the present application may also be a static random access memory (static RAM, SRAM), a dynamic random access memory (dynamic RAM, DRAM), Synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous connection Dynamic random access memory (synch link DRAM, SLDRAM) and direct memory bus random access memory (Direct Rambus RAM, DR RAM), etc. That is, the memory in the embodiments of the present application is intended to include, but not be limited to, these and any other suitable types of memory.
  • the embodiment of the present application also provides a computer-readable storage medium for storing computer programs.
  • the computer-readable storage medium can be applied to the terminal device in the embodiments of the present application, and the computer program enables the computer to execute the corresponding processes implemented by the terminal device in the methods of the embodiments of the present application. For the sake of brevity, details are not repeated here.
  • the embodiment of the present application also provides a computer program product, including computer program instructions.
  • the computer program product can be applied to the terminal device in the embodiments of the present application, and the computer program instructions cause the computer to execute the corresponding processes implemented by the terminal device in the various methods of the embodiments of the present application. For the sake of brevity, details are not repeated here.
  • the embodiment of the present application also provides a computer program.
  • the computer program can be applied to the terminal device in the embodiment of the present application.
  • the computer program runs on the computer, the computer executes the corresponding processes implemented by the terminal device in the methods of the embodiment of the present application.
  • the Let me repeat for the sake of brevity, the Let me repeat.
  • B corresponding (corresponding) to A means that B is associated with A, and B can be determined according to A.
  • determining B according to A does not mean determining B only according to A, and B may also be determined according to A and/or other information.
  • the disclosed systems, devices and methods may 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 can be Integrate 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 functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art or the 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 are used 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 (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

本申请提供了,一种数据传输的方法和装置,该传输信息的方法包括:第一电子设备将第一数据块的数据包连续发送给第二电子设备(S402);该第一电子设备接收来自该第二电子设备的对应于该第一数据块的第一确认报文(S405),其中,该第一确认报文用于指示该第二电子设备完整接收该第一数据块的数据包(S404A),或,该第一确认报文包括第一序号,该第一序号包括该第一数据块的数据包中该第二电子设备未收到的数据包的序号(S404B)。通过将数据包的确认过程转移到数据包发送的结束时期,对于半双工的芯片来说,发送数据包的阶段与接收第一确认报文的阶段分开,提升整体吞吐率。

Description

一种数据传输的方法和装置
本申请要求于2021年7月1日提交俄罗斯联邦专利局、申请号为2021119193、申请名称为“一种数据传输的方法和装置”的俄罗斯联邦专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,具体涉及一种数据传输的方法和装置。
背景技术
设备间(devices to devices,D2D)通信技术需要进行可靠传输时,通常采用传输控制协议(transmission control protocol,TCP),如何提升设备间通信的吞吐率,成为亟待解决的问题。
发明内容
本申请提供一种数据传输的方法和装置,能够提升设备间通信的吞吐率。
第一方面,提供了一种数据传输的方法,该方法可以由第一电子设备执行,该第一电子设备可以是发送端电子设备,或者,也可以由配置于发送端电子设备中的芯片或电路执行,本申请对此不作限定。该方法包括:第一电子设备将第一数据块的数据包连续发送给第二电子设备;该第一电子设备接收来自该第二电子设备的对应于该第一数据块的第一确认报文,其中,该第一确认报文用于指示该第二电子设备完整接收该第一数据块的数据包,或该第一确认报文包括第一序号,该第一序号包括该第一数据块的数据包中该第二电子设备未收到的数据包的序号。
基于上述方案,当数据块的数据包全部发送完毕后,第一电子设备再接收第一确认报文,即发送数据与接收反馈信息的阶段分开,可以最大化的利用半双工机制芯片,能够减少接收重传报文对发送的影响,使吞吐率得到提升。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一电子设备向该第二电子设备发送该第一序号对应的数据包。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一电子设备接收来自该第二电子设备的第三确认报文,该第三确认报文用于指示该第二电子设备完整接收该第一序号对应的数据包。
结合第一方面,在第一方面的某些实现方式中,该第一确认报文是由该第二电子设备根据该第一数据块的数据包的实际序号和该第二电子设备收到的数据包的序号确定的,其中,该第一数据块的数据包的包头信息包括该第一数据块的数据包的实际序号。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一电子设备向该第二电子设备发送第二确认报文,该第二确认报文用于指示该第一电子设备接收到该第一 确认报文。
基于上述方案,通过第一电子设备反馈第二确认报文,可以避免由于丢失第一确认报文而造成的重传,提高了数据传输的效率。
结合第一方面,在第一方面的某些实现方式中,该第一数据块的大小满足如下关系:block_size=min{send_buffer/2,send_speed*RRT/2},式中,block_size表示数据块的大小,send_buffer表示该第一电子设备缓存区内数据块的大小,send_speed表示该第一电子设备与该第二电子设备的传输速率,往返时间RRT表示该第一电子设备与该第二电子设备传输的往返时间。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该第一电子设备在第一时间段内未接收到该第一确认报文,该第一电子设备向该第二电子设备重新连续发送该第一数据块的数据包。
基于上述方案,当第一电子设备在第一时间段内未收到接收端电子设备的反馈信息,第一电子设备重传数据块,可以节约第一电子设备的等待时间,提高数据传输的效率。
第二方面,提供了一种数据传输的方法,该方法可以由第二电子设备执行,该第二电子设备可以是接收端电子设备,或者,也可以由配置于接收端电子设备中的芯片或电路执行,本申请对此不作限定。该方法包括:第二电子设备连续接收来自第一电子设备的第一数据块的数据包;该第二电子设备确定该第一数据块的数据包发送结束;该第二电子设备向该第一电子设备发送对应于该第一数据块的第一确认报文,其中,该第一确认报文用于指示该第二电子设备完整接收该第一数据块的数据包,或,该第一确认报文,包括第一序号,该第一序号包括该第一数据块的数据包中该第二电子设备未收到的数据包的序号。
基于上述方案,通过将数据包的确认过程转移到数据包发送的结束时期,对于半双工的芯片来说,发送数据包的阶段与传输第一确认报文的阶段分开,能够减少反向传输带宽造成的整体吞吐率的下降。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第二电子设备接收该第一序号对应的数据包。
结合第二方面,在第二方面的某些实现方式中,该第二电子设备确定在第一时间段内未接收到该第一数据块的最后一个数据包,或,该第二电子设备确定接收到该第一数据块的最后一个数据包。
结合第二方面,在第二方面的某些实现方式中,该第二电子设备根据该第一数据块的数据包的实际序号和该第二电子设备收到的数据包的序号确定该第一确认报文,其中,该第一数据块的数据包的包头信息包括该第一数据块的数据包的实际序号。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第二电子设备接收来自该第一电子设备的第二确认报文,该第二确认报文用于指示该第一电子设备接收到该第一确认报文。
结合第二方面,在第二方面的某些实现方式中,该第一数据块的大小满足如下关系:block_size=min{send_buffer/2,send_speed*RRT/2},式中,block_size表示数据块的大小,send_buffer表示该第一电子设备缓存区内数据块的大小,send_speed表示该第一电子设备与该第二电子设备的传输速率,往返时间RRT表示该第一电子设备与该第二电子设备传输的往返时间。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该第二电子设备接收到第一序号对应的数据包后,向第一电子设备返回第三确认报文,该第三确认报文用于指示该第二电子设备完整接收该第一序号对应的数据包。
第三方面,提供了一种数据传输的装置,该装置包括第一电子设备,或者,该装置包括用于实现该第一电子设备功能的装置,该装置可以是发送端电子设备。该装置包括:收发模块,用于将第一数据块的数据包连续发送给第二电子设备;该收发模块,还用于接收来自该第二电子设备的对应于该第一数据块的第一确认报文,其中,该第一确认报文用于指示该第二电子设备完整接收该第一数据块的数据包,或,该第一确认报文包括第一序号,该第一序号包括该第一数据块的数据包中该第二电子设备未收到的数据包的序号。
基于上述方案的有益效果,可以参考第一方面的相应描述,为了简洁,本申请在此不再赘述。
结合第三方面,在第三方面的某些实现方式中,该收发模块,还用于向该第二电子设备发送该第一序号对应的数据包。
结合第三方面,在第三方面的某些实现方式中,该第一确认报文是由该第二电子设备根据该第一数据块的数据包的实际序号和该第二电子设备收到的数据包的序号确定的,其中,该第一数据块的数据包的包头信息包括该第一数据块的数据包的实际序号。
结合第三方面,在第三方面的某些实现方式中,该第一数据块的大小满足如下关系:block_size=min{send_buffer/2,send_speed*RRT/2},式中,block_size表示数据块的大小,send_buffer表示该第一电子设备的缓存区内数据块的大小,send_speed表示该第一电子设备与该第二电子设备的传输速率,往返时间RRT表示该第一电子设备与该第二电子设备传输的往返时间。
结合第三方面,在第三方面的某些实现方式中,该收发模块,还用于该第一电子设备在第一时间段内未接收到该第一确认报文,该收发模块向该第二电子设备重新连续发送该第一数据块的数据包。
第四方面,提供了一种数据传输的装置,该装置包括第二电子设备,或者,该装置包括用于实现该第二电子设备功能的装置,该装置可以是接收端电子设备。该装置包括:收发模块,用于连续接收来自第一电子设备的第一数据块的数据包;处理模块,用于确定该第一数据块的数据包发送结束;该收发模块,还用于向该第一电子设备发送对应于该第一数据块的第一确认报文,其中,该第一确认报文用于指示该第二电子设备完整接收该第一数据块的数据包,或,该第一确认报文包括第一序号,该第一序号包括该第一数据块的数据包中该第二电子设备未收到的数据包的序号。
基于上述方案的有益效果,可以参考第二方面的相应描述,为了简洁,本申请在此不再赘述。
结合第四方面,在第四方面的某些实现方式中,该收发模块,还用于接收该第一序号对应的数据包。
结合第四方面,在第四方面的某些实现方式中,该处理模块确定在第一时间段内未接收到该第一数据块的最后一个数据包,或,该处理模块确定接收到该第一数据块的最后一个数据包。
结合第四方面,在第四方面的某些实现方式中,该处理模块具体用于:根据该第一数 据块的数据包的实际序号和该第二电子设备收到的数据包的序号确定该第一确认报文,其中,该第一数据块的数据包的包头信息包括该第一数据块的数据包的实际序号。
结合第四方面,在第四方面的某些实现方式中,该收发模块,还用于接收来自该第一电子设备的第二确认报文,该第二确认报文用于指示该第一电子设备接收到该第一确认报文。
结合第四方面,在第四方面的某些实现方式中,该第一数据块的大小满足如下关系:block_size=min{send_buffer/2,send_speed*RRT/2},式中,block_size表示数据块的大小,send_buffer表示该第一电子设备缓存区内数据块的大小,send_speed表示该第一电子设备与该第二电子设备的传输速率,往返时间RRT表示该第一电子设备与该第二电子设备传输的往返时间。
第五方面,提供了一种数据传输的装置,该装置用于执行上述第一方面提供的方法。具体地,该装置可以包括用于执行第一方面提供的方法的单元和/或模块,如处理模块和/或收发模块。
在一种实现方式中,该装置为发送端电子设备。可以是发送器,或,输出接口;该处理模块可以是处理器。
在另一种实现方式中,该装置为用于发送端电子设备中的芯片、芯片***或电路。当该装置为用于发送端电子设备中的芯片、芯片***或电路时,该收发模块单元可以是该芯片、芯片***或电路上的输出接口、接口电路、输出电路、管脚或相关电路等;该处理模块可以是处理器、处理电路或逻辑电路等。
基于上述方案的有益效果,可以参考第一方面的相应描述,为了简洁,本申请在此不再赘述。
可选地,上述收发器可以为收发电路。可选地,上述输出接口可以为输出电路。
第六方面,提供了一种数据传输的装置,该装置用于执行上述第二方面提供的方法。具体地,该装置可以包括用于执行第二方面提供的方法的单元和/或模块,如处理模块和/或收发模块。
在一种实现方式中,该装置为接收端电子设备。当该装置为接收端电子设备时,该收发模块可以是收发器,或,输入接口;该处理模块可以是处理器。
在另一种实现方式中,该装置为用于接收端电子设备中的芯片、芯片***或电路。当该装置为用于数据传输的设备中的芯片、芯片***或电路时,该收发模块单元可以是该芯片、芯片***或电路上的输入接口、接口电路、输入电路、管脚或相关电路等;该处理模块可以是处理器、处理电路或逻辑电路等。
可选地,上述收发器可以为收发电路。可选地,上述输入接口可以为输入电路。
基于上述方案的有益效果,可以参考第二方面的相应描述,为了简洁,本申请在此不再赘述。
第七方面,提供一种数据传输的装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行上述第一方面或第二方面提供的方法。
在一种实现方式中,该装置为发送端电子设备或接收端电子设备。
在另一种实现方式中,该装置为用于发送端电子设备或接收端电子设备中的芯片、芯 片***或电路。
第八方面,本申请提供一种处理器,用于执行上述各方面提供的方法。在执行这些方法的过程中,上述方法中有关发送上述信息和获取/接收上述信息的过程,可以理解为由处理器输出上述信息的过程,以及处理器接收输入的上述信息的过程。在输出上述信息时,处理器将该上述信息输出给收发器,以便由收发器进行发射。该上述信息在由处理器输出之后,还可能需要进行其他的处理,然后才到达收发器。类似的,处理器接收输入的上述信息时,收发器获取/接收该上述信息,并将其输入处理器。更进一步的,在收发器收到该上述信息之后,该上述信息可能需要进行其他的处理,然后才输入处理器。
对于处理器所涉及的发射、发送和获取/接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则均可以更加一般性的理解为处理器输出和接收、输入等操作,而不是直接由射频电路和天线所进行的发射、发送和接收操作。
在实现过程中,上述处理器可以是专门用于执行这些方法的处理器,也可以是执行存储器中的计算机指令来执行这些方法的处理器,例如通用处理器。上述存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(Read Only Memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
第九方面,提供一种计算机可读存储介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述第一方面至第二方面提供的方法。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面至第二方面提供的方法。
第十一方面,提供一种芯片,该芯片包括处理器与通信接口,该处理器通过该通信接口读取存储器上存储的指令,执行上述第一方面至第二方面提供的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述第一方面至第二方面提供的方法。
附图说明
图1出了本申请一个实施例的通信***100的示例性架构图。
图2示出了本申请协议在分布式文件***场景下的连接过程的示意性架构图。
图3示出了开放式***网络互连模型中各层中的数据单位。
图4示出了本申请实施例提供的一种数据传输的方法400的流程示意图。
图5示出了本申请实施例提供的一种数据包的报文格式。
图6是本申请实施例的发送端电子设备的示意性结构图。
图7是本申请实施例的接收端电子设备的示意性结构图。
图8是本申请实施例的芯片的示意性结构图。
图9是本申请实施例的芯片的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信***,例如:全球移动通讯(Global System of Mobile communication,GSM)***、码分多址(Code Division Multiple Access,CDMA)***、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)***、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)***、LTE频分双工(Frequency Division Duplex,FDD)***、LTE时分双工(Time Division Duplex,TDD)、通用移动通信***(Universal Mobile Telecommunication System,UMTS)、全球互联微波接入(Worldwide Interoperability for Microwave Access,WiMAX)通信***、第五代(5th Generation,5G)***或新无线(New Radio,NR)、下一代通信***(例如,6G通信***)、多种接入***的融合***,或演进***等。
本申请实施例中所涉及到的终端设备可以包括各种具有无线通信功能的接入终端、移动设备、用户终端或用户设备(user equipment,UE)。例如,终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、机器类型通信(machine type communication,MTC)终端、客户终端设备(customer premise equipment,CPE)、无人驾驶(self-driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。本申请的实施例对应用场景不做限定。本申请中将前述终端设备及可设置于前述终端设备的芯片统称为终端设备。
作为示例而非限定,在本申请实施例中,该终端设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
本申请实施例中的网络设备可以是用于与终端设备通信的设备,该网络设备可以是全球移动通讯(Global System of Mobile communication,GSM)***或码分多址(Code Division Multiple Access,CDMA)中的基站(Base Transceiver Station,BTS),也可以是宽带码分多址(Wideband Code Division Multiple Access,WCDMA)***中的基站(NodeB,NB),还可以是LTE***中的演进型基站(Evolutional NodeB,eNB或eNodeB),还可以是云无线接入网络(Cloud Radio Access Network,CRAN)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及5G网络中的网络设备或者演进的PLMN网络中的网络设备、下一代通信***(例如,6G通信***)中的网络设备、多种接入***的融合***中的网络设备,或演进***中的网络设备等,本申请实施例并不限定。
图1是本申请实施例提供的D2D通信***100的示意图。
在图1中,第一终端设备101和第二终端设备102可以以D2D通信模式进行通信,在进行D2D通信时,第一终端设备101和第二终端设备102通过D2D链路直接进行通信,即第一终端设备101和第二终端设备102可以自主完成D2D链路的建立和维持,该D2D链路可以是两个设备建立无线连接,例如可利用蓝牙使设备直接通信,或者该D2D链路可以是两个设备建立有线直连,或者也可以是通过在同一个局域网中的连接。在图1中,第一终端设备和第二终端设备之间通过D2D链路通信,其传输资源可以是由终端设备自主选取的,不需要网络设备分配传输资源。
目前,D2D通信中的可靠传输主要使用的是TCP协议,TCP协议为了保证不发生丢包,采取的方案是分配每个包一个序号,同时序号也保证了传送到接收端实体的包可以按照序号接收。然后接收端实体对已成功收到的包发回一个相应的确认字符(acknowledge character,ACK)。如果发送端实体在合理的往返时延内未收到确认,那么对应的数据包就被假设为已丢失,并会被进行重传。TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和。此外,若接收端若发现错误,便向发送站发送否认回答的否认字符(negative acknowledge,NACK),表示报文有错,并要求重发。
此外,TCP传输协议在传输数据之前,会有三次握手来建立连接,效率低,占用***资源高,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,因此非常厚重,复杂,很难发挥出芯片实际的最大吞吐率。而对于D2D这种中间设备简单,通信直接的场景来说,厚重的TCP协议以丢包来检测可用带宽的思路会导致重传从而使网络通讯速度变慢,并不能很好地适应D2D通信。
综上,本申请提出了一种轻便简洁的D2D协议,可以应用在近场直传或局域网传输的低丢包率场景下,对于半双工机制的芯片,能够减少接收重传报文对发送的影响,使吞吐率得到提升。
本申请提出的D2D协议可以与TCP协议同时存在于同一个设备中,当设备之间进行通信时,可以通过设备的发现、认证、通道建链,动态端口号和协议类型的交换等过程来建立连接。此外,在应用上的协议握手阶段可以交换软件版本号,从而判断对端设备上是否支持本申请提供的D2D协议类型。
本申请提供的D2D协议可以应用在分布式文件***下,图2示出了本申请协议在分布式文件***场景下的连接过程的示意性架构图。主要包括:
S201,设备200和设备300的发现模块的相互发现。
具体地,该发现模块可以是蓝牙模块,该发现过程可以是被动的发现过程,例如可以是当用户开启设备200的蓝牙模块201后,该设备200的蓝牙模块201在一定连接范围内发现存在设备300的蓝牙模块301可以连接,设备200向设备300发起蓝牙无线连接过程。该发起连接过程,可以是蓝牙模块201向蓝牙模块301发送连接请求,请求无线连接。当然的,也可以是设备300的蓝牙模块301在其连接范围内发现了设备200的蓝牙模块201可以连接,从而发起的连接请求。或者是主动式的连接,例如,当设备300逐渐靠近设备200时,可以触发设备200的蓝牙模块201的发现,示例性地,类似投屏互动过程,或者当设备300靠近设备200后,设备300显示二维码,用户可以打开设备200的相机对设备300的二维码进行扫描。
S202(S202A,S202B),S203(S203A,S203B),
具体地,设备200与设备300分别在其安全认证模块202和203中通过鉴权等操作,相互认证安全性并存储配对信息。
S204,创建行动热点(wifi)或通用串行总线(universal serial bus,USB)通道。
具体地,设备200与设备300创建通道的过程可以简单理解为,创建一个局域网,设备200与设备300进行IP地址的互相交换。
应理解,本申请提供的D2D协议可以使用当前设备200与设备300已有的连接wifi或USB通道。
S205(S205A,S205B),发现对端设备接入拉起服务。
具体地,设备200或设备300启动相应的***服务业务。
S206,用户态应用203向设备发现模块201发送端口号和端口类型。
应理解,该端口号和端口类型可以区分不同的业务,用于设备200与设备300的连接。
S207,设备200将服务端端口类型等信息发送给设备300。
S208,设备300的发现模块301收到设备200发送的端口号和端口类型后,将其发送给设备300的用户态应用303。
S209,用户态应用203与用户态应用303建链握手,并交换端口生成接套口或套接字(socket)信息。
S210(S210A,S210B),设备200与设备300的用户态应用203和303分别将连接的句柄信息传输给分布式文件***204和304。
S211,分布式文件***204与304之间交换协议版本,确定交换文件时采用的协议。
应理解,当分布式文件***之间通过握手交换文件***之后,需要选择传输文件的协议。
当应用发送的文件较大,例如可以是大于预设的阈值或者默认阈值时,此时应用会触发D2D的协议建链进行数据传输,其中,该预设阈值可以是100M。
需要说明的是,网络适配器(network adapter)层用来构建协议层对上层文件***的解耦。通常情况下如果建立的是D2D的链接,例如,可以是存在或可建立wifi/有线直连或者wifi局域网等低丢包率高带宽的传输通道时,默认底层协议使用D2D协议,否则网络适配器会将连接切换到另一协议上去。例如,对于建立的网络连接为跨无线接入点(access point,AP)的传输时,或者当传输的丢包率较高,例如,高于某一阈值时,或者无法建立Wifi/有线直连、wifi局域网时,网络适配器可以默认使用TCP协议。
应理解,本申请实施例提供的D2D协议也可以应用在其他场景下,例如,可以用于近场传输的应用中等,并不局限于分布式文件***中。
需要说明的是,在本申请实施例中,第一电子设备可以是发送端电子设备,或者是用于实现发送端电子设备功能的设备装置,也可以是具有发送端电子设备部分功能的设备装置,或者能够支持发送端电子设备实现该功能的软件、***、程序,例如芯片***,该软件、***、程序可以被安装在发送端电子设备中,具体在本实施例中不做限定。第二电子设备可以是接收端电子设备,者是用于实现接收端电子设备功能的设备装置,也可以是具有接收端电子设备部分功能的设备装置,或者能够支持接收端电子设备实现该功能的软件、***、程序,例如芯片***,该软件、***、程序可以被安装在接收端电子设备中,具体在本实施例中不做限定。为了说明的简便性,下述本申请实施例中,第一电子设备以发送 端电子设备为例,第二电子设备以接收端电子设备为例,进行说明。
图4示出了本申请实施例提供的一种数据传输的方法400的流程示意图。如图4所示,该数据传输的方法包括:
S401,发送端电子设备400更新第一数据块的大小。
首先,以开放式***网络互连(open system interconnect,OSI)模型为参考,参照图3中模型各个层中的数据单位,对数据块与数据包的关系进行说明。在传输层,一个文件会被分成多个数据块,当数据块传输到网络层时,每个数据块会被拆成小包,并从网络层发送出去。
需要说明的是,本申请的数据块与数据包也可以对应其他模型,本申请对此不做限定。
具体地,该第一数据块为当前将要传输的数据块。当前一次数据块传输完成,下一个数据块将要传输时,发送端电子设备400可根据当前的传输情况来更新数据块的大小,该传输情况可以包括:当前或之前一段时间内该发送端电子设备400统计的实时速率、最大速率、或平均速率,也可以是当前统计的平均最大带宽等。例如,若之前的发送速率较快时,可以将当前要传输的数据块设置为较大的数据块,以避免数据块传输过久或丢包。
应理解,在首次发送时,数据块的大小可以设置为默认或随机的大小,例如可以是1Mb、2Mb等。
应理解,本实施例中的发送端电子设备400可以对应图1中的终端设备101,或者图2的设备200,接收端电子设备500可以对应图1中的终端设备102,或者图2的设备300。
具体地,在本申请中,每个数据块的第一个被发送的数据包与最后一个被发出的数据包之间的间隔满足如下关系:
RRT/2=block_size/send_speed
其中,RTT(round-trip time)为往返时间,表示发送端电子设备400从发送数据开始,到收到来自接收端电子设备500的确认信息,总共经历的时间。该RTT由三个部分决定:链路的传播时间、末端***的处理时间、路由器的缓存中的排队和处理时间。其中前两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。所以RTT的变化在一定程度上反映了网络拥塞程度的变化。block_size为数据块的大小,send_speed是芯片的空口速率,其初始值默认可以为1Gbps。
因此,根据上述计算可以得到数据块的大小为,block_size=send_speed*RRT/2。这样的数据块大小,可以使得当前数据块被发送完成后正好收到前一个数据块回复的ACK或NACK包,随即可以直接进行发送下一个数据包或者进行上一个数据包的重传工作。
此外,数据块的大小还应该考虑到当前socket所能够创建的发送缓存,即要保证当前发送缓存能够容纳两个数据块,其中的一个数据块处于等待发送状态或者发送状态,对应的,另一数据块处于正在发送状态或者等待接收ACK或NACK的状态。
因此,数据块的大小可以满足以下关系:
block_size=min{send_buffer/2,send_speed*RRT/2}
其中,send_buffer表示缓存中的数据块的大小。
需要说明的是,当剩余文件的大小小于计算的数据块的大小时,该剩余的文件仍然可以作为一个数据块。
S402,发送端电子设备400向接收端电子设备500连续发送数据包。
具体地,发送端电子设备400按照设置的第一数据块的大小将其分成多个数据包,将数据包以报文的形式发送给接收端电子设备500,该数据包的报文格式可以如图5所示。
其中,序号(sequence number)为当前包的编号,确认编号(acknowledgement number)用来指示接收端电子设备500当前已经成功接收的所有数据包的序列号。标记(flags)表示当前包的类型,占8个比特位,例如,若ACK位被置1,可以表明当前包为ACK包,或者标记中的NACK标志位被置1可以表明当前包为NACK包,同时NACK对的比特位长度不为0,此时,NACK对中将包含数据对,该数据对表明当前数据包的接收区间,即已经接收的数据包的序号区间。或者数据位被置1,表明当前包的类型为数据包。其中ACK位或者NACK标志位或者数据位的比特数可以是预设的。
应理解,该“预设”可包括预先定义,例如,协议定义。其中,“预先定义”可以通过在设备中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
当该包为数据包时,该flag中还包括用于标识数据块的第一个数据包的标志位,当该标志位被置1时,可以指示该数据包为发送的首个数据包,此时,接收端电子设备500可以根据该数据包确定发送端电子设备400开始发送第一数据块的数据包。该flag中还可以包括用于标识数据块的最后一个数据包的标志位,当该标志位被置1时,表示当前包是最后一个数据包。该标志位可以用于接收端电子设备500确认是否开始接收一个新的数据块的数据包以及确认发送端电子设备400是否全部发送了数据块的所有数据包。此外,该数据包的报文中还可以包括该第一数据块包含的数据包的数量,以及该数据包的报文中表示包头信息的部分还可以包括该第一数据块的所有数据包的实际序号。当接收端电子设备500接收到数据包后,可以根据包头信息获取到第一数据块的所有数据包的实际序号,即该接收端电子设备500需要接收的数据包的序号。
数据长度(datalen)表示当前包携带的数据的长度。
示例性地,在本申请实施例中,NACK包可以是如下格式:
Flags:[ACK:NACK]
表明这是一个NACK包。
Data len:0
表明数据长度为0。
acknowledgement number:50286
ACK包序号为50286,表明数据包50286之前的数据包均已被接收完成。
NACK len:2
表明NACK对中有两个NACK对。
NACK pairs:[(51766,146421),(147901,159732)]
表明数据包序号为50286到序号51766之间的数据包丢失,包序号为51766到146421之间的数据包已接收到,数据包146421到147901之间的数据包丢失,包147901到包159732之间的数据包均已接收到。
S403,接收端电子设备500确定第一数据块的数据包已经发送完毕。
具体地,接收端电子设备500可以根据数据包的flag中标识最后一个数据位被置1时,判断已经接收到了第一数据块的最后一个数据包。
可选地,接收端电子设备500确定在一段时间段内未接收到第一数据块的最后一个数据包,接收端电子设备500确定第一数据块的数据包已经发送完毕。
当接收端电子设备500判断第一数据块的数据包已经完全发送完后,该接收端电子设备500判断当前是否收到了数据块的全部数据包,并根据判断结果执行相应操作。该过程可包括场景一或场景二,场景一表示接收端电子设备500已经完全接收到了数据块的所有数据包,场景二表示接收端电子设备500未完全接收到数据块的所有数据包。
接下来,对该两个场景的具体步骤分别进行说明。
具体地,场景一,具体包括以下两个步骤:
S404A,接收端电子设备500确定完全接收了数据块的所有数据包。
具体地,该接收端电子设备500可以根据接收到的数据包的序号和第一数据块的数据包的实际序号来判断完全接收到了数据包,例如,当该接收端电子设备500判断接收到最后一个数据包后,检查已接收到了所有需要接收的数据包的序号时,该接收端电子设备500确定已经接收到了发送端电子设备400发送的所有数据包。
S405A,接收端电子设备500向发送端电子设备400发送第一确认报文。
具体地,当完全收到发送端电子设备400发送的数据包后,接收端电子设备500会回复第一确认报文,该第一确认报文用于指示该接收端电子设备500完整接收了第一数据块的所有数据包,该第一确认报文可以是以ACK包的形式给发送端电子设备400,表明当前数据包已完全接收,发送端电子设备400开始发送下一数据块,或结束数据包的发送。
可选地,接收端电子设备500确定完全接收了数据块的所有数据包后,可以生成该第一确认报文,再向发送端电子设备400发送。
S406A,发送端电子设备400向接收端电子设备500发送第二确认报文。
可选地,当发送端电子设备400接收到第一确认报文后,向接收端电子设备发送第二确认报文,该第二确认报文用于指示该发送端电子设备400接收到了该第一确认报文。
场景二,具体包括以下步骤:
S404B,接收端电子设备500确定未完全接收数据块的所有数据包。
具体地,该接收端电子设备500可以根据接收到的数据包的序号和第一数据块的数据包的实际序号来判断未完全接收到的数据包,例如,当该接收端电子设备500判断接收到最后一个数据包后,检查已接收到的数据包的序号只是需要接收的数据包的序号的一部分,即接收的数据包的序号不连续时,该接收端电子设备500确定数据块的数据包在传输时有丢失。
S405B,接收端电子设备500向发送端电子设备400发送第一确认报文。
具体地,接收端电子设备500确定存在数据包丢失后,该接收端电子设备500向发送端电子设备400发送第一确认报文,此时,该第一确认报文可以是NACK报文,该第一确认报文中包含由第一序号组成的向量,其中,该第一序号是第一数据块中发送失败的包的序号。
可选地,接收端电子设备500确定未收到的数据包的序号后,可以生成该第一确认报文,再向发送端电子设备400发送。
S406B,发送端电子设备400向接收端电子设备500发送第二确认报文。
可选地,当发送端电子设备400接收到第一确认报文后,向接收端电子设备发送第二 确认报文,该第二确认报文可以是ACK报文,该第二确认报文用于指示该发送端电子设备400接收到了该第一确认报文。
S407,发送端电子设备400生成包含丢失的数据包的最小数据块。
具体地,当发送端电子设备400接收到第一确认报文后,根据该第一确认报文中的向量,将丢失的数据包重新生成数据块。
S408,发送端电子设备400重新发送丢失的数据包。
具体地,该步骤可以通过上述步骤402相同,此处不再赘述。
S409,接收端向发送端发送第三确认报文。
具体地,当接收端电子设备500确认接收到所有丢失的数据包后,向发送端电子设备发送第三确认报文,该第三确认报文可以是ACK包,表明接收端电子设备500已经接收了数据块丢失的数据包,至此,发送端电子设备400可以开始发送下一数据块或者结束数据包的发送。
需要说明的是,发送端电子设备400将数据包传输出去之后,并没有立刻将数据包丢弃,而是暂存在缓存区中,直到收到无丢失的确认包才将缓存区的数据释放。
本申请提供的数据的传输方法,在每个数据块发送结束后,将当前数据块中发送失败的数据包的序号组成向量承载在第一确认报文中,将该第一确认报文反馈给发送端电子设备,使得反向确认报文的数据量得到极大的降低,节约了资源。
进一步地,作为一种可能实现的方式,当发送端电子设备400发送完数据块的最后一个数据包后,发送端电子设备400可以启动一个定时器,在该定时器超时时,即在第一时间段内,若发送端电子设备还未收到第一确认报文,则发送端电子设备400主动重新发送该数据块。如果是因为接收端电子设备返回的第一确认报文丢失而导致的重传,当接收端电子设备重复收到该数据块的数据包后,接收端电子设备会重新发送前一次生成的第一确认并重新发送给发送端电子设备,当发送端电子设备收到第一确认报文后,可以根据该第一确认报文中的向量信息,改为发送丢失的数据包。
图6是本申请实施例提供的一种发送端电子设备600示意性结构图。图6所示的发送端电子设备600包括处理器610,处理器610可以从存储器中调用并运行计算机程序,以实现本申请实施例的各个方法中由发送端电子设备实现的相应流程,为了简洁,在此不再赘述。
可选地,如图6所示,发送端电子设备600还可以包括存储器620。其中,处理器610可以从存储器620中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器620可以是独立于处理器610的一个单独的器件,也可以集成在处理器610中。
可选地,如图6所示,发送端电子设备600还可以包括收发器630,处理器610可以控制该收发器630与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。
其中,收发器630可以包括发射机和接收机。收发器630还可以进一步包括天线,天线的数量可以为一个或多个。
图7是本申请实施例提供的一种接收端电子设备700示意性结构图。图7所示的接收端电子设备700包括处理器710,处理器710可以从存储器中调用并运行计算机程序,以 实现本申请实施例的各个方法中由接收端电子设备实现的相应流程,为了简洁,在此不再赘述。
可选地,如图7所示,接收端电子设备700还可以包括存储器720。其中,处理器710可以从存储器720中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器720可以是独立于处理器710的一个单独的器件,也可以集成在处理器710中。
可选地,如图7所示,接收端电子设备700还可以包括收发器730,处理器710可以控制该收发器730与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。
其中,收发器730可以包括发射机和接收机。收发器730还可以进一步包括天线,天线的数量可以为一个或多个。
图8是本申请实施例的芯片的示意性结构图。图8所示的芯片800包括处理器810,处理器810可以从存储器中调用并运行计算机程序,以实现本申请实施例的各个方法中由发送端电子设备实现的相应流程,为了简洁,在此不再赘述。
可选地,如图8所示,芯片800还可以包括存储器820。其中,处理器810可以从存储器820中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器820可以是独立于处理器810的一个单独的器件,也可以集成在处理器810中。
可选地,该芯片800还可以包括输入接口830。其中,处理器810可以控制该输入接口830与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。
可选地,该芯片800还可以包括输出接口840。其中,处理器810可以控制该输出接口840与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。
应理解,本申请实施例提到的芯片还可以称为***级芯片、***芯片、芯片***或片上***芯片等。
图9是本申请实施例的芯片的示意性结构图。图9所示的芯片900包括处理器910,处理器910可以从存储器中调用并运行计算机程序,以实现本申请实施例的各个方法中由接收端电子设备实现的相应流程,为了简洁,在此不再赘述。
可选地,如图9所示,芯片900还可以包括存储器920。其中,处理器910可以从存储器920中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器920可以是独立于处理器910的一个单独的器件,也可以集成在处理器910中。
可选地,该芯片900还可以包括输入接口930。其中,处理器910可以控制该输入接口930与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。
可选地,该芯片900还可以包括输出接口940。其中,处理器910可以控制该输出接口940与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。
应理解,本申请实施例提到的芯片还可以称为***级芯片、***芯片、芯片***或片上***芯片等。
应理解,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件 形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,上述存储器为示例性但不是限制性说明,例如,本申请实施例中的存储器还可以是静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)以及直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)等等。也就是说,本申请实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于本申请实施例中的终端设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由终端设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。该计算机程序产品可应用于本申请实施例中的终端设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由终端设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序。该计算机程序可应用于本申请实施例中的终端设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由终端设备实现的相应流程,为了简洁,在此不再赘述。
应理解,本文中术语“***”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,在本发明实施例中,“与A相应(对应)的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (29)

  1. 一种数据传输的方法,其特征在于,应用于第一电子设备,包括:
    第一电子设备将第一数据块的数据包连续发送给第二电子设备;
    所述第一电子设备接收来自所述第二电子设备的对应于所述第一数据块的第一确认报文,其中,
    所述第一确认报文用于指示所述第二电子设备完整接收所述第一数据块的数据包,
    所述第一确认报文,包括第一序号,所述第一序号包括所述第一数据块的数据包中所述第二电子设备未收到的数据包的序号。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述第一电子设备向所述第二电子发送所述第一序号对应的数据包。
  3. 根据权利要求1或2所述的方法,其特征在于,
    所述第一确认报文是由所述第二电子设备根据所述第一数据块的数据包的实际序号和所述第二电子设备收到的数据包的序号确定的,其中,所述第一数据块的数据包的包头信息包括所述第一数据块的数据包的实际序号。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
    所述第一电子设备向所述第二电子设备发送第二确认报文,所述第二确认报文用于指示所述第一电子设备接收到所述第一确认报文。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,
    所述第一数据块的大小满足如下关系:
    block_size=min{send_buffer/2,send_speed*RRT/2}
    式中,block_size表示数据块的大小,send_buffer表示所述第一电子设备缓存区内数据块的大小,send_speed表示所述第一电子设备与所述第二电子设备的传输速率,往返时间RRT表示所述第一电子设备与所述第二电子设备传输的往返时间。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
    所述第一电子设备在第一时间段内未接收到所述第一确认报文,所述第一电子设备向所述第二电子设备重新连续发送所述第一数据块的数据包。
  7. 一种数据传输的方法,其特征在于,应用于第二电子设备,包括:
    第二电子设备连续接收来自第一电子设备的第一数据块的数据包;
    所述第二电子设备确定所述第一数据块的数据包发送结束;
    所述第二电子设备向所述第一电子设备发送对应于所述第一数据块的第一确认报文,其中,所述第一确认报文用于指示所述第二电子设备完整接收所述第一数据块的数据包,
    所述第一确认报文,包括第一序号,所述第一序号包括所述第一数据块的数据包中所述第二电子设备未收到的数据包的序号。
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    所述第二电子设备接收所述第一序号对应的数据包。
  9. 根据权利要求7或8所述的方法,其特征在于,所述第二电子设备确定所述第一数据块的数据包发送结束,包括:
    所述第二电子设备确定在第一时间段内未接收到所述第一数据块的最后一个数据包,
    所述第二电子设备确定接收到所述第一数据块的最后一个数据包。
  10. 根据权利要求7至9中任一项所述的方法,其特征在于,所述方法还包括:
    所述第二电子设备根据所述第一数据块的数据包的实际序号和所述第二电子设备收到的数据包的序号确定所述第一确认报文,其中,所述第一数据块的数据包的包头信息包括所述第一数据块的数据包的实际序号。
  11. 根据权利要求7至10中任一项所述的方法,其特征在于,所述方法还包括:
    所述第二电子设备接收来自所述第一电子设备的第二确认报文,所述第二确认报文用于指示所述第一电子设备接收到所述第一确认报文。
  12. 根据权利要求7至11中任一项所述的方法,其特征在于,
    所述第一数据块的大小满足如下关系:
    block_size=min{send_buffer/2,send_speed*RRT/2}
    式中,block_size表示数据块的大小,send_buffer表示所述第一电子设备缓存区内数据块的大小,send_speed表示所述第一电子设备与所述第二电子设备的传输速率,往返时间RRT表示所述第一电子设备与所述第二电子设备传输的往返时间。
  13. 一种数据传输的装置,所述装置包括第一电子设备,或者,所述装置包括用于实现所述第一电子设备功能的装置,其特征在于,包括:
    收发模块,用于将第一数据块的数据包连续发送给第二电子设备;
    所述收发模块,还用于接收来自所述第二电子设备的对应于所述第一数据块的第一确认报文,其中,
    所述第一确认报文用于指示所述第二电子设备完整接收所述第一数据块的数据包,
    所述第一确认报文,包括第一序号,所述第一序号包括所述第一数据块的数据包中所述第二电子设备未收到的数据包的序号。
  14. 根据权利要求13所述的装置,其特征在于,
    所述收发模块,还用于向所述第二电子设备发送所述第一序号对应的数据包。
  15. 根据权利要求13或14所述的装置,其特征在于,
    所述第一确认报文是由所述第二电子设备根据所述第一数据块的数据包的实际序号和所述第二电子设备收到的数据包的序号确定的,其中,所述第一数据块的数据包的包头信息包括所述第一数据块的数据包的实际序号。
  16. 根据权利要求13至15中任一项所述的装置,其特征在于,
    所述收发模块,还用于向所述第二电子设备发送第二确认报文,所述第二确认报文用于指示所述第一电子设备接收到所述第一确认报文。
  17. 根据权利要求13至16中任一项所述的装置,其特征在于,
    所述第一数据块的大小满足如下关系:
    block_size=min{send_buffer/2,send_speed*RRT/2}
    式中,block_size表示数据块的大小,send_buffer表示所述第一电子设备的缓存区内数据块的大小,send_speed表示所述第一电子设备与所述第二电子设备的传输速率,往返时间RRT表示所述第一电子设备与所述第二电子设备传输的往返时间。
  18. 根据权利要求13至17中任一项所述的装置,其特征在于,
    所述收发模块,还用于所述第一电子设备在第一时间段内未接收到所述第一确认报文,所述收发模块向所述第二电子设备重新连续发送所述第一数据块的数据包。
  19. 一种数据传输的装置,所述装置包括第二电子设备,或者,所述装置包括用于实现所述第二电子设备功能的装置,其特征在于,包括:
    收发模块,用于连续接收来自第一电子设备的第一数据块的数据包;
    处理模块,用于确定所述第一数据块的数据包发送结束;
    所述收发模块,还用于向所述第一电子设备发送对应于所述第一数据块的第一确认报文,其中,所述第一确认报文用于指示所述第二电子设备完整接收所述第一数据块的数据包,
    所述第一确认报文,包括第一序号,所述第一序号包括所述第一数据块的数据包中所述第二电子设备未收到的数据包的序号。
  20. 根据权利要求19所述的装置,其特征在于,
    所述收发模块,还用于接收所述第一序号对应的数据包。
  21. 根据权利要求19或20所述的装置,其特征在于,所述处理模块,用于确定所述第一数据块的数据包发送结束,包括:
    所述处理模块确定在第一时间段内未接收到所述第一数据块的最后一个数据包,
    所述处理模块确定接收到所述第一数据块的最后一个数据包。
  22. 根据权利要求19至21中任一项所述的装置,其特征在于,所述处理模块具体用于:
    根据所述第一数据块的数据包的实际序号和所述第二电子设备收到的数据包的序号确定所述第一确认报文,其中,所述第一数据块的数据包的包头信息包括所述第一数据块的数据包的实际序号。
  23. 根据权利要求19至22中任一项所述的装置,其特征在于,
    所述收发模块,还用于接收来自所述第一电子设备的第二确认报文,所述第二确认报文用于指示所述第一电子设备接收到所述第一确认报文。
  24. 根据权利要求19至23中任一项所述的装置,其特征在于,
    所述第一数据块的大小满足如下关系:
    block_size=min{send_buffer/2,send_speed*RRT/2}
    式中,block_size表示数据块的大小,send_buffer表示所述第一电子设备缓存区内数据块的大小,send_speed表示所述第一电子设备与所述第二电子设备的传输速率,往返时间RRT表示所述第一电子设备与所述第二电子设备传输的往返时间。
  25. 一种通信装置,其特征在于,所述通信装置包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行 权利要求1至6中任一项所述的方法或执行权利要求7至12中任一项所述的方法。
  26. 一种芯片,其特征在于,所述芯片包括处理器,所述处理器用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求1至6中任意一项所述的方法或执行权利要求7至12中任一项所述的方法。
  27. 一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至6中任一项所述的方法或执行如权利要求7至12中任一项所述的方法。
  28. 一种计算机程序产品,其特征在于,包括计算机程序指令,所述计算机程序指令使得计算机执行如权利要求1至6中任一项所述的方法或执行如权利要求7至12中任一项所述的方法。
  29. 一种计算机程序,其特征在于,所述计算机程序使得计算机执行如权利要求1至6中任一项所述的方法或执行如权利要求7至12中任一项所述的方法。
PCT/CN2022/085045 2021-07-01 2022-04-02 一种数据传输的方法和装置 WO2023273486A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202280043511.4A CN117546429A (zh) 2021-07-01 2022-04-02 一种数据传输的方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2021119193 2021-07-01
RU2021119193 2021-07-01

Publications (1)

Publication Number Publication Date
WO2023273486A1 true WO2023273486A1 (zh) 2023-01-05

Family

ID=84691186

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/085045 WO2023273486A1 (zh) 2021-07-01 2022-04-02 一种数据传输的方法和装置

Country Status (2)

Country Link
CN (1) CN117546429A (zh)
WO (1) WO2023273486A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486052A (zh) * 2014-12-30 2015-04-01 厦门大学 一种高丢包率下基于d2d簇的多播重传方法及装置
US20150121161A1 (en) * 2013-10-28 2015-04-30 Saratoga Data Systems, Inc. Fault-tolerant data transmission system for networks with non-full-duplex or asymmetric transport
CN106330414A (zh) * 2016-08-16 2017-01-11 杭州华三通信技术有限公司 一种报文传输方法及装置
CN106550317A (zh) * 2015-09-21 2017-03-29 海能达通信股份有限公司 一种宽带dmo下的单呼方法、装置和***
CN108512634A (zh) * 2017-02-28 2018-09-07 北京华为数字技术有限公司 一种数据处理的方法及相关设备
WO2021057672A1 (zh) * 2019-09-27 2021-04-01 华为技术有限公司 一种序列号同步的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150121161A1 (en) * 2013-10-28 2015-04-30 Saratoga Data Systems, Inc. Fault-tolerant data transmission system for networks with non-full-duplex or asymmetric transport
CN104486052A (zh) * 2014-12-30 2015-04-01 厦门大学 一种高丢包率下基于d2d簇的多播重传方法及装置
CN106550317A (zh) * 2015-09-21 2017-03-29 海能达通信股份有限公司 一种宽带dmo下的单呼方法、装置和***
CN106330414A (zh) * 2016-08-16 2017-01-11 杭州华三通信技术有限公司 一种报文传输方法及装置
CN108512634A (zh) * 2017-02-28 2018-09-07 北京华为数字技术有限公司 一种数据处理的方法及相关设备
WO2021057672A1 (zh) * 2019-09-27 2021-04-01 华为技术有限公司 一种序列号同步的方法及装置

Also Published As

Publication number Publication date
CN117546429A (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
US11395365B2 (en) Method and system for handling PDCP operation in wireless communication system
US10602400B2 (en) Enhancement of PDCP status report
WO2019192596A1 (zh) 传输数据的方法及其装置和***
EP3554022A1 (en) Packet transmission method, terminal, network device, and communication system
CN102217258B (zh) 探测处理方法、数据发送端、数据接收端以及通信***
WO2022110168A1 (zh) 通信配置的方法和通信装置
EP1441473A2 (en) Efficient polled frame exchange on a shared-communications channel
WO2015196393A1 (zh) 一种数据传输方法及设备
WO2016127666A1 (zh) 一种rlc数据包分流方法及基站
WO2013185528A1 (zh) 数据传输方法、设备及***
US20220294858A1 (en) Packet transmission method, communication apparatus, and communication system
WO2022033349A1 (zh) 序列号的指示、确定方法及装置
WO2014186944A1 (zh) 一种确认报文发送方法及其设备
US20230090249A1 (en) Radio link control status report method and corresponding apparatus
WO2020221247A1 (zh) 一种发送、接收反馈信息的方法及设备
WO2019213922A1 (zh) 中继网络中节点间转发数据的方法和网络节点
CN114979839A (zh) 一种传输控制协议代理方法及通信装置
KR20190011898A (ko) 무선 통신 시스템에서 단말, 기지국 및 이의 통신 방법
EP3920592B1 (en) Switching method, apparatus and system in wireless communication system
WO2023273486A1 (zh) 一种数据传输的方法和装置
JP7220786B2 (ja) 無線通信方法、端末装置及びネットワーク装置
WO2018218996A1 (zh) 数据包传输方法及设备
EP4191916A1 (en) Method and apparatus for receiving indication information
TW201832503A (zh) 通信方法、終端設備和網絡設備
EP4207871A1 (en) Communication method and apparatus

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280043511.4

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22831317

Country of ref document: EP

Kind code of ref document: A1