CN112231603A - 一种文件下载方法、服务器、客户端和存储介质 - Google Patents
一种文件下载方法、服务器、客户端和存储介质 Download PDFInfo
- Publication number
- CN112231603A CN112231603A CN202011203715.9A CN202011203715A CN112231603A CN 112231603 A CN112231603 A CN 112231603A CN 202011203715 A CN202011203715 A CN 202011203715A CN 112231603 A CN112231603 A CN 112231603A
- Authority
- CN
- China
- Prior art keywords
- network address
- download
- downloading
- file
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012795 verification Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 24
- 238000007726 management method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种文件下载方法、服务器、客户端和存储介质,方法包括:接收来自客户端的下载查询请求;下载查询请求中携带有待下载文件的标识信息;下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;下载网络地址对应的存储服务器中存储有待下载文件;下载定位标识用于表征待下载文件在存储服务器中的存储位置;响应于下载查询请求,基于预设的网络地址与定位标识的对应关系和标识信息,确定下载定位标识和下载网络地址;下载定位标识中包含标识信息;将下载网络地址和下载定位标识发送给客户端,以供客户端从下载网络地址对应的存储服务器中获取下载定位标识对应的待下载文件。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种文件下载方法、服务器、客户端和存储介质。
背景技术
目前,用户通过客户端下载文件,需要通过业务服务器获取与文件对应的一个统一资源定位符(uniform resource locator,URL);对这个URL进行域名解析得到国际互联协议(Internet Protocol,IP)地址后,向这个IP地址指向的文件管理服务器请求文件的下载地址;如果存储文件的存储服务器是内容分发网络(Content Delivery Network,CDN)中的一个节点服务器,则文件管理服务器会向客户端返回一个CDN的URL,客户端对这个CDN的URL进行域名解析后,可以得到对应的多个IP地址,其中,一个IP地址对应一个存储服务器,则客户端将从多个IP地址中确定出与客户端最近的一个IP地址;从这个IP地址对应的存储服务器上获取CDN的URL对应的文件,这个下载过程较为复杂,影响了文件的下载效率。
发明内容
本申请实施例提供一种文件下载方法、服务器、客户端和存储介质,提高了文件下载的效率。
本申请的技术方案是这样实现的:
本申请实施例提供了一种文件下载方法,应用于服务器,所述方法包括:
接收来自客户端的下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;响应于所述下载查询请求,基于预设的网络地址与定位标识的对应关系和所述标识信息,确定所述下载定位标识和所述下载网络地址;所述下载定位标识中包含所述标识信息;将所述下载网络地址和所述下载定位标识发送给所述客户端,以供客户端从所述下载网络地址对应的存储服务器中获取所述下载定位标识对应的所述待下载文件。
本申请实施例提供了一种文件下载方法,应用于客户端,所述方法包括:
向服务器发送下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;接收所述服务器返回的所述下载网络地址和所述下载定位标识;所述下载网络地址和所述下载定位标识是基于预设的网络地址与定位标识的对应关系和所述标识信息确定的;所述下载定位标识中包含所述标识信息;基于所述下载网络地址和所述下载定位标识,获取所述待下载文件。
本申请实施例提供了一种服务器,所述服务器包括:
第一接收模块,用于接收来自客户端的下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;
确定模块,用于响应于所述下载查询请求,基于预设的网络地址与定位标识的对应关系和所述标识信息,确定所述下载定位标识和所述下载网络地址;所述下载定位标识中包含所述标识信息;
第一发送模块,用于将所述下载网络地址和所述下载定位标识发送给所述客户端,以供客户端从所述下载网络地址对应的存储服务器中获取所述下载定位标识对应的所述待下载文件。
本申请实施例提供了一种客户端,所述客户端包括:
第二发送模块,用于向服务器发送下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;
第二接收模块,用于接收所述服务器返回的所述下载网络地址和所述下载定位标识;所述下载网络地址和所述下载定位标识是基于预设的网络地址与定位标识的对应关系和所述标识信息确定的;所述下载定位标识中包含所述标识信息;
获取模块,用于基于所述下载网络地址和所述下载定位标识,获取所述待下载文件。
本申请实施例提供了一种服务器,所述服务器包括:第一处理器和用于存储能够在第一处理器上运行的计算机程序的第一存储器;其中,所述第一处理器用于运行所述计算机程序时,执行上述服务器侧的文件下载方法的步骤。
本申请实施例提供了一种客户端,所述客户端包括:第二处理器和用于存储能够在第二处理器上运行的计算机程序的第二存储器;其中,所述第二处理器用于运行所述计算机程序时,执行上述客户端侧的文件下载方法的步骤。
本申请实施例提供了一种存储介质,所述存储介质存储有一个或多个计算机程序,所述一个或多个计算机程序可被第一处理器执行,以实现上述服务器侧文件下载方法的步骤;或者,
所述一个或多个计算机程序可被第二处理器执行,以实现上述客户端侧文件下载方法的步骤。
本申请实施例所提供的一种文件下载方法、服务器、客户端和存储介质,服务器接收来自客户端的下载查询请求;下载查询请求中携带有待下载文件的标识信息;下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;下载网络地址对应的存储服务器中存储有待下载文件;下载定位标识用于表征待下载文件在存储服务器中的存储位置;响应于下载查询请求,基于预设的网络地址与定位标识的对应关系和标识信息,确定下载定位标识和下载网络地址;下载定位标识中包含标识信息;将下载网络地址和下载定位标识发送给客户端,以供客户端从下载网络地址对应的存储服务器中获取下载定位标识对应的待下载文件;也就是说,服务器在接收到客户端的下载查询请求后,可以基于预设的网络地址与定位标识的对应关系和下载查询请求中的标识信息,直接确定下载网络地址以及对应的下载定位标识,将下载网络地址和下载定位标识发送给客户端,使客户端可以直接向下载网络地址对应的存储服务器获取下载定位标识对应的待下载文件,简化了下载流程,提高了文件下载效率。
附图说明
图1为本申请实施例提供的一种文件下载的系统结构示意图一;
图2为本申请实施例提供的一种下载应用程序的过程流程示意图一;
图3为本申请实施例提供的一种域名解析过程示意图;
图4为本申请实施例提供的一种文件下载系统结构示意图二;
图5为本申请实施例提供的一种服务器的结构示意图;
图6为本申请实施例提供的一种客户端的结构示意图;
图7为本申请实施例提供的一种文件下载方法流程示意图一;
图8为本申请实施例提供的一种文件下载方法流程示意图二;
图9为本申请实施例提供的一种文件下载方法流程示意图三;
图10为本申请实施例提供的一种文件下载方法流程示意图四;
图11为本申请实施例提供的一种文件下载方法流程示意图五;
图12为本申请实施例提供的一种客户端、服务器和存储服务器之间的交互过程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
(1)国际互联协议IP地址:互联网中的设备标识;一个IP对应互联网中的一个主机,例如:192.168.1.3,通过IP地址可以构成一个对应的网址,从而确定互联网中对应的设备中的
(2)统一资源定位符URL:互联网上指定资源位置的表示方法。通常包括传输协议、域名、目录和文件名。例如:“http://www.myhost.com/files/001”;用于定位到互联网中的一个设备在files目录下的文件001。其中,http为超文本传输协议;www.myhost.com为域名;files为目录;每个域名对应一个IP地址,每个IP地址对应互联网中的一个设备。
(3)内容分发网络CDN:构建在互联网基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
目前,用户通过客户端下载文件,需要客户端依次通过与业务服务器、文件管理服务器的交互,确定文件的URL和目标存储服务器的IP地址,最后由客户端从目标存储服务器中获取URL对应的文件。
图1给出了文件下载的系统结构示意图,如图1所示,文件下载系统10包括:客户端40、业务服务器20、文件管理服务器50和存储服务器60;客户端40通过网络30与业务服务器20、文件管理服务器50以及存储服务器60连接;其中,客户端40用于接收用户触发的下载文件指令;业务服务器20为与客户端40建立连接的服务器,业务服务器20与客户端40一一对应;客户端40通过业务服务器20进行业务处理;业务服务器20中保存有所有文件的固定URL,每个文件的固定URL对应该文件的文件管理服务器50;文件管理服务器用于管理文件的URL;文件的URL用于表征该文件的存储位置;存储服务器60为实际存储文件的存储设备。
示例性的,客户端为手机客户端,图2给出了下载应用程序001的过程示意图;如图2所示,当用户需要下载001时,在手机上打开应用宝的当前显示界面,则手机对应的业务服务器20获取当前显示界面的所有应用程序对应的URL,向客户端40返回这些URL,用户在当前界面点击应用程序001触发对001的下载,客户端40从业务服务器20返回的URL中选取001对应的URL作为第一URL;之后,客户端40对第一URL进行域名解析,得到对应的第一IP地址,第一IP地址对应的主机为一个文件管理服务器50;然后,客户端40将与文件管理服务器50建立传输控制协议(Transmission Control Protocol,TCP)连接;之后,客户端40对第一请求加密,通过TCP连接将第一请求发送至该文件管理服务器50,请求001的实际下载的URL。文件管理服务器50接收到第一请求后,对第一请求解密,基于第一请求,向客户端40返回第二URL,第二URL为应用程序001的URL;客户端40在接收到第二URL后,对第二URL进行域名解析,得到至少一个第二IP地址;至少一个第二IP地址与至少一个存储服务器60一一对应;至少一个存储服务器为CDN中的一个节点服务器;客户端从40至少一个第二IP地址中选择一个下载IP地址,并与下载IP地址对应的存储服务器60-1建立TCP连接,之后,对第二请求加密,将第二请求发送至该存储服务器60-1,请求下载001;该存储服务器60-1接收到第二请求后,对第二请求解密,向客户端40发送应用程序001。
其中,域名解析通常是通过本地DNS服务来进行的。如图3所示,客户端需要对域名解析时,需要向本地域名服务器发送域名查询请求,由本地域名服务器先查自己的缓存,如果自己的缓存中能够查询到域名对应的IP地址,则向本地域名服务器返回查询结果;否则,本地域名服务器向根服务器、顶级域名服务器、下一级服务器逐级查询,如果在某一级服务器查询到结果,则按照服务器的查询顺序将结果依次返回值本地域名服务器;否则,继续向下一级服务器查询。本地域名服务器接收到查询结果后,将查询结果返回给客户端。
需要说明的是,客户端下载应用程序001的过程较为复杂,需要依次与业务服务器、文件管理服务器和CDN服务器进行交互,才能最终获取001的下载数据;其中,客户端与文件管理服务器以及CDN服务器之间的交互过程,均包括4个过程:域名解析过程、TCP连接建立过程、加密过程和发送请求过程;域名解析过程需要2个往返延时(Round-Trip Time,RTT),TCP连接建立过程需要1个RTT,加密过程需要2个RTT,发送请求过程需要1个RTT;也就是说,文件下载过程中,仅客户端与文件管理服务器以及CDN服务器之间的交互过程,就需要10个RTT,影响下载效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供一种文件下载方法、服务器、客户端和存储介质,能够提高文件下载效率,下面说明本申请实施例提供的服务器的示例性应用,本申请实施例提供的服务器可以实施为独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。客户端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。客户端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
参见图4,图4是本申请实施例提供的文件下载系统100的一个可选的架构示意图,文件下载系统中包括服务器、客户端和存储服务器;为实现支撑一个文件下载应用,客户端400通过网络300连接服务器200和存储服务器600,网络300可以是广域网或者局域网,又或者是二者的组合。
服务器200用于接收来自客户端的下载查询请求;下载查询请求中携带有待下载文件的标识信息;响应于下载查询请求,基于预设的网络地址与定位标识的对应关系和标识信息,确定待下载文件的下载定位标识和下载网络地址;将下载网络地址和下载定位标识发送给客户端400;客户端基于显示界面410-1接收用户触发的下载指令,基于下载指令,客户端400向服务器200发送下载查询请求;接收服务器200返回的下载网络地址和下载定位标识;向存储服务器600中与下载网络地址对应的存储服务器获取下载定位标识对应的待下载文件。
需要说明的是,存储服务器600包括多个存储服务器,下载网络地址对应的存储服务器为客户端实际下载待下载文件的存储服务器。
在本申请实施例中,客户端400可以实施为带有图像采集设备的笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端。
参见图5,图5是本申请实施例提供的服务器200的结构示意图,图5所示的服务器200包括:至少一个第一处理器210、第一存储器250、至少一个第一网络接口220和用户接口230。服务器200中的各个组件通过第一总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统240。
第一处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230还包括一个或多个第一输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第一存储器250可选地包括在物理位置上远离第一处理器210的一个或多个存储设备。
第一存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的第一存储器250旨在包括任意适合类型的存储器。
在一些实施例中,第一存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块252,用于经由一个或多个(有线或无线)第一网络接口220到达其他计算设备,示例性的第一网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
第一呈现模块253,用于经由一个或多个与第一用户接口230相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块254,用于对一个或多个来自一个或多个第一输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图4示出了存储在第一存储器250中的第一文件下载装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一接收模块2551、确定模块2552和第一发送模块2553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
参见图6,图6是本申请实施例提供的客户端400的结构示意图,图6所示的客户端400包括:至少一个第二处理器410、第二存储器450、至少一个第二网络接口420和第二用户接口430。客户端400中的各个组件通过第二总线系统440耦合在一起。可理解,第二总线系统440用于实现这些组件之间的连接通信。第二总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为第二总线系统440。
第二处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第二用户接口430包括使得能够呈现媒体内容的一个或多个第二输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。第二用户接口430还包括一个或多个第二输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第二存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第二存储器450可选地包括在物理位置上远离第二处理器410的一个或多个存储设备。
第二存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的第二存储器450旨在包括任意适合类型的存储器。
在一些实施例中,第二存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第二操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第二网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的第二网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
第二呈现模块453,用于经由一个或多个与第二用户接口430相关联的第二输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第二输入处理模块454,用于对一个或多个来自一个或多个第二输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图5示出了存储在第二存储器450中的第二文件下载装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第二发送模块4551、第二接收模块4552和获取模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的第一文件下载装置和第二文件下载装置可以采用硬件方式实现,作为示例,本申请实施例提供的第一文件下载装置和第二文件下载装置装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的图像处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述系统结构,本申请实施例提供一种文件下载方法,如图7所示,应用于服务器,该方法包括:
S101、接收来自客户端的下载查询请求;下载查询请求中携带有待下载文件的标识信息;下载查询请求用于请求查询待下载文件;下载网络地址对应的存储服务器中存储有待下载文件;下载定位标识用于表征待下载文件在存储服务器中的存储位置;
在本申请实施例中,服务器为与客户端对应的业务服务器;服务器可以接收到来自客户端的下载查询请求,下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识。
需要说明的是,下载查询请求中携带有待下载文件的标识信息;这样,服务器接收到下载查询请求后,可以获知待下载文件是什么文件,进而确定待下载文件的下载网络地址和下载定位标识。
在本申请实施例中,下载网络地址对应网络中的一个存储服务器,该存储服务器上存储有待下载文件。
需要说明的是,待下载文件可以在多个存储服务器上存储,下载网络地址对应的存储服务器是这些存储服务器中的其中一个。
在本申请实施例中,一个网络地址对应一个存储服务器;下载网络地址是这些网络地址中的其中一个。
在本申请实施例中,客户端在确定下载网络地址后,相当于确定了从哪个存储服务器上下载待下载文件;而一个存储服务器上可能存储有多个文件,一个文件对应一个定位标识;定位标识用于表征文件在对应的存储服务器上的存储位置;因此,客户端需要根据下载网络地址和下载定位标识,才能获取待下载文件。
在本申请实施例中,定位标识可以包括文件在对应的服务器上的存储路径以及文件的标识信息;通过存储路径和标识信息定位文件。
在本申请的一些实施例中,下载网络地址可以为IP地址;下载定位标识可以为URL。
S102、响应于下载查询请求,基于预设的网络地址与定位标识的对应关系和待下载文件的标识信息,确定下载定位标识和下载网络地址;下载定位标识中包含标识信息;
在本申请实施例中,服务器中保存有网络地址和定位标识的对应关系;其中,网络地址包括所有文件的网络地址;定位标识包括所有文件的定位标识。
需要说明的是,定位标识中包含文件的标识信息;服务器接收到来自客户端的下载查询请求后,可以获取到待下载文件的标识信息,这样,服务器可以根据预设的网络地址和定位标识的对应关系以及待下载文件的标识信息,确认待下载文件的下载定位标识和下载网络地址。
其中,网络地址和定位标识的对应关系,可以为根据实际的网络地址和定位标识的对应关系获取到的可更新的对应关系;例如,服务器可以在感知到实际对应关系发生变化时进行更新,也可以按照预设的周期进行更新;对此,本申请实施例不作限制。
在本申请实施例中,待下载文件可以在至少一个存储服务器上存储,因此,服务器可以先根据待下载文件的标识信息确定出待下载文件的标识信息对应的至少一个定位标识,作为待下载文件的定位标识;再根据预设的网络地址和定位标识的对应关系,确定与待下载文件的定位标识中至少一个定位标识对应的至少一个网络地址,作为待下载文件的网络地址;最后,从待下载文件的定位标识和待下载文件的网络地址中,确定出下载定位标识和下载网络地址。
在本申请的一些实施例中,服务器可以从待下载文件的定位标识中,确定出下载定位标识,再从待下载文件的网络地址中确定出与下载定位标识对应的下载网络地址。
在本申请的一些实施例中,服务器可以从待下载文件的网络地址中,确定出下载网络地址,再从待下载文件的定位标识中确定出与下载网络地址对应的下载定位标识。
在本申请实施例中,下载网络地址可以是待下载文件的网络地址中的任意一个;也可以是与客户端的网络地址距离最近的待下载文件的网络地址;还可以是待下载文件的网络地址对应的存储服务器中,负载最小存储服务器对应的网络地址;下载定位标识与下载网络地址对应;对于下载网络地址,可以根据需要设置,本申请实施例不作限制。
S103、将下载网络地址和下载定位标识发送给客户端,以供客户端从下载网络地址对应的存储服务器中获取下载定位标识对应的待下载文件。
在本申请实施例中,服务器在确定了下载网络地址和对应的下载定位标识后,将下载网络地址和下载定位标识发送给客户端,这样,客户端可以基于下载网络地址和下载定位标识,获取待下载文件。
在本申请实施例中,下载网络地址对应的存储服务器中存储有待下载文件,待下载文件为该存储服务器中与下载定位标识对应的待下载文件。
可以理解的是,服务器在接收到客户端的下载查询请求后,可以基于预设的网络地址与定位标识的对应关系直接确定下载网络地址以及对应的下载定位标识,将下载网络地址和下载定位标识发送给客户端,使客户端可以直接向下载网络地址对应的存储服务器获取下载定位标识对应的待下载文件,简化了下载流程,提高了文件下载效率。
在本申请的一些实施例中,下载查询请求还携带有客户端的属性;S102中基于预设的网络地址与定位标识的对应关系和待下载文件的标识信息,确定待下载文件的下载定位标识和下载网络地址的实现,如图8所示,可以包括:S201-S205。
S201、获取待下载文件的标识信息对应的至少一个定位标识;
在本申请实施例中,至少一个定位标识为包含待下载文件的标识信息的定位标识;至少一个第一定位标识对应待下载文件的全部存储位置。
需要说明的是,待下载文件可以在至少一个存储服务器上存储,其中,每个存储服务器上可以存储一个待下载文件;因此,服务器可以根据待下载文件的标识信息,从所有文件的定位标识中,获取至少一个定位标识。
S202、根据预设的网络地址与定位标识的对应关系,确定与至少一个定位标识对应的至少一个网络地址;
在本申请实施例中,服务器在确定至少一个定位标识后,可以根据预设的网络地址与定位标识的对应关系,从所有文件的网络地址中确定出与至少一个定位标识对应的至少一个网络地址;其中,至少一个网络地址对应存储有待下载文件的全部存储服务器。
S203、基于所述客户端的属性,从所述至少一个网络地址中确定至少一个候选下载网络地址;
在本申请实施例中,服务器在确定了至少一个网络地址后,可以根据客户端的属性,从至少一个网络地址中确定出至少一个候选下载地址。
在本申请实施例中,客户端的属性可以包括以下至少之一:客户端的网络地址、客户端的网络运营商信息、客户端的地区版本等;对此,本申请实施例不作限制。
在本申请的一些实施例中,客户端的属性可以包括客户端的网络地址;服务器可以根据网络地址确定客户端所属的地理区域,以及至少一个网络地址所属的地理区域,将至少一个网络地址中,与客户端所属的地理区域相同的网络地址,作为候选下载网络地址,得到至少一个候选下载网络地址。
在本申请的一些实施例中,客户端的属性可以包括客户端的地区版本;服务器可以根据客户端的地区版本确定客户端所属的地区,以及至少一个网络地址所属的地区,将与客户端所属的地区相同的网络地址,作为候选下载网络地址,得到至少一个候选下载网络地址。
在本申请实施例中,手机的地区版本可以通过版本信息来表示;服务器可以根据手机的版本信息来确定手机所属的地区。
示例性的,版本信息为CH/A表示手机为国行版本,地区为中国地区;版本信息为ZP/A表示手机为香港版本,地区为香港地区;KH/A表示手机为航过版本,地区为韩国地区。
在本申请的一些实施例中,客户端的属性包括客户端的网络地址;至少一个候选下载网络地址包括至少一个第一候选下载网络地址;S202中基于客户端的属性,从至少一个网络地址中确定至少一个候选下载网络地址的实现,如图9所示,可以包括:S301-S303。
S301、确定客户端的网络地址和至少一个网络地址之间的至少一个网络距离;
在本申请实施例中,服务器可以根据客户端的网络地址和至少一个网络地址,确定出客户端网络地址和每个网络地址之间的网络距离,得到至少一个网络距离。
S302、对至少一个网络距离进行排序,从最小网络距离开始选择预设数量个网络距离;
在本申请实施例中,在得到至少一个网络距离后,服务器可以将至少一个网络距离进行排序,从最小网络距离开始选择预设数量个网络距离。
在本申请实施例中,服务器对至少一个网络距离排序,可以是从小到大排序,也可以是从大到小排序,对此,本申请实施例不作限制。
S303、将预设数量个网络距离对应的网络地址确定为至少一个第一候选下载网络地址。
在本申请实施例中,服务器可以将预设数量个网络距离对应的预设数量个网络地址,作为至少一个第一候选地址。
在本申请实施例中,服务器可以将至少一个第一候选下载网络地址作为至少一个候选下载网络地址;也可以基于至少一个第一候选下载网络地址确定至少一个候选下载网络地址,对此,本申请实施例不作限制。
示例性的,至少一个网络地址包括网络地址1、网络地址2、网络地址3、网络地址4和网络地址5;其中,客户端的网络地址和网络地址1之间的网络距离为3km,客户端的网络地址和网络地址2之间的网络距离为1km,客户端的网络地址和网络地址3之间的网络距离为10km,客户端的网络地址和网络地址4之间的网络距离为11km,客户端的网络地址和网络地址5之间的网络距离为5km;服务器可以得到与第一网络地址对应的5个网络距离;对这5个网络距离进行排序后得到:1km,3km,5km,10km,11km,若预设数量为3,则可以得到候选网络距离为1km、3km和5km;由此得到第一候选下载网络地址为网络地址1、2和5。
可以理解的是,服务器可以根据客户端的网络地址和至少一个网络地址之间的至少一个网络距离,从至少一个网络地址中确定与客户端之间的网络距离较小的网络地址作为候选下载网络地址,这样,基于候选下载网络地址确定出的下载网络地址与客户端之间的网络距离近,客户端从距离近的网络地址对应的存储服务器中下载待下载文件,下载时间短,下载效率高。
在本申请的一些实施例中,客户端的属性包括客户端的运营商信息;至少一个候选下载网络地址包括至少一个第二候选下载网络地址;S202中基于客户端的属性,从至少一个网络地址中确定至少一个候选下载网络地址的实现,如图10所示,可以包括:S401-S402。
S401、获取至少一个网络地址对应的运营商信息;至少一个网络地址对应的运营商信息表征至少一个网络地址对应的至少一个存储服务器提供存储服务的运营商类别;
在本申请实施例中,每个存储服务器有对应的运营商信息,即存储服务器可以针对某个运营商提供存储服务;这样,服务器可以获取至少一个网络地址中每个网络地址对应的运营商信息;其中,每个网络地址的运营商信息用于表征每个网络地址对应的存储服务器的存储服务所针对的运营商类别。
S402、从至少一个网络地址中,确定至少一个第二候选下载地址;第二候选下载地址为与客户端的运营商信息相同的网络地址。
在本申请实施例中,服务器可以从至少一个网络地址中,将与客户端的运营商信息相同的网络地址,确定为第二候选下载地址;得到至少一个第二候选下载地址。
示例性的,至少一个网络地址包括网络地址1、网络地址2和网络地址3;其中,网络地址1针对运营商1提供服务;网络地址2针对运营商2提供服务;网络地址3针对运营商3提供服务;如果客户端的运营商信息为运营商2;则确定第二候选下载地址为网络地址2。
在本申请实施例中,服务器可以将至少一个第二候选下载网络地址作为至少一个候选下载网络地址;也可以基于至少一个第二候选下载网络地址确定至少一个候选下载网络地址,对此,本申请实施例不作限制。
可以理解的是,服务器确定出的候选下载网络地址的运营商信息与客户端的运营商信息相同,则客户端和下载网络地址的运营商信息相同,这样,基于候选下载网络地址确定的下载网络地址对应的存储服务器是针对客户端的运营商提供服务的存储器,可以使客户端的下载效率更高。
在本申请的一些实施例中,客户端的属性包括客户端的网络地址和客户端的运营商信息,则服务器可以将至少一个第一候选下载网络地址与至少一个第二候选下载网络地址共有的网络地址作为至少一个候选下载网络地址。
S204、从至少一个候选下载网络地址中确定下载网络地址;
在本申请实施例中,服务器确定出至少一个候选下载网络地址后,可以从至少一个候选下载网络地址中确定出下载网络地址。
在本申请的一些实施例中,服务器可以将至少一个候选下载网络地址中的任意一个作为下载网络地址。
在本申请的一些实施例中,服务器可以获取至少一个候选下载网络地址对应的至少一个存储服务器的至少一个负载;从至少一个候选下载网络地址中,选择至少一个负载中最小负载对应的网络地址,作为下载网络地址。
在本申请实施例中,服务器在得到至少一个候选下载网络地址后,可以获取至少一个候选下载网络地址中每个网络地址对应的存储服务器的负载,得到至少一个负载;从至少一个负载中选择负载最小的存储服务器的网络地址作为下载网络地址。
S205、基于下载网络地址,从至少一个定位标识中确定下载定位标识。
在本申请实施例中,服务器在确定出下载网络地址后,可以根据预设的网络地址和定位标识的对应关系,从至少一个定位标识中确定出与下载网络地址对应的定位标识,作为下载定位标识。
可以理解的是,服务器在确定至少一个候选下载网络地址后,可以从中选择出负载最小的存储服务器对应的网络地址作为下载网络地址;这样,客户端可以从负载小的存储服务器中下载待下载文件,以获得更高的下载效率。
基于上述系统结构,本申请实施例提供一种文件下载方法,如图11所示,应用于客户端,该方法包括:S501-S503。
S501、向服务器发送下载查询请求;下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;下载网络地址对应的存储服务器中存储有待下载文件;下载定位标识用于表征待下载文件在存储服务器中的存储位置;
在本申请实施例中,客户端需要下载待下载文件时,可以向服务器发送下载查询请求,通过下载查询请求来向服务器获取待下载文件的下载网络地址和下载定位标识。
在本申请实施例中,下载查询请求中携带有待下载文件的标识信息,使服务器可以通过待下载文件的标识信息确定待下载文件。
S502、接收服务器返回的下载网络地址和下载定位标识;下载网络地址和下载定位标识是基于预设的网络地址与定位标识的对应关系和标识信息确定的;下载定位标识中包含标识信息;
在本申请实施例中,客户端向服务器发送下载查询请求后,可以接收到服务器返回的下载网络地址和下载定位标识;
其中,下载网络地址和下载定位标识是由服务器根据预设的网络地址与定位标识的对应关系和待下载文件的标识信息确定出的。
在本申请实施例中,定位标识中包含有文件的标识信息,使服务器可以从所有定位标识中确定出下载定位标识和对应的下载网络地址,详见S102,在此不再赘述。
S503、基于下载网络地址和下载定位标识,获取待下载文件;
在本申请实施例中,客户端接收到下载网络地址和下载定位标识后,可以基于下载网络地址和下载定位标识,获取待下载文件。
需要说明的是,客户端需要从下载网络地址对应的存储服务器中获取待下载文件;由于下载网络地址对应的存储服务器中可能存储有多个文件,客户端需要获取下载定位标识对应的文件,即为待下载文件。
可以理解的是,客户端需要下载待下载文件时,可以向服务器发送下载查询请求,这样,就可以接收到服务器返回的待下载文件的下载网络地址和下载定位标识,使客户端可以直接向下载网络地址对应的存储服务器获取下载定位标识对应的待下载文件,简化了下载流程,提高了文件下载效率。
在本申请的一些实施例中,下载查询请求中还携带有客户端的属性;下载网络地址和下载定位标识是根据预设的网络地址与定位标识的对应关系、待下载文件的标识信息和客户端的属性确定的。
在本申请实施例中,客户端发送的下载查询请求中携带有待下载文件的标识信息和客户端的属性,使服务器可以根据待下载文件的标识信息、客户端的属性以及预设的网络地址与定位标识的对应关系来确定下载网络地址和下载定位标识,详见S201-S205,在此不再赘述。
在本申请的一些实施例中,S501中向服务器发送下载查询请求之前的实现,可以包括:S601-S603。
S601、接收对待下载文件的下载指令;
在本申请实施例中,客户端可以接收到用于对待下载文件的下载指令;下载指令可以是用户在客户端上触发的。
示例性的,用户在手机应用宝程序中,点击程序1的下载图标,触发对程序1进行下载,则客户端接收到对程序1的下载指令。
S602、基于下载指令,获取待下载文件的标识信息和客户端的属性;
在本申请实施例中,客户端接收到待下载文件的下载指令后,获取待下载文件的标识信息和客户端的属性,基于标识信息和客户端的属性,识别待下载文件是什么文件,以及从众多存储服务器中确定下载待下载文件的存储服务器。
其中,待下载文件的标识信息以及客户端的属性如S201中的描述,在此,不再赘述。
S603、基于待下载文件的标识信息和客户端的属性,生成下载查询请求。
在本申请实施例中,客户端在获取待下载文件的标识信息和客户端的属性后,可以生成下载查询请求,将待下载文件的标识信息和客户端的属性携带在下载查询请求中。
在本申请的一些实施例中,S503中基于下载网络地址和下载定位标识,获取待下载文件的实现,可以包括:S701-S703。
S701、基于下载定位标识生成文件下载请求;文件下载请求携带有下载定位标识;
S702、向下载网络地址对应的存储服务器发送文件下载请求;
在本申请实施例中,客户端接收到服务器返回的下载网络地址和下载定位标识后,可以将下载定位标识携带在文件下载请求中,将文件下载请求发送到下载网络地址对应的存储服务器。
S703、接收存储服务器基于文件下载请求返回的与下载定位标识对应的待下载文件。
在本申请实施例中,客户端发出文件下载请求后,可以接收到下载网络地址对应的存储服务器返回的待下载文件;待下载文件为存储服务器中与下载定位标识对应的文件。
可以理解的是,客户端接收到下载网络地址和下载定位标识后,可以直接确定下载待下载文件的存储服务器的网络地址,以及待下载文件在该存储服务器上的定位标识;进而从下载网络地址获取下载定位标识对应的待下载文件。
在本申请的一些实施例中,文件下载请求中还携带有下载密钥;S703中接收存储服务器返回的与下载定位标识对应的待下载文件的实现,可以包括:S801-S803。
S801、接收存储服务器返回的验证信息;验证信息是存储服务器根据下载密钥确定的;
在本申请实施例中,客户端向下载网络地址对应的存储服务器发送的文件下载请求中,还携带有下载秘钥;如此,存储服务器可以将基于下载秘钥返回验证信息。
在本申请实施例中,下载秘钥是客户端随机生成的,验证信息是存储服务器按照预设的算法,根据下载秘钥计算得到的;也就是说,验证信息也是随机的。
需要说明的是,存储服务器是需要客户端的认证的,对于认证过的存储服务器,预设的算法是确定的。
在本申请实施例中,预设的算法可以为Ron Rivest、Adi Shamir和LeonardAdleman提出的RSA算法、也可以为数字签名算法(Digital Signature Algorithm,DSA),还可以为椭圆曲线签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)等,对于预设的算法可以根据需要设置,对此,本申请实施例不作限制。
S802、基于下载密钥,确定标准验证信息;
S803、若验证信息与标准验证信息相同,则获取待下载文件。
在本申请实施例中,客户端保存有预设的算法,可以按照预设的算法,根据下载秘钥计算得到标准验证信息。
需要说明的是,如果存储服务器是客户端认证过的,则客户端中保存的预设的算法与存储服务器中预设的算法一致,因此,在客户端向存储服务器按发送下载秘钥后,客户端计算的标准验证信息应该与存储服务器返回的验证信息一致;也就是说,客户端如果判断验证信息与标准验证信息相同,则表征存储服务器通过验证,客户端可以从该存储服务器中获取待下载文件。
可以理解的是,客户端在文件下载请求中携带下载秘钥,可以根据存储服务器返回的验证信息来验证存储服务器,在验证通过时才向存储服务器获取待下载文件,保障了安全性的同时,由于减少了客户端对文件下载请求的加密操作,从而提高了文件下载的效率。
本申请实施例提供一种客户端、服务器和存储服务器之间的交互过程示意图,如图12所示,该方法可以包括:S1101-S1109。
S1101、客户端接收待下载文件的下载指令;
S1102、客户端基于下载指令,获取待下载文件的标识信息和客户端的属性;客户端的属性包括客户端的网络地址和客户端的运营商信息;
S1103、客户端基于待下载文件的标识信息和客户端的属性,生成下载查询请求;下载查询请求中携带有待下载文件的标识信息和客户端的属性;
S1104、客户端向服务器发送下载查询请求;
S1105、服务器响应下载查询请求,获取与待下载文件的标识信息对应的至少一个定位标识;
S1106、服务器基于预设的网络地址与定位标识的对应关系,确定与至少一个定位标识对应的至少一个网络地址;
S1107、服务器基于客户端的网络地址,从至少一个网络地址中确定至少一个第一候选下载网络地址;
S1108、服务器基于客户端的运营商,从至少一个网络地址中确定至少一个第二候选下载网络地址;
S1109、服务器将至少一个第一候选下载网络地址和至少一个第二候选下载网络地址的共有网络地址确定为候选下载地址,得到至少一个候选下载地址;
S1110、服务器获取至少一个候选下载网络地址对应的至少一个存储服务器的至少一个负载;
S1111、服务器从至少一个候选下载网络地址中,选择最小负载对应的网络地址,作为下载网络地址;
S1112、服务器基于下载网络地址,从至少一个定位标识中确定下载定位标识;
S1113、服务器将下载网络地址和下载定位标识发送给客户端;
S1114、客户端基于下载定位标识生成文件下载请求;文件下载请求携带有下载定位标识;
S1115、客户端向下载网络地址对应的存储服务器发送文件下载请求;文件下载请求中携带有下载秘钥;
S1116、存储服务器根据下载密钥,确定验证信息;
S1117、存储服务器向客户端发送验证信息;
S1118、客户端基于下载秘钥,确定标准验证信息;
S1119、客户端在验证信息与所述标准验证信息相同的情况下,获取下载定位标识对应的待下载文件。
在本申请实施例中,客户端接收到用户的下载指令后,向服务器发送下载查询请求,下载查询请求中携带有待下载文件的标识信息、客户端的网络地址和客户端的运营商信息;服务器根据待下载文件的标识信息和预设的网络地址和定位标识的对应关系,确定出第一定位标识和对应的第一网络地址后,可以根据客户端的网络地址和客户端的运营商信息,从第一网络地址中确定出候选下载网络地址;从候选下载网络地址中,选取负载最小的网络地址作为下载网络地址,最后,从第一定位标识中,确定出与下载网络地址对应的下载定位标识;客户端在获取下载网络地址对应的下载定位标识后,可以向下载网络地址对应的存储服务器发送文件下载请求,并携带下载秘钥,根据存储服务器返回的验证信息对存储服务器进行验证,验证通过后,才从存储服务器中获取下载定位标识对应的待下载文件。
可以理解的是,客户端需要下载待下载文件时,可以直接向服务器请求获取下载网络地址和下载定位标识;减少了客户端与文件管理服务器交互过程的5个RTT,提高了下载效率;其中,下载网络地址对应的存储服务器是总和考虑的客户端的运营商信息、客户端和存储服务器之间的距离以及存储服务器的负载情况后,确定出的最优存储服务器,从最优存储服务器中获取下载定位标识对应的下载文件,提高了文件下载效率;同时,客户端通过在文件下载请求中携带下载秘钥对存储服务器进行验证,在保证安全性的同时,由于不必对文件下载请求进行加密操作,减少了2个RTT,进一步提高了文件下载效率。
下面继续说明本申请实施例提供的服务器实施为软件模块的示例性结构,在一些实施例中,如图5所示,存储在第一存储器250的第一文件下载装置255中的软件模块可以包括:第一接收模块2551、确定模块2552与第一发送模块2553,其中,
第一接收模块2551,用于接收来自客户端的下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;
确定模块2552,用于响应于所述下载查询请求,基于预设的网络地址与定位标识的对应关系和所述待下载文件的标识信息,确定所述待下载文件的所述下载定位标识和所述下载网络地址;所述下载定位标识中包含所述待下载文件的标识信息;
第一发送模块2553,用于将所述下载网络地址和所述下载定位标识发送给所述客户端,以供客户端从所述下载网络地址对应的存储服务器中获取所述下载定位标识对应的所述待下载文件。
在一些实施例中,所述下载查询请求还携带有所述客户端的属性;所述确定模块2552,还用于获取所述待下载文件的标识信息对应的至少一个定位标识;根据所述预设的网络地址与定位标识的对应关系,确定与所述至少一个定位标识对应的至少一个网络地址;基于所述客户端的属性,从所述至少一个网络地址中确定至少一个候选下载网络地址;从所述至少一个候选下载网络地址中确定所述下载网络地址;基于所述下载网络地址,从所述至少一个定位标识中确定所述下载定位标识。
在一些实施例中,所述客户端的属性包括所述客户端的网络地址;所述候选下载网络地址包括第一候选下载网络地址;所述确定模块2552,还用于确定所述客户端的网络地址和所述至少一个网络地址之间的至少一个网络距离;对所述至少一个网络距离进行排序,从最小网络距离开始选择预设数量个网络距离;将所述预设数量个网络距离对应的网络地址确定为所述至少一个第一候选下载网络地址。
在一些实施例中,所述客户端的属性包括所述客户端的运营商信息;所述候选下载网络地址包括第二候选下载网络地址;所述确定模块2552,还用于获取所述至少一个网络地址对应的运营商信息;所述至少一个网络地址对应的运营商信息表征所述至少一个网络地址对应的至少一个存储服务器提供存储服务的运营商类别;从所述至少一个网络地址中,确定所述至少一个第二候选下载地址;所述第二候选下载地址为与所述客户端的运营商信息相同的网络地址。
在一些实施例中,所述客户端的属性包括所述客户端的网络地址和所述客户端的运营商信息;所述至少一个候选下载网络地址包括:所述至少一个第一候选下载网络地址与所述至少一个第二候选下载网络地址共有的网络地址。
在一些实施例中,所述确定模块2552,还用于获取所述候选下载网络地址对应的存储服务器的负载;从所述候选下载网络地址中,选择最小负载对应的网络地址,作为所述下载网络地址。
下面继续说明本申请实施例提供的客户端实施为软件模块的示例性结构,在一些实施例中,如图6所示,存储在第二存储器450的第二文件下载装置455中的软件模块可以包括:第二发送模块4551、第二接收模块4552与获取模块4553,其中,
第二发送模块4551,用于向服务器发送下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;
第二接收模块4552,用于接收所述服务器返回的所述下载网络地址和所述下载定位标识;所述下载网络地址和所述下载定位标识是基于预设的网络地址与定位标识的对应关系和所述标识信息确定的;所述下载定位标识中包含所述标识信息;
获取模块4553,用于基于所述下载网络地址和所述下载定位标识,获取所述待下载文件。
在一些实施例中,所述下载查询请求中还携带有所述客户端的属性;所述下载网络地址和下载定位标识是根据所述预设的网络地址与定位标识的对应关系、所述标识信息和所述客户端的属性确定的。
在一些实施例中,所述第二文件下载装置455还包括获取模块和生成模块;所述第二接收模块4552,还用于接收对待下载文件的下载指令;所述获取模块,用于基于所述下载指令,获取所述待下载文件的标识信息和客户端的属性;所述生成模块,用于基于所述待下载文件的标识信息和所述客户端的属性,生成所述下载查询请求。
在一些实施例中,所述获取模块,还用于基于所述下载网络地址和所述下载定位标识生成文件下载请求;所述文件下载请求携带有所述下载定位标识;向所述下载网络地址对应的存储服务器发送所述文件下载请求;接收所述存储服务器基于所述文件下载请求返回的与所述下载定位标识对应的所述待下载文件。
在一些实施例中,所述文件下载请求中还携带有下载密钥;所述客户端455还包括确定模块;所述第二接收模块4552,还用于接收所述存储服务器返回的验证信息;所述验证信息是所述存储服务器根据所述下载密钥确定的;所述确定模块,用于基于所述下载密钥,确定标准验证信息;所述获取模块,还用于若所述验证信息与所述标准验证信息相同,则获取所述待下载文件。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkupLanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,服务器在接收到客户端的下载查询请求后,可以基于预设的网络地址与定位标识的对应关系和待下载文件的标识信息,确定出下载网络地址以及对应的下载定位标识,将下载网络地址和下载定位标识发送给客户端,使客户端可以直接向下载网络地址对应的存储服务器获取下载定位标识对应的待下载文件,简化了下载流程,提高了文件下载效率;并且,服务器可以根据客户端的网络地址,选择与客户端距离近的网络地址作为候选下载网络地址,以及根据客户端的运营商信息,选择与客户端的运营商信息相同的网络地址作为候选下载网络地址;减少了客户端获取待下载文件的时间,提高了文件下载效率;并且,服务器还可以在候选下载地址的基础上,选择负载小的网络地址作为下载网络地址,进而提升了文件下载效率;并且,客户端还可以通过向存储服务器发送下载密钥,来对存储服务器进行验证,保证了下载安全性的同时,减少了客户端加密的时间,进一步提高了文件下载效率。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (16)
1.一种文件下载方法,其特征在于,应用于服务器,包括:
接收来自客户端的下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;
响应于所述下载查询请求,基于预设的网络地址与定位标识的对应关系和所述待下载文件的标识信息,确定所述下载定位标识和所述下载网络地址;所述下载定位标识中包含所述待下载文件的标识信息;
将所述下载网络地址和所述下载定位标识发送给所述客户端,以供客户端从所述下载网络地址对应的存储服务器中获取所述下载定位标识对应的所述待下载文件。
2.根据权利要求1所述的方法,其特征在于,所述下载查询请求还携带有所述客户端的属性;所述基于预设的网络地址与定位标识的对应关系和所述待下载文件的标识信息,确定所述待下载文件的所述下载定位标识和所述下载网络地址,包括:
获取所述待下载文件的标识信息对应的至少一个定位标识;
根据所述预设的网络地址与定位标识的对应关系,确定与所述至少一个定位标识对应的至少一个网络地址;
基于所述客户端的属性,从所述至少一个网络地址中确定至少一个候选下载网络地址;
从所述至少一个候选下载网络地址中确定所述下载网络地址;
基于所述下载网络地址,从所述至少一个定位标识中确定所述下载定位标识。
3.根据权利要求2所述的方法,其特征在于,所述客户端的属性包括所述客户端的网络地址;所述至少一个候选下载网络地址包括至少一个第一候选下载网络地址;基于所述客户端的属性,从所述至少一个网络地址中确定至少一个候选下载网络地址,包括:
确定所述客户端的网络地址和所述至少一个网络地址之间的至少一个网络距离;
对所述至少一个网络距离进行排序,从最小网络距离开始选择预设数量个网络距离;
将所述预设数量个网络距离对应的网络地址确定为所述至少一个第一候选下载网络地址。
4.根据权利要求2所述的方法,其特征在于,所述客户端的属性包括所述客户端的运营商信息;所述至少一个候选下载网络地址包括至少一个第二候选下载网络地址;基于所述客户端的属性,从所述至少一个网络地址中确定至少一个候选下载网络地址,包括:
获取所述至少一个网络地址对应的运营商信息;所述至少一个网络地址对应的运营商信息表征所述至少一个网络地址对应的至少一个存储服务器提供存储服务的运营商类别;
从所述至少一个网络地址中,确定所述至少一个第二候选下载地址;所述第二候选下载地址为与所述客户端的运营商信息相同的网络地址。
5.根据权利要求3或4任一项所述的方法,其特征在于,所述客户端的属性包括所述客户端的网络地址和所述客户端的运营商信息;所述至少一个候选下载网络地址包括:所述至少一个第一候选下载网络地址与所述至少一个第二候选下载网络地址共有的网络地址。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述从所述至少一个候选下载网络地址中确定所述下载网络地址,包括:
获取所述至少一个候选下载网络地址对应的至少一个存储服务器的至少一个负载;
从所述至少一个候选下载网络地址中,选择至少一个负载中的最小负载对应的网络地址,作为所述下载网络地址。
7.一种文件下载方法,其特征在于,应用于客户端,包括:
向服务器发送下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;
接收所述服务器返回的所述下载网络地址和所述下载定位标识;所述下载网络地址和所述下载定位标识是基于预设的网络地址与定位标识的对应关系和所述标识信息确定的;所述下载定位标识中包含所述标识信息;
基于所述下载网络地址和所述下载定位标识,获取所述待下载文件。
8.根据权利要求7所述的方法,其特征在于,所述下载查询请求中还携带有所述客户端的属性;所述下载网络地址和下载定位标识是根据所述预设的网络地址与定位标识的对应关系、所述待下载文件的标识信息和所述客户端的属性确定的。
9.根据权利要求8所述的方法,其特征在于,所述向服务器发送下载查询请求之前,所述方法还包括:
接收对待下载文件的下载指令;
基于所述下载指令,获取所述待下载文件的标识信息和客户端的属性;
基于所述待下载文件的标识信息和所述客户端的属性,生成所述下载查询请求。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述基于所述下载网络地址和所述下载定位标识,获取所述待下载文件,包括:
基于所述下载定位标识生成文件下载请求;所述文件下载请求携带有所述下载定位标识;
向所述下载网络地址对应的存储服务器发送所述文件下载请求;
接收所述存储服务器基于所述文件下载请求返回的与所述下载定位标识对应的所述待下载文件。
11.根据权利要求10所述的方法,其特征在于,所述文件下载请求中还携带有下载密钥;所述向所述存储服务器发送所述文件下载请求之后,所述方法还包括:
接收所述存储服务器返回的验证信息;所述验证信息是所述存储服务器根据所述下载密钥确定的;
基于所述下载密钥,确定标准验证信息;
若所述验证信息与所述标准验证信息相同,则获取所述待下载文件。
12.一种服务器,其特征在于,包括:
第一接收模块,用于接收来自客户端的下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;
确定模块,用于响应于所述下载查询请求,基于预设的网络地址与定位标识的对应关系和所述标识信息,确定所述下载定位标识和所述下载网络地址;所述下载定位标识中包含所述标识信息;
第一发送模块,用于将所述下载网络地址和所述下载定位标识发送给所述客户端,以供客户端从所述下载网络地址对应的存储服务器中获取所述下载定位标识对应的所述待下载文件。
13.一种客户端,其特征在于,包括:
第二发送模块,用于向服务器发送下载查询请求;所述下载查询请求中携带有待下载文件的标识信息;所述下载查询请求用于请求查询待下载文件的下载网络地址和下载定位标识;所述下载网络地址对应的存储服务器中存储有所述待下载文件;所述下载定位标识用于表征所述待下载文件在所述存储服务器中的存储位置;
第二接收模块,用于接收所述服务器返回的所述下载网络地址和所述下载定位标识;所述下载网络地址和所述下载定位标识是基于预设的网络地址与定位标识的对应关系和所述标识信息确定的;所述下载定位标识中包含所述标识信息;
获取模块,用于基于所述下载网络地址和所述下载定位标识,获取所述待下载文件。
14.一种服务器,其特征在于,所述服务器包括:第一处理器和用于存储能够在第一处理器上运行的计算机程序的第一存储器;
其中,所述第一处理器用于运行所述计算机程序时,执行权利要求1-6任一项所述方法的步骤。
15.一种客户端,其特征在于,所述客户端包括:第二处理器和用于存储能够在第二处理器上运行的计算机程序的第二存储器;
其中,所述第二处理器用于运行所述计算机程序时,执行权利要求7-11任一项所述方法的步骤。
16.一种存储介质,其特征在于,存储有一个或多个计算机程序,所述一个或多个计算机程序可被第一处理器执行,以实现权利要求1-6任一项所述方法的步骤;或者,
所述一个或多个计算机程序可被第二处理器执行,以实现权利要求7-11任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011203715.9A CN112231603A (zh) | 2020-11-02 | 2020-11-02 | 一种文件下载方法、服务器、客户端和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011203715.9A CN112231603A (zh) | 2020-11-02 | 2020-11-02 | 一种文件下载方法、服务器、客户端和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112231603A true CN112231603A (zh) | 2021-01-15 |
Family
ID=74122803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011203715.9A Pending CN112231603A (zh) | 2020-11-02 | 2020-11-02 | 一种文件下载方法、服务器、客户端和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231603A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190837A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于文件服务系统的web攻击行为检测方法及系统 |
CN114024953A (zh) * | 2021-10-22 | 2022-02-08 | 北京达佳互联信息技术有限公司 | 一种文件传输方法、装置及电子设备 |
CN114449047A (zh) * | 2022-01-28 | 2022-05-06 | 深圳灵动创新信息技术有限公司 | 一种文件数据的处理方法和装置 |
CN114553851A (zh) * | 2022-02-22 | 2022-05-27 | 深圳微众信用科技股份有限公司 | 信息采集方法及相关设备 |
CN114666324A (zh) * | 2022-03-28 | 2022-06-24 | 重庆紫光华山智安科技有限公司 | 监控视频的下载方法、服务器、客户端及可读存储介质 |
CN114745368A (zh) * | 2022-03-31 | 2022-07-12 | 广州极飞科技股份有限公司 | 文件下载方法、装置、计算机设备和计算机可读存储介质 |
CN115086336A (zh) * | 2022-06-09 | 2022-09-20 | 重庆吼吼科技有限公司 | 一种工业互联网平台设备数据采集驱动p2p下载方法及系统 |
WO2023036310A1 (zh) * | 2021-09-10 | 2023-03-16 | 中兴通讯股份有限公司 | 文件下载方法、电子设备、计算机可读存储介质 |
CN118551402A (zh) * | 2024-07-29 | 2024-08-27 | 湖南德尔斐网络科技有限公司 | 云档案信息管理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611763A (zh) * | 2011-01-25 | 2012-07-25 | 中国移动通信集团公司 | Dns查询的方法及设备 |
CN103024085A (zh) * | 2013-01-11 | 2013-04-03 | 乐视网信息技术(北京)股份有限公司 | 一种处理p2p节点请求的系统及方法 |
CN105227673A (zh) * | 2015-10-16 | 2016-01-06 | 北京奇虎科技有限公司 | 防劫持的数据下载方法、客户端、服务器及系统 |
CN107861810A (zh) * | 2017-09-25 | 2018-03-30 | 平安普惠企业管理有限公司 | 业务分流控制方法、装置、设备及存储介质 |
CN107872486A (zh) * | 2016-09-28 | 2018-04-03 | 华为技术有限公司 | 通信方法和装置 |
CN108632074A (zh) * | 2017-08-24 | 2018-10-09 | 新华三信息安全技术有限公司 | 一种业务配置文件下发方法和装置 |
CN110740191A (zh) * | 2019-10-29 | 2020-01-31 | 成都超有爱科技有限公司 | 资源访问方法、装置、电子设备及存储介质 |
-
2020
- 2020-11-02 CN CN202011203715.9A patent/CN112231603A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611763A (zh) * | 2011-01-25 | 2012-07-25 | 中国移动通信集团公司 | Dns查询的方法及设备 |
CN103024085A (zh) * | 2013-01-11 | 2013-04-03 | 乐视网信息技术(北京)股份有限公司 | 一种处理p2p节点请求的系统及方法 |
CN105227673A (zh) * | 2015-10-16 | 2016-01-06 | 北京奇虎科技有限公司 | 防劫持的数据下载方法、客户端、服务器及系统 |
CN107872486A (zh) * | 2016-09-28 | 2018-04-03 | 华为技术有限公司 | 通信方法和装置 |
CN108632074A (zh) * | 2017-08-24 | 2018-10-09 | 新华三信息安全技术有限公司 | 一种业务配置文件下发方法和装置 |
CN107861810A (zh) * | 2017-09-25 | 2018-03-30 | 平安普惠企业管理有限公司 | 业务分流控制方法、装置、设备及存储介质 |
CN110740191A (zh) * | 2019-10-29 | 2020-01-31 | 成都超有爱科技有限公司 | 资源访问方法、装置、电子设备及存储介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190837A (zh) * | 2021-03-29 | 2021-07-30 | 贵州电网有限责任公司 | 一种基于文件服务系统的web攻击行为检测方法及系统 |
WO2023036310A1 (zh) * | 2021-09-10 | 2023-03-16 | 中兴通讯股份有限公司 | 文件下载方法、电子设备、计算机可读存储介质 |
CN114024953A (zh) * | 2021-10-22 | 2022-02-08 | 北京达佳互联信息技术有限公司 | 一种文件传输方法、装置及电子设备 |
CN114024953B (zh) * | 2021-10-22 | 2024-02-23 | 北京达佳互联信息技术有限公司 | 一种文件传输方法、装置及电子设备 |
CN114449047A (zh) * | 2022-01-28 | 2022-05-06 | 深圳灵动创新信息技术有限公司 | 一种文件数据的处理方法和装置 |
CN114553851A (zh) * | 2022-02-22 | 2022-05-27 | 深圳微众信用科技股份有限公司 | 信息采集方法及相关设备 |
CN114666324A (zh) * | 2022-03-28 | 2022-06-24 | 重庆紫光华山智安科技有限公司 | 监控视频的下载方法、服务器、客户端及可读存储介质 |
CN114666324B (zh) * | 2022-03-28 | 2024-01-30 | 重庆紫光华山智安科技有限公司 | 监控视频的下载方法、服务器、客户端及可读存储介质 |
CN114745368A (zh) * | 2022-03-31 | 2022-07-12 | 广州极飞科技股份有限公司 | 文件下载方法、装置、计算机设备和计算机可读存储介质 |
CN114745368B (zh) * | 2022-03-31 | 2024-04-09 | 广州极飞科技股份有限公司 | 文件下载方法、装置、计算机设备和计算机可读存储介质 |
CN115086336A (zh) * | 2022-06-09 | 2022-09-20 | 重庆吼吼科技有限公司 | 一种工业互联网平台设备数据采集驱动p2p下载方法及系统 |
CN118551402A (zh) * | 2024-07-29 | 2024-08-27 | 湖南德尔斐网络科技有限公司 | 云档案信息管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112231603A (zh) | 一种文件下载方法、服务器、客户端和存储介质 | |
US8484480B2 (en) | Transmitting information using virtual input layout | |
EP3251048B1 (en) | Executing an operation over file repositories located in different authentication domains using a representational state transfer (rest)-compliant client | |
CN109802936B (zh) | 一种网络数据访问方法、装置及电子设备 | |
JP2009536755A (ja) | 特定の情報を提供する方法 | |
US10476870B2 (en) | Local claim-based security service with cross-browser compatibility | |
CN109522462B (zh) | 一种基于区块链的云查询方法、装置、设备及存储介质 | |
KR20170132988A (ko) | 타일 지도 서비스 장치 및 그 동작 방법 | |
CN112818371A (zh) | 资源访问控制方法、系统、装置、设备及介质 | |
CN113094334A (zh) | 基于分布式存储的数字服务方法、装置、设备及储存介质 | |
CN116107520B (zh) | S3对象存储协议的加密数据存储方法及系统 | |
CN110161870B (zh) | 一种物联网设备控制方法及系统 | |
US20150113478A1 (en) | Communication terminal device, accounting device, and information distributing system | |
JP7438295B2 (ja) | データを保護するためのシステムおよび方法 | |
US20170006085A1 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
US10069938B1 (en) | Returning identifiers in default query responses | |
KR20160120260A (ko) | 서로 다른 장치 간 연속적인 컨텐츠 이용 시스템 및 방법, 그 단말 장치 | |
WO2013168492A1 (ja) | 通信端末装置、サイト装置、及び情報配信システム | |
JP2008158575A (ja) | コンテンツ配信システム、コンテンツ配信方法、端末装置、対象装置、および参照装置 | |
JP2004094321A (ja) | 情報処理システム、情報処理装置および方法、プログラム格納媒体、並びにプログラム | |
US20150312154A1 (en) | Systems and methods comprising one or more data feed mechanisms for improving domain name system traffic management | |
KR20140004609A (ko) | 웹 콘텐츠를 제공하는 방법 및 장치 | |
JP6107641B2 (ja) | セッション管理システム、サービス提供装置、及びプログラム | |
CN116582691A (zh) | 视频数据加载方法、装置、存储介质及电子设备 | |
CN118540303A (zh) | 域名解析方法、装置、通信设备、存储介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |