上传和下载文件的方法及系统技术方案

技术编号:11408162 阅读:98 留言:0更新日期:2015-05-06 07:27
本发明专利技术属于文件服务领域,具体涉及到一种上传和下载文件的方法及系统,客户端发送的下载请求分别通过CDN服务器、IIS Web服务器、数据库服务器和磁盘服务器四个层次的服务器,进行一层一层查询下载,这样的服务器组合查询方法,使得下载文件的速度大大提高;客户端发送上传请求通过IIS Web服务器、数据库服务器和磁盘服务器将指定文件进行快速上传;另外,下载和上传都支持断点下载和上传,即当文件特别大时,由于网络原因等影响大文件分段下载或者上传,可以大大降低大文件下载和上传的失败率。

【技术实现步骤摘要】
上传和下载文件的方法及系统
本专利技术属于文件服务领域,具体涉及到一种上传和下载文件的方法及系统。
技术介绍
在一般的下载和上传文件技术中,有的技术从磁盘服务器直接读取文件,从而下载或者上传文件,这样使得下载速度和上传速度非常慢;虽然CDN服务器能将最接近用户的节点地址提供给用户,但是当访问量多时,单独的CDN服务器仍然存在负载不足的缺点;其它单独的服务器也不足以承担多的访问量的同时没有缓存用户经常下载的网络热点资源,使得下次的下载和上传依然速度很慢;另外,现有的上传和下载方法,并不是都支持断点下载和上传,使得大容量的文件一次下载或者上传不成功,下次还得重新下载和上传,浪费用户时间。
技术实现思路
本专利技术的目的在于,提供了一种上传和下载方法及系统,能够快速上传和下载客户所需要的文件。为了实现上述目的,本专利技术提供了一种下载文件的方法,包括:客户端发送下载请求,所述下载请求对应一请求路径;CDN服务器接收所述下载请求,并判断是否缓存与所述下载请求要求的下载内容,若缓存,则将该内容返回到客户端,若没有缓存,则将所述下载请求发送到IISWeb服务器;所述IISWeb服务器接收所述CDN服务器发送的所述下载请求,并对所述下载请求进行解析,判断所述IISWeb服务器是否已存在所述下载请求的缓存,若存在,则直接将所述下载请求对应缓存内容返回客户端;若不存在,则进一步解析所述请求路径的参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到数据库服务器;所述数据库服务器接收所述IISWeb服务器发送的所述磁盘ID,查找数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则返回所述磁盘共享路径,IISWeb服务器再解析所述磁盘共享路径,得到文件具体路径请求,并将其发送到磁盘服务器;若否,则向客户端发送此文件不存在消息;所述磁盘服务器接收所述IISWeb服务器发送的文件具体路径请求,根据所述文件具体路径查找该文件是否存在,若是,则返回该文件对应内容至客户端,若否,则返回文件不存在消息。优选的是,其中,所述数据库服务器接收所述IISWeb服务器发送的所述磁盘ID,首先在Redis缓存数据库查找是否缓存与所述磁盘ID具有映射关系的磁盘共享路径,若是,则将所述磁盘共享路径返回到IISWeb服务器,其再解析该磁盘共享路径,得到文件具体路径请求,将其发送到磁盘服务器进行文件下载操作;若在所述Redis缓存数据库中没有磁盘ID对应数据,则查询SqlServer关系数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则将所述磁盘共享路径返回到IISWeb服务器,其再解析该磁盘共享路径,得到文件具体路径请求,将其发送到磁盘服务器进行文件下载操作;若否,则向客户端发送此文件不存在消息;若在所述Redis缓存数据库和所述SqlServer关系数据库中均未查找到有与所述磁盘ID具有映射关系的磁盘共享路径,则向所述客户端发送此文件不存在消息。其中,所述下载操作支持断点下载。优选的是,其中,IISWeb服务器根据业务分为多种类型的文件服务器,其分别对应不同的域名地址,所述下载请求通过域名解析得到对应的IP,该IP映射所述域名地址,则所述下载请求被发送到对应域名地址的文件服务器;所述文件服务器对所述下载请求进行解析,判断文件服务器内存是否已存在所述下载请求的缓存,若是,则直接将下载请求对应缓存内容返回客户端;若否,则进一步解析请求路径参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到所述数据库服务器。一种文件下载系统,包括:客户端,其用于发送下载请求;CDN服务器,其用于接收所述下载请求,并判断是否缓存与所述下载请求要求的下载内容,若缓存,则将该内容返回到客户端,若没有缓存,则将所述下载请求发送到IISWeb服务器;所述IISWeb服务器接,其用于接收所述CDN服务器发送的所述下载请求,并对所述下载请求进行解析,判断所述IISWeb服务器是否已存在所述下载请求的缓存,若存在,则直接将所述下载请求对应缓存内容返回客户端;若不存在,则进一步解析所述请求路径的参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到数据库服务器;所述数据库服务器,其用于接收所述IISWeb服务器发送的所述磁盘ID,查找数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则返回所述磁盘共享路径,IISWeb服务器再解析所述磁盘共享路径,得到文件具体路径请求,并将其发送到磁盘服务器;若否,则向客户端发送此文件不存在消息;所述磁盘服务器,其用于接收所述IISWeb服务器发送的文件具体路径请求,根据所述文件具体路径查找该文件是否存在,若是,则返回该文件对应内容至客户端,若否,则返回文件不存在消息。优选的是,其中,所述数据库服务器包括有Redis缓存数据和SqlServer关系数据库;其中,所述数据库服务器接收所述IISWeb服务器发送的所述磁盘ID,首先在Redis缓存数据库查找是否缓存与所述磁盘ID具有映射关系的磁盘共享路径,若是,则将所述磁盘共享路径返回到IISWeb服务器,其再解析该磁盘共享路径,得到文件具体路径请求,将其发送到磁盘服务器进行文件下载操作;若在所述Redis缓存数据库中没有磁盘ID对应数据,则查询SqlServer关系数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则将所述磁盘共享路径返回到IISWeb服务器,其再解析该磁盘共享路径,得到文件具体路径请求,将其发送到磁盘服务器进行文件下载操作;若否,则向客户端发送此文件不存在消息;若在所述Redis缓存数据库和所述SqlServer关系数据库中均未查找到有与所述磁盘ID具有映射关系的磁盘共享路径,则向所述客户端发送此文件不存在消息;其中,所述下载操作支持断点下载。优选的是,其中,还包括:第一检测装置,其用于监控所述IISWeb服务器是否正常运行;第二检测装置,其用于监控所述数据库服务器是否正常运行;多个文件服务器,其是IISWeb服务器根据业务服务分出的文件服务器,其分别对应不同的域名地址,所述下载请求通过域名解析得到对应的IP,该IP映射所述域名地址,则所述下载请求被发送到对应域名地址的文件服务器;所述文件服务器对所述下载请求进行解析,判断文件服务器内存是否已存在所述下载请求的缓存,若是,则直接将下载请求对应缓存内容返回客户端;若否,则进一步解析请求路径参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到所述数据库服务器。一种上传文件的方法,包括:客户端发送上传请求;IISWeb服务器接收所述上传请求,所述上传请求提交上传文件相关信息,IIS服务器对相关信息解析判断是否符合约定,若否,则返回;若是,则发送查询请求到数据库服务器;所述数据库服务器接收所述IISWeb服务器发送的查询请求,如果不是预先指定,则查找所述数据库服务器中包含的可写磁盘ID集,从中随机选取一个磁盘ID对应的磁盘共享路径返回至IISWeb服务器;如果预先指定了磁盘ID,则查找所述数据库服务器是否存在与所述磁盘ID具有映射关系的磁盘共享路径,若否,则向客户端发送此文件无法上传消息,若是,则将该磁盘ID对应的共享磁盘路径返回给IISWeb服务器,IISWeb服务器得到磁盘共享路径后发送写入请本文档来自技高网...
上传和下载文件的方法及系统

【技术保护点】
一种下载文件的方法,包括:客户端发送下载请求;所述下载请求对应一请求路径;CDN服务器接收所述下载请求,并判断是否缓存与所述下载请求要求的下载内容,若缓存,则将该内容返回到客户端,若没有缓存,则将所述下载请求发送到IIS Web服务器;所述IIS Web服务器接收所述CDN服务器发送的所述下载请求,并对所述下载请求进行解析,判断所述IIS Web服务器是否已存在所述下载请求的缓存,若存在,则直接将所述下载请求对应缓存内容返回客户端;若不存在,则进一步解析所述请求路径的参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到数据库服务器;所述数据库服务器接收所述IIS Web服务器发送的所述磁盘ID,查找数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则返回所述磁盘共享路径,IIS Web服务器再解析所述磁盘共享路径,得到文件具体路径请求,并将其发送到磁盘服务器;若否,则向客户端发送此文件不存在消息;所述磁盘服务器接收所述IIS Web服务器发送的文件具体路径请求,根据所述文件具体路径查找该文件是否存在,若是,则返回该文件对应内容至客户端,若否,则返回文件不存在消息。

【技术特征摘要】
1.一种下载文件的方法,包括:客户端发送下载请求;所述下载请求对应一请求路径;CDN服务器接收所述下载请求,并判断是否缓存与所述下载请求要求的下载内容,若缓存,则将该内容返回到客户端,若没有缓存,则将所述下载请求发送到IISWeb服务器;所述IISWeb服务器接收所述CDN服务器发送的所述下载请求,并对所述下载请求进行解析,判断所述IISWeb服务器是否已存在所述下载请求的缓存,若存在,则直接将所述下载请求对应缓存内容返回客户端;若不存在,则进一步解析所述请求路径的参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到数据库服务器;所述数据库服务器接收所述IISWeb服务器发送的所述磁盘ID,查找数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则返回所述磁盘共享路径,IISWeb服务器再解析所述磁盘共享路径,得到文件具体路径请求,并将其发送到磁盘服务器;若否,则向客户端发送此文件不存在消息;所述磁盘服务器接收所述IISWeb服务器发送的文件具体路径请求,根据所述文件具体路径查找该文件是否存在,若是,则返回该文件对应内容至客户端,若否,则返回文件不存在消息;其中,IISWeb服务器根据业务分为多种类型的文件服务器,其分别对应不同的域名地址,所述下载请求通过域名解析得到对应的IP,该IP映射所述域名地址,则所述下载请求被发送到对应域名地址的文件服务器;所述文件服务器对所述下载请求进行解析,判断文件服务器内存是否已存在所述下载请求的缓存,若是,则直接将下载请求对应缓存内容返回客户端;若否,则进一步解析请求路径参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到所述数据库服务器。2.如权利要求1所述的方法,其中,所述数据库服务器接收所述IISWeb服务器发送的所述磁盘ID,首先在Redis缓存数据库查找是否缓存与所述磁盘ID具有映射关系的磁盘共享路径,若是,则将所述磁盘共享路径返回到IISWeb服务器,其再解析该磁盘共享路径,得到文件具体路径请求,将其发送到磁盘服务器进行文件下载操作;若在所述Redis缓存数据库中没有磁盘ID对应数据,则查询SqlServer关系数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则将所述磁盘共享路径返回到IISWeb服务器,其再解析该磁盘共享路径,得到文件具体路径请求,将其发送到磁盘服务器进行文件下载操作;若否,则向客户端发送此文件不存在消息;若在所述Redis缓存数据库和所述SqlServer关系数据库中均未查找到有与所述磁盘ID具有映射关系的磁盘共享路径,则向所述客户端发送此文件不存在消息;其中,所述下载操作支持断点下载。3.一种文件下载系统,包括:客户端,其用于发送下载请求;CDN服务器,其用于接收所述下载请求,并判断是否缓存与所述下载请求要求的下载内容,若缓存,则将该内容返回到客户端,若没有缓存,则将所述下载请求发送到IISWeb服务器;所述IISWeb服务器接,其用于接收所述CDN服务器发送的所述下载请求,并对所述下载请求进行解析,判断所述IISWeb服务器是否已存在所述下载请求的缓存,若存在,则直接将所述下载请求对应缓存内容返回客户端;若不存在,则进一步解析所述请求路径的参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到数据库服务器;所述数据库服务器,其用于接收所述IISWeb服务器发送的所述磁盘ID,查找数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则返回所述磁盘共享路径,IISWeb服务器再解析所述磁盘共享路径,得到文件具体路径请求,并将其发送到磁盘服务器;若否,则向客户端发送此文件不存在消息;所述磁盘服务器,其用于接收所述IISWeb服务器发送的文件具体路径请求,根据所述文件具体路径查找该文件是否存在,若是,则返回该文件对应内容至客户端,若否,则返回文件不存在消息;还包括:第一检测装置,其用于监控所述IISWeb服务器是否正常运行;第二检测装置,其用于监控所述数据库服务器是否正常运行;多个文件服务器,其是IISWeb服务器根据业务服务分出的文件服务器,其分别对应不同的域名地址,所述下载请求通过域名解析得到对应的IP,该IP映射所述域名地址,则所述下载请求被发送到对应域名地址的文件服务器;所述文件服务器对所述下载请求进行解析,判断文件服务器内存是否已存在所述下载请求的缓存,若是,则直接将下载请求对应缓存内容返回客户端;若否,则进一步解析请求路径参数值,得到文件路径中磁盘ID,并将所述磁盘ID发送到所述数据库服务器。4.如权利要求3所述的文件下载系统,其中,所述数据库服务器包括有Redis缓存数据和SqlServer关系数据库;其中,所述数据库服务器接收所述IISWeb服务器发送的所述磁盘ID,首先在Redis缓存数据库查找是否缓存与所述磁盘ID具有映射关系的磁盘共享路径,若是,则将所述磁盘共享路径返回到IISWeb服务器,其再解析该磁盘共享路径,得到文件具体路径请求,将其发送到磁盘服务器进行文件下载操作;若在所述Redis缓存数据库中没有磁盘ID对应数据,则查询SqlServer关系数据库是否包含与所述磁盘ID具有映射关系的磁盘共享路径,若是,则将所述磁盘共享路径返回到IISWeb服务器,其再解析该磁盘共享路径,得到文件具体路径请求,将其发送到磁盘服务器进行文件下载操作;若否,则向客户端发送此文件不存在消息;若在所述Redis缓存数据库...

【专利技术属性】
技术研发人员:杨爱民龙晓春
申请(专利权)人:北京金和软件股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1