CN111741013B - 数据传输方法及装置 - Google Patents
数据传输方法及装置 Download PDFInfo
- Publication number
- CN111741013B CN111741013B CN202010701403.4A CN202010701403A CN111741013B CN 111741013 B CN111741013 B CN 111741013B CN 202010701403 A CN202010701403 A CN 202010701403A CN 111741013 B CN111741013 B CN 111741013B
- Authority
- CN
- China
- Prior art keywords
- data
- data transmission
- communication
- transmission
- rate
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种数据传输方法及装置,用于将数据在第一端与第二端进行通信,所述数据传输方法包括,当选择可靠通信管道通信时,直接透传应用层协议的数据,所述应用层协议用于对需要传输的数据进行编码后传输;当选择不可靠通信管道通信时,根据数据传输的需求选择可靠传输包或者不可靠传输包进行数据传输。本发明数据传输方法及装置中,即使通信管道为不可靠通信管道,当应用层协议需要可靠传输时,增加了数据检错,应答以及重传,增加了数据传输的可靠性,实现了可靠通信。
Description
技术领域
本发明涉及一种数据传输方法及装置,特别是涉及一种基于不可靠链路的可靠的数据传输方法及装置。
背景技术
采用UART/I2C等接口进行数据通信时,其在数据传输过程中只需要两个引脚即可,接口简单,技术成熟,硬件成本低。然而,其数据传输的可靠性无法保证。
发明内容
有鉴于此,本发明提供了一种有效改善上述缺陷的数据传输方法及装置。
一种数据传输方法,用于将数据在第一端与第二端进行通信,所述数据传输方法包括:当选择可靠通信管道通信时,直接透传应用层协议的数据,所述应用层协议用于对需要传输的数据进行编码后传输;当选择不可靠通信管道通信时,根据数据传输的需求选择可靠传输包或者不可靠传输包进行数据传输。
根据本发明优选实施例,所述数据传输方法还包括检测链路的物理连接步骤。
根据本发明优选实施例,当选择可靠传输包进行数据传输时,所述数据传输方法包括应答、数据检错以及重传步骤。
根据本发明优选实施例,选择可靠传输包的传输步骤包括:
S41,第一端发送包头;
S42,第一端发送校验码以及净荷数据;
S43,第二端收到包头与净荷数据后,根据校验码确认数据的正确性,处理完数据后,回复应答包;
S44,第一端根据应答包,获知第二端状态,并响应于第二端的状态。
根据本发明优选实施例,步骤S43包括:
当第二端根据校验码确认收到的数据正确,回复应答包ACK;
当第二端根据校验码校验失败,回复应答包NAK,等待重传;
当第二端收到错误的数据,报错,并退出传输;
当第二端未收到数据,第二端不做任何响应。
根据本发明优选实施例,步骤S44具体包括:
当第一端收到的应答包为ACK,继续下一笔数据传输;
当第一端收到的应答包为NAK,第一端重传;
当第一端收到的错误的应答,报错,并退出传输;
当第一端未收到应答,待到达预设时间后报错并退出传输。
根据本发明优选实施例,重传的步骤包括:
当达到预设的重传次数后,报错并退出传输。
根据本发明优选实施例,所述重传步骤包括:
根据重传率改变数据传输的通信速率。
根据本发明优选实施例,根据重传率改变数据传输的通信速率步骤包括:
当重传率高于第一预设值时,降低通信速率进行数据传输;
当重传率低于第二预设值时,提高通信速率进行数据传输。
根据本发明优选实施例,选择不可靠传输包的传输步骤包括变更传输方式。
根据本发明优选实施例,变更传输方式的步骤包括省略应答、重传、数据检错步骤中的一个或多个。
根据本发明优选实施例,当通信的两端同时发送数据时的数据传输方法包括:
SA,检测通信两端的资源;
SB,当资源丰富端检测到资源匮乏端数据并收到数据包时,放弃资源丰富端的数据传输,先完成资源匮乏端的数据传输;
SC,待资源匮乏端数据传输完成后,资源丰富端发起数据传输。
根据本发明优选实施例,所述数据传输方法还包括步骤设定数据传输速率。
根据本发明优选实施例,设定数据传输速率步骤包括当第一端与第二端通信速率不同时,设定一个初始通信速率。
根据本发明优选实施例,设定数据传输速率步骤包括当需要改变通信速率时,重新设定通信速率。
一种数据传输装置,用于将数据在第一端与第二端进行通信,其特征在于,所述数据传输装置包括:
第一传输单元,用于当选择可靠通信管道通信时直接透传应用层协议的数据;
第二传输单元,包括可靠传输单元以及不可靠传输单元,所述第二传输单元用于当选择不可靠通信管道通信时,根据数据传输的需求通过可靠传输单元选择可靠传输包或者通过不可靠传输单元选择不可靠传输包进行数据传输。
根据本发明优选实施例,所述数据传输装置包括连接单元用于检测链路的物理连接。
根据本发明优选实施例,所可靠传输单元包括:
包头传输模块,用于在第一端发送包头;
数据传输模块,用于在第一端发送校验码以及净荷数据;
应答模块,用于在第二端收到包头与净荷数据后,根据校验码确认数据的正确性,处理完数据后,回复应答包;
响应模块,根据应答包,获知第二端状态,并响应于第二端的状态。
根据本发明优选实施例,所述应答模块用于:
当第二端根据校验码确认收到的数据正确,回复应答包ACK;
当第二端根据校验码校验失败,回复应答包NAK,等待重传;
当第二端收到错误的数据,报错,并退出传输;
当第二端未收到数据,第二端不做任何响应。
根据本发明优选实施例,所述响应模块用于:
当第一端收到的应答包为ACK,第一端认为第二端收到了正确数据,则继续下一笔数据传输;
当第一端收到的应答包为NAK,第一端认为第二端收到的数据出错,第一端则重传;
当第一端收到的错误的应答,表示链路不稳定,第一端无法知道第二端的状况,报错后退出传输;
当第一端未收到应答,第一端不知道第二端的状态,链路的物理连接可能断开,也有可能第二端正在处理数据,待一定时间后报错并退出传输。
根据本发明优选实施例,重传的次数在建立物理连接后可由设备端设定,并通过命令报告给主机。当达到预设的重传次数后,报错后退出传输;当统计的重传率超过预定值,自动降低传输波特率,降低软件重传负担。
根据本发明优选实施例,所述不可靠传输单元还用于变更传输方式。
根据本发明优选实施例,所述不可靠传输单元用于省略传输过程中应答、重传、数据检错中的一个或多个。
根据本发明优选实施例,所述数据传输装置还包括数据碰撞单元,所述数据碰撞单元包括:
检测模块,用于检测通信两端的资源,将资源丰富的一端定R(rich)端,资源匮乏端为P(poor)端;
排序模块,用于当R端检测到对端数据,收到数据包时,放弃本次数据传输,先完成P端发起的协议;
传输模块,用于待P端协议结束后,再发起R端的数据传输。
根据本发明优选实施例,所述数据传输装置还包括速率设定单元。
根据本发明优选实施例,所述速率设定单元用于当第一端与第二端通信速率不同时,设定一个初始通信速率。
根据本发明优选实施例,所述速率设定单元用于当需要改变通信速率时,重新设定通信速率。
一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现所述数据传输方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述数据传输方法。
本发明数据传输方法中,底层协议与应用层协议分层,当更换通信管道时,应用层协议无需修改,确保了应用层协议的通用性;同时,即使通信管道为不可靠通信管道,当应用层协议需要可靠传输时,增加了数据检错,应答以及重传机制,增加了数据传输的可靠性,实现了通过多种应用层协议的可靠通信。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其他有益效果显而易见。
附图中,
图1是本发明数据传输方法的较佳实施例的流程图。
图2是图1中建立链路的物理连接的较佳实施方式的流程图。
图3是图1中选择可靠传输包传输的较佳实施方式的流程图。
图4是本发明数据传输方法中当通信的两端同时发送数据时的较佳实施方式的流程图。
图5是本发明数据传输装置的较佳实施例的功能模块图。
图6是图5中可靠传输单元的较佳实施例的功能模块图。
图7是本发明数据传输装置中数据碰撞单元的较佳实施例的功能模块图。
图8是本发明实现数据传输方法的较佳实施例的电子设备的结构示意图。
具体实施方式
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其他有益效果显而易见。可以理解,附图仅提供参考与说明用,并非用来对本发明加以限制。
请参阅附图1至图4,其中示意性的示出了本发明数据传输方法的较佳实施例的流程图。根据不同的需求,流程图中步骤的顺序可以改变,某些步骤可以省略。
所述数据传输方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
所述电子设备还可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
本发明数据传输方法用于将数据在第一端与第二端进行通信,其中,所述第一端与第二端的接口可以是,具有不可靠数据传通道的接口,也可以是具有可靠数据传输通道的接口。本实施方式中,将现有的不可靠数据传输通道以及可靠数据传输通道上数据传输采用的协议统称为应用层协议。所述应用层协议用于对需要传输的数据进行编码后传输。本发明数据传输方法利用一底层协议对数据进行传输,所述底层协议用于对应用层协议编码后的数据进行再次编码,然后再进行传输。
请参考图1,本发明数据传输方法包括:
S10, 检测链路的物理连接。
通信前,必须先建立链路的连接,确保通信链路连接的可靠,为此需要进行两次握手。本实施方式中,通信双方,第一端与第二端,均可以发起连接请求。
具体的,若第一端为发送端,第二端为接收端,如图2所示,通信链路的连接流程如下:
S11,发送端发送连接建立请求包;
S12,接收端收到请求包,校验确认后,回复ACK;
S13,发送端收到ACK,返回ACK。
通过接收端的应答,快速建立可靠的通信连接,连接建立好后,开始数据传输。
本实施方式中,这一步骤可以用于检测链路物理连接的状态。例如,当步骤S13中发送端未收到ACK,表示链路建立失败。
S20,当选择可靠通信管道进行数据传输时,直接透传应用层协议的数据。
本实施方式中,当选择可靠通信管道进行数据传输时,不对应用层协议做修改或解析,应用层协议的数据直接进行透传,即,应用层协议完成数据传输。
S30,当选择不可靠通信管道进行数据传输时,根据需求选择可靠传输包或者不可靠传输包进行传输。
具体的,可靠传输包在传输数据时有应答,数据出错后可以实施重传,能够保证数据的正确性,然而,利用可靠传输包进行数据传输时,有可能被堵塞在等待应答上,出错后重传也会浪费带宽。不可靠传输包在传输数据时无应答,数据出错无法知晓,但其实时性有保证。
本实施方式中,根据数据实时性与正确性要求,将需要传输的数据分为两类:对于必须确保正确性的数据,通过可靠的传输包来完成;而对于实时性要求更高,采用无应答的不可靠传输包来完成,并通过物理通道的可靠性,来确保数据的正确性。
例如,在测试程序,固件数据等应用环境下,采用可靠传输包进行数据传输,如图3所示流程:
S41,第一端发送包头;
S42,第一端发送校验码以及净荷数据;
S43,第二端收到包头与净荷数据后,根据校验码确认数据的正确性,处理完数据后,回复应答包;
具体的,当第二端根据校验码确认收到的数据正确,第二端认为第一端发送了正确的数据,回复的应答包为ACK。
当第二端根据校验码校验失败,第二端认为第一端发送的数据错误,回复的应答包为NAK并等待重传。
当第二端收到错误的数据,表示链路不稳定,第二端无法知道第一端的状况,报错后退出传输。
当第二端未收到数据,第二端不知道第一端有发送数据,第二端不做任何响应。
S44,第一端根据应答包,获知第二端状态,并响应于第二端的状态。
具体的,当第一端收到的应答包为ACK,第一端认为第二端收到了正确数据,则继续下一笔数据传输。
当第一端收到的应答包为NAK,第一端认为第二端收到的数据出错,第一端则重传。
当第一端收到错误的应答,表示链路不稳定,第一端无法知道第二端的状况,报错后退出传输。
当第一端未收到应答,第一端不知道第二端的状态,链路的物理连接可能断开,也有可能第二端正在处理数据,待到达预设时间后报错并退出传输。
本实施方式中,净荷数据指数据本身的内容,包头是描述净荷数据的数据,如数据名、数据大小、修改日期、访问权限、在磁盘上的存储位置等。
可以理解的,通信过程中,重传的次数在建立物理连接后可由设备端设定,并通过命令报告给主机。当达到预设的重传次数后,通信仍然出错,报错后并退出传输,较佳地,本实施方式中,预设的重传次数为三次。
另外,本实施方式中,数据通信可以因物理通道恶劣,驱动统计重传率,当统计的重传率超过一第一预定值,本发明数据传输方法降低传输波特率以降低通信速率进行数据传输,从而降低软件重传负担。当统计的重传率低于一第二预定值,本发明数据传输方法提高传输波特率以提高通信速率进行数据传输,从而最大利用带宽。可以理解的是,重传率是指重传包的个数(初始为0)除以总的传输包数(初始为100),本实施方式中,第一预定值为3%,第二预定值为0.3%,当重传率超过3%的预设值,降低通信速率50%进行数据传输,当重传率小于0.3%的第二预设值,提高通信速率10%进行数据传输。可以理解的是,第一预设值与第二预设值可以根据需要设定,提高或降低通讯速率的百分比也可以根据需要设定。
另一种情况下,例如当需要传输音频数据时,必须实时将音频数据传输出去,否则数据被覆盖,此时为了不被接收端应答阻塞,采用不可靠传输包进行数据传输,其中,发送端只发送数据,不做任何重发动作,无需接收端做应答,以此达到最大带宽;此时,接收端根据数据的类型决定数据的处理方式。
可以理解的是,当基于不可靠通信管道进行数据传输时,本实施方式中的不可靠传输包还可以根据带宽的需求,变更传输方式,例如,在省去应答、重传步骤的基础上,进一步省去数据检错步骤,从而实现最大带宽并减少数据处理时间。
如图4所示流程,当通信的两端同时发送数据时的数据传输方法如下:
SA,检测通信两端的资源,将资源丰富的一端定R(rich)端,资源匮乏端为P(poor)端;
本实施方式中,资源可以是指CPU(中央处理器)速度,RAM (随机存取存储器)内存大小,通信可用的CPU的带宽。
SB,当R端检测到对端数据并收到数据包时,放弃本端数据传输,先完成P端发起的协议;
SC,待P端协议结束后,再发起R端的数据传输。
本发明数据传输方法还包括设定数据传输速率步骤,在建立链路的物理连接前当第一端与第二端通信速率不同时,执行设定数据传输速率步骤,以设定一个初始通信速率。
可以理解的是,本实施方式中,设定数据传输速率还包括重新设定通信速率步骤。数据传输过程中,当需要改变通信速率时,本发明数据传输方法可以根据带宽需求,更新通信速率。
本发明数据传输方法中,底层协议与应用层协议分层,当更换通信管道时,应用层协议无需修改,确保了应用层协议的通用性;同时,即使通信管道为不可靠通信管道,在应用层协议需要可靠传输时,增加了数据检错,应答以及重传机制,增加了数据传输的可靠性。
请一并参考图5至图8,图5示出了是本发明数据传输装置的较佳实施例的功能模块图。所述数据传输装置10包括连接单元12,第一传输单元16以及第二传输单元18,本发明所称的模块/单元是指一种能够被处理器20所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器30中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
所述连接单元12用于检测链路的物理连接。
通信前,必须先建立链路的连接,确保通信链路连接的可靠,为此需要进行两次握手。本实施方式中,通信双方,第一端与第二端,均可以发起连接请求。
所述连接单元12包括,发送模块121,校验模块123以及回传模块125。具体的,若第一端为发送端,第二端为接收端,所述发送模块121使得发送端发送连接建立请求包;所述校验模块123在接收端收到请求包并校验确认后,回复ACK;所述回传模块125在发送端收到ACK后返回ACK。
通过接收端的应答,快速建立可靠的通信连接,建立好连接后,就可以开始数据传输。
本实施方式中,所述连接单元用于检测链路物理连接的状态。例如,当所述回传模块125在发送端未收到ACK,表示链路建立失败。
所述第一传输单元16用于当选择可靠通信管道进行数据传输时,直接透传应用层协议的数据。本实施方式中,当选择可靠通信管道进行数据传输时,所述第一传输单元16不对应用层协议做修改或解析,应用层协议的数据直接进行透传,即,应用层协议完成数据传输。
所述第二传输单元18包括可靠传输单元182以及不可靠传输单元184,所述第二传输单元18用于当选择不可靠通信管道进行数据传输时,根据需求通过可靠传输单元182选择可靠传输包或者通过不可靠传输单元184选择不可靠传输包进行传输。
具体的,可靠传输包在传输数据时有应答,数据出错后可以实施重传,能够保证数据的正确性,然而,利用可靠传输包进行数据传输时,有可能被堵塞在等待应答上,出错后重传也会浪费带宽。不可靠传输包在传输数据时无应答,数据出错无法知晓,但其实时性有保证。
本实施方式中,根据数据实时性与正确性要求,将需要传输的数据分为两类:对于必须确保正确性的数据,通过可靠的传输包来完成;而对于实时性要求更高,采用无应答的不可靠传输包来完成,并通过物理通道的可靠性,来确保数据的正确性。
例如,在测试程序,固件数据等应用环境下,采用可靠传输包进行数据传输,所述可靠传输单元182可以包括包头传输模块1821,数据传输模块1823,应答模块1825以及响应模块1827。所述包头传输模块1821在第一端发送包头。所述数据传输模块1823在第一端发送校验码以及净荷数据。
所述应答模块1825在第二端收到包头与净荷数据后,根据校验码确认数据的正确性,处理完数据后,回复应答包。具体的,当第二端根据校验码确认收到的数据正确,第二端认为第一端发送了正确的数据,回复的应答包为ACK。
当第二端根据校验码校验失败,第二端认为第一端发送的数据错误,回复的应答包为NAK并等待重传。
当第二端收到错误的数据,表示链路不稳定,第二端无法知道第一端的状况,报错后退出传输。
当第二端未收到数据,第二端不知道第一端有发送数据,第二端不做任何响应。
所述响应模块1827根据应答包,获知第二端状态,并响应于第二端的状态。具体的,当第一端收到的应答包为ACK,第一端认为第二端收到了正确数据,则继续下一笔数据传输。
当第一端收到的应答包为NAK,第一端认为第二端收到的数据出错,第一端则重传。
当第一端收到的错误的应答,表示链路不稳定,第一端无法知道第二端的状况,报错后退出传输。
当第一端未收到应答,第一端不知道第二端的状态,链路的物理连接可能断开,也有可能第二端正在处理数据,待一定时间后报错并退出传输。
本实施方式中,净荷数据指数据本身的内容,包头是描述净荷数据的数据,如数据名、数据大小、修改日期、访问权限、在磁盘上的存储位置等。
可以理解的,通信过程中,重传的次数在建立物理连接后可由设备端设定,并通过命令报告给主机。当达到重传次数后,通信仍然出错,报错后退出传输,较佳地,本实施方式中,重传的次数为三次。
另外,本实施方式中,数据通信可以因物理通道恶劣,驱动统计重传率,当统计的重传率超过一第一预定值,本发明数据传输装置降低传输波特率以降低通信速率进行数据传输,从而降低软件重传负担。当统计的重传率低于一第二预定值,本发明数据传输装置提高传输波特率以提高通信速率进行数据传输,从而最大利用带宽。可以理解的是,重传率是指重传包的个数(初始为0)除以总的传输包数(初始为100),本实施方式中,第一预定值为3%,第二预定值为0.3%,当重传率超过3%的预设值,降低通信速率50%进行数据传输,当重传率小于0.3%的第二预设值,提高通信速率10%进行数据传输。可以理解的是,第一预设值与第二预设值可以根据需要设定,提高或降低通讯速率的百分比也可以根据需要设定。
另一种情况下,当所述第二传输单元18通过不可靠传输单元184选择不可靠传输包进行传输时,例如需要传输音频数据时,必须实时将音频数据传输出去,否则数据被覆盖,此时为了不被接收端应答阻塞,采用不可靠传输包进行数据传输,其中,发送端只发送数据,不做任何重发动作,因此无需接收端做应答;此时,接收端根据数据的类型自行决定数据的处理方式。可以理解的是,当基于不可靠通信管道进行数据传输时,本实施方式中的不可靠传输单元184还用于根据带宽的需求,改变传输方式,例如,在省去应答、重传的基础上,省去数据检错,以实现最大带宽。
本实施方式中,数据传输装置10还包括数据碰撞单元19,所述数据碰撞单元19包括检测模块191,排序模块193以及传输模块195。所述数据碰撞单元19用于当通信的两端同时发送数据时,所述检测模块191检测通信两端的资源,将资源丰富的一端定R(rich)端,资源匮乏端为P(poor)端;所述排序模块193用于当R端检测到对端数据,并收到数据包时,放弃本次数据传输,先完成P端发起的协议;所述传输模块195用于待P端协议结束后,再发起R端的数据传输。
本实施方式中,资源可以是指CPU速度,RAM 内存大小,通信可用的CPU的带宽。
本发明数据传输装置还包括速率设定单元,所述速率设定单元可以用于在建立链路的物理连接前设定数据传输的速率,也即,当第一端与第二端通信速率不同时,所述速率设定单元设定一个初始通信速率。
可以理解的是,本实施方式中,所述速率设定单元还可以在数据传输过程中需要改变通信速率时,根据带宽的需求更新通信速率。
本发明数据传输装置中,底层协议与应用层协议分层,当更换通信管道时,应用层协议无需修改,确保了应用层协议的通用性;即使通信管道为不可靠通信管道,当应用层协议需要可靠传输时,增加了数据检错,应答以及重传机制,增加了数据传输的可靠性。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本发明实施例所述的数据传输方法的部分。
如图8所示,是本发明实现数据传输方法的较佳实施例的电子设备的结构示意图。所述电子设备1可以包括存储器30、处理器20和总线,还可以包括存储在所述存储器30中并可在所述处理器20上运行的计算机程序,例如数据传输程序。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
图8仅示出了具有组件20、30的电子设备1,本领域技术人员可以理解的是,图8示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在本发明所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (5)
1.一种数据传输方法,用于第一端与第二端进行数据通信,其特征在于,底层协议与应用层协议分层,底层协议用于对应用层协议编码后的数据进行再次编码,然后再进行传输,所述应用层协议为不可靠通信管道以及可靠通信管道上数据传输采用的协议,所述数据传输方法包括:所述第一端与所述第二端建立链路的连接,所述第一端向所述第二端发送数据;当选择可靠通信管道通信时,直接透传应用层协议的数据,所述应用层协议用于对需要传输的数据进行编码后传输;当选择不可靠通信管道通信时,具体根据数据传输的需求选择可靠传输包或者不可靠传输包进行数据传输;当选择可靠传输包进行数据传输时,所述数据传输方法包括应答、数据检错以及重传步骤,当所述第二端收到错误的数据,表示链路不稳定,所述第二端无法知道所述第一端的状况,报错后退出传输;所述重传步骤包括:根据重传率改变数据传输的通信速率,具体通过改变传输波特率来改变所述数据传输的通信速率;当选择不可靠传输包进行数据传输时省略应答、重传、数据检错步骤中的一个或多个;
当通信的两端同时发送数据时的数据传输方法包括:
SA,检测通信两端的资源,确定出资源丰富端和资源匮乏端;
SB,当资源丰富端检测到资源匮乏端数据并收到数据包时,放弃资源丰富端的数据传输,先完成资源匮乏端的数据传输;
SC,待资源匮乏端数据传输完成后,资源丰富端发起数据传输。
2.如权利要求1所述的数据传输方法,其特征在于,所述重传步骤还包括:
当达到预设的重传次数后,报错,并退出传输。
3.如权利要求2所述的数据传输方法,其特征在于,根据重传率改变数据传输的通信速率包括:
当重传率高于第一预设值时,降低通信速率进行数据传输;
当重传率低于第二预设值时,提高通信速率进行数据传输。
4.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至3中任意一项所述的数据传输方法。
5.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现如权利要求1至3中任意一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010701403.4A CN111741013B (zh) | 2020-07-21 | 2020-07-21 | 数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010701403.4A CN111741013B (zh) | 2020-07-21 | 2020-07-21 | 数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111741013A CN111741013A (zh) | 2020-10-02 |
CN111741013B true CN111741013B (zh) | 2021-02-26 |
Family
ID=72655146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010701403.4A Active CN111741013B (zh) | 2020-07-21 | 2020-07-21 | 数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111741013B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115694594A (zh) * | 2021-07-31 | 2023-02-03 | 华为技术有限公司 | 一种北斗通信系统中应用层回执传输方法、系统及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107968729A (zh) * | 2017-12-22 | 2018-04-27 | 中国铁道科学研究院通信信号研究所 | 一种铁路信号数据流存储管理系统 |
CN109257138A (zh) * | 2017-07-13 | 2019-01-22 | 华为技术有限公司 | 一种数据传输控制方法以及相关设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103199966A (zh) * | 2012-01-09 | 2013-07-10 | 北京大豪科技股份有限公司 | 工控系统中的数据传输方法及工控子系统、工控系统 |
US9621411B2 (en) * | 2012-07-25 | 2017-04-11 | Itron, Inc. | Relaying information for an unreliably heard utility node |
CN104639298B (zh) * | 2013-11-08 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 一种数据传输方法、装置及系统 |
CN103856304A (zh) * | 2014-02-21 | 2014-06-11 | 北京神舟航天软件技术有限公司 | 一种可选安全等级的可靠文件传输协议 |
CN109150876B (zh) * | 2018-08-20 | 2021-06-29 | 深圳市昊一源科技有限公司 | 一种视频无线传输的qos方法、装置及系统 |
-
2020
- 2020-07-21 CN CN202010701403.4A patent/CN111741013B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257138A (zh) * | 2017-07-13 | 2019-01-22 | 华为技术有限公司 | 一种数据传输控制方法以及相关设备 |
CN107968729A (zh) * | 2017-12-22 | 2018-04-27 | 中国铁道科学研究院通信信号研究所 | 一种铁路信号数据流存储管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111741013A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103248467B (zh) | 基于片内连接管理的rdma通信方法 | |
US5432798A (en) | Data communication method and system | |
CN102368700B (zh) | 一种分布式系统中消息的传递方法 | |
US8976814B2 (en) | Method of transporting data from sending node to destination node | |
US9197373B2 (en) | Method, apparatus, and system for retransmitting data packet in quick path interconnect system | |
WO2021004056A1 (zh) | 用于数据传输的方法和rdma网卡 | |
CN113132063B (zh) | 一种物理层重传控制方法 | |
CN102025474A (zh) | 一种网络数据传输方法 | |
CN111711680A (zh) | 基于udp协议的文件断点续传方法及装置 | |
CN111741013B (zh) | 数据传输方法及装置 | |
CN113986501A (zh) | 实时数据库api无中断调用方法、系统、存储介质及服务器 | |
JP5250767B2 (ja) | 冗長3ワイヤ通信システムおよび方法 | |
US7995517B2 (en) | System and method for transmitting units of messages in a mobile communication system | |
US7178051B2 (en) | Method for synchronous support of fault-tolerant and adaptive communication | |
CN110601799A (zh) | 一种基于双滑动窗口的链路重传方法及装置 | |
CN117040692A (zh) | 一种业务数据传输的方法及装置、电子设备、存储介质 | |
CN105634894B (zh) | 一种增强型can总线数据重发方法和装置 | |
CN105191198A (zh) | 数据传输及反馈的处理方法及装置 | |
WO2023045795A1 (zh) | 一种红外通讯方法及装置、存储介质及电子装置 | |
JPH1070523A (ja) | パケット伝送方法及び装置 | |
CN115378553B (zh) | 一种数据传输的方法、移动终端及计算机可读存储介质 | |
CN116055009A (zh) | 数据传输方法及相关装置 | |
CN115412890B (zh) | 一种数据传输方法、装置和终端设备 | |
JPH01833A (ja) | データ伝送装置 | |
CN117811702A (zh) | 通信数据的处理方法、装置及系统 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519085 area C, 1st floor, No.1 Factory building, No.1 Keji 4th Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province Applicant after: ACTIONS TECHNOLOGY Co.,Ltd. Address before: 519085 area C, 1st floor, No.1 Factory building, No.1 Keji 4th Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province Applicant before: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |