一种文件快速传输方法与流程

文档序号:14010535阅读:541来源:国知局

本发明涉及文件传输技术领域,具体为一种文件快速传输方法。



背景技术:

现今嵌入式系统的文件传输方式主要采用ftp;但是ftp协议需要基于tcp协议进行传输,对嵌入式应用要求较高,在植入linux的嵌入式方案中应用较多,对无法适用于无操作系统或植入简单操作系统的嵌入式方案中应用较为困难;ftp基于tcp进行设计,使其无法应用于无网络或wifi接口的嵌入式方案,且在移植时还需移植tcp协议,增加了其移植难度;同时ftp和tcp对系统资源要求较高,最小的tcp协议栈需要64k内存以上,使其无法在小型嵌入式系统项目中应用。



技术实现要素:

本发明的目的在于提供一种文件快速传输方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种文件快速传输方法,包括下行文件传输和上行文件传输,其中,下行文件传输包括以下步骤:

a、下行文件传输启动:服务器下发0x8060指令,告知设备需要传输的文件名称、大小等基本文件信息,设备创建相应的文件,并向服务器应答是否允许文件传输;

b、下行缺包补传机制:启动文件传输后,设备检测本地文件完整性,统计缺失数据包;通过0x0602指令告知服务器当前设备缺失那些数据包,服务器在接收到0x0602指令后,按序向设备发送文件数据包0x8060;在此过程中服务器不等待设备应答,以最块速度向设备发送文件数据包,大大提高了传输速度;当设备接收到0x0602最后一包或等待接收0x8060超时后,最再次统计本地文件,如果有缺失数据包,则再次向服务器发送0x0602,如果无缺失数据包证明文件传输完成;

c、下行状态上报机制:设备在启动、文件传输、传输完成等个阶段会向服务器发送当前传输状态0x0603指令。

优选的,上行文件传输包括以下步骤:

a、上行文件传输启动:当设备需要向服务器传输文件时,向服务器发送0x0604指令,告知服务器需要传输文件的名称、大小等基本文件传输;

b、上行缺失数据包补传:启动后设备默认服务器缺失所有数据包,并向按顺向服务器传输所有缺失数据包;待所有数据包传输完成后,设备向服务器发送0x0609指令,询问服务器缺失哪些数据包;接收到服务器向设备发送的缺失数据包列表0x80609后,设备再次按序向服务器发送数据包,直至服务器向设备发送的0x80609缺失数据报列表为空;

c、上行状态上报机制:设备在启动、文件传输、传输完成等个阶段会向服务器发送当前传输状态0x0605指令。

与现有技术相比,本发明的有益效果是:本发明能够为嵌入式操作系统提供简单、稳定、快速文件传输方式提供支持;本发明应用于无操作系统应用、简单操作系统及linux系统,应用广泛;本发明的传输方法在程序设计时数据接收、数据发送均采用函数指针方式进行设备,使其可以适用于任何字符型传输接口,如:rs232、rs485、网络等;文件读取、文件写入也采用此种方式,使其可以适用于无文件系统的设备,应用只需要简单实现文件读取写入即可使用本传输方式;同时本传输方式摒弃传统字符通讯一问一答的传输方式,采用一次请求多包传输方式进行设计,减少应答过程中的等待时间,达到传输效率的最大化。

具体实施方式

下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供如下技术方案:一种文件快速传输方法,包括下行文件传输和上行文件传输,其中,下行文件传输包括以下步骤:

a、下行文件传输启动:服务器下发0x8060指令,告知设备需要传输的文件名称、大小等基本文件信息,设备创建相应的文件,并向服务器应答是否允许文件传输;

b、下行缺包补传机制:启动文件传输后,设备检测本地文件完整性,统计缺失数据包;通过0x0602指令告知服务器当前设备缺失那些数据包,服务器在接收到0x0602指令后,按序向设备发送文件数据包0x8060;在此过程中服务器不等待设备应答,以最块速度向设备发送文件数据包,大大提高了传输速度;当设备接收到0x0602最后一包或等待接收0x8060超时后,最再次统计本地文件,如果有缺失数据包,则再次向服务器发送0x0602,如果无缺失数据包证明文件传输完成;

c、下行状态上报机制:设备在启动、文件传输、传输完成等个阶段会向服务器发送当前传输状态0x0603指令。

本发明中,上行文件传输包括以下步骤:

a、上行文件传输启动:当设备需要向服务器传输文件时,向服务器发送0x0604指令,告知服务器需要传输文件的名称、大小等基本文件传输;

b、上行缺失数据包补传:启动后设备默认服务器缺失所有数据包,并向按顺向服务器传输所有缺失数据包;待所有数据包传输完成后,设备向服务器发送0x0609指令,询问服务器缺失哪些数据包;接收到服务器向设备发送的缺失数据包列表0x80609后,设备再次按序向服务器发送数据包,直至服务器向设备发送的0x80609缺失数据报列表为空;

c、上行状态上报机制:设备在启动、文件传输、传输完成等个阶段会向服务器发送当前传输状态0x0605指令。

本发明能够为嵌入式操作系统提供简单、稳定、快速文件传输方式提供支持;本发明应用于无操作系统应用、简单操作系统及linux系统,应用广泛;本发明的传输方法在程序设计时数据接收、数据发送均采用函数指针方式进行设备,使其可以适用于任何字符型传输接口,如:rs232、rs485、网络等;文件读取、文件写入也采用此种方式,使其可以适用于无文件系统的设备,应用只需要简单实现文件读取写入即可使用本传输方式;同时本传输方式摒弃传统字符通讯一问一答的传输方式,采用一次请求多包传输方式进行设计,减少应答过程中的等待时间,达到传输效率的最大化。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。



技术特征:

技术总结
本发明公开了一种文件快速传输方法,该传输方法在程序设计时数据接收、数据发送均采用函数指针方式进行设备,使其可以适用于任何字符型传输接口,如:RS232、RS485、网络等;文件读取、文件写入也采用此种方式,使其可以适用于无文件系统的设备,应用只需要简单实现文件读取写入即可使用本传输方式;同时本传输方式摒弃传统字符通讯一问一答的传输方式,采用一次请求多包传输方式进行设计,减少应答过程中的等待时间,达到传输效率的最大化。

技术研发人员:吕翔;梁有超;石甫
受保护的技术使用者:吉旗(成都)科技有限公司
技术研发日:2017.12.15
技术公布日:2018.03.23
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1