CN112738229B - Communication method for realizing automatic data continuous transmission - Google Patents

Communication method for realizing automatic data continuous transmission Download PDF

Info

Publication number
CN112738229B
CN112738229B CN202011591713.1A CN202011591713A CN112738229B CN 112738229 B CN112738229 B CN 112738229B CN 202011591713 A CN202011591713 A CN 202011591713A CN 112738229 B CN112738229 B CN 112738229B
Authority
CN
China
Prior art keywords
data
receiving end
transmission
cache
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011591713.1A
Other languages
Chinese (zh)
Other versions
CN112738229A (en
Inventor
张宏波
梁烁
薛宁
郭萌
孟振华
杨诚
敖晨歌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Aerospace Automatic Control Research Institute
Original Assignee
Beijing Aerospace Automatic Control Research Institute
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 Beijing Aerospace Automatic Control Research Institute filed Critical Beijing Aerospace Automatic Control Research Institute
Priority to CN202011591713.1A priority Critical patent/CN112738229B/en
Publication of CN112738229A publication Critical patent/CN112738229A/en
Application granted granted Critical
Publication of CN112738229B publication Critical patent/CN112738229B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

The invention relates to a communication method for realizing automatic data continuous transmission, belonging to the technical field of computer communication. The communication method for automatically continuing data transmission can realize reliable data communication between devices. The data transmitting end and the data receiving end adopt double redundancy transmission channels, when data retransmission occurs, data to be retransmitted and data to be transmitted are spliced and continuously transmitted, the data which are transmitted successfully are not output repeatedly, the data to be transmitted are not transmitted due to retransmission, the data receiving end realizes double-channel data redundancy removal, and the data transmission efficiency, the reliability and the real-time performance are high.

Description

Communication method for realizing automatic data continuous transmission
Technical Field
The invention relates to a communication method for realizing automatic data continuous transmission, belonging to the technical field of computer communication.
Background
The application occasions of the aerospace system are usually very severe in conditions and strong in electromagnetic interference, and are exposed to cosmic ray radiation interference all year round, so that the requirement on the reliability of the communication system is higher, the real-time performance of data is stronger, the anti-interference performance requirement of a communication channel is higher, and in order to ensure the reliability of data transmission, the data transmission system generally adopts two channels for redundancy. In the current protocol of the command/response type communication bus, when a data transmission error occurs in a certain data frame, the data frame can only be processed in an application layer, so that all data frames in the current data exchange sequence can only be retransmitted, the real-time performance of the network cannot be guaranteed, and the application of the command/response type communication bus in the aerospace environment is a huge challenge.
A basic error control scheme in the field of digital communication is ARQ, which is used in file transmission with very high data reliability requirements, such as in the field of computer communication. The automatic repeat request is a two-way communication mode, a reverse link needs to be introduced between a sending end and a receiving end, feedback information of whether a data frame is correctly received by the receiving end is sent back to the sending end, the sending end can judge channel conditions such as the strength of noise and whether the link is congested according to the feedback information, and then an optimal repeat strategy is selected to transmit next frame data. In the command/response type dual-redundancy high-speed serial bus, a bus controller issues a data transmission command, a remote terminal responds to the command, the command comprises data transmission and self state required in the command, and all the command and data are transmitted on a redundancy dual-channel, so that the command/response type dual-redundancy high-speed serial bus is very suitable for applying an automatic request retransmission technology.
In the existing automatic repeat request technology, after a receiving end cannot receive data or data decoding fails, NACK must be fed back to a sending end, and then the sending end stops sending new data and sends data which the receiving end requires to be retransmitted, which inevitably causes increase of transmission delay and correspondingly reduces throughput of a system. Especially, the stop-wait ARQ and the return N-step ARQ have low channel utilization rate, some data which are correctly transmitted can be retransmitted, the selective retransmission ARQ adds a sequence number to each frame of data, and only retransmits overtime and error-reported data frames, which is improved compared with the former two methods, but the original data transmission sequence can be disturbed in the data retransmission process, and the implementation difficulty is increased. Finding more efficient retransmission control schemes is still the main research direction of ARQ technology.
It can be seen from the above background situation that the aerospace field has high requirements for real-time performance and reliability of a communication system, and the application conditions are severe, and the prior art has the following problems under the requirements of high bandwidth and large data exchange:
(1) an effective error control technology is not introduced into a protocol of the command/response type communication bus, error data can be processed only in an application layer, the content of data retransmission at each time is all data in the data exchange, a large amount of correctly transmitted data is contained, and channel resources are wasted;
(2) in the existing automatic repeat request technology, in the process of data retransmission, a sending end stops sending new data and sends data which a receiving end requires retransmission, so that transmission delay is increased, and the throughput of a system is reduced;
(3) the transmission channel adopts double-channel transmission, the data required to be stored by a receiver is twice that of the data required to be stored by a single-channel transmission, the storage resource of the data receiver is wasted, the redundant channel is only used when the data transmission is wrong, and the selection between the two channels is not considered, so that the data transmission efficiency is improved;
(4) the data receiver extracts the data after all the data are stored, and the method belongs to a serial processing mode, prolongs the period of data exchange, and reduces the data exchange efficiency of the whole network.
Disclosure of Invention
The technical problem solved by the invention is as follows: the communication method for realizing automatic data continuous transmission overcomes the defects of the prior art, completes reliable large data volume exchange among devices in a command/response type dual-redundancy communication bus, solves the problems of low delay and high efficiency of automatic continuous transmission under the condition of data transmission errors, and is simple and reliable and easy for engineering realization.
The technical scheme of the invention is as follows:
a communication method for realizing automatic data continuous transmission includes the following steps:
(1) the data sending end receives data to be sent in real time and caches the received data to be sent, when the data sending end carries out data transmission, the data sending end firstly checks whether the data in the cache of the data sending end is larger than the minimum byte number of single data exchange, when the data in the cache is larger than the minimum byte number of single data exchange, the data sending end issues a data exchange command to a data receiving end, and when the data receiving end receives the data exchange command, the data receiving end sends self state information of the data receiving end to the data sending end through a dual redundant communication bus; when the data in the cache is not larger than the minimum byte number of single data exchange, the data sending end does not operate;
(2) the data sending end judges whether to transmit data according to the self state information of the received data receiving end, if the data receiving end is in a busy state at present and indicates that the data receiving end can not receive data at present, the data sending end re-issues a data exchange command to the data receiving end after time delay; if the data receiving end is not in the busy state at present, carrying out cache matching according to the cache residual space of the current data receiving end, wherein the number of bytes sent by one-time data exchange does not exceed the cache residual space of the current receiving end;
(3) the data sending end sends data to the data receiving end frame by frame through the channel A and the channel B according to the cache matching result, adds serial numbers to each frame of data, and accumulates the serial numbers;
(4) the data receiving end carries out CRC on the data received through the channel A and the channel B, stores the data passing the CRC into corresponding caches, and discards the data failing to pass the CRC;
(5) the data receiving end inquires the corresponding cache data of the channel A and the channel B in real time, when the cache data exists in the cache of any channel, whether the cache data is output is judged according to the data frame number to be output by the current data receiving end, the same frame data is not output repeatedly, namely the data receiving end always outputs the data frame received in advance in the two channels, and the output data frame does not occupy the cache space of the channel A or the channel B;
(6) after the current data transmission is finished, the data receiving end feeds back transmission state information to the data sending end;
(7) the data sending end judges whether the data transmission has errors according to the transmission state information sent by the data receiving end, if not, all sent data in the cache of the data sending end is cleared, then the step (1) is carried out to transmit the subsequent data until the transmission of the data required by all tasks is finished, if so, the data before the error frame number data is cleared from the buffer of the data sending end according to the error frame number, the data after the error frame number data is retransmitted, the retransmitted data is spliced with the data received by the data sending end in real time, and the automatic continuous transmission of the data is realized until the transmission of the data required by all tasks is finished.
The communication method is to communicate on a command/response type dual-redundancy communication bus, and channels on the dual-redundancy communication bus are marked as a channel A and a channel B.
The contents of the data exchange command include the amount of data currently waiting to be sent.
The self-state information of the data receiving end comprises whether the data receiving end is in a busy state or not and the information of the receiving cache residual space.
The transmission status information includes whether data transmission is erroneous, an erroneous frame number, and cache remaining space information.
The data sending end simultaneously initiates the same data exchange on two channels, and the serial number of each data frame is accumulated; each data receiving end comprises two caches respectively corresponding to the two channels, and the data receiving end responds to the data exchange command and reports the state information of the receiving end, including whether the receiving end is in a busy state and the information of the residual capacity of the caches.
The data sending end implements the principle of 'first-come first-send' data sending, when the data quantity received by the data sending end is larger than the single minimum data sending quantity, the data sending process is started immediately, the data to be sent received in the process is sent together after being spliced with the data needing to be continuously sent in the next data sending process
The data receiving end receives data in the two data transmission channels, firstly judges whether the currently received data is correct or not, if the currently received data is wrong, discards the currently received data and continues to receive subsequent data, and if the currently received data is correct, the currently received data is cached in caches corresponding to the two transmission channels.
The data receiving end reads the data in the caches corresponding to the two transmission channels in real time, sequentially outputs the data arriving firstly in the two channels according to the serial number of the data frame, and discards the data arriving later.
The data receiving end does not find the data frame with a certain serial number in the two channels, namely, the data frame in the two channels has transmission error, the receiving end outputs all correct data frames before the serial number, and reports the serial number of the error data frame in the response to the data sending end; the data sending end finds out the status information returned by the receiving end, when the receiving end is in a busy state, the current data transmission is immediately stopped, and the receiving end does not discard the received data.
Compared with the prior art, the invention has the advantages that:
(1) the communication method for automatically continuing data transmission can realize reliable data communication between devices. The data sending end and the data receiving end adopt double redundant transmission channels, and the data sending end simultaneously sends the same data packet to the two transmission channels, which is equivalent to simultaneously carrying out two times of data transmission. If the data transmission of the two times has errors, the data is retransmitted at most once, which is equivalent to four times of transmission of the same group of data, so that the probability of data errors is greatly reduced, and excessive resources occupied by repeated data transmission for multiple times are also avoided;
(2) in the automatic data continuous transmission management method, a data sending end adopts a principle of 'first-come first-send', the data needing continuous transmission and the data to be sent are spliced and then sent together, the sending flow of new data cannot be stopped, the transmission delay is small, and the real-time performance is good;
(3) in the method for managing the automatic data continuous transmission, a data receiving end outputs data in a channel with smaller delay, abandons the data in the channel with larger delay, reduces the output of repeated data and realizes dual-channel redundancy removal;
(4) the data sending end and the data receiving end perform handshake before each data transmission, the data receiving end reports whether the data sending end is in a busy state and can receive the maximum capacity, and the data sending end sends the data size of the data transmission to the data receiving end;
(5) in the data automatic continuous transmission management method, a data receiving end does not discard correct data before data transmission errors, the correct data are not repeatedly output in the automatic continuous transmission process of the data, and time delay caused by retransmission is reduced;
drawings
FIG. 1 is a command/response dual redundant communication bus architecture;
fig. 2 shows an automatic data transfer process (sending end and receiving end).
Detailed Description
FIG. 1 is a schematic diagram of a command/response type dual redundant communication bus structure according to the present invention. The communication bus consists of a data sender, a data receiver, and a bidirectional data path A, B. The data sending end controls all data exchange in the bus, issues a command to the data receiving end, and is an initiator of the data exchange; the data receiving end responds according to the received command, receives the data and returns to the self state.
Examples are: when data transmission starts, a sending end caches data frames 1, 2, 3, 4 and 5, the sending end issues a command of needing to transmit 5 data frames, and a receiving end responds state information to indicate that the current receiving end can only receive 3 data frames, so that the data sending end sends 3 data frames in first data exchange, and starts to send data frame by frame after adding a sequence number. And after the data in the two channels are verified by the data receiving end, the data passing the verification are stored in the corresponding FIFO. If the data frame 1 in the channel A arrives first, the data frame 1 is output immediately; if the data frame 2 in the channel B arrives first, the data frame 2 is output immediately, and the output data is cleared and cached immediately; there is no data frame 3 in both lanes. The receiving end returns status information, reports data transmission error, and does not receive data frame 3. The sending end clears the buffers of the data frames 1 and 2, at this time, new data frames 6 and 7 enter the buffers, at this time, after splicing the data frame 3 needing to be retransmitted and the data frames 4, 5, 6 and 7 to be sent, a data transmission command is issued. And determining how much data is transmitted at this time according to the cache capacity information of the receiving end, and starting the next data transmission process.
Fig. 2 is a flowchart of a method for managing data continuous transmission automatically between a sending end and a receiving end in the present invention, which includes the following steps:
(1) the sending end is used as an initiator of data transmission, firstly, whether the data in the sending cache is larger than the minimum byte number of single data exchange is checked, and when the condition is met, the sending end issues a data exchange command to the receiving end, wherein the data exchange command comprises the data volume waiting for sending currently. When receiving the command, the data receiving end sends self state information to the bus, including whether the receiving end is in a busy state, receiving the residual space of the cache and the like;
(2) the data sending end judges whether the data transmission can be carried out or not according to the state information of the receiving end, if the receiving end is in a busy state at present and indicates that the receiving end cannot receive the data at present, the data sending end delays for a certain time and then re-issues a data exchange command; if the receiving end is not in the busy state at present, carrying out cache matching according to the cache residual space of the current receiving end, wherein the number of bytes sent by one-time data exchange does not exceed the cache residual space of the current receiving end;
(3) the data transmitting end starts data transmission according to the cache matching result, simultaneously transmits data to the channel A and the channel B frame by frame, adds serial numbers for each frame of data and accumulates the serial numbers;
(4) the data receiving end carries out CRC (cyclic redundancy check) on the data received on the two channels, stores the data passing the check into corresponding caches, and discards the data failing to pass the check;
(5) the data receiving end inquires data in corresponding caches of the two channels in real time, when data exist in any channel, whether the data are output is judged according to the frame number of the data to be output currently, the same frame data are not output repeatedly, namely the receiving end always outputs the data frames received in the two channels firstly, and the output data frames do not occupy the cache space;
(6) after the data transmission is finished, the data receiving end feeds back state information to the sending end, wherein the state information comprises whether the data transmission is in error, an error frame number, cache residual capacity information and the like;
(7) and (4) the data sending end clears the cache of the successfully transmitted data according to the state information of the receiving end, and then the step (1) is carried out.
A communication method for realizing automatic data continuous transmission is characterized in that communication is carried out on a command/response type dual-redundancy communication bus, and channels on the dual-redundancy communication bus are marked as a channel A and a channel B, and the method comprises the following steps:
(1) the data sending end receives data to be sent in real time and caches the received data to be sent, when the data sending end carries out data transmission, the data sending end firstly checks whether the data in the cache of the data sending end is larger than the minimum byte number of single data exchange, when the data in the cache is larger than the minimum byte number of single data exchange, the data sending end issues a data exchange command to a data receiving end, and when the data receiving end receives the data exchange command, the data receiving end sends self state information of the data receiving end to the data sending end through a command/response type dual-redundancy communication bus;
the contents of the data exchange command include the amount of data currently waiting to be sent,
the self state information of the data receiving end comprises whether the data receiving end is in a busy state or not and the information of the receiving and caching residual space;
when the data in the cache is not larger than the minimum byte number of single data exchange, the data sending end does not operate;
(2) the data sending end judges whether to transmit data according to the self state information of the received data receiving end, if the data receiving end is in a busy state at present and indicates that the data receiving end can not receive data at present, the data sending end re-issues a data exchange command to the data receiving end after the time delay setting time; if the data receiving end is not in the busy state at present, carrying out cache matching according to the cache residual space of the current data receiving end, wherein the number of bytes sent by one-time data exchange does not exceed the cache residual space of the current receiving end;
(3) the data sending end sends data to the data receiving end frame by frame through the channel A and the channel B according to the cache matching result, adds serial numbers to each frame of data, and accumulates the serial numbers;
(4) the data receiving end performs CRC on the data received through the channel A and the channel B, stores the data passing the CRC into a corresponding cache (the corresponding cache refers to the cache of the channel A or the channel B), and discards the data failing to pass the CRC;
(5) the data receiving end inquires the corresponding cache data of the channel A and the channel B in real time, when the cache data exists in the cache of any channel, whether the cache data is output is judged according to the data frame number to be output by the current data receiving end, the same frame data is not output repeatedly, namely the data receiving end always outputs the data frame received in advance in the two channels, and the output data frame does not occupy the cache space of the channel A or the channel B;
(6) after the current data transmission is finished, the data receiving end feeds back transmission state information to the data transmitting end;
the transmission state information comprises whether data transmission is in error, an error frame sequence number and cache residual space information;
(7) the data sending end judges whether the data transmission has errors according to the transmission state information sent by the data receiving end, if not, all sent data in the cache of the data sending end is cleared, then the step (1) is carried out to carry out the transmission of the subsequent data until the transmission of the data required by all tasks is finished, if so, the data before the error frame sequence number data is cleared from the buffer of the data sending end according to the error frame sequence number, and the data after the error frame sequence number data (including the error frame sequence number data) is carried out the transmission of the subsequent data until the transmission of the data required by all tasks is finished.
The data sending end simultaneously initiates the same data exchange on two channels, and the serial number of each data frame is accumulated; each data receiving end comprises two caches which respectively correspond to the two channels, responds to the data exchange command, and reports the state information of the receiving end, including whether the receiving end is in a busy state, the cache residual capacity information and the like;
the data sending end implements a 'first-in-first-sending' data sending principle, when the data quantity received by the data sending end is greater than the single minimum data sending quantity, a data sending process is started immediately, and the data to be sent received in the process is spliced with the data to be continuously sent in the next data sending process and then sent together; the data sending end clears the successfully transmitted data cache according to the state information returned by the receiving end;
the data receiving end receives data in two data transmission channels, firstly judges whether the currently received data is correct or not, if the currently received data is wrong, discards the currently received data and continues to receive subsequent data, and if the currently received data is correct, the currently received data is cached in caches corresponding to the two transmission channels;
the data receiving end reads the data in the caches corresponding to the two transmission channels in real time, sequentially outputs the data arriving firstly in the two channels according to the serial number of the data frame, and discards the data arriving later. For example, if the data frame 1 in the channel a arrives at the receiving end before the data frame 1 in the channel B, the data frame 1 in the channel a is output, and the data frame 1 in the channel B is discarded; if the data frame 2 in the channel B reaches the receiving end before the data frame 2 in the channel A, outputting the data frame 2 in the channel B, and discarding the data frame 2 in the channel A;
the data receiving end does not find the data frame with a certain serial number in the two channels, namely, the data frame in the two channels has transmission error, the receiving end outputs all correct data frames before the serial number, and reports the serial number of the error data frame in the response to the data sending end;
the data sending end finds out the status information returned by the receiving end, when the receiving end is in a busy state, the current data transmission is immediately stopped, and the receiving end does not discard the received data.
Example 1
(1) The method comprises the following steps that a 4G byte data transmission requirement exists, data serially enter a sending cache of a data sending end, the minimum byte number of single data exchange of the data sending end is 1k byte, when the data in the sending cache reaches 1k byte, the 1k byte data is used as the 1 st packet data to start data transmission, the data sending end issues a data exchange command to a data receiving end, and the data receiving end sends self state information of the data receiving end to the data sending end through a command/response type dual redundant communication bus when receiving the data exchange command: the data receiving end is not in a busy state, and the receiving cache residual space is 2 kbytes;
(2) the data transmitting end judges to immediately start data transmission according to the received self state information of the data receiving end, and the number of bytes transmitted in the data exchange is 1 kbyte;
(3) the data sending end sends data to the data receiving end frame by frame through a channel A and a channel B, each frame comprises 256 bytes of data, serial numbers are added to each frame of data, the serial numbers are accumulated, 4 frames of data are obtained, and the frame serial numbers are 1, 2, 3 and 4 respectively;
(4) the data receiving end performs CRC on the data received through the channel A and the channel B, stores the data passing the CRC into a corresponding cache (the corresponding cache refers to the cache of the channel A or the channel B), and discards the data failing to pass the CRC;
(5) the data receiving end inquires corresponding cache data of the channel A and the channel B in real time, effective data is firstly stored in a cache of the channel A, the frame number of the effective data is 1, the data receiving end outputs the data of the channel A, a data frame with the number of 1 appears in the channel B, the data receiving end discards the data with the number of 1 in the channel B, the channel B is cleared to receive the cache, a data frame with the number of 2 appears in the channel B, and the data receiving end outputs the data with the number of 2 in the channel B until the data receiving end outputs all 1K data;
(6) after the data receiving end finishes outputting all data, the data receiving end feeds back transmission state information to the data sending end: the data transmission is successful, and the current cache residual space is 2 kbytes;
(7) and (2) the data sending end clears all the sent data of 1k bytes in the cache of the data sending end according to the transmission state information sent by the data receiving end, and then the step (1) is carried out to carry out the transmission of the subsequent data until the transmission of all the data of 4G bytes is completed.
Example 2
(1) The method comprises the following steps that a 4G byte data transmission requirement exists, data serially enter a sending cache of a data sending end, the minimum byte number of single data exchange of the data sending end is 1k byte, when the data in the sending cache reaches 1k byte, the 1k byte data is used as the 1 st packet data to start data transmission, the data sending end issues a data exchange command to a data receiving end, and the data receiving end sends self state information of the data receiving end to the data sending end through a command/response type dual redundant communication bus when receiving the data exchange command: the data receiving end is not in a busy state, and the receiving cache residual space is 2 kbytes;
(2) the data transmitting end judges to immediately start data transmission according to the received self state information of the data receiving end, and the number of bytes transmitted in the data exchange is 1 kbyte;
(3) the data sending end sends data to the data receiving end frame by frame through a channel A and a channel B, each frame comprises 256 bytes of data, serial numbers are added to each frame of data, the serial numbers are accumulated, 4 frames of data are obtained, and the frame serial numbers are 1, 2, 3 and 4 respectively;
(4) the data receiving end performs CRC on the data received through the channel A and the channel B, stores the data passing the CRC into a corresponding cache (the corresponding cache refers to the cache of the channel A or the channel B), and discards the data failing to pass the CRC;
(5) the data receiving end inquires the corresponding cache data of the channel A and the channel B in real time, effective data is firstly found in the cache of the channel A, the frame number of the data is 1, the data receiving end outputs the data of the channel A, then a data frame with the number of 1 appears in the channel B, the data receiving end discards the data with the number of 1 in the channel B, the channel B receiving cache is cleared, then a data frame with the number of 2 appears in the channel B, the data receiving end outputs the data with the number of 2 in the channel B, then data frames with the number of 4 appear in the channel A, B, the data frames are not consistent with the frame number of the data to be output currently, and the data receiving end stops data output;
(6) the data receiving end feeds back transmission state information to the data sending end: the data transmission is unsuccessful, the error frame number is 3, and the current cache residual space is 2 kbytes;
(7) the data sending end clears 512 bytes of sent data in the data sending end cache according to the transmission state information sent by the data receiving end, in the 1 st packet data transmission process, the data sending end receives the subsequent 3k bytes of data in all 4G bytes of data, then the unsuccessfully transmitted 512 bytes of data are spliced with the real-time received 3k bytes of data, the data to be sent at the moment are 3.5k bytes in total, the cache residual space of the data receiving end is 2k bytes, so the 2 nd packet data bit is 2k bytes, contains 512 bytes of data to be retransmitted and real-time received 1.5k bytes of data, and the step (3) is carried out for the transmission of the subsequent data.

Claims (10)

1. A communication method for realizing automatic data continuous transmission is characterized in that the method comprises the following steps:
(1) the data sending end receives data to be sent in real time and caches the received data to be sent, when the data sending end carries out data transmission, the data sending end firstly checks whether the data in the cache of the data sending end is larger than the minimum byte number of single data exchange, when the data in the cache is larger than the minimum byte number of single data exchange, the data sending end issues a data exchange command to a data receiving end, and when the data receiving end receives the data exchange command, the data receiving end sends self state information of the data receiving end to the data sending end through a dual redundant communication bus; when the data in the cache is not larger than the minimum byte number of single data exchange, the data sending end does not operate;
(2) the data sending end judges whether to transmit data according to the self state information of the received data receiving end, if the data receiving end is in a busy state at present and indicates that the data receiving end can not receive data at present, the data sending end re-issues a data exchange command to the data receiving end after time delay; if the data receiving end is not in the busy state at present, carrying out cache matching according to the cache residual space of the current data receiving end, wherein the number of bytes sent by one-time data exchange does not exceed the cache residual space of the current receiving end;
(3) the data sending end sends data to the data receiving end frame by frame through the channel A and the channel B according to the cache matching result, adds serial numbers to each frame of data, and accumulates the serial numbers;
(4) the data receiving end performs CRC on the data received through the channel A and the channel B, stores the data passing the CRC into corresponding caches, and discards the data failing to pass the CRC;
(5) the data receiving end inquires the corresponding cache data of the channel A and the channel B in real time, when the cache data exists in the cache of any channel, whether the cache data is output is judged according to the data frame number to be output by the current data receiving end, the same frame data is not output repeatedly, namely the data receiving end always outputs the data frame received in advance in the two channels, and the output data frame does not occupy the cache space of the channel A or the channel B;
(6) after the current data transmission is finished, the data receiving end feeds back transmission state information to the data transmitting end;
(7) the data sending end judges whether the data transmission has errors according to the transmission state information sent by the data receiving end, if not, all sent data in the cache of the data sending end is cleared, then the step (1) is carried out to transmit the subsequent data until the transmission of the data required by all tasks is finished, if so, the data before the error frame number data is cleared from the buffer of the data sending end according to the error frame number, the data after the error frame number data is retransmitted, the retransmitted data is spliced with the data received by the data sending end in real time, and the automatic continuous transmission of the data is realized until the transmission of the data required by all tasks is finished.
2. The communication method for realizing automatic data retransmission according to claim 1, wherein: the communication method is to communicate on a command/response type dual-redundancy communication bus, and channels on the dual-redundancy communication bus are marked as a channel A and a channel B.
3. The communication method for realizing automatic data retransmission according to claim 1, wherein: the contents of the data exchange command include the amount of data currently waiting to be sent.
4. The communication method for realizing automatic data retransmission according to claim 1, wherein: the self-state information of the data receiving end comprises whether the data receiving end is in a busy state or not and the information of the receiving cache residual space.
5. The communication method for realizing automatic data retransmission according to claim 1, wherein: the transmission status information includes whether data transmission is erroneous, an erroneous frame number, and cache remaining space information.
6. The communication method for realizing automatic data retransmission according to claim 1, wherein: the data sending end simultaneously initiates the same data exchange on two channels, and the serial number of each data frame is accumulated; each data receiving end comprises two caches respectively corresponding to the two channels, and the data receiving end responds to the data exchange command and reports the state information of the receiving end, including whether the receiving end is in a busy state and the information of the residual capacity of the caches.
7. The communication method for realizing automatic data retransmission according to claim 1, wherein: the data sending end implements a 'first-in-first-sending' data sending principle, when the data quantity received by the data sending end is greater than the single minimum data sending quantity, a data sending process is started immediately, and the data to be sent received in the process is spliced with the data to be continuously sent in the next data sending process and then sent together; and the data sending end clears the successfully transmitted data cache according to the state information returned by the receiving end.
8. The communication method for realizing automatic data retransmission according to claim 1, wherein: the data receiving end receives data in the two data transmission channels, firstly judges whether the currently received data is correct or not, if the currently received data is wrong, discards the currently received data and continues to receive subsequent data, and if the currently received data is correct, the currently received data is cached in caches corresponding to the two transmission channels.
9. The communication method for realizing automatic data retransmission according to claim 1, wherein: the data receiving end reads the data in the caches corresponding to the two transmission channels in real time, sequentially outputs the data arriving firstly in the two channels according to the serial number of the data frame, and discards the data arriving later.
10. The communication method for realizing automatic data retransmission according to claim 1, wherein: the data receiving end does not find the data frame with a certain serial number in the two channels, namely, the data frame in the two channels has transmission error, the receiving end outputs all correct data frames before the serial number, and reports the serial number of the error data frame in the response to the data sending end; the data sending end finds out the status information returned by the receiving end, when the receiving end is in a busy state, the current data transmission is immediately stopped, and the receiving end does not discard the received data.
CN202011591713.1A 2020-12-29 2020-12-29 Communication method for realizing automatic data continuous transmission Active CN112738229B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011591713.1A CN112738229B (en) 2020-12-29 2020-12-29 Communication method for realizing automatic data continuous transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011591713.1A CN112738229B (en) 2020-12-29 2020-12-29 Communication method for realizing automatic data continuous transmission

Publications (2)

Publication Number Publication Date
CN112738229A CN112738229A (en) 2021-04-30
CN112738229B true CN112738229B (en) 2022-08-12

Family

ID=75607684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011591713.1A Active CN112738229B (en) 2020-12-29 2020-12-29 Communication method for realizing automatic data continuous transmission

Country Status (1)

Country Link
CN (1) CN112738229B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114090494B (en) * 2021-11-29 2024-04-05 海光信息技术股份有限公司 Data transmission method, device, equipment and storage medium
CN114244780B (en) * 2021-12-27 2024-04-16 海光信息技术股份有限公司 Data transmission method, data transmission device and related equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036661A (en) * 2013-01-08 2013-04-10 西安电子科技大学 Automatic retransmission request method with self-healing function
CN105245317A (en) * 2015-10-20 2016-01-13 北京小鸟听听科技有限公司 Data transmission method, transmitting end, receiving end and data transmission system
CN106453233A (en) * 2016-08-10 2017-02-22 深圳市中兴物联科技股份有限公司 Data transmission method and apparatus based on UDP
CN109743135A (en) * 2018-12-29 2019-05-10 中国大唐集团新能源科学技术研究院有限公司 A kind of method of breakpoint transmission file transmission
CN110995697A (en) * 2019-11-29 2020-04-10 济南慧天云海信息技术有限公司 Big data transmission method and system
WO2020134755A1 (en) * 2018-12-29 2020-07-02 广州市百果园网络科技有限公司 Data transmission method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036661A (en) * 2013-01-08 2013-04-10 西安电子科技大学 Automatic retransmission request method with self-healing function
CN105245317A (en) * 2015-10-20 2016-01-13 北京小鸟听听科技有限公司 Data transmission method, transmitting end, receiving end and data transmission system
CN106453233A (en) * 2016-08-10 2017-02-22 深圳市中兴物联科技股份有限公司 Data transmission method and apparatus based on UDP
CN109743135A (en) * 2018-12-29 2019-05-10 中国大唐集团新能源科学技术研究院有限公司 A kind of method of breakpoint transmission file transmission
WO2020134755A1 (en) * 2018-12-29 2020-07-02 广州市百果园网络科技有限公司 Data transmission method and device
CN110995697A (en) * 2019-11-29 2020-04-10 济南慧天云海信息技术有限公司 Big data transmission method and system

Also Published As

Publication number Publication date
CN112738229A (en) 2021-04-30

Similar Documents

Publication Publication Date Title
CN101223759B (en) Transmission device and information communication method
EP0454364B1 (en) High speed transport protocol with two windows
US6343067B1 (en) Method and apparatus for failure and recovery in a computer network
US7542438B2 (en) Reliable multicast data retransmission method by grouping wireless terminals in wireless communication medium and apparatus for the same
US8402343B2 (en) Reliable packet cut-through
US20030137939A1 (en) Method and apparatus for controlling the flow of data between servers using optimistic transmitter
US20090109971A1 (en) After transmission return signal
CN112738229B (en) Communication method for realizing automatic data continuous transmission
US7653060B2 (en) System and method for implementing ASI over long distances
CN101119183A (en) Retransmission control method and transmission equipment
US9197373B2 (en) Method, apparatus, and system for retransmitting data packet in quick path interconnect system
JP2002190793A (en) Communication method, communication equipment and communication system using the communication equipment
JP4731155B2 (en) Error control mechanism for segment-based link layer in digital networks
JPH09214526A (en) Transmission control system
CN100574274C (en) The transmission system of radio link protocol and method
KR100240645B1 (en) Packet error controller of multicast communication and method thereof
CN111901075B (en) Multi-network convergence transmission method, transmission system and computer-readable storage medium
CN108183767A (en) A kind of method for reliable transmission suitable for space DTN networks
CN102201901A (en) Data retransmission method and device
KR20060079570A (en) Apparatus and method for a retransmission of a data in a communication system
US20100077273A1 (en) Packet retransmission control method and apparatus in multicast communication
US8522104B2 (en) Smart aging retry buffer
CN110618900B (en) UART data transmission method
CN115051777B (en) Error detection and retransmission implementation method based on TDMA networking PMP communication
CN102624506B (en) Deep-space file transmission method based on dual-retransmission strategy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant