云文件传输系统及方法与流程

文档序号:11930843阅读:386来源:国知局
云文件传输系统及方法与流程

本发明涉及计算机网络通信技术领域,特别涉及一种云文件传输系统及方法。



背景技术:

随着计算机网络、各类云系统的迅猛发展,企业和个人通过网络获取信息,完成生活、生产相关活动愈发频繁,所涉及数据量和交互频度也愈发巨大,对云系统、网络负载的性能要求越来越高。

目前通过计算机网络实现云文件下载的通用技术,经过逐年探索,各种网络加速方法不断涌现,但是,网络下载过程中的网络资源争用问题,仍需要不断探索更好的方法来解决。



技术实现要素:

本发明提供一种云文件传输系统及方法,以更好地解决网络下载过程中网络资源争用的问题。

本发明提供一种云文件传输系统,包括:客户端直连服务器,用于接收来自客户端的文件下载请求,并根据所述文件下载请求判断客户端直连服务器缓存中是否存在请求下载文件,若存在,将所述请求下载文件分块下载至所述客户端,若不存在,传送出所述文件下载请求;N级网络服务器,用于接收所述客户端直连服务器传送出的文件下载请求,并根据所述客户端直连服务器传送出的文件下载请求判断N级网络服务器缓存中是否存在所述请求下载文件,若第N级网络服务器缓存中存在所述请求下载文件,则建立第N级网络服务器和所述客户端直连服务器的第一传输通道,并经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端,若第N级网络服务器缓存中不存在所述请求下载文件,第N级网络服务器逐级向其上级网络服务器传送所述文件下载请求直至传送至第M级网络服务器,建立第M级网络服务器至第N级网络服务器和所述客户端直连服务器的第二传输通道,并经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端,若第N级网络服务器缓存至第1级网络服务器缓存中均不存在所述请求下载文件,第1级网络服务器传送出所述文件下载请求,其中,第M级网络服务器缓存中存在所述请求下载文件,N大于或等于M,N和M为大于或等于1的整数;云文件服务器,用于接收第1级网络服务器传送出的文件下载请求,并根据第1级网络服务器传送出的文件下载请求在云文件服务器存储器中查找所述请求下载文件,若查找到所述请求下载文件,则建立所述云文件服务器、所述N级网络服务器及所述客户端直连服务器的第三传输通道,并经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端。

一个实施例中,还包括:N级网络和客户端接入装置;第L级网络与第L级网络服务器连接,所述云文件服务器通过第1级网络与第1级网络服务器与连接,第N级网络服务器通过第N级网络与所述客户端直连服务器连接,所述客户端直连服务器通过所述客户端接入装置与所述客户端连接,L大于或等于N,L为大于或等于1的整数。

本发明还提供一种云文件传输方法,包括:客户端直连服务器接收来自客户端的文件下载请求,并根据所述文件下载请求判断客户端直连服务器缓存中是否存在请求下载文件;若存在,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端,若不存在,所述客户端直连服务器传送出所述文件下载请求;N级网络服务器接收所述客户端直连服务器传送出的文件下载请求,并根据所述客户端直连服务器传送出的文件下载请求判断N级网络服务器缓存中是否存在所述请求下载文件;若第N级网络服务器缓存中存在所述请求下载文件,则建立第N级网络服务器和所述客户端直连服务器的第一传输通道,并经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端,若第N级网络服务器缓存中不存在所述请求下载文件,第N级网络服务器逐级向其上级网络服务器传送所述文件下载请求直至传送至第M级网络服务器,建立第M级网络服务器至第N级网络服务器和所述客户端直连服务器的第二传输通道,并经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端,若第N级网络服务器缓存至第1级网络服务器缓存中均不存在所述请求下载文件,第1级网络服务器传送出所述文件下载请求,其中,第M级网络服务器缓存中存在所述请求下载文件,N大于或等于M,N和M为大于或等于1的整数;云文件服务器接收第1级网络服务器传送出的文件下载请求,并根据第1级网络服务器传送出的文件下载请求在云文件服务器存储器中查找所述请求下载文件,若查找到所述请求下载文件,则建立所述云文件服务器、所述N级网络服务器及所述客户端直连服务器的第三传输通道,并经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端。

一个实施例中,经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端的同时,还包括:第M+1级网络服务器至第N级网络服务器和所述客户端直连服务器将第M级网络服务器缓存中的所述请求下载文件的分块文件的副本及分块传输信息保存至其各自的缓存中。

一个实施例中,经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端的同时,还包括:所述N级网络服务器和所述客户端直连服务器将从所述云文件服务器分块下载的所述请求下载文件的副本及分块传输信息保存至其各自的缓存中。

一个实施例中,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端,包括:所述客户端直连服务器根据多个客户端的所述文件下载请求合并调度下载任务,将所述请求下载文件从所述客户端直连服务器分块下载至所述多个客户端。

一个实施例中,经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端,包括:第N级网络服务器根据多个客户端直连服务器传送出的所述文件下载请求合并调度下载任务,利用所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述多个客户端直连服务器;所述多个客户端直连服务器利用所述第一传输通道将从第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

一个实施例中,经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端,包括:第M级网络服务器根据多个第M+1级网络服务器的所述文件下载请求合并调度下载任务,利用所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述多个第M+1级网络服务器;所述多个第M+1级网络服务器利用所述第二传输通道将从第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

一个实施例中,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端,包括:根据设定下载起始时间,所述客户端直连服务器分时段地将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端。

一个实施例中,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端,包括:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,所述客户端直连服务器将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端,以控制云文件下载的网络带宽不超过设定网络带宽上限。

一个实施例中,经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端,包括:根据设定下载起始时间,第N级网络服务器利用所述第一传输通道分时段地将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器;所述客户端直连服务器利用所述第一传输通道将从第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

一个实施例中,经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端,包括:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,第N级网络服务器利用所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器,以控制云文件下载的网络带宽不超过设定网络带宽上限;所述客户端直连服务器利用所述第一传输通道将从所述第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

一个实施例中,经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端,包括:根据设定下载起始时间,第M级网络服务器利用所述第二传输通道分时段地将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器;第M+1级网络服务器利用所述第二传输通道将从第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

一个实施例中,经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端,包括:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,第M级网络服务器利用所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器,以控制云文件下载的网络带宽不超过设定网络带宽上限;第M+1级网络服务器利用所述第二传输通道将从所述第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

一个实施例中,经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端,包括:利用所述第三传输通道将所述请求下载文件从所述云文件服务器下载至第1级网络服务器,并判断第1级网络服务器是否首次从所述云文件服务器下载的所述请求下载文件;若是,第1级网络服务器对从所述云文件服务器下载的所述请求下载文件进行分块处理,生成分块文件,并初始化第1级网络服务器缓存中的文件传输信息表;根据初始化后的文件传输信息表,利用所述第三传输通道将所述分块文件依次经由第1级网络服务器至第N级网络服务器和所述客户直连服务器传送至所述客户端。

一个实施例中,经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端,还包括:若第1级网络服务器不是首次从所述云文件服务器下载的所述请求下载文件,根据第1级网络服务器缓存中的文件传输信息表,利用所述第三传输通道将第1级网络服务器缓存中的所述请求下载文件的分块文件传送至所述客户端。

一个实施例中,根据所述文件下载请求判断客户端直连服务器缓存中是否存在请求下载文件,包括:根据所述文件下载请求中的文件名,通过查询所述客户端直连服务器缓存中的文件传输信息表,判断所述客户端直连服务器缓存中是否存在所述请求下载文件。

一个实施例中,根据所述客户端直连服务器传送出的文件下载请求判断N级网络服务器缓存中是否存在所述请求下载文件,包括:根据所述客户端直连服务器传送出的文件下载请求中的文件名,查询第N级网络服务器缓存中的文件传输信息表,判断第N级网络服务器缓存中是否存在所述请求下载文件,若第N级网络服务器缓存中不存在所述请求下载文件,逐级查询第N级网络服务器的上级网络服务器缓存中的文件传输信息表,直到查询到存储有所述请求下载文件的网络服务器缓存或直到查询到第1级网络服务器缓存,以判断第N-1级网络服务器缓存至第1级网络服务器缓存中是否存在所述请求下载文件。

一个实施例中,所述文件传输信息表包括:云文件名称、创建时间、云文件总大小、分块文件编号及分块文件状态。

本发明还提供一种云文件传输系统,包括:客户端直连服务器判断单元,用于执行:客户端直连服务器接收来自客户端的文件下载请求,并根据所述文件下载请求判断客户端直连服务器缓存中是否存在请求下载文件;客户端直连服务器下载单元,用于执行:若存在,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端,若不存在,所述客户端直连服务器传送出所述文件下载请求;N级网络服务器判断单元,用于执行:N级网络服务器接收所述客户端直连服务器传送出的文件下载请求,并根据所述客户端直连服务器传送出的文件下载请求判断N级网络服务器缓存中是否存在所述请求下载文件;N级网络服务器下载单元,用于执行:若第N级网络服务器缓存中存在所述请求下载文件,则建立第N级网络服务器和所述客户端直连服务器的第一传输通道,并经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端,若第N级网络服务器缓存中不存在所述请求下载文件,第N级网络服务器逐级向其上级网络服务器传送所述文件下载请求直至传送至第M级网络服务器,建立第M级网络服务器至第N级网络服务器和所述客户端直连服务器的第二传输通道,并经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端,若第N级网络服务器缓存至第1级网络服务器缓存中均不存在所述请求下载文件,第1级网络服务器传送出所述文件下载请求,其中,第M级网络服务器缓存中存在所述请求下载文件,N大于或等于M,N和M为大于或等于1的整数;云文件服务器下载单元,用于执行:云文件服务器接收第1级网络服务器传送出的文件下载请求,并根据第1级网络服务器传送出的文件下载请求在云文件服务器存储器中查找所述请求下载文件,若查找到所述请求下载文件,则建立所述云文件服务器、所述N级网络服务器及所述客户端直连服务器的第三传输通道,并经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端。

一个实施例中,所述N级网络服务器下载单元,还包括:第一下载文件缓存模块,用于执行:第M+1级网络服务器至第N级网络服务器和所述客户端直连服务器将第M级网络服务器缓存中的所述请求下载文件的分块文件的副本及分块传输信息保存至其各自的缓存中。

一个实施例中,所述云文件服务器下载单元,还包括:第二下载文件缓存模块,用于执行:所述N级网络服务器和所述客户端直连服务器将从所述云文件服务器分块下载的所述请求下载文件的副本及分块传输信息保存至其各自的缓存中。

一个实施例中,所述客户端直连服务器下载单元,包括:客户端直连服务器合并调度模块,用于执行:所述客户端直连服务器根据多个客户端的所述文件下载请求合并调度下载任务,将所述请求下载文件从所述客户端直连服务器分块下载至所述多个客户端。

一个实施例中,所述N级网络服务器下载单元,包括:第一网络服务器合并调度模块,用于执行:第N级网络服务器根据多个客户端直连服务器传送出的所述文件下载请求合并调度下载任务,利用所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述多个客户端直连服务器;第一下载文件传送模块,用于执行:所述多个客户端直连服务器利用所述第一传输通道将从第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

一个实施例中,所述N级网络服务器下载单元,包括:第二网络服务器合并调度模块,用于执行:第M级网络服务器根据多个第M+1级网络服务器的所述文件下载请求合并调度下载任务,利用所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述多个第M+1级网络服务器;第二下载文件传送模块,用于执行:所述多个第M+1级网络服务器利用所述第二传输通道将从第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

一个实施例中,所述客户端直连服务器下载单元,包括:第一限时下载模块,用于执行:根据设定下载起始时间,所述客户端直连服务器分时段地将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端。

一个实施例中,所述客户端直连服务器下载单元,包括:第一限速下载模块,用于执行:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,所述客户端直连服务器将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端,以控制云文件下载的网络带宽不超过设定网络带宽上限。

一个实施例中,所述N级网络服务器下载单元,包括:第二限时下载模块,用于执行:根据设定下载起始时间,第N级网络服务器利用所述第一传输通道分时段地将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器;第三下载文件传送模块,用于执行:所述客户端直连服务器利用所述第一传输通道将从第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

一个实施例中,所述N级网络服务器下载单元,包括:第二限速下载模块,用于执行:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,第N级网络服务器利用所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器,以控制云文件下载的网络带宽不超过设定网络带宽上限;第四下载文件传送模块,用于执行:所述客户端直连服务器利用所述第一传输通道将从所述第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

一个实施例中,所述N级网络服务器下载单元,包括:第三限时下载模块,用于执行:根据设定下载起始时间,第M级网络服务器利用所述第二传输通道分时段地将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器;第五下载文件传送模块,用于执行:第M+1级网络服务器利用所述第二传输通道将从第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

一个实施例中,所述N级网络服务器下载单元,包括:第三限速下载模块,用于执行:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,第M级网络服务器利用所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器,以控制云文件下载的网络带宽不超过设定网络带宽上限;第六下载文件传送模块,用于执行:第M+1级网络服务器利用所述第二传输通道将从所述第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

一个实施例中,所述云文件服务器下载单元,包括:首次下载判断模块,用于执行:利用所述第三传输通道将所述请求下载文件从所述云文件服务器下载至第1级网络服务器,并判断第1级网络服务器是否首次从所述云文件服务器下载的所述请求下载文件;首次下载初始化模块,用于执行:若是,第1级网络服务器对从所述云文件服务器下载的所述请求下载文件进行分块处理,生成分块文件,并初始化第1级网络服务器缓存中的文件传输信息表;首次下载传输模块,用于执行:根据初始化后的文件传输信息表,利用所述第三传输通道将所述分块文件依次经由第1级网络服务器至第N级网络服务器和所述客户直连服务器传送至所述客户端。

一个实施例中,所述云文件服务器下载单元,还包括:重复下载传输模块,用于执行:若第1级网络服务器不是首次从所述云文件服务器下载的所述请求下载文件,根据第1级网络服务器缓存中的文件传输信息表,利用所述第三传输通道将第1级网络服务器缓存中的所述请求下载文件的分块文件传送至所述客户端。

一个实施例中,所述客户端直连服务器判断单元,包括:客户端直连服务器判断模块,用于执行:根据所述文件下载请求中的文件名,通过查询所述客户端直连服务器缓存中的文件传输信息表,判断所述客户端直连服务器缓存中是否存在所述请求下载文件。

一个实施例中,所述N级网络服务器判断单元,包括:N级网络服务器判断模块,用于执行:根据所述客户端直连服务器传送出的文件下载请求中的文件名,查询第N级网络服务器缓存中的文件传输信息表,判断第N级网络服务器缓存中是否存在所述请求下载文件,若第N级网络服务器缓存中不存在所述请求下载文件,逐级查询第N级网络服务器的上级网络服务器缓存中的文件传输信息表,直到查询到存储有所述请求下载文件的网络服务器缓存或直到查询到第1级网络服务器缓存,以判断第N-1级网络服务器缓存至第1级网络服务器缓存中是否存在所述请求下载文件。

一个实施例中,还包括:文件传输信息表生成模块,用于执行:所述文件传输信息表包括:云文件名称、创建时间、云文件总大小、分块文件编号及分块文件状态。

本发明实施例的云文件传输系统及方法,通过从云文件服务器、各级网络服务器或客户端直连服务器分块下载云文件,能够实现对云文件分块管理。通过从各级网络服务器或客户端直连服务器的缓存中下载云文件,能够实现下载链路分级缓存。通过云文件分块管理和下载链路分级缓存能够实现云文件下载过程的有效控制,快速响应客户下载请求,避免网络堵塞,提高网络资源使用效率。进一步,通过将请求下载文件的分块文件的副本及分块传输信息保存至客户端直连服务器、各级网络服务器中,能够更好地实现下载链路分级缓存,进一步快速响应客户下载请求。通过使保存有请求下载文件的服务器对其下级服务器合并调度下载任务,可以进一步提高网络资源使用效率。通过限时、限速下载请求下载文件,能够避免网络堵塞,充分利用网络资源,进一步提高网络资源使用效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本发明一实施例的云文件传输系统的结构示意图;

图2是本发明实施例的云文件传输方法的流程示意图;

图3是本发明一实施例中从第N级网络服务器分块下载云文件的方法流程示意图;

图4是本发明一实施例中从第M级网络服务器分块下载云文件的方法流程示意图;

图5是本发明另一实施例中从第N级网络服务器分块下载云文件的方法流程示意图;

图6是本发明又一实施例中从第N级网络服务器分块下载云文件的方法流程示意图;

图7是本发明另一实施例中从第M级网络服务器分块下载云文件的方法流程示意图;

图8是本发明又一实施例中从第M级网络服务器分块下载云文件的方法流程示意图;

图9是本发明一实施例中从所述云文件服务器分块下载云文件的方法流程示意图;

图10是本发明另一实施例中从所述云文件服务器分块下载云文件的方法流程示意图;

图11是本发明另一实施例的云文件传输方法的流程示意图;

图12是本发明实施例的云文件传输系统的结构示意图;

图13是本发明一实施例中N级网络服务器下载单元的结构示意图;

图14是本发明另一实施例中N级网络服务器下载单元的结构示意图;

图15是本发明另一实施例的N级网络服务器下载单元的结构示意图;

图16是本发明另一实施例中N级网络服务器下载单元的结构示意图;

图17是本发明另一实施例中N级网络服务器下载单元的结构示意图;

图18是本发明另一实施例中N级网络服务器下载单元的结构示意图;

图19是本发明一实施例中云文件服务器下载单元的结构示意图;

图20是本发明另一实施例中云文件服务器下载单元的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

图1是本发明一实施例的云文件传输系统的结构示意图。如图1所示,本发明实施例的云文件传输系统,可包括:客户端直连服务器104、N级网络服务器103及云文件服务器101。云文件服务器101与第1级网络服务器103连接,客户端直连服务器104与第N级网络服务器103连接。

客户端直连服务器104用于接收来自客户端106的文件下载请求,并根据所述文件下载请求判断客户端直连服务器缓存1041中是否存在请求下载文件,若存在,将所述请求下载文件分块下载至所述客户端106,若不存在,传送出所述文件下载请求。

N级网络服务器103用于接收所述客户端直连服务器104传送出的文件下载请求,并根据所述客户端直连服务器104传送出的文件下载请求判断N级网络服务器缓存1031中是否存在所述请求下载文件,若第N级网络服务器缓存103中存在所述请求下载文件,则建立第N级网络服务器103和所述客户端直连服务器104的第一传输通道,并经由所述第一传输通道将所述请求下载文件从第N级网络服务器103分块下载至所述客户端106,若第N级网络服务器缓存1031中不存在所述请求下载文件,第N级网络服务器103逐级向其上级网络服务器传送所述文件下载请求直至传送至第M级网络服务器103,建立第M级网络服务器103至第N级网络服务器103和所述客户端直连服务器104的第二传输通道,并经由所述第二传输通道将所述请求下载文件从第M级网络服务器103分块下载至所述客户端106,若第N级网络服务器缓存1031至第1级网络服务器缓存1031中均不存在所述请求下载文件,第1级网络服务器103传送出所述文件下载请求,其中,第M级网络服务器缓存1031中存在所述请求下载文件,N大于或等于M,N和M为大于或等于1的整数。

云文件服务器101用于接收第1级网络服务器103传送出的文件下载请求,并根据第1级网络服务器103传送出的文件下载请求在云文件服务器存储器1011中查找所述请求下载文件,若查找到所述请求下载文件,则建立所述云文件服务器101、所述N级网络服务器103及所述客户端直连服务器104的第三传输通道,并经由所述第三传输通道将所述请求下载文件从所述云文件服务器101分块下载至所述客户端106。

该文件下载请求中可以包含请求下载文件的信息,例如文件名称。N级网络服务器103是指一级或多级网络服务器103,其中,N为大于或等于1的整数,在后续不同实施例中,本领域技术人员知道根据具体情况调整N的最小可能数值,即N级网络服务器的最小个数可以是2个、3个等等,具体视需要而定。N级网络服务器具体可包括:第1级网络服务器、第2级网络服务器、第3级网络服务器、……、第N级网络服务器,该各级网络服务器顺序连接。第1级网络服务器与云文件服务器101连接,第N级网络服务器与客户端直连服务器104连接,第1级网络服务器是第2级网络服务器的上级网络服务器,第2级网络服务器是第3级网络服务器的上级网络服务器,以此类推,第N-1级网络服务器是第N级网络服务器的上级网络服务器。反言之,第N级网络服务器是第N-1级网络服务器的下级网络服务器,第N-1级网络服务器是第N-2级网络服务器的下级网络服务器,以此类推,第2级网络服务器是第1级网络服务器的下级网络服务器。第1级网络服务器的各下级网络服务器包括第2级网络服务器至第N级网络服务器,第2级网络服务器的各下级网络服务器包括第3级网络服务器至第N级网络服务器,以此类推。

云文件服务器101用于存储各类云文件,可供客户端及各级网络服务器下载使用,具体地,云文件可存储在云文件服务器存储器1011中。云文件可存储在一级或多级的网络服务器103的网络服务器1031中。云文件可存储在客户端直连服务器104的客户端直连服务器缓存1041中。

本发明实施例的云文件传输系统,通过从云文件服务器、各级网络服务器或客户端直连服务器分块下载云文件,能够实现对云文件分块管理。通过从各级网络服务器或客户端直连服务器的缓存中下载云文件,能够实现下载链路分级缓存。通过云文件分块管理和下载链路分级缓存能够实现云文件下载过程的有效控制,快速响应客户下载请求,避免网络堵塞,提高网络资源使用效率。

再如图1所示,一些实施例中,上述云文件传输系统还可包括:N级网络102和客户端接入装置105。第L级网络102与第L级网络服务器103连接,所述云文件服务器101通过第1级网络102与第1级网络服务器103与连接,第N级网络服务器103通过第N级网络102与所述客户端直连服务器104连接,所述客户端直连服务器104通过所述客户端接入装置105与所述客户端106连接,L大于或等于N,L为大于或等于1的整数。

N级网络102是指一级或多级网络,具体包括第1级网络、第2级网络、……、第N级网络。第L级网络102可指N级网络102中的任意一级网络,第L级网络服务器103可指N级网络服务器103中的任意一级网络服务器。第L级网络102可为第L级网络服务器103提供网络服务,第1级网络102与第1级网络服务器103连接、第2级网络102与第2级网络服务器103连接,以此类推,第N级网络102与第N级网络服务器103连接。客户端接入装置105可以与客户端106装置连接,该文件下载请求可以通过客户端106装置由用户输入。

一些实施例中,云文件传输系统可包括云文件服务器101、第1级网络1021、第1级网络服务器103、……、第N级网络1022及第N级网络服务器103(N>1,例如,N级可以2级、2和3级、2~4级……,等等)、客户端直连服务器104、客户端接入装置105、客户端106装置、各级网络服务器缓存1041以及可包括部署在云文件服务器101、第1级网络服务器103、……、第N级网络服务器103和客户端直连服务器104上的云文件传输控制模块。云文件服务器101通过第1级网络1021与第1级网络服务器103连接,N级网络服务器103逐级连接,第N级网络1022及第N级网络服务器103连接,该连接延伸至客户端直连服务器104,客户端直连服务器104通过客户端接入装置105与客户端106装置相连。

云文件服务器101可用于存储各类云文件,供客户端及各级网络服务器下载使用。第1级网络1021可直连云文件服务器101,作为骨干网提供高速网络服务。第1级网络服务器103,作为云文件下载路径中首个网络服务器,可提供云文件分块、缓存和下载任务调度等服务。N级网络102及N级网络服务器103,其中,N级网络102可用于连接各级网络服务器,提供网络服务。N级网络服务器103作为云文件下载路径中各级网络服务器,可提供文件分块、缓存和下载任务调度等服务。客户端直连服务器104,可直接与客户接入装置105连接,可提供文件分块、缓存和下载任务调度等服务。客户端接入装置105与客户端106装置相连,可提供客户端接入网络服务。客户端106装置,可用于接收客户云文件下载请求,可向客户展示请求结果。各级网络服务器缓存1031,可用于存储云文件分块,及文件传输信息表、其它下载过程控制信息。

一些实施例中,云文件传输系统可在云文件服务器设置系统控制台,提供设置文件下载时限、文件分块大小、文件下载服务网络带宽占比、各级缓存文件清理周期等系统控制参数,提升本系统及方法的适用性。

基于与上述云文件传输系统相同的发明构思,本发明还提供一种云文件传输方法。该云文件传输方法可以基于上述云文件传输系统实现。

图2是本发明实施例的云文件传输方法的流程示意图。如图2所示,本发明实施例的云文件传输方法,可包括步骤:

S210:客户端直连服务器接收来自客户端的文件下载请求,并根据所述文件下载请求判断客户端直连服务器缓存中是否存在请求下载文件;

S220:若存在,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端,若不存在,所述客户端直连服务器传送出所述文件下载请求;

S230:N级网络服务器接收所述客户端直连服务器传送出的文件下载请求,并根据所述客户端直连服务器传送出的文件下载请求判断N级网络服务器缓存中是否存在所述请求下载文件;

S240:若第N级网络服务器缓存中存在所述请求下载文件,则建立第N级网络服务器和所述客户端直连服务器的第一传输通道,并经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端,若第N级网络服务器缓存中不存在所述请求下载文件,第N级网络服务器逐级向其上级网络服务器传送所述文件下载请求直至传送至第M级网络服务器,建立第M级网络服务器至第N级网络服务器和所述客户端直连服务器的第二传输通道,并经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端,若第N级网络服务器缓存至第1级网络服务器缓存中均不存在所述请求下载文件,第1级网络服务器传送出所述文件下载请求,其中,第M级网络服务器缓存中存在所述请求下载文件,N大于或等于M,N和M为大于或等于1的整数;

S250:云文件服务器接收第1级网络服务器传送出的文件下载请求,并根据第1级网络服务器传送出的文件下载请求在云文件服务器存储器中查找所述请求下载文件,若查找到所述请求下载文件,则建立所述云文件服务器、所述N级网络服务器及所述客户端直连服务器的第三传输通道,并经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端。

N级网络服务器可指一级或多级网络服务器,具体包括:第1级网络服务器、第2级网络服务器、第3级网络服务器、……、第N级网络服务器,该各级网络服务器顺序连接。第1级网络服务器是第2级网络服务器的上级网络服务器,第2级网络服务器是第3级网络服务器的上级网络服务器,以此类推,第N-1级网络服务器是第N级网络服务器的上级网络服务器。反言之,第N级网络服务器是第N-1级网络服务器的下级网络服务器,第N-1级网络服务器是第N-2级网络服务器的下级网络服务器,以此类推,第2级网络服务器是第1级网络服务器的下级网络服务器。第1级网络服务器的各下级网络服务器包括第2级网络服务器至第N级网络服务器,第2级网络服务器的各下级网络服务器包括第3级网络服务器至第N级网络服务器,以此类推。

本发明实施例的云文件传输方法,通过从云文件服务器、各级网络服务器或客户端直连服务器分块下载云文件,能够实现对云文件分块管理。通过从各级网络服务器或客户端直连服务器的缓存中下载云文件,能够实现下载链路分级缓存。通过云文件分块管理和下载链路分级缓存能够实现云文件下载过程的有效控制,快速响应客户下载请求,避免网络堵塞,提高网络资源使用效率。

一些实施例中,在上述步骤S240中,经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端的同时,还可包括:第M+1级网络服务器至第N级网络服务器和所述客户端直连服务器将第M级网络服务器缓存中的所述请求下载文件的分块文件的副本及分块传输信息保存至其各自的缓存中。

所述请求下载文件的分块传输信息可以包括下载文件及其分块文件的各种信息,例如云文件名称、创建时间和总大小,记录各分块编号、分块大小和状态,以及其他统计相关数据。

本实施例中,通过将从第M级网络服务器下载的请求下载文件的分块文件的副本和请求下载文件的分块文件的分块传输信息保存在各下级网络服务器和客户直连服务器的缓存中,能够在下次需要下载该文件时,直接从各下级网络服务器缓存下载,不用每次都从云文件服务器下载该文件,更好地实现了下载链路分级缓存,能够进一步快速响应客户下载请求。

一些实施例中,在上述步骤S240中,经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端的同时,还可包括:所述N级网络服务器和所述客户端直连服务器将从所述云文件服务器分块下载的所述请求下载文件的副本及分块传输信息保存至其各自的缓存中。

分块下载的所述请求下载文件可以是该请求下载文件的分块文件。所述请求下载文件的分块传输信息可以包括下载文件及其分块文件的各种信息,例如云文件名称、创建时间和总大小,记录各分块编号、分块大小和状态,以及其他统计相关数据。

本实施例中,通过将从云网络服务器分块下载的所述请求下载文件的副本和分块下载的所述请求下载文件的分块传输信息保存在各下级网络服务器和客户直连服务器的缓存中,能够在下次需要下载该文件时,直接从各下级网络服务器缓存下载,不用每次都从云文件服务器下载该文件,更好地实现了下载链路分级缓存,能够进一步快速响应客户下载请求。

一些实施例中,根据设定时间或视情况,可以对各级网络服务器缓存和客户直连服务器缓存中的一个或多个缓存进行清理。以此可以为上述缓存预留更多的缓存空间,可以用于缓存近期下载频率高的云文件,能够提高各级缓存的实际利用率,进一步客户下载请求响应速度。

一些实施例中,在上述步骤S220中,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端的方法,可包括步骤:所述客户端直连服务器根据多个客户端的所述文件下载请求合并调度下载任务,将所述请求下载文件从所述客户端直连服务器分块下载至所述多个客户端。

本实施例中,通过所述客户端直连服务器根据多个客户端的所述文件下载请求合并调度下载任务,可以利用客户端直连服务器对多个客户端的下载请求进行合并调度管理,可以实现对下载文件及文件块的版本和状态管理,例如可以对下载请求队列进行管理,可以对下载请求进行合并提交管理,对于同样的下载请求可以合并执行下载任务,从而可以利用客户端直连服务器提高网络资源使用效率。

图3是本发明一实施例中从第N级网络服务器分块下载云文件的方法流程示意图。如图3所示,在上述步骤S240中,经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端的方法,可包括步骤:

S2411:第N级网络服务器根据多个客户端直连服务器传送出的所述文件下载请求合并调度下载任务,利用所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述多个客户端直连服务器;

S2412:所述多个客户端直连服务器利用所述第一传输通道将从第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

每个客户端直连服务器可以传送出的一个所述文件下载请求,多个客户端直连服务器可以传送出的多个所述文件下载请求。对于同样的文件下载请求,第N级网络服务器可以合并调度下载任务,可以对下载文件及文件块的版本和状态管理,例如可以对下载请求队列进行管理,可以对下载请求进行合并提交管理。

本实施例中,通过第N级网络服务器根据多个客户端直连服务器传送出的所述文件下载请求合并调度下载任务,可以利用第N级网络服务器对来自客户端直连服务器的多个下载请求进行合并调度管理,可以实现对下载文件及文件块的版本和状态管理,例如可以对下载请求队列进行管理,可以对下载请求进行合并提交管理,对于同样的下载请求可以合并执行下载任务,从而可以利用第N级网络服务器提高网络资源使用效率。

图4是本发明一实施例中从第M级网络服务器分块下载云文件的方法流程示意图。如图4所示,在上述步骤S240中,经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端的方法,可包括步骤:

S2421:第M级网络服务器根据多个第M+1级网络服务器的所述文件下载请求合并调度下载任务,利用所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述多个第M+1级网络服务器;

S2422:所述多个第M+1级网络服务器利用所述第二传输通道将从第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

每个第M+1级网络服务器可以传送出的一个所述文件下载请求,多个第M+1级网络服务器可以传送出的多个所述文件下载请求。对于同样的文件下载请求,第M级网络服务器可以合并调度下载任务,可以对下载文件及文件块的版本和状态管理,例如可以对下载请求队列进行管理,可以对下载请求进行合并提交管理。

分块下载至所述多个第M+1级网络服务器的请求下载文件可以依次下载至其各下级网络服务器,即依次下载至第M+2级网络服务器、第M+3级网络服务器、……、第N级网络服务器、客户直连服务器,最终下载至客户端。

本实施例中,通过第M级网络服务器根据多个第M+1级网络服务器传送出的所述文件下载请求合并调度下载任务,可以利用第M级网络服务器对来自第M+1级网络服务器的多个下载请求进行合并调度管理,可以实现对下载文件及文件块的版本和状态管理,例如可以对下载请求队列进行管理,可以对下载请求进行合并提交管理,对于同样的下载请求可以合并执行下载任务,从而可以利用第M级网络服务器提高网络资源使用效率。

各实施例中,合并调度可主要包括如下情况,1)查询本地服务器已下载文件列表后,发现已有当前文件下载请求所述文件,该请求不必再向该本地服务器的上一级网络服务器发送,可直接使用当前网络服务器(本地服务器)已有下载文件作为下载源;2)查询本地服务器已下载文件列表后,没有发现当前文件下载请求所述文件,需向该本地服务器的上一级网络服务器发送下载请求,若沿途各级网络服务器都没有当前文件下载请求所述文件,该请求将由云文件服务器接收并响应。该本地服务器例如可以是上述客户端直连服务器、上述第N级网络服务器、上述第M级网络服务器等服务器。

一些实施例中,在上述步骤S220中,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端的方法,可包括:根据设定下载起始时间,所述客户端直连服务器分时段地将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端。

分时段可指,该云文件传输系统及装置可设置服务时间,依据服务时间向客户端提供下载服务,以便更有效的控制网络资源争用。例如,近期在主干网带宽使用中,更为重要的生产运行类需求明显增高,使用时段为工作日9:00——17:00,根据这一情况,可将云文件传输系统及装置的服务时间设置为17:01——次日8:00。

本实施例中,通过根据设定下载起始时间分时段地将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端,可根据网络资源使用情况,通过设定下载服务的开始和截至时间使客户端直连服务器分时段提供下载服务,管理客户端直连服务器对外提供下载服务的时限,能够在保证在时限内完成下载任务的同时,尽可能选择网络资源不太紧张的时段下载云文件,从而能够避免网络堵塞,充分利用网络资源,提高网络资源使用效率。

一些实施例中,在上述步骤S220中,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端的方法,可包括:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,所述客户端直连服务器将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端,以控制云文件下载的网络带宽不超过设定网络带宽上限。

本实施例中,通过根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端,能够控制云文件下载及其他服务的网络带宽使用上限,避免网络堵塞。

图5是本发明另一实施例中从第N级网络服务器分块下载云文件的方法流程示意图。如图5所示,在上述步骤S240中,经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端的方法,可包括步骤:

S2431:根据设定下载起始时间,第N级网络服务器利用所述第一传输通道分时段地将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器;

S2432:所述客户端直连服务器利用所述第一传输通道将从第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

本实施例中,通过根据设定下载起始时间分时段地将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器,可根据网络资源使用情况,通过设定下载服务的开始和截至时间使第N级网络服务器分时段提供下载服务,管理第N级网络服务器对外提供下载服务的时限,能够在保证在时限内完成下载任务的同时,尽可能选择网络资源不太紧张的时段下载云文件,从而能够避免网络堵塞,充分利用网络资源,提高网络资源使用效率。

图6是本发明又一实施例中从第N级网络服务器分块下载云文件的方法流程示意图。如图6所示,在上述步骤S240中,经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端的方法,可包括步骤:

S2441:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,第N级网络服务器利用所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器,以控制云文件下载的网络带宽不超过设定网络带宽上限;

S2442:所述客户端直连服务器利用所述第一传输通道将从所述第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

本发明各实施例所述网络可以是云文件传输系统的专用网络,也可以是公用网络。若为专用网络,该网络通讯服务可以是文件下载,资源请求类型也可以是文件下载,直接按照请求时间先后确定优先次序,当带宽已全部占用时,后续请求暂时挂起,待前序任务完成后在按顺序启动下载。若为公用网络,该网络通讯服务中包含各类资源请求,可按照一定规则设定网络请求响应的优先顺序及各类资源请求的带宽占比,以此可避免低优先级请求过多影响高优先级请求。例如,当公用网络中包括特权类应用、正常联机类应用、批处理或者异步调用类应用、大文件传输类应用时,可建议按照“特权类应用>正常联机类应用>批处理或者异步调用类应用>大文件传输类应用”的顺序设定优先次序,并根据实际情况设定各类应用的网络带宽占比上限,例如:特权类应用(30%)、正常联机类应用(20%)、批处理或者异步调用类应用(20%)、大文件传输类应用(15%),预留15%应急,以此可更好地调控公用网络的资源争用。

本实施例中,通过根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器,再将请求下载文件传送至所述客户端,能够控制云文件下载及其他服务的网络带宽使用上限,避免网络堵塞。

图7是本发明另一实施例中从第M级网络服务器分块下载云文件的方法流程示意图。如图7所示,在上述步骤S240中,经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端的方法,可包括步骤:

S2451:根据设定下载起始时间,第M级网络服务器利用所述第二传输通道分时段地将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器;

S2452:第M+1级网络服务器利用所述第二传输通道将从第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

本实施例中,通过根据设定下载起始时间分时段地将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器,可根据网络资源使用情况,通过设定下载服务的开始和截至时间使第M级网络服务器分时段提供下载服务,管理第M级网络服务器对外提供下载服务的时限,能够在保证在时限内完成下载任务的同时,尽可能选择网络资源不太紧张的时段下载云文件,从而能够避免网络堵塞,充分利用网络资源,提高网络资源使用效率。

图8是本发明又一实施例中从第M级网络服务器分块下载云文件的方法流程示意图。如图8所示,在上述步骤S240中,经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端的方法,可包括步骤:

S2461:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,第M级网络服务器利用所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器,以控制云文件下载的网络带宽不超过设定网络带宽上限;

S2462:第M+1级网络服务器利用所述第二传输通道将从所述第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

本实施例中,通过根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器,再依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器将请求下载文件传送至所述客户端,能够控制云文件下载及其他服务的网络带宽使用上限,避免网络堵塞。

图9是本发明一实施例中从所述云文件服务器分块下载云文件的方法流程示意图。如图9所示,在上述步骤S250中,经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端的方法,可包括步骤:

S251:利用所述第三传输通道将所述请求下载文件从所述云文件服务器下载至第1级网络服务器,并判断第1级网络服务器是否首次从所述云文件服务器下载的所述请求下载文件;

S252:若是,第1级网络服务器对从所述云文件服务器下载的所述请求下载文件进行分块处理,生成分块文件,并初始化第1级网络服务器缓存中的文件传输信息表;

S253:根据初始化后的文件传输信息表,利用所述第三传输通道将所述分块文件依次经由第1级网络服务器至第N级网络服务器和所述客户直连服务器传送至所述客户端。

利用所述第三传输通道将所述请求下载文件从所述云文件服务器下载至第1级网络服务器时,云文件服务器接收到下载请求后,可读取下载文件信息,分析文件结构,初始化文件传输信息表。

本实施例中,在每个第1级网络服务器向云文件服务器申请下载时,若为首次下载,将对下载文件进行分块处理,例如可按照预设大小完成分块处理,初始化文件传输信息表,生成分块文件。分块文件名可按照“云文件名称+分块编号”构成。

图10是本发明另一实施例中从所述云文件服务器分块下载云文件的方法流程示意图。如图10所示,在上述步骤S250中,图9所示的经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端的方法,还可包括步骤:

S254:若第1级网络服务器不是首次从所述云文件服务器下载的所述请求下载文件,根据第1级网络服务器缓存中的文件传输信息表,利用所述第三传输通道将第1级网络服务器缓存中的所述请求下载文件的分块文件传送至所述客户端。

本实施例中,若非首次下载,则为重复下载,可直接使用已存在的文件传输信息表及分块文件。当第1级网络服务器不是首次从所述云文件服务器下载的所述请求下载文件时,第1级网络服务器缓存中可存储有前次下载的该请求下载文件的分块文件和相应的文件传输信息表,直接使用已存在的文件传输信息表及分块文件执行下载任务,可以避免重复从云文件服务器中下载同样的请求下载文件,以此可以节约网络资源,减小网络堵塞的发生几率。

一些实施例中,若变更了分块大小(例如某级网络服务器中的请求下载文件的分块文件),可对下载文件(例如重新从云文件服务器下载的请求下载文件,或各级网络服务器缓存的请求下载文件)按照预设大小完成分块处理,更新文件传输信息表,生成分块文件,分块文件名可按照“云文件名称+分块编号”构成。

一些实施例中,在上述步骤S210中,根据所述文件下载请求判断客户端直连服务器缓存中是否存在请求下载文件的方法,可包括步骤:根据所述文件下载请求中的文件名,通过查询所述客户端直连服务器缓存中的文件传输信息表,判断所述客户端直连服务器缓存中是否存在所述请求下载文件。

该文件传输信息表中可存储有云文件名称,通过比对所述文件下载请求中的文件名和该文件传输信息表中的云文件名称是否一致,来判断客户端直连服务器缓存中是否存在请求下载文件。

一些实施例中,在上述步骤S230中,根据所述客户端直连服务器传送出的文件下载请求判断N级网络服务器缓存中是否存在所述请求下载文件的方法,可包括:根据所述客户端直连服务器传送出的文件下载请求中的文件名,查询第N级网络服务器缓存中的文件传输信息表,判断第N级网络服务器缓存中是否存在所述请求下载文件,若第N级网络服务器缓存中不存在所述请求下载文件,逐级查询第N级网络服务器的上级网络服务器缓存中的文件传输信息表,直到查询到存储有所述请求下载文件的网络服务器缓存或直到查询到第1级网络服务器缓存,以判断第N-1级网络服务器缓存至第1级网络服务器缓存中是否存在所述请求下载文件。

本实施例中,通过逐级向N级网络服务器的各级网络服务器提交下载文件申请,当查询到某一级网络服务器的缓存中存在请求下载文件时,可以从该级网络服务器分块下载该请求下载文件。当查询完N级网络服务器中所有的网络服务器均不存在该请求下载文件时,可以向云文件服务器提交下载申请。

上述各实施例中,所述文件传输信息表可包括:云文件名称、创建时间、云文件总大小、分块文件编号及分块文件状态。

本实施例中,文件传输信息表可包括云文件名称、创建时间、总大小、分块编号、分块大小、状态、其他数据等字段,文件传输信息表可部署在各级网络服务器上,可用于记载文件传输过程中的信息,可用于记录云文件名称、创建时间和总大小,记录各分块编号、分块大小和状态,以及其他统计相关数据。

上述各实施例中,客户直连服务器和N级网络服务器的各级网络服务器中的任意一个服务器,在判断其中存在请求下载文件时,可以根据系统下载功能的限时限速设置,对下级节点提供下载服务,可以向其下级服务器或装置反馈请求应答信息。例如,客户直连服务器存在请求下载文件时,可以向客户端反馈请求应答信息;第M级网络服务器存在请求下载文件时,可以向第M+1级网络服务器反馈请求应答信息。反馈的请求应答信息可以包括文件分块信息、限时限速信息等。

一个实施例中,客户端装置接收客户端直连服务器、各级网络服务器或云文件服务器的反馈后,例如接收到分块下载的请求下载文件后,并合并文件分块,还原客户请求的下载文件。

一些实施例中,可借助现有断点续传、网络带宽分级管理等技术,进一步实现云文件下载过程更有效地控制。

一个实施例中,客户直连服务器、N级网络服务器、云文件服务器中的一个或多个服务器可以部署有云文件传输控制模块,不同服务器中的云文件传输控制模块可有所不同,云文件传输控制模块可进行文件分块管理、下载任务合并调度、下载链路分级缓存、限时限速等一种或多种处理。通过云文件传输控制模块可实现云文件下载过程的有效控制。

云文件传输控制模块可包括文件分块单元、分级缓存单元、合并调度单元及限时限速单元中的一个或多个。文件分块单元可用于将下载文件按照预设大小完成分块处理,并统一为文件块进行标号。分级缓存单元可用于下载文件及文件块在各级网络服务器中的存储管理,存储管理包括正常的文件读写操作,支持读写过程断点续传及定期清理等功能。合并调度单元可用于客户下载请求的合并调度管理,同时包括下载请求队列管理、合并提交管理、对下载文件及文件块的版本和状态管理。限时限速单元可用于管理对外提供下载服务的时限及下载速度,根据网络资源使用情况,可通过设定下载服务的开始和截至时间分时段提供下载服务;同时可通过设定网络通讯服务队列中各种资源请求的优先次序及分配的网络带宽占比,控制云文件下载及其他服务的网络带宽使用上限。

图11是本发明另一实施例的云文件传输方法的流程示意图。如图11所示,本发明实施例的云文件传输方法,可包括步骤:

S501:客户请求接收。客户端装置接收客户提出的文件下载请求,通过客户端接入装置6将文件下载请求传给客户端直连服务器;

S502:直连服务器接收请求。客户端直连服务器接收步骤S501发来的文件下载请求,根据请求中的下载文件名,查询本地文件传输信息表;

S503:直连服务器下载任务合并调度。客户端直连服务器执行合并调度模块23,判断本地缓存中是否存在该文件,若存在,则合并下载任务,执行步骤S509;若没有,则建立新的下载任务,向上级网络服务器提交下载申请,执行步骤S504;

S509:直连服务器反馈文件信息。若客户端直接服务器的本地缓存中存在请求文件,则客户端直连服务器执行限时限速单元,根据系统下载功能的限时限速设置,对下级节点提供下载服务,向客户端装置反馈请求应答信息;

S510:直连服务器下载文件。客户端直连服务器与客户端装置建立传输通道,向客户端装置传输分块文件和其他控制信息;

S504:各级网络服务器接收请求。若客户端直连服务器本地缓存无客户请求文件时,向其上级网络服务器提出请求,如果1至N级网络服务器均无本地缓存的客户请求文件,则客户请求会被一直传送到云文件服务器;

S505:各级网络服务器执行下载任务合并调度。各级网络服务器接收到文件下载请求时执行合并调度模块,判断本地是否已有该文件,若已有,则合并下载任务,执行步骤S511;若没有,则建立新的下载任务,向上级网络服务器提交下载申请,执行步骤S506;

S511:各级网络服务器反馈文件信息。若第N级中网络服务器缓存中存在请求文件,则执行限时限速单元,根据系统下载功能限时限速设置,对下级节点提供下载服务,向下级网络服务器反馈请求应答信息;

S512:各级网络服务器下载文件。建立本级网络服务器、各下级网络服务器、客户端直连服务器的传输通道,传输分块文件和其他控制信息;各级网络服务器保存该下载文件分块副本,记录文件传输信息表;

S506:云文件服务器接收下载请求。当整个网路中各级网络服务器都没有缓存请求文件时,客户端装置接收的文件下载请求将直接发送至云文件服务器,云文件服务器接收下载请求后,读取下载文件信息,分析文件结构,初始化文件传输信息表。

S507:云文件服务器反馈文件信息。云文件服务器执行限时限速单元,根据系统下载功能限时限速设置,对下级节点提供下载服务,向一级网络服务器反馈请求应答信息;

S508:各级网络服务器下载文件。建立云文件服务器、各级网络服务器、客户端直连服务器的传输通道,传输分块文件和其他控制信息;各级网络服务器保存该下载文件分块副本,记录文件传输信息表;

S513:客户端接收文件。客户端装置接收客户端直连服务器的反馈,并合并文件分块,还原客户请求的下载文件。

本实施例的方法,实现了云文件下载过程中网络资源使用的有效控制。该系统及方法基于现有云平台及互联网架构,通过云文件分块管理,下载任务合并调度,下载链路分级缓存等手段,借助现有断点续传、网络带宽分级管理等技术,实现云文件下载过程的有效控制,解决目前通过计算机网络实现云文件下载过程的网络资源争用问题,实现快速响应客户下载请求,避免网络堵塞,提高网络资源利用率和稳定性。

本发明实施例的云文件传输方法,通过从云文件服务器、各级网络服务器或客户端直连服务器分块下载云文件,能够实现对云文件分块管理。通过从各级网络服务器或客户端直连服务器的缓存中下载云文件,能够实现下载链路分级缓存。通过云文件分块管理和下载链路分级缓存能够实现云文件下载过程的有效控制,快速响应客户下载请求,避免网络堵塞,提高网络资源使用效率。进一步,通过将请求下载文件的分块文件的副本及分块传输信息保存至客户端直连服务器、各级网络服务器中,能够更好地实现下载链路分级缓存,进一步快速响应客户下载请求。通过使保存有请求下载文件的服务器对其下级服务器合并调度下载任务,可以进一步提高网络资源使用效率。通过限时、限速下载请求下载文件,能够避免网络堵塞,充分利用网络资源,进一步提高网络资源使用效率。

基于与图2所示的云文件传输方法相同的发明构思,本申请实施例还提供了一种云文件传输装置,如下面实施例所述。由于该云文件传输装置解决问题的原理与云文件传输方法相似,因此该云文件传输装置的实施可以参见云文件传输方法的实施,重复之处不再赘述。

图12是本发明实施例的云文件传输系统的结构示意图。如图12所示,本发明实施例的云文件传输系统,可包括:客户端直连服务器判断单元310、客户端直连服务器下载单元320、N级网络服务器判断单元330、N级网络服务器下载单元340及云文件服务器下载单元350,上述各单元顺序连接。

客户端直连服务器判断单元310用于执行:客户端直连服务器接收来自客户端的文件下载请求,并根据所述文件下载请求判断客户端直连服务器缓存中是否存在请求下载文件。

客户端直连服务器下载单元320用于执行:若存在,所述客户端直连服务器将所述请求下载文件分块下载至所述客户端,若不存在,所述客户端直连服务器传送出所述文件下载请求。

N级网络服务器判断单元330用于执行:N级网络服务器接收所述客户端直连服务器传送出的文件下载请求,并根据所述客户端直连服务器传送出的文件下载请求判断N级网络服务器缓存中是否存在所述请求下载文件。

N级网络服务器下载单元340用于执行:若第N级网络服务器缓存中存在所述请求下载文件,则建立第N级网络服务器和所述客户端直连服务器的第一传输通道,并经由所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端,若第N级网络服务器缓存中不存在所述请求下载文件,第N级网络服务器逐级向其上级网络服务器传送所述文件下载请求直至传送至第M级网络服务器,建立第M级网络服务器至第N级网络服务器和所述客户端直连服务器的第二传输通道,并经由所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述客户端,若第N级网络服务器缓存至第1级网络服务器缓存中均不存在所述请求下载文件,第1级网络服务器传送出所述文件下载请求,其中,第M级网络服务器缓存中存在所述请求下载文件,N大于或等于M,N和M为大于或等于1的整数。

云文件服务器下载单元350用于执行:云文件服务器接收第1级网络服务器传送出的文件下载请求,并根据第1级网络服务器传送出的文件下载请求在云文件服务器存储器中查找所述请求下载文件,若查找到所述请求下载文件,则建立所述云文件服务器、所述N级网络服务器及所述客户端直连服务器的第三传输通道,并经由所述第三传输通道将所述请求下载文件从所述云文件服务器分块下载至所述客户端。

本发明实施例的云文件传输系统,通过从云文件服务器、各级网络服务器或客户端直连服务器分块下载云文件,能够实现对云文件分块管理。通过从各级网络服务器或客户端直连服务器的缓存中下载云文件,能够实现下载链路分级缓存。通过云文件分块管理和下载链路分级缓存能够实现云文件下载过程的有效控制,快速响应客户下载请求,避免网络堵塞,提高网络资源使用效率。

一些实施例中,所述N级网络服务器下载单元340,还可包括:第一下载文件缓存模块。第一下载文件缓存模块,用于执行:第M+1级网络服务器至第N级网络服务器和所述客户端直连服务器将第M级网络服务器缓存中的所述请求下载文件的分块文件的副本及分块传输信息保存至其各自的缓存中。

一些实施例中,所述云文件服务器下载单元340,还可包括:第二下载文件缓存模块。第二下载文件缓存模块,用于执行:所述N级网络服务器和所述客户端直连服务器将从所述云文件服务器分块下载的所述请求下载文件的副本及分块传输信息保存至其各自的缓存中。

上述各实施例中,通过缓存请求下载文件的副本和分块下载的所述请求下载文件的分块传输信息,能够在下次需要下载该文件时,直接从各下级网络服务器缓存、客户直连服务器缓存下载云文件,不用每次都从云文件服务器下载该文件,能够更好地实现下载链路分级缓存,能够进一步快速响应客户下载请求。

一些实施例中,所述客户端直连服务器下载单元320,可包括:客户端直连服务器合并调度模块。客户端直连服务器合并调度模块,用于执行:所述客户端直连服务器根据多个客户端的所述文件下载请求合并调度下载任务,将所述请求下载文件从所述客户端直连服务器分块下载至所述多个客户端。

图13是本发明一实施例中N级网络服务器下载单元的结构示意图。如图13所示,所述N级网络服务器下载单元340,可包括:第一网络服务器合并调度模块3411和第一下载文件传送模块3412,二者相互连接。

第一网络服务器合并调度模块3411用于执行:第N级网络服务器根据多个客户端直连服务器传送出的所述文件下载请求合并调度下载任务,利用所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述多个客户端直连服务器。

第一下载文件传送模块3412用于执行:所述多个客户端直连服务器利用所述第一传输通道将从第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

图14是本发明另一实施例中N级网络服务器下载单元的结构示意图。如图14所示,所述N级网络服务器下载单元340,可包括:第二网络服务器合并调度模块3421和第二下载文件传送模块3422,二者相互连接。

第二网络服务器合并调度模块3421用于执行:第M级网络服务器根据多个第M+1级网络服务器的所述文件下载请求合并调度下载任务,利用所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至所述多个第M+1级网络服务器。

第二下载文件传送模块3422用于执行:所述多个第M+1级网络服务器利用所述第二传输通道将从第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

上述各实施例中,利用各种服务器对下级节点合并调度管理,可以实现对下载文件及文件块的版本和状态管理,例如可以对下载请求队列进行管理,可以对下载请求进行合并提交管理,对于同样的下载请求可以合并执行下载任务,从而可以利用第N级网络服务器提高网络资源使用效率。

一些实施例中,所述客户端直连服务器下载单元320,可包括:第一限时下载模块。第一限时下载模块,用于执行:根据设定下载起始时间,所述客户端直连服务器分时段地将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端。

一些实施例中,所述客户端直连服务器下载单元320,可包括:第一限速下载模块。第一限速下载模块,用于执行:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,所述客户端直连服务器将所述请求下载文件从所述客户端直连服务器分块下载至所述客户端,以控制云文件下载的网络带宽不超过设定网络带宽上限。

图15是本发明另一实施例的N级网络服务器下载单元的结构示意图。如图15所示,所述N级网络服务器下载单元340,可包括:第二限时下载模块3431和第三下载文件传送模块3432,二者相互连接。

第二限时下载模块3431用于执行:根据设定下载起始时间,第N级网络服务器利用所述第一传输通道分时段地将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器。

第三下载文件传送模块3432用于执行:所述客户端直连服务器利用所述第一传输通道将从第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

图16是本发明另一实施例中N级网络服务器下载单元的结构示意图。如图16所示,所述N级网络服务器下载单元340,可包括:第二限速下载模块3441和第四下载文件传送模块3442,二者相互连接。

第二限速下载模块3441用于执行:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,第N级网络服务器利用所述第一传输通道将所述请求下载文件从第N级网络服务器分块下载至所述客户端直连服务器,以控制云文件下载的网络带宽不超过设定网络带宽上限。

第四下载文件传送模块3442用于执行:所述客户端直连服务器利用所述第一传输通道将从所述第N级网络服务器分块下载的所述请求下载文件传送至所述客户端。

图17是本发明另一实施例中N级网络服务器下载单元的结构示意图。如图17所示,所述N级网络服务器下载单元340,可包括:第三限时下载模块3451和第五下载文件传送模块3452,二者相互连接。

第三限时下载模块3451用于执行:根据设定下载起始时间,第M级网络服务器利用所述第二传输通道分时段地将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器。

第五下载文件传送模块3452用于执行:第M+1级网络服务器利用所述第二传输通道将从第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

图18是本发明另一实施例中N级网络服务器下载单元的结构示意图。如图18所示,所述N级网络服务器下载单元340,可包括:第三限速下载模块3461和第六下载文件传送模块3462,二者相互连接。

第三限速下载模块3461用于执行:根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比,第M级网络服务器利用所述第二传输通道将所述请求下载文件从第M级网络服务器分块下载至第M+1级网络服务器,以控制云文件下载的网络带宽不超过设定网络带宽上限。

第六下载文件传送模块3462用于执行:第M+1级网络服务器利用所述第二传输通道将从所述第M级网络服务器分块下载的所述请求下载文件依次经由第M+2级网络服务器至第N级网络服务器和客户直连服务器传送至所述客户端。

上述各实施例中,通过根据设定下载起始时间分时段地下载所述请求下载文件,可根据网络资源使用情况,通过设定下载服务的开始和截至时间使服务器分时段提供下载服务,管理服务器对外提供下载服务的时限,能够在保证在时限内完成下载任务的同时,尽可能选择网络资源不太紧张的时段下载云文件,从而能够避免网络堵塞,充分利用网络资源,提高网络资源使用效率。

上述各实施例中,通过根据设定网络通信服务队列中各资源请求的优先次序及分配的网络带宽占比下载所述请求下载文件,能够控制云文件下载及其他服务的网络带宽使用上限,避免网络堵塞。

图19是本发明一实施例中云文件服务器下载单元的结构示意图。如图19所示,所述云文件服务器下载单元350,可包括:首次下载判断模块351、首次下载初始化模块352及首次下载传输模块353,上述各模块顺序连接。

首次下载判断模块351用于执行:利用所述第三传输通道将所述请求下载文件从所述云文件服务器下载至第1级网络服务器,并判断第1级网络服务器是否首次从所述云文件服务器下载的所述请求下载文件。

首次下载初始化模块352用于执行:若是,第1级网络服务器对从所述云文件服务器下载的所述请求下载文件进行分块处理,生成分块文件,并初始化第1级网络服务器缓存中的文件传输信息表。

首次下载传输模块353用于执行:根据初始化后的文件传输信息表,利用所述第三传输通道将所述分块文件依次经由第1级网络服务器至第N级网络服务器和所述客户直连服务器传送至所述客户端。

本实施例中,在每个第1级网络服务器向云文件服务器申请下载时,若为首次下载,将对下载文件进行分块处理,例如可按照预设大小完成分块处理,初始化文件传输信息表,生成分块文件。分块文件名可按照“云文件名称+分块编号”构成。

图20是本发明另一实施例中云文件服务器下载单元的结构示意图。如图20所示,图19所示的云文件服务器下载单元350,还可包括:重复下载传输模块354,与首次下载判断模块351连接。

重复下载传输模块354用于执行:若第1级网络服务器不是首次从所述云文件服务器下载的所述请求下载文件,根据第1级网络服务器缓存中的文件传输信息表,利用所述第三传输通道将第1级网络服务器缓存中的所述请求下载文件的分块文件传送至所述客户端。

本实施例中,若非首次下载,则为重复下载,可直接使用已存在的文件传输信息表及分块文件。当第1级网络服务器不是首次从所述云文件服务器下载的所述请求下载文件时,第1级网络服务器缓存中可存储有前次下载的该请求下载文件的分块文件和相应的文件传输信息表,直接使用已存在的文件传输信息表及分块文件执行下载任务,可以避免重复从云文件服务器中下载同样的请求下载文件,以此可以节约网络资源,减小网络堵塞的发生几率。

一些实施例中,所述客户端直连服务器判断单元310,可包括:客户端直连服务器判断模块。客户端直连服务器判断模块,用于执行:根据所述文件下载请求中的文件名,通过查询所述客户端直连服务器缓存中的文件传输信息表,判断所述客户端直连服务器缓存中是否存在所述请求下载文件。

一些实施例中,所述N级网络服务器判断单元330,可包括:N级网络服务器判断模块。N级网络服务器判断模块用于执行:根据所述客户端直连服务器传送出的文件下载请求中的文件名,查询第N级网络服务器缓存中的文件传输信息表,判断第N级网络服务器缓存中是否存在所述请求下载文件,若第N级网络服务器缓存中不存在所述请求下载文件,逐级查询第N级网络服务器的上级网络服务器缓存中的文件传输信息表,直到查询到存储有所述请求下载文件的网络服务器缓存或直到查询到第1级网络服务器缓存,以判断第N-1级网络服务器缓存至第1级网络服务器缓存中是否存在所述请求下载文件。

一些实施例中,上述各实施例的云文件传输系统还可包括:文件传输信息表生成模块。文件传输信息表生成模块,用于执行:所述文件传输信息表包括:云文件名称、创建时间、云文件总大小、分块文件编号及分块文件状态。

本发明实施例的云文件传输系统,通过从云文件服务器、各级网络服务器或客户端直连服务器分块下载云文件,能够实现对云文件分块管理。通过从各级网络服务器或客户端直连服务器的缓存中下载云文件,能够实现下载链路分级缓存。通过云文件分块管理和下载链路分级缓存能够实现云文件下载过程的有效控制,快速响应客户下载请求,避免网络堵塞,提高网络资源使用效率。进一步,通过将请求下载文件的分块文件的副本及分块传输信息保存至客户端直连服务器、各级网络服务器中,能够更好地实现下载链路分级缓存,进一步快速响应客户下载请求。通过使保存有请求下载文件的服务器对其下级服务器合并调度下载任务,可以进一步提高网络资源使用效率。通过限时、限速下载请求下载文件,能够避免网络堵塞,充分利用网络资源,进一步提高网络资源使用效率。

在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1