一种用于实时通讯的大数据可靠传输方法技术

技术编号:28384183 阅读:17 留言:0更新日期:2021-05-08 00:12
本发明专利技术公开了一种用于实时通讯的大数据可靠传输方法。该方法主要针对需要在实时通讯环境下传输文件时,各已知方法无法同时保证交互简单、传输可靠、速度快和传输超大文件的问题。通过建立用于文件传输的交互机制,传输质量保障机制、文件传输交互协议,采用实时校验,快速反馈方式,既保证了文件传输的正确性,又保证了文件传输的效率,具备大文件传输和并行传输优点。本方法交互简单,易于实现,适用广泛,满足有操作系统和无操作系统运行环境下的大文件的快速传输需求。

【技术实现步骤摘要】
一种用于实时通讯的大数据可靠传输方法
本专利技术涉及一种数据可靠传输方法,特别是一种用于实时通讯的大数据可靠传输方法。
技术介绍
一般数据的可靠传输都是通过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方法无出错重传机制,且数据包大小有限制,无法用于大文件的数据可靠传输问题。一种用于实时通讯的大数据可靠传输方法的具体步骤为:第一步构建用于实时通讯的大数据可靠传输系统用于实时通讯的大数据可靠传输系统,包括:发送装置和接收装置。发送装置和接收装置通过数据通讯总线进行连接,双方采用异步通讯方式。发送装置,包括:缓存预处理模块、数据发送模块、重发机制模块和应答解析模块。缓存预处理模块的功能为:缓存大数据文件,提前将待发送文件读入系统内存,减少读文件时的硬件I/O操作次数,提高发送效率。数据发送模块功能为:从缓存预处理模块中取出数据,然后按照文件发送协议格式封装数据包,并将数据发送到硬件总线上。重发机制模块功能为:管理数据包是否重新进行发送。应答解析模块的功能为:对回送的应答包进行解析,校验应答报文数据,确认应答结果是否正确。接收装置,包括:接收校验模块和应答确认模块。接收校验模块的功能为:对接收的数据进行校验判断,并按照协议解析提取数据,完成数据的保存。应答确认模块的功能为:根据接收数据的校验结果,按照文件接收应答协议格式进行数据的应答反馈,并数据发送到指定总线上。所述文件发送协议格式,包括:分包标识、优先级、数据长度、ID号、源地址、目的地址、文件帧序号、文件校验码长度、文件校验码、文件内容和帧尾。分包标识用于区分报文是首包、中间包还是结束包报文。优先级,用于标识报文的重要程度,数值越大表示优先级越高。数据长度,用于描述该包报文中文件帧序号和文件数据域的数据长度。ID号,为报文包的唯一信息标识,用于区分不同文件的报文包。源地址,为发送装置的数字身份标识。目的地址,为接收装置的数字身份标识。文件帧序号,用于描述发送过程中每包文件的序号,在每一包中的固定位置重复出现。文件校验码长度,描述文件校验码的字节长度。当为0时,则表示后面无校验码内容。文件校验码长度只在首包中存在。文件校验码,存放文件校验用的码值,例如文件的MD5码值,只存在于首包中。文件内容,为被发送文件的二进制值。帧尾,用于存放该包报文的校验码值,校验方式为CRC16方式校验,但不限于该方式。文件应答协议格式包括:分包标识、优先级、数据长度、ID号、源地址、目的地址、应答ID号、应答结果和帧尾格式组成。其中分包标识、优先级、数据长度、ID号、源地址、目的地址、帧尾定义与所述的文件发送协议格式一致。应答ID号用于标识需应答的文件标识号。应答结果用于反馈接收的文件是否正常,当值为1时表示结果正常,0表示异常。第二步缓存预处理模块缓存发送数据缓存预处理模块一次读入待发送文件,然后写入10兆字节大小的发送缓冲区,其中缓冲区10兆字节大小依据当前硬件内存大小做调整。读入前先判断发送缓冲区剩余数据大小是否小于X个字节,当小于X个字节时则再次把文件写满缓冲区。当剩余文件小于缓冲区大小时,则把剩余文件数据全部读入。其中X表示单次发送的字节数大小,例如X取值51200,大小可依据实际传输速度需求进行调整。第三步数据发送模块发送数据数据发送模块从缓冲区中一次取出X个字节数据,按照文件发送协议格式进行数据封装打包,并将打包好的数据按以太网UDP方式发送到接收装置的指定端口上。当缓冲区的数据小于X个字节内容时,则再次把文件写满缓冲区,直到文件数据全部发送完成。第四步重发机制模块重发数据重发机制模块在发送完成后开始计时等待,计时超过50毫秒未收到接收装置发送的应答包数据时,则重新发送当前数据;当重复次数超过预定次数时,则传输失败。50毫秒数值可根据实时系统的实际情况进行调整,以下不再重复描述。第五步应答解析模块解析数据应答解析模块在50毫秒内收到应答数据,即对收到的数据按文件应答协议格式进行解析,当时间超时或应答数据的应答结果表示失败时,则由重发机制模块重新再发送一次当前数据;当表示应答成功时,则由数据发送模块继续从缓冲区中取出后续数据,按照文件发送协议封装打包数据,然后把数据发送到指定硬件端口上。第六步文件接收校验模块接收数据文件接收校验模块接收到标识文件信息的数据包后,按照文件发送协议格式规定内容进行数据校验,校验通过了,则将数据内容解析提取。根据报文分包标识判断是否是首帧报文,是则说明接收到一个新的文件,则在磁盘中创建新文件。当接收的是中间帧报文时,在报文没有异常的情况下,则将文件写入磁盘;当接收的是结束帧时,则表明文件接收完毕,将文件写入磁盘,并结束接收过程。同时根据首帧里的文件校验码,对接收到的文件按规定方式进行码值确定并比对;当异常时,则由应答确认模块回送文件应答失败,通知接收异常。第七步应答确认模块确认数据应答确认模块按文件应答协议格式回送应答,通知当前包报文接收正常;当文件校验失败时,则由应答确认模块回送文件应答失败,通知接收异常。至此,完成了用于实时通讯的大数据可靠传输。本专利技术简单有效,易于实现,无需外部资源辅助,能够满足有操作系统和无操作系统下的大数据实时通讯使用需求。具体实施方式一种用于实时通讯的大数据可靠传输方法的具体步骤为:第一步构建用于实时通讯的大数据可靠传输系统用于实时通讯的大数据可靠传输系统,包括:发送装置和接收装置。发送装置和接收装置通过数据通讯总线进行连接,双方采用异步通讯方式。发送装置,包括:缓存预处理模块、数据发送模块、重发机制模本文档来自技高网...

【技术保护点】
1.一种用于实时通讯的大数据可靠传输方法,其特征在于具体步骤为:/n第一步 构建用于实时通讯的大数据可靠传输系统/n用于实时通讯的大数据可靠传输系统,包括:发送装置和接收装置;/n发送装置和接收装置通过数据通讯总线进行连接,双方采用异步通讯方式;/n发送装置,包括:缓存预处理模块、数据发送模块、重发机制模块和应答解析模块;/n接收装置,包括:接收校验模块和应答确认模块;/n第二步 缓存预处理模块缓存发送数据/n缓存预处理模块一次读入待发送文件,然后写入10兆字节大小的发送缓冲区,其中缓冲区10兆字节大小依据当前硬件内存大小做调整;读入前先判断发送缓冲区剩余数据大小是否小于X个字节,当小于X个字节时则再次把文件写满缓冲区;当剩余文件小于缓冲区大小时,则把剩余文件数据全部读入;/n其中X表示单次发送的字节数大小,例如X取值51200,大小可依据实际传输速度需求进行调整;/n第三步 数据发送模块发送数据/n数据发送模块从缓冲区中一次取出X个字节数据,按照文件发送协议格式进行数据封装打包,并将打包好的数据按以太网UDP方式发送到接收装置的指定端口上;当缓冲区的数据小于X个字节内容时,则再次把文件写满缓冲区,直到文件数据全部发送完成;/n第四步 重发机制模块重发数据/n重发机制模块在发送完成后开始计时等待,计时超过50毫秒未收到接收装置发送的应答包数据时,则重新发送当前数据;当重复次数超过预定次数时,则传输失败;50毫秒数值可根据实时系统的实际情况进行调整,以下不再重复描述;/n第五步 应答解析模块解析数据/n应答解析模块在50毫秒内收到应答数据,即对收到的数据按文件应答协议格式进行解析,当时间超时或应答数据的应答结果表示失败时,则由重发机制模块重新再发送一次当前数据;当表示应答成功时,则由数据发送模块继续从缓冲区中取出后续数据,按照文件发送协议封装打包数据,然后把数据发送到指定硬件端口上;/n第六步 文件接收校验模块接收数据/n文件接收校验模块接收到标识文件信息的数据包后,按照文件发送协议格式规定内容进行数据校验,校验通过了,则将数据内容解析提取;根据报文分包标识判断是否是首帧报文,是则说明接收到一个新的文件,则在磁盘中创建新文件;当接收的是中间帧报文时,在报文没有异常的情况下,则将文件写入磁盘;当接收的是结束帧时,则表明文件接收完毕,将文件写入磁盘,并结束接收过程;同时根据首帧里的文件校验码,对接收到的文件按规定方式进行码值确定并比对;当异常时,则由应答确认模块回送文件应答失败,通知接收异常;/n第七步 应答确认模块确认数据/n应答确认模块按文件应答协议格式回送应答,通知当前包报文接收正常;当文件校验失败时,则由应答确认模块回送文件应答失败,通知接收异常;/n至此,完成了用于实时通讯的大数据可靠传输。/n...

【技术特征摘要】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1