公开/公告号CN102307219A
专利类型发明专利
公开/公告日2012-01-04
原文格式PDF
申请/专利权人 北京神州数码思特奇信息技术股份有限公司;
申请/专利号CN201110066007.X
发明设计人 李春林;
申请日2011-03-18
分类号H04L29/08(20060101);
代理机构11212 北京轻创知识产权代理有限公司;
代理人杨立
地址 100085 北京市海淀区上地九街9号数码科技广场二层
入库时间 2023-12-18 04:04:27
法律状态公告日
法律状态信息
法律状态
2015-04-08
授权
授权
2012-12-12
著录事项变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20110318
著录事项变更
2012-02-22
实质审查的生效 IPC(主分类):H04L29/08 申请日:20110318
实质审查的生效
2012-01-04
公开
公开
技术领域
本发明涉及通信领域,尤其涉及一种文件上传和文件下载的系统和方法。
背景技术
目前,为了实现文件的上传与下载功能,一般要求每次的交互都在同一台主机上完成,即文件的上传和下载都是在同一台Web服务器上进行。随着四层交换技术的运用,为了实现基于四层交换技术下的文件上传与下载,则每台WEB服务器中都要保存相同的文件,这是因为操作者每次进行交互的Web服务器可能不是同一台,如果想保证操作者每次都能成功下载文件,则需要在上传文件的时候在每台WEB服务器上都保存同样的文件,这样就导致附件重复存储,浪费存储空间等缺陷。
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Action是用户请求和业务逻辑之间的桥梁,每个Action充当客户的一项业务代理。
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
Response 对象用于从服务器向用户发送输出的结果。
表单,在网页中的作用不可小视,主要负责数据采集的功能。
发明内容
本发明的目的在于提供一种可实现文件上传和文件下载的文件存取系统及方法。
作为本发明的第一方面,提供一种文件存取系统,包括至少一个客户端、至少一个WEB服务器、一个文件库服务器、一个关系数据库,所述WEB服务器分别与所述客户端、所述关系数据库、所述文件库服务器通信;
所述客户端通过所述WEB服务器将待上传文件发送至所述文件库服务器中保存,并接收所述WEB服务器自所述文件库服务器中下载的文件;
所述WEB服务器还控制生成所述待上传文件的存储文件名,并将所述存储文件名和所述待上传文件的真实文件名发送至所述关系数据库中保存。
进一步地,所述文件存取系统还包括一个四层交换设备,所述四层交换设备分别与所述客户端和所述WEB服务器通信,
所述四层交换设备接收所述客户端的上传文件请求或者下载文件请求,将所述上传文件请求或者下载文件请求发送至所述至少一个WEB服务器中的任一个。
作为本发明的第二方面,提供一种文件上传方法,
第一步,客户端提取待上传文件的基本信息,生成form表单;
第二步,所述客户端将所述form表单与所述待上传文件发送至WEB服务器的控制servlet上;
第三步,所述控制servlet读取所述基本信息,并将所述待上传文件保存至所述WEB服务器的临时文件夹中;
第四步,所述WEB服务器控制生成所述待上传文件的存储文件名;
第五步,所述控制servlet与所述WEB服务器外部的文件库服务器通信,将所述待上传文件发送至所述文件库服务器中保存;
第六步,所述WEB服务器将所述待上传文件的存储文件名、真实文件名发送至所述WEB服务器外部的关系数据库中保存;
第七步,所述控制servlet删除所述临时文件夹内保存的待上传文件。
进一步地,所述基本信息包括所述待上传文件的真实文件名、和/或文件类型、和/或文件扩展名、和/或文件大小。
进一步地,所述待上传文件的存储文件名由WEB服务器的IP地址和通过线性同余随机数算法生成的36位随机数构成。
进一步地,所述第五步中,所述控制servlet按照以下步骤与所述文件库服务器建立通信,
步骤A1,所述控制servlet与所述WEB服务器中的Action建立通信;
步骤A2,所述Action与所述文件库服务器建立通信;
步骤A3,所述控制servlet将待上传文件经由所述Action发送至所述文件库服务器。
作为本发明的第三方面,提供一种文件下载方法,
步骤一,客户端向WEB服务器发送文件下载请求;
步骤二,所述WEB服务器根据所述文件下载请求,自所述WEB服务器外部的关系数据库中查找待下载文件;
步骤三,所述WEB服务器根据查找结果,生成至少一个文件链接发送至所述客户端;
步骤四,所述客户端根据用户需求,自所述至少一个文件链接中选择待下载文件,并请求所述WEB服务器内的控制servlet下载该文件;
步骤五,所述控制servlet与所述WEB服务器外部的文件库服务器通信,自所述文件库服务器中查找所述待下载文件,并将所述待下载文件保存至所述WEB服务器中;
步骤六,所述控制servlet将所述待下载文件发送至所述客户端。
进一步地,所述步骤五中,所述控制servlet按照以下步骤与所述文件库服务器建立通信,
步骤B1,所述控制servlet与所述WEB服务器中的Action建立通信;
步骤B2,所述Action与所述文件库服务器建立通信;
步骤B3,所述文件库服务器将查找到的待下载文件经由所述Action发送至所述控制servlet。
本发明的有益效果是:本发明技术方案就可方便地实现文件的上传与下载,且不需要重复存储相同的文件,避免了由此造成的存储资源浪费,降低了对服务器存储能力的要求。
附图说明
图1为本发明文件存取系统的第一种实现方式的系统构成示意图;
图2为本发明文件存取系统的第二种实现方式的系统构成示意图;
图3为本发明文件上传方法的流程示意图;
图4为本发明文件下载方法的流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
作为本发明的第一方面,提供一种文件存取系统,如图1所示,该系统包括至少一个客户端100、至少一个WEB服务器200、一个文件库服务器300、一个关系数据库400,WEB服务器200分别与客户端100、关系数据库400、文件库服务器300进行通信。其中,客户端100通过WEB服务器200将待上传文件(即准备上传至文件库服务器300的文件)发送至文件库服务器300中保存,并接收WEB服务器200自文件库服务器300中下载的文件。WEB服务器200还控制生成待上传文件的存储文件名,并将存储文件名和待上传文件的真实文件名一起发送至关系数据库400中保存,即关系数据库400中保存有已上传文件的存储文件名和真实文件名。利用本发明的文件存取系统就可方便地实现文件的上传与下载。且本发明的文件存取系统不需要在每台WEB服务器200内重复存储相同的文件,这就避免了由此造成的存储资源浪费,降低了对服务器存储能力的要求。
如图2所示,文件存取系统还包括一个四层交换设备500,四层交换设备500分别与客户端100和WEB服务器200通信。四层交换设备500接收客户端100的上传文件请求或者下载文件请求,将上传文件请求或者下载文件请求发送至至少一个WEB服务器200中的任一个。
图1所示的文件存取系统中,若操作者通过客户端100请求与WEB服务器200建立通信,则操作者需记录所有WEB服务器200的IP地址。操作者通过客户端100输入某一个WEB服务器的IP地址,使客户端100与该WEB服务器之间建立通信,从而通过该WEB服务器向文件库服务器300上传文件或者下载文件。而图2所示的文件存取系统中,操作者只需记录四层交换设备500的IP地址即可,方便操作者的使用。操作者通过客户端100输入四层交换设备500的IP地址,使客户端100与四层交换设备500之间建立通信,由四层交换设备500随机的与多个WEB服务器200中的任意一个建立通信,从而实现通过WEB服务器向文件库服务器300上传文件或者下载文件。
作为本发明的第二方面,提供一种文件上传方法,如图3所示,按照以下步骤实现文件上传。
第一步,客户端100提取待上传文件的基本信息,生成form表单。即操作者登录客户端100提供的WEB网页,将待上传文件的基本信息(例如待上传文件的真实文件名、和/或文件类型、和/或文件扩展名、和/或文件大小)生成form表单。
第二步,客户端100将form表单与待上传文件发送至WEB服务器200的控制servlet上。操作者直接输入某一个WEB服务器的IP地址,将form表单与待上传文件一起发送至该台WEB服务器。或者,操作者输入四层交换设备500的IP地址,由四层交换设备500选择一台WEB服务器,与客户端100建立通信,接收客户端100发送来的form表单和待上传文件。
第三步,控制servlet读取基本信息,并将待上传文件保存至WEB服务器200的临时文件夹中。WEB服务器200接收到客户端100发送的信息后,一方面自form表单中提取出文件的基本信息,用于生成该文件的存储文件名;另一方面将待上传文件保存至临时文件夹中,为向文件库服务器300上传文件做好准备。
第四步,WEB服务器200控制生成待上传文件的存储文件名。该存储文件名是由WEB服务器的IP地址和通过线性同余随机数算法生成的36位随机数构成的。
第五步,控制servlet与WEB服务器200外部的文件库服务器300通信,将待上传文件发送至文件库服务器300中保存。具体步骤如下:首先,控制servlet与WEB服务器200中的Action建立通信;其次,Action通过FTP协议与文件库服务器300建立通信;最后,控制servlet将待上传文件经由Action通过FTP发送至文件库服务器300。
第六步,WEB服务器200将待上传文件的存储文件名、真实文件名发送至WEB服务器200外部的关系数据库400中保存。
第七步,控制servlet删除临时文件夹内保存的待上传文件。至此完成一份文件的上传工作。
作为本发明的第三方面,提供一种文件下载方法,如图4所示,按照以下步骤实现文件下载。
步骤一,客户端100向WEB服务器200发送文件下载请求。同样地,客户端100也可通过两种实现方式与WEB服务器200建立通信:一个是操作者输入某一个WEB服务器200的IP地址,从而客户端100与该WEB服务器200建立通信;另一个是操作者输入四层交换设备500的IP地址,客户端100通过四层交换设备500与某一个WEB服务器200建立通信。其中,文件下载请求可以包括请求信号以及待下载文件的基本信息(如文件名称、文件类型、关键词等信息)。
步骤二,WEB服务器200根据文件下载请求,自WEB服务器200外部的关系数据库400中查找待下载文件。也就是WEB服务器200与关系数据库400建立通信,自关系数据库400中查找与待下载文件的基本信息相吻合的文件。
步骤三,WEB服务器200根据查找结果,生成至少一个文件链接发送至客户端100。若WEB服务器200自关系数据库400中未查找到相关文件信息,则说明文件库服务器300中不存在满足操作者需要的文件,则WEB服务器200向客户端100返回查询结果,结束本次文件下载。若WEB服务器200自关系数据库400中查找到至少一个符合操作者需求的文件信息,则针对这些文件的保存路径生成文件的专属链接发送至客户端100,供操作者选择。
步骤四,客户端100根据用户需求,自至少一个文件链接中选择待下载文件,并请求WEB服务器200内的控制servlet下载该文件。即操作者自多个链接中选择与其需求最相符的链接,操作者点击该链接,则客户端100向WEB服务器200生成一个下载该文件的请求。
步骤五,控制servlet与WEB服务器200外部的文件库服务器300通信,自文件库服务器300中查找待下载文件,并将待下载文件保存至WEB服务器200的内存中。具体步骤如下:首先,控制servlet与WEB服务器200中的Action建立通信;其次,Action通过FTP协议与文件库服务器300建立通信;最后,文件库服务器300查找待下载文件,控制servlet接收文件库服务器300经由Action发送来的待下载文件。
步骤六,控制servlet将待下载文件通过response发送至客户端100。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 文件传输系统,文件上传方法和文件下载方法
机译: 一种采用P2P技术和P2P下载系统的文件下载方法
机译: 一种采用P2P技术和P2P下载系统的文件下载方法