文件上传方法

文档序号:7682119阅读:468来源:国知局

专利名称::文件上传方法
技术领域
:本发明涉及电子地图
技术领域
,尤指一种文件上传方法。
背景技术
:互联网的应用几乎渗透到人们工作和生活的各个角落,人们通过网络下载文件,或者通过网络上传文件,这些都是稀+>平常的事情。下载文件是指将远端(或者称为发送方)的文件下载到本地(或者称为接收方),如图l所示,接收方发送控制流,或者称下载请求给发送方,发送方发送数据^i会接收方。在Internet网络中传输照片(或大的文件),通常^it到网络不稳定,传输过程不正常中断,导致文件传输失败。下载文件通常采用断点续传的方式,来保证下栽文件过程的成功,例如下载软件Flashget等等就是采用断点续传的方式,也就是说在下载被不正常中断后,会自动重新连4妄^务器,从断点开始重新下载。该方式需要FTP协议或HTTP协议支持。这种方式又被称为拉的技术,适用于下载文件。上传文件是指将本地的文件上传给服务器(或者称远端)。在遇到网络上传中断时,这种拉的技术不适合上传,只能采用重新传输的方式,大大浪费了网络资源。这是由于如果上传的客户端是无线上网的PDA(英文全称PersonalDigitalAssistant,即个人数字助理,一般指掌上电脑),接收方(服务器)是任务的^者,需要在一个任务^前知道传输的内容是什么,在发送方(PDA)不在线,或在线情况不头£#的情况下(这意味着IP地址可能变化),接收方不知道怎么和发起方通信。
发明内容本发明要解决的问M提供一种节约资源的文件上传方法。为了解决上述问题,本发明文件上传方法的技术方案包括客户端向服务器发送上传请求,所述上传请求包括上传文件的文件名和总长度;服务器向客户端返回其已接收的所述上传文件的字节数;客户端从所述总长度减去已传输的字节数处开始传输所述上传文件。进一步地,本发明文件上传方法还包括步骤月良务H4^U'J的字节数等于所述总长度后,向客户端返回标志完成;客户端接4tJ'J标志完成后,断开连4妄。与现有技^M目比,本发明文件上传方法的有益效果为由于客户端每次向服务器发^i^接请求的时4美铜夺^"上传的文件的文件名和总长;l^it^服务器,月良务11#已接收的文件的字节数返回给客户端,客户端才i悉长度减去已接收的字节数处开始向服务器上传文件。这样,对于已经上传了的数悟,客户端就不必再重新上传,而只接着传输尚未传输的数據即可,从而大大节约了网络资源。本方法除了在'隨中断传输时节省资源外,还提供某种便利性,如客户端不需一直在线,只需要絲传输需求的时候连接到网络中,这比较适^^^i殳备的互联网连接情况。图l是文件下载的示意图2是本发明文件上传方法的^艮图3M用本发明文件上传方法的统一建模语言序列图4A^用本发明文件上传方法的一个文件传输的状态值示意图。具体实施例方式如图2所示,本发明文件上传方法包括下述步骤1)客户端向服务器发itJi^t求,所itJi^^"求中包括上传文件的文件名和总长度;2)月良务器向客户端返回其已接收的所i^Ji传文件的字节数;3)客户端从所述总长度减去已接收的字节数处开始传输所iiJi传文件。由上述可知,客户端作为发送方,月良务H^乍为接J]t^,客户端向服务器上传文件。首先,客户端向服务器发i^Ji^^青求,所iiJ^H青求中包括上传文件的文件名和总长度,也IU3兌,客户端^^上传的文件的文件名和总长度传给服务器。月良务器将其已接收的字节数传给客户端,如果是一个新文件,服务器向客户端返回的字节数就是0,也;^U:没有接收^^可数据;如果是由于异常情况而中断传输的文件,4服务器向客户端返回的就^^一个非0值。客户端接4^ij服务器返回的已接收字节数后,客户端l^人悉长度减去已接收字节狄开始向服务器上传文件。这样,对于中断传输的文件,已经上传的数悟不必再重新传输,只要接着传输未传输的数梧即可。从而大大节约了网络资源。进一步地,如图2所示,本发明文件上传方法还包括步骤4)月良务器接jji^的字节数等于所述总长^,向客户端返回标志完成;5)客户端接收到标志完成后,断开连接。如图3所示,是UML(UnifiedModelingLanguage,统一建模语言)序列图,UML是一种软件开发中图形化的设计语言。本发明文件上传方法的技术方案用其来实现。在图3中,上传J^方向接JRI良务器上传照片,其过程如下上传发起方第一次发起请求上传照片指令PDA—UPLOAD—REQUEST(0x2071);接收服务器第一次返回请求上传照片回复指令JD—UPLOAD—REQ_ACK(0x2072);上传狄方第一次传照片数据指令PDA—UPLOAD_DATA(0x2074);上传狄方第n次传照片数据指令PDA_UPLOAD_DATA(0x2074)接j)iJ良务器发itJi传结束指令JD—UPLOAD—END—ACK(0x2073)。其中,请求上传照片的指令PDA—UPLOAD—REQUEST(0x2071)的包格式如下:<table>tableseeoriginaldocumentpage5</column></row><table>表l在表1中的文件名和文件长度字段中存放的;tU:要上传的照片的名称及总长度。请求上传照片回复指令JD—UPLOAD—REQ_ACK(0x2072)的包格式<table>tableseeoriginaldocumentpage6</column></row><table>表2在表2中,接4tl良务器回复的指令中包括文件名和StartPos字段。StartPos字段为服务器已接收的文件长度(偏移量),若是新文件该字段返回的值为0。传照片数据指令PDAJJPLOAD—DATA(0x2074)的包格式<table>tableseeoriginaldocumentpage6</column></row><table>表3在表3中,上传发送方向服务鼎输照片数据。上传结^^旨令JD—UPLOAD_END_ACK(0x2073)的包格式:<table>tableseeoriginaldocumentpage6</column></row><table>表4#4中的命令字段0x2073表示上传结束,月良务器已接收了该照片的dNp数据。^^L讲,在服务器端,始终维护着一个状态表,如图4所示,其表示一个文件传输的状态值。状态值以分号间隔1)文件在发送端的命名2)文件在服务端的相对^f诸^4圣3)已接收长度4)是否完成(此字段通常不用)月良务器通过1)、2)和3)三项数据就可知道一个文件在服务器端的接收情况。例如,PDA准备上传一个叫l.jpg的刚刚拍摄的照片文件。这个文件有4M大。首先,PDA传输一个4M大的l.jpg给服务器。月l务器负责接收。开始PDA将文件总长度和文件名传输给服务器,然后PDA4錄内容。过禾錄传输到2M时异常中断。PDA检测到异常,然后重新和服务器建立socketi^接。将"l.jpg"发给服务器,查询已上传字节数。月良务器返回"l.jpg"文件的已接收字节数为2M。PDA得到已上传字节紀M时,将从断点开始将余下的2M(4M-2M-2M)内容发送给服务器。如a传输过程中还有中断,则重复^f亍上述步骤。月良务器接4tfiJ所有文件内容后,返回一个完成标志给PDA。PDA接4U'j完成标志后,断开连接,或进行下一个文件的传输。综上所述,由于客户端每次向服务器发iH^接请求的时候铜夸要上传的文件的文件名和总长狄it^服务器,月良务器将已接收的文件的字节数返回给客户端,客户端就从悉长度减去已接收的字节1:开始向服务器上传文件。这样,对于已经上传了的数据,客户端就不必再重新上传,而只接着传输尚未传输的数据即可,从而大大节约了网络资源。本方法除了在'隨中断传输时节省资源外,还提供某种便利性,如客户端不需一直在线,只需要在有传^^求的时候连接到网络中,这比较适衬^i殳备的互联网连接情况。权利要求1、一种文件上传方法,其特征在于,包括步骤客户端向服务器发送上传请求,所述上传请求包括上传文件的文件名和总长度;服务器向客户端返回其已接收的所述上传文件的字节数;客户端从所述总长度减去已传输的字节数处开始传输所述上传文件。2、如权利要求1所述的文件上传方法,其特征在于,还包括步骤服务器接收到的字节数等于所述总长度后,向客户端返回标志完成;客户端接收到标志完成后,断开连接。全文摘要本发明公开一种文件上传方法包括客户端向服务器发送上传请求,所述上传请求包括上传文件的文件名和总长度;服务器向客户端返回其已接收的所述上传文件的字节数;客户端从所述总长度减去已传输的字节数处开始传输所述上传文件。因此,采用本发明文件上传方法的技术方案能够节约资源。文档编号H04L29/08GK101483661SQ20081000046公开日2009年7月15日申请日期2008年1月11日优先权日2008年1月11日发明者邹逵生申请人:高德软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1