[发明专利]一种上传大文件的方法在审

专利信息
申请号: 201410015196.1 申请日: 2014-01-14
公开(公告)号: CN103701937A 公开(公告)日: 2014-04-02
发明(设计)人: 管建智 申请(专利权)人: 上海斐讯数据通信技术有限公司
主分类号: H04L29/08 分类号: H04L29/08
代理公司: 上海信好专利代理事务所(普通合伙) 31249 代理人: 张妍;张静洁
地址: 201620 上海市松*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 上传 文件 方法
【说明书】:

技术领域

发明涉及一种上传大文件的方法,尤其涉及一种在WEBDAV服务器上实现上传大文件的方法。

背景技术

WEBDAV(Web-based Distributed Authoring and Versioning)是一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web 服务器直接读写,并支持写文件锁定及解锁,还可以支持文件的版本控制。

WEBDAV作为一种文件共享的方案,已经在网关设备的某些开源方案(openwrt)上开始应用。典型的应用场景为:网关设备上部署WEBDAV服务器,将外接的存储设备(移动硬盘)作为存储介质,PC(个人电脑)、手机等终端通过客户端或映射网络驱动器的方法,可以下载或上传文件,在用映射网络驱动器的方法连接时可以直接修改服务器上的文件。

Lighttpd(lighttpd是一个用C语言实现的轻量级的http服务器,HTTP(Hyper Text Transfer Protocol)即超文本传输协议,是目前网页传输的通用协议)是个框架,在这个框架下可以同时做多种服务,比如:建立一个WEBDAV的服务器用于共享文件,同时建立一个WEB服务器,用于管理网关设备,也可以再建立一个WEB服务器做BBS。

在网关设备上可以用http服务器加载WEBDAV模块的方式实现WEBDAV服务器。但在实际使用中,WEBDAV服务器不能上传较大的文件,32M内存的设备一般不能上传大于20M的文件。

http服务器处理上传文件请求的步骤如下:

1、先从socket(网络套接字)中接收http header(http header是http报文的头部。可以将http报文当成是一个连续的字符串,该字符串可以分为两部分:头部(字符串前面的一部分,长度不定)和内容(剩余的部分)。头部包含一些协议描述和控制的信息,内容部分是http协议需要传送的内容),根据上传请求的内容长度(Content-Length)字段的值获得接收文件的大小;

步骤2、对于小于等于64K的文件,直接分配一个内存缓存(buffer)来接收;对于大于64K小于等于1M的文件,在tmpfs(临时文件系统,是一种基于内存的文件系统,它只存在于内存中)中建立一个临时文件来存储;对于大于1M的文件,将文件分成以1M为单位的临时文件存储在临时文件中,并用链表将这些临时文件的信息保存起来;

步骤3、文件接收完成后,交给WEBDAV模块处理,WEBDAV模块将接收到的文件写入对应的外部存储介质中。

网关设备的剩余内存一般不会小于1M,所以对于1M左右的文件,一般都可以上传。但当文件很大时,由于临时文件都是存储在物理内存中的,所以当上传文件的大小大于系统剩余物理内存时,lighttpd最终会因内存不够而放弃接收该文件,导致上传失败。

现有的上传文件方案对上传文件的大小有限制,这是由原始设计的上传机制决定的,上传文件大小的上限为当前系统中剩余物理内存的大小。这就给实际应用带来了不便,尤其是无法上传视频文件。

目前业界还没有对应的解决方案。

发明内容

本发明提供一种上传大文件的方法,不受系统实际剩余物理内存的限制,实现对大文件的支持。

为了达到上述目的,本发明提供一种上传大文件的方法,该方法用于WEBDAV服务器,该方法包含以下步骤:

步骤S1、如果http服务器接收到WEBDAV服务器的上传请求,则判断上传文件的大小;

步骤S2、如果上传文件的大小超过1M,WEBDAV模块直接使用外部存储设备接收并储存上传文件。

所述的步骤S1中,http服务器根据接收到的http报文头部,判断是否是WEBDAV服务器的上传请求,如果是,就将在http连接上下文中扩充的标识变量赋值为真,表示http服务器要处理WEBDAV服务器的上传服务,如果不是,则将该标识变量赋值为假。

在上传文件的大小超过1M时,在WEBDAV模块直接使用外部存储设备接收并储存上传文件之前,还包括:http服务器先判断http连接上下文中扩充的标识变量的赋值,如果赋值为真,则WEBDAV模块直接使用外部存储设备接收并储存上传文件。

所述的http报文头部的内容包含超文本传送协议方法和请求路径。

所述的步骤S2中,外部存储设备为移动硬盘,或者电脑,或者手机。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410015196.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top