一种支持续传的无线通讯模块数据上传方法

文档序号:9436136阅读:538来源:国知局
一种支持续传的无线通讯模块数据上传方法
【技术领域】
[0001]本发明主要涉及无线通信技术,特别地,涉及一种支持续传的无线通讯模块数据上传方法。
【背景技术】
[0002]随着无线通信技术的发展,无线通讯模块在各个行业的应用越来越广泛,主要用来实现设备与外部设备之间无线通信。在某些情况下,无线通讯模块可能需要向FTP(FileTransfer Protocol,文件传输协议)服务器上传数据,传统的无线通讯模块主要是通过AT命令,比如FTPST0R命令和FTPPUT命令,向FTP服务器上传数据。不过,现有的FTPST0R命令和FTPPUT命令只支持从文件头开始FTP服务器上传数据,如果在数据上传过程中由于某些原因而出现中断,采用现有AT命令进行数据上传方法无法实现数据续传,也即是说,在这种情况下,无线通讯模块需要从头开始重新进行数据的上传操作,此将严重影响无线通讯模块的数据上传效率。
[0003]有鉴于此,有必要提供一种可以支持续传的无线通讯模块数据上传方法。

【发明内容】

[0004]本发明的主要目的在于为解决上述问题而提供了一种支持续传的无线通讯模块数据上传方法。
[0005]本发明提供的支持续传的无线通讯模块数据上传方法,包括:在无线通讯模块的AT命令表预先定义FTPREST命令,所述FTPREST命令用以记录文件偏移量f ile_off set ;所述无线通讯模块判断所述文件偏移量file_offset是否大于零;如果大于零,所述无线通讯模块向FTP服务器发送FTPREST命令,并判断当前是否接收到所述FTP服务器的FTP应答;如果是,所述无线通讯模块向所述FTP服务器发送FTPST0R命令,并与所述FTP服务器建立FTP数据sokcet连接;在所述FTP数据sokcet连接建立之后,所述无线通讯模块通过所述FTP数据socket连接向所述FTP服务器续传数据。
[0006]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,所述文件偏移量file_offset定义为无符号长整形,如果所述文件偏移量file_offset为其他类型,所述无线通讯模块进行出错处理。
[0007]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,所述FTPREST命令携带有所述文件偏移量file_offset信息,且其命令格式为REST file_offset。
[0008]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,还包括:如果所述文件偏移量file_0fTset是否等于零,直接向FTP服务器发送FTPST0R命令来进行文件上传。
[0009]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,所述FTPREST命令携带有文件名信息file_name,且其命令格式为REST f ile_name,其中所述文件名信息file_name定义为需要满足小于256字节长度的字符串。
[0010]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,还包括:所述无线通讯模块在向所述FTP服务器发送完所述FTPREST命令或者所述FTPST0R命令之后,将所述文件偏移量file_0ffset置零。
[0011]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,所述无线通讯模块在接收到来自所述FTP服务器的FTP应答,且所述FTP应答的应答码为350时,才向所述FTP服务器发送FTPST0R命令。
[0012]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,还包括:在FTPST0R命令和FTPPUT命令分别封装有FTP_send_stor函数和FTP_send_ftpput函数,所述FTP_send_stor函数和FTP_send_ftpput函数分别用以向所述FTP服务器发送所述FTPREST命令或者所述FTPST0R命令。
[0013]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,如果所述无线通讯模块工作在FTP被动模式,则所述FTP_send_stor函数和FTP_send_ftpput函数是在所述无线通讯模块与所述FTP服务器建立数据Socket连接之后被调用。
[0014]作为本发明提供的支持续传的无线通讯模块数据上传方法的一种改进,如果所述无线通讯模块工作在FTP主动模式,则所述FTP_send_stor函数和FTP_send_ftpput函数是在所述无线通讯模块接收到来自所述FTP服务器的应答之后才被调用。
[0015]相较于现有技术,本发明提供支持续传的无线通讯模块数据上传方法在AT命令表添加所述FTPREST命令并定义文件偏移量file_ofTset,所述无线通讯模块通过所述FTPREST命令便可以实现文件数据的续传操作,从而有效提高所述无线通讯模块向FTP服务器上传数据的上传效率。
【附图说明】
[0016]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
[0017]图1是本发明提供的支持续传的无线通讯模块数据上传方法一种实施方式的流程不意图。
【具体实施方式】
[0018]为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0019]为使得无线通讯模块在文件数据上传过程中出现中断之后可以支持文件数据续传,本发明提供的无线通讯模块数据上传方法可以预先地在所述无线通讯模块内部进行以下配置处理:
[0020](I)在所述无线通讯模块的AT命令表(AT Command Table)中添加一条FTPREST命令,所述FTPREST命令用以记录文件偏移量file_offset ;其中所述文件偏移量file_offset定义为无符号长整形,如果出现其他类型则按照出错处理。
[0021](2)在所述无线通讯模块的FTPST0R命令和FTPPUT命令分别封装有FTP_send_stor 函数和 FTP_send_ftpput 函数,所述 FTP_send_stor 函数和 FTP_send_ftpput 函数分别用以向FTP服务器发送所述FTPREST命令或者所述FTPST0R命令。需要说明的是,在本发明提供的方法中,如果所述无线通讯模块工作在FTP被动模式,则所述FTP_send_stor函数和FTP_send_ftpput函数可以是在所述无线通讯模块与所述FTP服务器建立数据Socket连接之后被调用;而如果所述无线通讯模块工作在FTP主动模式,则所述FTP_send_stor函数和FTP_send_f tpput函数可以是在所述无线通讯模块接收到来自所述FTP服务器且应答码为200的端口(PORT)命令应答之后才被调用。如果数据Socket连接建立失败或者所述FTP_send_stor函数和FTP_send_ftpput函数发送失败,则所述无线通讯模块可以进行出错处理。
[0022]基于上述配置处理,本发明可以提供一种支持续传的无线通讯模块数据上传方法。请参阅图1,其为本发明提供的支持续传的无线通讯模块数据上传方法一种实施方式的流程示意图,所述无线通讯模块数据上传方法主要包括以下步骤:
[0023]步骤SI,无线通讯模块判断所述文件偏移量file_offset是否大于零;
[0024]如果大于零,则意味着先前的文件数据并没有完成上传,因此当前需要进行数据续传,此时本方法可以跳转至步骤S2 ;如果所述文件偏移量file_offset为零,则意味着当前不需要进行文件续传,此时本方法可以跳转至步骤S3。
[0025]步骤S2,所述无线通讯模块向FTP服务器发送FTPREST命令;
[0026]具体地,如果在步骤SI判断出当前所述文件偏移量file_offset大于零,所述无线通讯模块可以向所述FTP服务器发送所述FTPREST命令来实现数据续传;其中,所述FTPREST命令可以携带有所述文件偏移量file_offset信息,比如其命令格式为RESTfile_offseto另外,在所述无线通讯模块发送所述FTPREST命令之后,本方法可以进一步跳转至步骤S4。
[0027]步骤S3,所述无线通讯模块向FTP服务器发送FTPST0R命令;其中,所述FTPREST命令可以携带有文件名信息file_name ;
[0028]具体地,如果在步骤SI判断出当前所述文件偏移量file_offset大于零,所述无线通讯模块可以向所述FT
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1