【技术实现步骤摘要】
一种用于实时通讯的大数据可靠传输方法
本专利技术涉及一种数据可靠传输方法,特别是一种用于实时通讯的大数据可靠传输方法。
技术介绍
一般数据的可靠传输都是通过FTP协议进行传输,该方法传输可靠,但由于FTP是建立在TCP/IP通讯基础上,TCP/IP受通讯机制限制本身不具有实时性,FTP无法保证实时响应需求,同时FTP协议是功能完备而复杂的网络传输协议,由FTP服务器和FTP客户机组成,具备文件目录浏览、文件传输等多种功能,交互机制复杂,对于嵌入式程序或微小程序要实现完整FTP服务和客户端功能非常困难。TFTP,即TrivialFileTransferProtocol,简单文件传输协议是基于UDP协议的文件传输协议,是FTP的简化版本,不提供目录浏览,只完成发送和接收功能,文件包大小最大为512字节,但是如果出现错误数据包将不会被确认,也不会被重传,无法起到可靠传输。对于实时总线的通讯方式一般有以太网UDP通讯、CAN总线通讯、串口422/232/485通讯等,响应都在毫秒级范围内。而传统的FTP基于TCP/IP机制,TFTP存在不可靠性,都无法满足上述总线通讯方式的文件传输要求。
技术实现思路
本专利技术目的在于提供一种用于实时通讯的大数据可靠传输方法,解决传统FTP数据传输方法复杂、实现难度大,无法用于实时总线的数据传输;而相对简单的TFTP方法无出错重传机制,且数据包大小有限制,无法用于大文件的数据可靠传输问题。一种用于实时通讯的大数据可靠传输方法的具体步骤为: ...
【技术保护点】
1.一种用于实时通讯的大数据可靠传输方法,其特征在于具体步骤为:/n第一步 构建用于实时通讯的大数据可靠传输系统/n用于实时通讯的大数据可靠传输系统,包括:发送装置和接收装置;/n发送装置和接收装置通过数据通讯总线进行连接,双方采用异步通讯方式;/n发送装置,包括:缓存预处理模块、数据发送模块、重发机制模块和应答解析模块;/n接收装置,包括:接收校验模块和应答确认模块;/n第二步 缓存预处理模块缓存发送数据/n缓存预处理模块一次读入待发送文件,然后写入10兆字节大小的发送缓冲区,其中缓冲区10兆字节大小依据当前硬件内存大小做调整;读入前先判断发送缓冲区剩余数据大小是否小于X个字节,当小于X个字节时则再次把文件写满缓冲区;当剩余文件小于缓冲区大小时,则把剩余文件数据全部读入;/n其中X表示单次发送的字节数大小,例如X取值51200,大小可依据实际传输速度需求进行调整;/n第三步 数据发送模块发送数据/n数据发送模块从缓冲区中一次取出X个字节数据,按照文件发送协议格式进行数据封装打包,并将打包好的数据按以太网UDP方式发送到接收装置的指定端口上;当缓冲区的数据小于X个字节内容时,则再次把文 ...
【技术特征摘要】
1.一种用于实时通讯的大数据可靠传输方法,其特征在于具体步骤为:
第一步构建用于实时通讯的大数据可靠传输系统
用于实时通讯的大数据可靠传输系统,包括:发送装置和接收装置;
发送装置和接收装置通过数据通讯总线进行连接,双方采用异步通讯方式;
发送装置,包括:缓存预处理模块、数据发送模块、重发机制模块和应答解析模块;
接收装置,包括:接收校验模块和应答确认模块;
第二步缓存预处理模块缓存发送数据
缓存预处理模块一次读入待发送文件,然后写入10兆字节大小的发送缓冲区,其中缓冲区10兆字节大小依据当前硬件内存大小做调整;读入前先判断发送缓冲区剩余数据大小是否小于X个字节,当小于X个字节时则再次把文件写满缓冲区;当剩余文件小于缓冲区大小时,则把剩余文件数据全部读入;
其中X表示单次发送的字节数大小,例如X取值51200,大小可依据实际传输速度需求进行调整;
第三步数据发送模块发送数据
数据发送模块从缓冲区中一次取出X个字节数据,按照文件发送协议格式进行数据封装打包,并将打包好的数据按以太网UDP方式发送到接收装置的指定端口上;当缓冲区的数据小于X个字节内容时,则再次把文件写满缓冲区,直到文件数据全部发送完成;
第四步重发机制模块重发数据
重发机制模块在发送完成后开始计时等待,计时超过50毫秒未收到接收装置发送的应答包数据时,则重新发送当前数据;当重复次数超过预定次数时,则传输失败;50毫秒数值可根据实时系统的实际情况进行调整,以下不再重复描述;
第五步应答解析模块解析数据
应答解析模块在50毫秒内收到应答数据,即对收到的数据按文件应答协议格式进行解析,当时间超时或应答数据的应答结果表示失败时,则由重发机制模块重新再发送一次当前数据;当表示应答成功时,则由数据发送模块继续从缓冲区中取出后续数据,按照文件发送协议封装打包数据,然后把数据发送到指定硬件端口上;
第六步文件接收校验模块接收数据
文件接收校验模块接收到标识文件信息的数据包后,按照文件发送协议格式规定内容进行数据校验,校验通过了,则将数据内容解析提取;根据报文分包标识判断是否是首帧报文,是则说明接收到一个新的文件,则在磁盘中创建新文件;当接收的是中间帧报文时,在报文没有异常的情况下,则将文件写入磁盘;当接收的是结束帧时,则表明文件接收完毕,将文件写入磁盘,并结束接收过程;同时根据首帧里的文件校验码,对接收到的文件按规定方式进行码值确定并比对;当异常时,则由应答确认模块回送文件应答失败,通知接收异常;
第七步应答确认模块确认数据
应答确认模块按文件应答协议格式回送应答,通知当前包报文接收正常;当文件校验失败时,则由应答确认模块回送文件应答失败,通知接收异常;
至此,完成了用于实时通讯的大数据可靠传输。
2.根据权利要求1所述的一种用于实时通讯的大数据可靠传输方法,其特征在于所述缓存预处理模块的功能为:缓存大数据文件,提前将待发送文件读入系统内存,减少读文件时的硬件I/O操作次数,提高发送效率。
3.根据权利要求1所述的一种用于实时通讯的大数据可靠传输方法,其特征在于所述数据发送模块功能为:从缓存预处理模块中取出数据,然后按照文件发送协议格式封装数据包,并将数据发送到硬件总线上。
4.根据权利要求1所述的一种用于实时通讯的大数据可靠传输方法,其特征在于所述重发机制模块功能为:管理数据包是否重新进行发送。
5.根据权利要求1所述的一种用于实时通讯的大数据可靠传输方法,其特征在于所述应答解析模块的功能为:对...
【专利技术属性】
技术研发人员:孔福,周杰,孙林,马光远,张金涛,胡乐乐,
申请(专利权)人:北京机电工程总体设计部,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。