一种文件传输的方法及***
技术领域
本发明涉及通信网络技术领域,尤其涉及一种文件传输的方法及装置。
背景技术
随着网络技术的快速发展,人们热衷于通过网络来分享文件内容,文件分享是指利用网络将计算机文件在一定的范围内提供网上阅读或下载。分享的文件的来源除了个人贡献和大型的内容服务商提供外,网站站长是互联网生态***的重要组成部分。目前站长发布和分享文件时,通常需要自己租用文件托管服务器,然后将文件收集好,并上传到存储中转服务器中。文件上传到存储中转服务器中后,就可以进行文件发布了,首先依据上传的文件生成下载连接,然后将下载连接作为下载取回文件的入口发布在站长的网站上,站长通过编辑下载内容,以进行网站下载内容的运营,这样用户即可以从存储中转服务器中进行下载自己需要的文件。
发明人发现现有技术中至少存在如下问题:站长网站上的文件需要站长来运营和管理,并且不同站长发布的文件资源不能共享,文件传输发布的速度较慢,耗费时间较长;站长存储空间有限制,并且每个站长对相同的文件都独立存储一份,使得浪费存储空间。
发明内容
本发明的实施例提供一种文件传输的方法及***,可以进行文件资源共享,使得加快文件传输发布的速度,降低时间消耗,并且可以节省存储空间。
第一方面,本发明提供一种文件传输的方法,包括:
浏览器上传插件扫描待上传文件,获取所述待上传文件的唯一标识,并将所述唯一标识发送给快速发布管理服务器;
所述快速发布管理服务器根据所述唯一标识判断所述唯一标识对应的所述待上传文件是否存在;
当所述唯一标识对应的所述待上传文件存在时,则所述快速发布管理服务器生成所述待上传文件的下载链接,并将所述待上传文件的下载链接发送给所述浏览器上传插件,以便站长将所述待上传文件的下载链接发布在网站上提供下载服务。
在本发明的一种实施例中,结合第一方面,所述快速发布管理服务器生成所述待上传文件的下载链接,包括:
所述快速发布管理服务器根据所述待上传文件的相关信息生成所述待上传文件的下载地址,所述待上传文件的相关信息包括所述唯一标识、所述待上传文件的发布时间、待上传所述待上传文件的站长编号以及所述待上传文件的验证信息。
在本发明的一种实施例中,结合第一方面,当所述唯一标识对应的所述待上传文件不存在时,则所述快速发布管理服务器获取上传接口服务器的上传接口地址,并将所述上传接口地址发送给所述浏览器上传插件;
所述浏览器上传插件根据所述上传接口地址将所述待上传文件上传至所述上传接口服务器;
所述上传接口服务器将所述待上传文件存储在云存储服务器,以便为下载客户端提供下载服务。
在本发明的一种实施例中,结合第一方面,所述云存储服务器中存储的数据还包括离线下载服务器下载的数据。
在本发明的一种实施例中,结合第一方面,所述离线下载服务器下载数据,包括:
所述离线下载服务器接收离线下载任务调度服务器发送的待离线下载文件的文件编号;
根据所述文件的编号,在数据库查询所述文件的编号对应的待离线下载文件的下载链接,并根据所述下载链接下载所述待离线下载文件;
当下载完成所述待离线下载文件时,将所述待离线下载文件的数据存储在所述云存储服务器中,并将所述待离线下载文件的唯一标识存储在所述数据库中。
在本发明的一种实施例中,结合第一方面,所述离线下载服务器还用于,将所述待下载文件的下载进度上报给离线任务管理服务器,以便下载客户端进行查看离线下载进度。
在本发明的一种实施例中,结合第一方面,所述离线任务管理服务器,用于接收所述下载客户端发送的待离线下载文件的任务,在所述数据库中查询是否存在所述待离线下载文件的唯一标识;
当所述数据库中存在所述待离线下载文件的唯一标识时,向所述下载客户端发送所述待离线下载文件已经下载完成的消息,所述消息中包括取回所述待离线下载文件的数据的地址;
当所述数据库中不存在所述待离线下载文件的唯一标识时,为所述待离线下载文件的任务生成文件的编号,并将所述文件的编号与所述待离线下载文件的下载链接发送给所述数据库,以及向所述离线任务调度服务器发送离线下载任务请求消息,所述离线下载任务请求消息中包括所述待离线下载文件的任务和所述文件的编号。
第二方面,本发明提供一种文件传输的***,包括:
浏览器上传插件,用于扫描待上传文件,获取所述待上传文件的唯一标识,并将所述唯一标识发送给快速发布管理服务器;
所述快速发布管理服务器,用于根据所述唯一标识判断所述唯一标识对应的所述待上传文件是否存在;以及当所述唯一标识对应的所述待上传文件存在时,则生成所述待上传文件的下载链接,并将所述待上传文件的下载链接发送给所述浏览器上传插件,以便站长将所述待上传文件的下载链接发布在网站上提供下载服务。
在本发明的一种实施例中,结合第二方面,所述快速发布管理服务器用于:根据所述待上传文件的相关信息生成所述待上传文件的下载地址,所述待上传文件的相关信息包括所述唯一标识、所述待上传文件的发布时间、待上传所述待上传文件的站长编号以及所述待上传文件的验证信息。
在本发明的一种实施例中,结合第二方面,所述快速发布管理服务器,还用于当所述唯一标识对应的所述待上传文件不存在时,则获取上传接口服务器的上传接口地址,并将所述上传接口地址发送给所述浏览器上传插件;
所述浏览器上传插件,还用于根据所述上传接口地址将所述待上传文件上传至所述上传接口服务器;
所述上传接口服务器,用于将所述待上传文件存储在云存储服务器,以便为下载客户端提供下载服务。
在本发明的一种实施例中,结合第二方面,所述云存储服务器中存储的数据还包括离线下载服务器下载的数据。
在本发明的一种实施例中,结合第二方面,所述离线下载服务器,还用于接收离线下载任务调度服务器发送的待离线下载文件的文件编号;
以及根据所述待文件的编号,在数据库查询所述待文件的编号对应的待离线下载文件的下载链接,并根据所述下载链接下载所述待离线下载文件;
以及当下载完成所述待离线下载文件时,将所述待离线下载文件的数据存储在所述云存储服务器中,并将所述待离线下载文件的唯一标识存储在所述数据库中。
在本发明的一种实施例中,结合第二方面,所述离线下载服务器还用于,将所述待下载文件的下载进度上报给离线任务管理服务器,以便下载客户端进行查看离线下载进度。
在本发明的一种实施例中,结合第二方面,所述离线任务管理服务器,用于接收所述下载客户端发送的待离线下载文件的任务,在所述数据库中查询是否存在所述待离线下载文件的唯一标识;
以及,当所述数据库中存在所述待离线下载文件的唯一标识时,向所述下载客户端发送所述待离线下载文件已经下载完成的消息,所述消息中包括取回所述待离线下载文件的数据的地址;
以及,当所述数据库中不存在所述待离线下载文件的唯一标识时,为所述待离线下载文件的任务生成文件的编号,并将所述文件的编号与所述待离线下载文件的下载链接发送给所述数据库,以及向所述离线任务调度服务器发送离线下载任务请求消息,所述离线下载任务请求消息中包括所述待离线下载文件的任务和所述文件的编号。
在本发明的一种实施例中,结合第二方面,所述数据库,用于保存文件索引信息和文件属性信息;其中,文件索引信息包括文件的编号与所述文件对应的下载链接的映射关系,所述文件属性信息包括所述文件的编号、文件的唯一标识、文件的大小、文件的下载链接以及文件的下载时间。
本发明实施例提供一种文件传输的方法及***,通过浏览器上传插件扫描待上传文件,获取待上传文件的唯一标识,并将唯一标识发送给快速发布管理服务器;然后快速发布管理服务器根据唯一标识判断唯一标识对应的待上传文件是否存在;当唯一标识对应的待上传文件存在时,则快速发布管理服务器生成待上传文件的下载链接,并将待上传文件的下载链接发送给浏览器上传插件,以便站长将待上传文件的下载链接发布在网站上提供下载服务。与采用现有技术进行文件的传输发布时,站长网站上的文件需要站长来运营和管理,并且不同站长发布的文件资源不能共享,文件传输发布的速度较慢,耗费时间较长;
站长存储空间有限制,并且每个站长对相同的文件都独立存储一份,使得浪费存储空间相比,本发明实施例提供的方案可以通过快速发布管理服务器快速传输文件,并共享已经上传的文件,使得加快文件传输发布的速度,降低时间消耗,并且站长可以直接将获得的下载链接发布到自己的网站上供用户下载,并不需要自己重新存储文件数据,使得可以节省存储空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种文件传输的方法的流程图;
图2为本发明实施例1提供的另一种文件传输的方法的流程图;
图3为本发明实施例1提供的一种离线下载服务器下载数据的方法的流程图;
图4为本发明实施例2提供的一种文件传输的***的示意图;
图5为本发明实施例2提供的另一种文件传输的***的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种文件传输的方法,如图1所示,该方法包括:
步骤101,浏览器上传插件扫描待上传文件,获取所述待上传文件的唯一标识,并将所述唯一标识发送给快速发布管理服务器;
在本实施例中,在浏览器上安装上传插件,使得可以实现本地上传文件,
并且可以支持断点续传文件,即某一文件终端上传时,可以在浏览器重新上线后,根据此文件已经上传的部分,继续上传其剩余部分,使得完整上传此文件。
在本实施例中,通过浏览器可以登录站长网络后台,可以管理和查看网站相关文件的下载次数和相关流量情况,以进行统计处理。
在本实施例中,获取所述待上传文件的唯一标识时,可以获取所述待上传文件的哈希值HASH,HASH是一段数据唯一且极其紧凑的数值表示形式,当然待上传文件的唯一标识还可以用其他的表述方式进行表示,本发明实施例并不限制待上传文件的唯一标识的表示方式。
为了描述方便,本实施例中以待上传文件的唯一标识为HASH为了进行描述。其中,每个文件对应一个HASH,此HASH可以根据文件进行计算获得,例如,可以按照文件内容通过安全散列算法安全散列算法(Secure Hash Algorithm,
SHA),消息摘要算法第五版(Message Dgiest Algorithm,MD5)等算法计算的文件唯一标识,通常HASH是20个字节,在整个***中唯一标识一个文件,不同的文件对应不同的HASH。
步骤102,所述快速发布管理服务器根据所述HASH判断所述HASH对应的所述待上传文件是否存在;
在本步骤中,当文件由下载客户端下载完成后,离线下载服务器将文件的HASH发送给数据库,由数据库保存,因此快速发布管理服务器根据所述HASH,在数据库中查询HASH对应的所述待上传文件是否存在。其中,数据库中保存文件索引信息和文件属性信息;其中,文件索引信息包括文件的编号与所述文件对应的下载链接的映射关系,所述文件属性信息包括所述文件的编号、文件的HASH、文件的大小、文件的下载链接以及文件的下载时间。
步骤103,当所述HASH对应的所述待上传文件存在时,则所述快速发布管理服务器生成所述待上传文件的下载链接,并将所述待上传文件的下载链接发送给所述浏览器上传插件,以便站长将所述待上传文件的下载链接发布在网站上提供下载服务。
进一步可选的,当所述HASH对应的所述待上传文件不存在时,则所述快速发布管理服务器获取上传接口服务器的上传接口地址,并将所述上传接口地址发送给所述浏览器上传插件;
所述浏览器上传插件根据所述上传接口地址将所述待上传文件上传至所述上传接口服务器;
所述上传接口服务器将所述待上传文件存储在云存储服务器,以便为下载客户端提供下载服务。
本发明实施例提供一种文件传输的方法,通过将待上传文件的HASH在快速发布管理服务器中查询,当HASH对应的待上传文件存在时,则所述快速发布管理服务器生成所述待上传文件的下载链接,并将所述待上传文件的下载链接发送给所述浏览器上传插件,以便站长将所述待上传文件的下载链接发布在网站上提供下载服务,使得通过本实施例可以快速传输文件,并共享已经上传的文件,使得加快文件传输发布的速度,降低时间消耗,并且站长可以直接将获得的下载链接发布到自己的网站上供用户下载,并不需要自己重新存储文件数据,使得可以节省存储空间。
本发明实施例提供一种文件传输的方法,如图2所示,该方法包括:
步骤201,浏览器上传插件扫描待上传文件,获取所述待上传文件的唯一标识,并将所述唯一标识发送给快速发布管理服务器;
在本实施例中,在浏览器上安装上传插件,使得可以实现本地上传文件,并且可以支持断点续传文件,即某一文件终端上传时,可以在浏览器重新上线后,根据此文件已经上传的部分,继续上传其剩余部分,使得完整上传此文件。
在本实施例中,通过浏览器可以登录站长网络后台,可以管理和查看网站相关文件的下载次数和相关流量情况,以进行统计处理。
在本实施例中,获取所述待上传文件的唯一标识时,可以获取所述待上传文件的哈希值HASH,HASH是一段数据唯一且极其紧凑的数值表示形式,当然待上传文件的唯一标识还可以用其他的表述方式进行表示,本发明实施例并不限制待上传文件的唯一标识的表示方式。
为了描述方便,本实施例中以待上传文件的唯一标识为HASH为了进行描述。其中,每个文件对应一个HASH,此HASH可以根据文件进行计算获得,例如,可以按照文件内容通过安全散列算法安全散列算法SHA,消息摘要算法第五版MD5等算法计算的文件唯一标识,通常HASH是20个字节,在整个***中唯一标识一个文件,不同的文件对应不同的HASH。
步骤202,所述快速发布管理服务器根据所述HASH判断所述HASH对应的所述待上传文件是否存在;
在本实施例中,快速发布管理服务器可以为浏览器上传插件上传文件之前进行文件排重提供查询服务,即根据待上传文件的HASH,判断数据库中是否存在与HASH对应的所述待上传文件。由于当文件由下载客户端下载完成后,离线下载服务器将文件的HASH发送给数据库,由数据库保存,因此快速发布管理服务器可以根据所述HASH,在数据库中查询HASH对应的所述待上传文件是否存在。其中,数据库中保存文件索引信息和文件属性信息;其中,文件索引信息包括文件的编号与所述文件对应的下载链接的映射关系,所述文件属性信息包括所述文件的编号、文件的HASH、文件的大小、文件的下载链接以及文件的下载时间。
另外,文件的具体数据,即文件的内容则由云存储服务器进行存储。云存储为在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件***等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个***。当云计算***运算和处理的核心是大量数据的存储和管理时,云计算***中就需要配置大量的存储设备,那么云计算***就转变成为一个云存储***,所以云存储是一个以数据存储和管理为核心的云计算***。
因此,云存储服务器可以提供无限的存储空间,可以根据实际存储量进行无限扩展,从而解决了现有技术中传统硬件存储扩容的问题。另外,云存储服务器可以提供多个备份,具备故障自动恢复功能,从而保障数据可靠性。
步骤203,当所述HASH对应的所述待上传文件存在时,则所述快速发布管理服务器生成所述待上传文件的下载链接,并将所述待上传文件的下载链接发送给所述浏览器上传插件,以便站长将所述待上传文件的下载链接发布在网站上提供下载服务。
进一步可选的,在本步骤中快速发布管理服务器生成所述待上传文件的下载链接具体包括:所述快速发布管理服务器根据所述待上传文件的相关信息生成所述待上传文件的下载地址,所述待上传文件的相关信息包括所述HASH、所述待上传文件的发布时间、待上传所述待上传文件的站长编号以及所述待上传文件的验证信息。其中,验证信息通常为对所述HASH、所述待上传文件的发布时间、待上传所述待上传文件的站长编号等字段进行加密而生成。当然,验证信息还可以通过其他的方式生成,本实施例不限制验证信息的生成方式。
站长通过浏览器登录自己的网站,将待发布文件的下载连接即专用链接发布在自己的网站上,用户即可以通过浏览此网站获取下载的入口,同时在此网站上提供专用链接的支持,点击此专用链接调用对应下载服务商的专用下载软件即可下载待发布文件。
步骤204,当所述HASH对应的所述待上传文件不存在时,则所述快速发布管理服务器获取上传接口服务器的上传接口地址,并将所述上传接口地址发送给所述浏览器上传插件;
需要说明的是,在附图2中以虚线表示步骤203的执行,当然也可以以虚线表示步骤204的执行,这里,仅表示一种选择的关系,即仅执行步骤203和步骤204中的一个步骤。
步骤205,所述浏览器上传插件根据所述上传接口地址将所述待上传文件上传至所述上传接口服务器;
步骤206,所述上传接口服务器将所述待上传文件存储在云存储服务器,以便为下载客户端提供下载服务。
上传接口服务器,用于接收浏览器上传插件上传的文件的数据,并可以将接收到的文件的数据写入云存储服务器。
云存储服务器,用于保存上传接口服务器写入的文件的数据,并作为下载客户端或者浏览器下载插件取回离线下载的数据的数据源而提供服务。
进一步的,云存储服务器中存储的数据还包括离线下载服务器下载的数据。其中,离线下载服务器下载数据的过程,如图3所示:
步骤301,下载客户端向离线任务管理服务器提交待离线下载文件的任务;
需要说明的是,可以在浏览器中安装下载客户端,在安装过程中向操作***注册专用链下载协议,因此在浏览器中可以调用下载专门格式的链接,即专用链接。在站长网站上通过点击专用链接即可调用对应下载服务商的专用下载软件进行下载。
离线下载本质是下载工具的服务器代替用户先行下载,例如采用离线下载服务器代替用户先行下载。举例而言,某个资源是冷门资源,下载速度很慢,
用户需要消耗较多的时间进行下载,如果用户使用离线下载技术,就可以让服务商的服务器代替用户下载,用户就可以关掉下载工具或者机器,节约时间和电费。当离线下载完成后,用户再从下载工具的服务器上高速下到客户端的电脑上。离线下载能省却许多挂机等待的时间,最重要的是能够腾出电脑宽带做其他的事情。
步骤302,所述离线任务管理服务器接收所述下载客户端发送的待离线下载文件的任务,在所述数据库中查询是否存在所述待离线下载文件的HASH;
当文件下载完成后,需要将此文件的HASH发送给数据库进行保存,以便离线任务管理服务器再接收到下载任务时,可以通过查询文件的HASH判断此文件是否已经下载完成。对于下载完成的文件执行步骤303,对于未下载的文件执行步骤304。其中,在附图3中以虚线表示步骤303的执行,当然也可以以虚线表示步骤304的执行,这里,仅表示一种选择的关系,即仅执行步骤303和步骤304中的一个步骤。
步骤303,当所述数据库中存在所述待离线下载文件的HASH时,向所述下载客户端发送所述待离线下载文件已经下载完成的消息,所述消息中包括取回所述待离线下载文件的数据的地址;
当所述数据库中存在所述离线下载任务的HASH时,则下载客户端可以根据所述待离线下载文件已经下载完成的消息中包括取回所述待离线下载文件的数据的地址实现秒下载,例如可以通过点对服务器和点(Peer to Server&Peer,P2SP)方式取回对应文件的数据,其中,云存储服务器为数据存储的数据源。
P2SP使内容的传递可以在网络上的各个终端中进行。P2SP除了包含点对点(Peerto Peer,P2P)以外,P2SP的“S”是指服务器。P2SP有效地把原本孤立的服务器和其镜像资源以及P2P资源整合到了一起,其中,其镜像资源指备份资源。P2SP基于用户对服务器和用户机制,不同于P2P,也不同于P2S,P2SP下载方式实际上对P2P技术的进一步延伸,它不但支持P2P技术,同时还通过检索数据库把服务器资源和P2P资源整合到了一起。用户下载一个文件的时候,会自动搜索其他资源,选择合适的资源进行加速下载,这使得P2SP在下载的稳定性和下载的速度上,比传统的P2P有了非常大的提高。例如,目前下载软件迅雷,旋风等都采用P2SP下载文件。
在P2SP技术当中,下载一个文件,数据源分为文件的原始链接、p2p网络以及第三方镜像的辅助资源,然后通过文件的唯一标识HASH(比如MD5或者SHA)把文件统一串联起来。
步骤304,当所述数据库中不存在所述待离线下载文件的HASH时,离线任务管理服务器为所述待离线下载文件的任务生成文件的编号,并将所述文件的编号与所述待离线下载文件的下载链接发送给所述数据库,以及向离线任务调度服务器发送离线下载任务请求消息,所述离线下载任务请求消息中包括所述待离线下载文件的任务和所述文件的编号;
离线任务管理服务器可以为每个独立的下载任务生成唯一的编号。
步骤305,所述离线任务调度服务器接收所述离线任务管理服务器发送的离线下载任务请求消息,并将所述离线下载任务请求消息中的所述待离线下载文件的文件编号调度给离线下载服务器集群中资源空闲的离线下载服务器;
离线任务调度服务器,还用于,接收离线下载服务器集群中各个离线下载服务器的负载信息的上报,以及根据各个离线下载服务器的负载信息,动态将离线下载任务调度到不同的离线下载服务器上执行具体的下载任务。
另外,离线任务调度服务器对于相同的离线下载任务可以进行过滤,即同一个离线下载任务请求只需要向离线下载服务器集群发送一次。
步骤306,所述离线下载服务器接收离线下载任务调度服务器发送的待离线下载文件的文件编号;
所述离线下载服务器为当前离线下载服务器集群中资源较空闲的一个离线下载服务器。
步骤307,根据所述文件的编号,在数据库查询所述文件的编号对应的待离线下载文件的下载链接,并根据所述下载链接下载所述待离线下载文件;
步骤308,当下载完成所述待离线下载文件时,将所述待离线下载文件的数据存储在所述云存储服务器中,并将所述待离线下载文件的HASH存储在所述数据库中。
将离线下载服务器下载的文件,尤其是大文件存储在云存储服务器中,可以通过专用链接的途径进行分享和发布,不需要站长上传文件,从而节省上传文件的时间,以及节省带宽的占用。
进一步的,所述离线下载服务器还用于,将所述待下载文件的下载进度上报给离线任务管理服务器,以便下载客户端进行查看离线下载进度。发送同一个离线下载任务请求的不同的用户可以共享同一个离线下载任务的离线下载进度信息。
将所述待离线下载文件的HASH存储在所述数据库中,以便于离线任务管理服务器接收到新的离线下载任务时进行查询,判断此新的离线下载任务是否完成,当此新的离线下载任务完成时,可以实现秒取回离线下载任务对于的文件数据,以进一步节省用户下载文件的时间。
本发明实施例提供一种文件传输的方法,通过将待上传文件的HASH在快速发布管理服务器中查询,当HASH对应的待上传文件存在时,则所述快速发布管理服务器生成所述待上传文件的下载链接,并将所述待上传文件的下载链接发送给所述浏览器上传插件,以便站长将所述待上传文件的下载链接发布在网站上提供下载服务,使得通过本实施例可以快速传输文件,并共享已经上传的文件,使得加快文件传输发布的速度,降低时间消耗,并且站长可以直接将获得的下载链接发布到自己的网站上供用户下载,并不需要自己重新存储文件数据,使得可以节省存储空间。
实施例2
本发明实施例提供一种文件传输的***,如图4所示,该***包括:浏览器上传插件401,发布管理服务器402;
浏览器上传插件401,用于扫描待上传文件,获取所述待上传文件的唯一标识,并将所述唯一标识发送给快速发布管理服务器402;
在浏览器上安装上传插件,使得可以实现本地上传文件,并且可以支持断点续传文件,即某一文件终端上传时,可以在浏览器重新上线后,根据此文件已经上传的部分,继续上传其剩余部分,使得完整上传此文件。
在本实施例中,浏览器上传插件401获取所述待上传文件的唯一标识时,可以获取所述待上传文件的哈希值HASH,HASH是一段数据唯一且极其紧凑的数值表示形式。当然待上传文件的唯一标识还可以用其他的表述方式进行表示,本发明实施例并不限制待上传文件的唯一标识的表示方式。
为了描述方便,本实施例中以待上传文件的唯一标识为HASH为了进行描述。其中,每个文件对应一个HASH,此HASH可以根据文件进行计算获得,例如,可以按照文件内容通过SHA或MD5等算法计算的文件唯一标识,通常HASH是20个字节,在整个***中唯一标识一个文件,不同的文件对应不同的HASH。
所述快速发布管理服务器402,用于根据所述HASH判断所述HASH对应的所述待上传文件是否存在;以及当所述HASH对应的所述待上传文件存在时,则生成所述待上传文件的下载链接,并将所述待上传文件的下载链接发送给所述浏览器上传插件401,以便站长将所述待上传文件的下载链接发布在网站上提供下载服务。
进一步可选的,所述快速发布管理服务器402用于:根据所述待上传文件的相关信息生成所述待上传文件的下载地址,所述待上传文件的相关信息包括所述HASH、所述待上传文件的发布时间、待上传所述待上传文件的站长编号以及所述待上传文件的验证信息。其中,验证信息通常为对所述HASH、所述待上传文件的发布时间、待上传所述待上传文件的站长编号等字段进行加密而生成。当然,验证信息还可以通过其他的方式生成,本实施例不限制验证信息的生成方式。
进一步的,如图5所示,所述***还包括:上传接口服务器403,云存储服务器404,下载客户端405;
当所述HASH对应的所述待上传文件不存在时,所述快速发布管理服务器402还用于,获取上传接口服务器403的上传接口地址,并将所述上传接口地址发送给所述浏览器上传插件401;
所述浏览器上传插件401,根据所述上传接口地址将所述待上传文件上传至所述上传接口服务器403;
所述上传接口服务器403将所述待上传文件存储在云存储服务器404,以便为下载客户端405提供下载服务。
所述云存储服务器404,用于保存上传接口服务器写入的文件的数据,并作为下载客户端405或者浏览器下载插件401取回离线下载的数据的数据源而提供服务。
所述云存储服务器404中存储的数据还包括离线下载服务器406下载的数据。进一步的,所述***还包括:离线任务管理服务器406,数据库407,离线任务调度服务器408,离线下载服务器409;
所述离线任务管理服务器406,用于接收所述下载客户端405发送的待离线下载文件的任务,在所述数据库407中查询是否存在所述待离线下载文件的HASH;
当所述数据库中存在所述待离线下载文件的HASH时,所述离线任务管理服务器406,向所述下载客户端405发送所述待离线下载文件已经下载完成的消息,所述消息中包括取回所述待离线下载文件的数据的地址;
当所述数据库中不存在所述待离线下载文件的HASH时,所述离线任务管理服务器406,为所述待离线下载文件的任务生成文件的编号,并将所述文件的编号与所述待离线下载文件的下载链接发送给所述数据库407,以及向离线任务调度服务器408发送离线下载任务请求消息,所述离线下载任务请求消息中包括所述待离线下载文件的任务和所述文件的编号。
所述离线任务调度服务器408接收所述离线任务管理服务器406发送的离线下载任务请求消息,并将所述离线下载任务请求消息中的所述待离线下载文件的文件编号调度给离线下载服务器集群中资源空闲的离线下载服务器409;
所述离线下载服务器409,还用于接收离线下载任务调度服务器发送的待离线下载文件的文件编号;需要说明的是,所述离线下载服务器409为当前离线下载服务器集群中资源较空闲的一个离线下载服务器。
以及根据所述待文件的编号,所述离线下载服务器409在数据库407查询所述待文件的编号对应的待离线下载文件的下载链接,并根据所述下载链接下载所述待离线下载文件;
以及当下载完成所述待离线下载文件时,所述离线下载服务器409将所述待离线下载文件的数据存储在所述云存储服务器404中,并将所述待离线下载文件的HASH存储在所述数据库407中。
其中,所述数据库407,用于保存文件索引信息和文件属性信息;其中,文件索引信息包括文件的编号与所述文件对应的下载链接的映射关系,所述文件属性信息包括所述文件的编号、文件的HASH、文件的大小、文件的下载链接以及文件的下载时间。
需要说明的是,本***中还可以包括统计服务器410,所述统计服务器410用于下载完成待下载文件之后,接收下载客户端405上报的本次下载任务的下载时间、下载速度、下载接收、待下载文件大小、下载的原始链接和不同(Uniform/Universal ResourceLocator,URL)源获取的下载速度和下载时间。
本发明实施例提供一种文件传输的***,通过浏览器上传插件将待上传文件的HASH在快速发布管理服务器中查询,当HASH对应的待上传文件存在时,则所述快速发布管理服务器生成所述待上传文件的下载链接,并将所述待上传文件的下载链接发送给所述浏览器上传插件,以便站长将所述待上传文件的下载链接发布在网站上提供下载服务,使得通过本实施例可以快速传输文件,并共享已经上传的文件,使得加快文件传输发布的速度,降低时间消耗,并且站长可以直接将获得的下载链接发布到自己的网站上供用户下载,并不需要自己重新存储文件数据,使得可以节省存储空间。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。