文件传输方法、文件传输设备及计算机可读存储介质与流程

文档序号:20039339发布日期:2020-02-28 11:42阅读:229来源:国知局
本发明涉及计算机数据传输
技术领域
:,具体涉及一种文件传输方法、文件传输设备以及计算机可读存储介质。
背景技术
::随着无线通信技术的发展,具有网络连接能力的移动互联网终端的使用越来越普及。该移动互联网终端插上sim(subscriberidentificationmodule,身份识别卡)后,可以利用应用层提供的网络协议如文件传输协议(filetransferprotocol,ftp)实现远程文件的上传和下载。ftp协议模型是基于客户端-服务器(client-server,c/s)模型而设计的,至少由一个移动互联网终端、一个ftp通信设备和一个ftp服务器构成。其中,移动互联网终端设备与ftp通信设备通过串口链路进行文件传输,ftp通信设备与ftp服务器之间通过ftp链路进行通信连接。现今4g网络已相当普及,速度也有较大提升,当需要下载较大文件时,由于串口速率远小于4g网络速率,可能导致文件下载途中由于ftp通信设备返回给移动互联网终端的速率较慢,而出现ftp链路长时间空闲。此时,ftp服务器会断开长时间空闲的ftp链路。此外,受移动网络不稳定性的影响,文件上传或下载时间越长,中途链路中断的概率越大,影响数据传输的成功率。因此,有必要提供一种基于ftp协议可提高移动互联网终端下载或上传文件的传输可靠性的解决方案。技术实现要素:有鉴于此,本申请的目的就是提供一种文件传输方法、文件传输设备及计算机可读存储介质,以解决上述问题。为达到上述目的,本发明所提供的文件传输方法,应用于文件传输设备上。所述文件传输方法包括:响应终端设备发送的控制指令,与ftp服务器建立控制链路连接;响应所述终端设备发送的下载文件指定指令,与所述ftp服务器建立数据链路连接;响应文件下载指令控制所述数据链路连接开始文件下载操作;以及在文件下载的过程中,控制以预设的时间间隔向所述ftp服务器发送控制链路连接保活指令。在本发明一具体的实施例中,所述控制链路连接保活指令为ftp协议中的noop指令。在本发明一具体的实施例中,所述的文件传输方法还包括:自所述ftp服务器接收到所述文件数据后,将所接收到的文件数据暂存于用户数据缓存区中,其中,所述用户数据缓存区的容量大于协议栈缓存的容量;以及将暂存于所述用户数据缓存区中的文件数据通过串口通信发送给终端设备。在本发明一具体的实施例中,所述用户数据缓存区为根据系统资源容量而定的预设容量的环形队列。在本发明一具体的实施例中,所述的文件传输方法还包括:将暂存于所述用户数据缓存区中的文件数据存储于所述ftp通信设备的本地文件系统存储区中。在本发明一具体的实施例中,所述的文件传输方法还包括:在文件下载的过程中将从ftp服务器上获取到的文件数据存储于所述文件传输设备的本地文件系统存储区中。在本发明一具体的实施例中,所述的文件传输方法还包括:响应所述终端设备发送的文件读取指令,从所述本地文件系统存储区中读取任意偏移和长度的文件数据;以及将所读取到的文件数据发送给所述终端设备。在本发明一具体的实施例中,所述的文件传输方法还包括:响应所述终端设备发送的关闭文件传输服务的指令,控制关闭所述控制链路连接,其中,当当所述文件下载完成时所述终端设备向所述ftp通信设备发送所述关闭文件传输服务的指令。此外,为了解决上述问题,本发明还提供一种基于ftp的文件传输设备。所述文件传输设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的文件传输程序,所述文件传输程序被所述处理器执行时实现上述文件传输方法中的步骤。另外,为解决上述问题,本发明还提供了一种计算机可读存储介质。所述计算机可读存储介质存储有文件传输程序,当所述文件传输程序被至少一个处理器执行时实现上述文件传输方法中的步骤。本发明所提供的文件传输方法,在文件传输设备与ftp服务器进行文件传输的过程中,该文件传输设备以预设的时间间隔发送该控制链路连接保活指令直至文件下载过程结束。故此,可起到控制链路保活的作用,防止控制链路在文件下载的过程中因空闲时间过长而被ftp服务器剔除。附图说明图1为本发明一实施方式中的运行文件传输方法的硬件系统的示意图。图2为本发明一实施例中文件传输方法的步骤流程图。图3为本发明另一实施例中文件传输方法的步骤流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。请参见图1,所示为本发明一实施例中运行文件传输方法的硬件环境的示意图。如图1所示,该文件传输系统100包括一终端设备10、一文件传输设备20以及一ftp服务器30。终端设备10与文件传输设备20、文件传输设备20与ftp服务器30之间通过网络40进行通信连接。具体在本实施方式中,该终端设备10与文件传输设备20之间通过短距离有线或无线通信的方式建立串口通信连接,也即,该终端设备10上设置有串口接口11和串口通信电路12,文件传输设备20上分别设置有与串口接口21和串口通信电路22。在其他实施方式中,串口接口和串口通信电路可统称为串口通信单元或串口通信模块。该文件传输设备20与ftp服务器30可通过局域网或广域网进行有线或无线的ftp通信连接。该终端设备10可以以各种具有数据运算能力的终端来实施,例如,可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等终端设备,以及诸如数字tv、台式计算机等固定终端。优选的,该文件传输设备20可以是,但不限于,路由器、机顶盒或数字交换机等通信系统中的数据中转设备。该ftp服务器30为该文件传输系统100的控制中心。具体的,在本发明的实施方式中,该ftp服务器30管理该文件传输系统100中的各终端设备10及存储有该终端设备10所需的文件信息。可以理解的,该ftp服务器30上还可存储有该的其它信息,例如文件传输设备20与终端设备10的身份认证信息等。请继续参见图1,该文件传输设备20内还设置有存储器23、显示单元24、输入单元25、以及处理器26等部件。本领域技术人员可以理解,图1中示出的文件传输设备20的结构并不构成对该文件传输设备20的限定,该文件传输设备20可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。同理,图1中示出的终端设备10的结构并不构成对该终端设备10的限定,该终端设备20可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。存储器23可用于存储软件程序以及各种数据。存储器23可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据文件传输设备20的使用所创建的数据(比如用户数据等)等。此外,存储器23可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。在本实施方式中,该存储器23为内存储器,在该文件传输设备20与ftp服务器30建立tcp链路连接之后,可为数据链路动态分配一协议栈缓存区、一用户数据缓存区。在另一实施方式中,该内存储器还为数据链路动态分配一文件系统缓存区。在本实施方式中,该存储器23的程序存储区内存储有文件传输程序。显示单元24用于显示由用户输入的信息或提供给用户的信息。显示单元24可包括显示面板,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板。在本实施方式中,该显示单元24可采用led指示灯等给用户提示通信连接是否建立的指示信息。例如,当该led指示灯亮或显示绿色表明移动终端10与文件传输设备20之间的串口通信连接或文件传输设备20与ftp服务器30之间的ftp链路连接已经建立。输入单元25可用于接收用户通过输入设备例如键盘输入的数字或字符信息,以及产生与文件传输设备20的用户设置以及功能控制有关的键信号输入。具体地,输入单元25可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器26,并能接收处理器26发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,输入单元25还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器26以确定触摸事件的类型,随后处理器26根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在本实施方式中,触控面板与显示面板是作为两个独立的部件来实现文件传输设备20的输入和输出功能,但是在某些实施例中,可以将触控面板与显示面板集成而实现文件传输设备20的输入和输出功能,具体此处不做限定。处理器26是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器23内的软件程序和/或模块,以及调用存储在存储器23内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器26可包括一个或多个处理单元;优选的,处理器26可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器26中。这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在处理器26中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器23中并且由处理器26执行。此外,该服务器30上设置有存储装置31,该存储装置31内存储有该服务器30运行时所需的必要程序和数据。在本发明的一具体实施方式中,该存储装置31至少存储有终端设备10所需要的文件信息。下面将结合附图2,并结合该文件传输系统100中的各装置进一步阐述本申请所提供的文件传输方法的执行过程和步骤。请参见图2,所示为本发明一实施方式中的文件传输方法的步骤流程图。该文件传输方法应用于文件传输设备上20上。在本实施例中,根据不同的需求,图2所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。如图2所示,该文件传输方法主要包括以下步骤:步骤201:响应终端设备发送的控制指令,与ftp服务器建立控制链路连接。具体的,当终端设备10需要从ftp服务器30上获取一文件时,该终端设备10向文件传输设备20发送预设的第一at指令请于与预设的ftp服务器通信连接。其中,该第一at指令为at+ftplogin指令,用于指定ftp服务器和通信端口;也即该第一at指令携带或包含有所指定的ftp服务器信息及该ftp服务器的通信端口信息。该文件包括,但不限于,图像、文本信息、视频信息或语音信息及其一个或多个结合所形成的文件。文件传输设备20在接收到终端设备10发送的第一at指令时,响应该第一at指令与ftp服务器建立tcp控制链路连接。具体的,文件传输设备20根据ftp协议向ftp服务器发送该文件传输设备20的登陆信息以完成器在ftp服务器30上的登录。其中,该登录信息包括,但不限于,该文件传输设备20的用户信息和身份认证信息例如身份验证码等。当该文件传输设备20在ftp服务器30完成了ftp登录,也即该文件传输设备20与ftp服务器30之间建立了tcp控制链路连接。在该tcp控制连接连接建立之后,该终端设备10、文件传输设备20与ftp服务器30之间可进行命令传输。步骤202:响应所述终端设备发送的下载文件指定指令,与所述ftp服务器建立数据链路连接。在tcp控制链路连接建立之后,该文件传输服务器20可接收该终端设备10发送的文件下载指定指令。具体的,终端设备10发送预设的第二at指令指定需下载的文件,该第二at指令为at+ftpget,包括有需下载的文件信息,例如文件名,文件地址等信息。文件传输服务器20在接收到第二at指令后,发送pasv命令与fpt服务器30建立数据链路连接。需要说明的是,该pasv命令为tcp协议以被动的方式进行工作。采用该方式,文件传输服务器20向ftp服务器端口发送连接请求,ftp服务器接收该连接请求,建立一条数据链路来传输数据。步骤203:向所述ftp服务器发送文件下载指令控制所述数据链路连接开始文件下载操作。在本实施方式中,当数据链路连接建立后,该文件传输设备20发送文件下载指令给该ftp服务器30,也即该文件传输设备20发送retr命令给该ftp服务器30请求ftp服务器30将指定路径内的文件复制给文件传输设备20,此时,该数据链路连接通道便开始进行文件下载操作。步骤204:在文件下载的过程中,控制以预设的时间间隔向所述ftp服务器发送控制链路连接保活指令。在本实施方式中,在该文件下载的过程中,该文件传输设备20向ftp服务器30以预设的时间间隔发送控制链路连接保活指令,如此,可以防止控制链路在下载文件的过程中空闲时间过长而被ftp服务器30踢掉。其中,该控制链路连接保活指令为ftp协议中的noop指令。本申请所提供的文件传输方法,在文件传输设备20与ftp服务器30进行文件传输的过程中,该文件传输设备20以预设的时间间隔例如30s发送该noop指令直至文件下载过程结束。故此,可起到链路保活的作用,防止控制链路在文件下载的过程中因空闲时间过长而被ftp服务器30剔除。在另一实施方式中,该文件传输方法还包括:该文件传输设备20自ftp服务器30接收到所述文件数据后,将所接收到的文件数据暂存于用户数据缓存区中,其中,所述用户数据缓存区的容量大于协议栈缓存的容量;以及将暂存于所述用户数据缓存区中的文件数据通过串口通信发送给终端设备。在一具体的实施方式中,所述用户数据缓存区为根据系统资源容量而定的预设容量的环形队列。本实施例通过另外添加了一个可缓存更多数据的用户数据缓存区,以便把文件数据先尽快存到该缓存中,可避免因文件传输设备20与终端设备10之间的串口还没发完缓存中的数据就因为文件传输设备20与ftp服务器30之间的连接释放而使得原本可完成文件下载而出现下载中断。此外,该文件传输方法还包括:当检测到上述数据链路或控制链路意外断开后,控制优先把用户数据缓存区的数据传给终端设备10,之后才提示链路断开。在再一具体的实施方式中,该文件传输设备20的内存储器中还包括一本地文件系统存储区。该文件传输方法还包括:该自ftp服务器30接收到所述文件数据后,将暂存于用户数据缓存区中的文件数据存储于文件传输设备20的本地文件系统存储区中。如此,终端设备10所需下载的文件已存储在该文件传输设备20的本地文件系统中,也即,该终端设备10通过指令at+fsrf指令获取任意偏移和长度的数据。具体的,当该文件传输设备20将从ftp服务器中下载的文件存储在本地文件系统中时,该文件传输设备20响应所述终端设备10发送的文件读取指令,从所述本地文件系统存储区中读取任意偏移和长度的文件数据;以及将所读取到的文件数据发送给所述终端设备10。如此,在该实施方式中,通过将下载的文件存储于文件传输设备20的本地文件系统中,可实现终端设备10对该文件的下载和读取两个操作,使得终端设备10获取文件的方式更加灵活且方便。请参见图3,所述为本发明另一实施例中的文件传输方法的步骤流程图。较之图2所示的实施例,本实施例所提供的文件传输方法在步骤204之后还包括步骤205:响应所述终端设备发送的关闭文件传输服务的指令,控制关闭所述控制链路连接,其中,当所述文件下载完成时所述终端设备向所述文件传输设备发送所述关闭文件传输服务的指令。具体的,当终端设备10所需下载的文件下载完成时,该终端设备10向文件传输设备20发送关闭文件传输服务的指令。之后,该文件传输设备20响应所接收到的该指令,控制关闭与ftp服务器30之间建立的tcp控制链路连接,也即文件传输设备20与ftp服务器30之间的控制链路连接断开。当控制链路断开之后,文件传输设备与ftp服务器30之间的数据链路也自动断开。此外,本领域普通技术人员可以理解,实现上述实施例方法的全部或者部分步骤是可以通过至少一个程序指令相关的硬件来完成,所述至少一个程序可以存储于一计算机可读存储介质中,所述至少一个程序在执行时可实现本发明任意一实施方式中的文件传输方法的各步骤。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的文件传输方法。以上是本发明实施例的实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1