CN116708588A - 文件压缩下载方法、装置、设备、介质及程序产品 - Google Patents

文件压缩下载方法、装置、设备、介质及程序产品 Download PDF

Info

Publication number
CN116708588A
CN116708588A CN202310418360.2A CN202310418360A CN116708588A CN 116708588 A CN116708588 A CN 116708588A CN 202310418360 A CN202310418360 A CN 202310418360A CN 116708588 A CN116708588 A CN 116708588A
Authority
CN
China
Prior art keywords
file
resource
downloaded
target
compressed
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
Application number
CN202310418360.2A
Other languages
English (en)
Inventor
刘健
杨艳光
卞永锋
张玉鑫
张同虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202310418360.2A priority Critical patent/CN116708588A/zh
Publication of CN116708588A publication Critical patent/CN116708588A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种文件压缩下载方法、装置、设备、介质及程序产品,涉及互联网技术领域,方法包括:响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,待压缩文件清单包括至少一个待下载文件资源的基本信息;基于待下载文件资源的基本信息向待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,以从目标资源服务器中读取待下载文件资源,并获取待下载文件资源对应的压缩数据流;将压缩数据流传输至目标网页应用,以使目标网页应用基于压缩数据流生成压缩文件。通过上述方法,提供了网页应用针对多服务器的多文件高效压缩下载方式,解决了格式不统一的多个URL远程地址的多文件压缩下载问题。

Description

文件压缩下载方法、装置、设备、介质及程序产品
技术领域
本申请涉及互联网技术领域,尤其涉及一种文件压缩下载方法、装置、设备、介质及程序产品。
背景技术
基于HTTP(Hyper Text Transfer Protocol,超文本传输协议)的文件下载技术是互联网的通用下载技术。用户通过在浏览器的网页加载某文件链接,浏览器响应于该加载请求,从文件所在服务器中获取相应的文件内容,并进一步完成后续的文件下载及存储操作。
然而在实际应用中,用户可能需要同时获取不同服务器的多个文件和/或文件夹,即需要同时获取不确定的多个URL(Uniform Resource Locator,统一资源定位器)远程地址中的多个文件和/或文件夹,并压缩成一个单一的ZIP压缩文件进行整体下载。相关技术中虽然提出了将多个文件和/或文件夹形成压缩下载文件的目录,进而打包形成压缩包ZIP文件,但上述方案仅能够适用于相同服务器地址的文件压缩下载,而对于格式不统一的多个URL远程地址则无法适用。
因此,如何实现在网页应用中对不同资源服务器的文件进行高效压缩下载仍然是一个亟待解决的难题。
发明内容
为解决上述问题,即解决不同服务器地址的多个文件的压缩下载问题,本申请提供一种文件压缩下载方法、装置、设备、介质及程序产品。
根据本申请的一方面,提供一种文件压缩下载方法,包括:
响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,所述待压缩文件清单包括至少一个待下载文件资源的基本信息;
基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,以从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流;
将所述压缩数据流传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。
在一种实施方式中,所述待下载文件资源的基本信息包括文件资源目标路径,文件名,下载地址和下载协议。
在一种实施方式中,所述基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,包括:
基于待下载文件资源的基本信息创建待办任务清单,所述待办任务清单包括每个待下载文件资源关联的待办任务;
遍历所述待办任务清单中的待办任务,获取所述待办任务关联的待下载文件资源对应的目标资源服务器的访问授权信息,并根据所述访问授权信息向所述目标资源服务器发起文件资源读取请求。
在一种实施方式中,所述根据所述访问授权信息向所述目标资源服务器发起文件资源读取请求,包括:
获取所述待下载文件资源的下载地址和下载协议,并根据所述下载地址、下载协议以及所述访问授权信息,向所述目标资源服务器发起文件资源读取请求。
在一种实施方式中,所述方法还包括:
针对每个待下载文件资源,基于所述待下载文件资源的文件资源目标路径和文件名创建压缩文件条目ZipEntry信息;
所述从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流,包括:
基于所述压缩文件条目ZipEntry信息从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流。
在一种实施方式中,所述方法还包括:
创建压缩应用实例ZipOutputStream,所述压缩应用实例ZipOutputStream与所述目标网页应用相关联;
在读取所述待下载文件资源时,将所述待下载文件资源的字节流写入所述压缩应用实例ZipOutputStream中,得到所述待下载文件资源对应的压缩数据流;
所述将所述压缩数据流传输至所述目标网页应用,包括:基于所述压缩应用实例ZipOutputStream将所述压缩数据流实时传输至所述目标网页应用。
在一种实施方式中,所述方法应用于文件压缩服务器,所述文件压缩下载请求是所述目标网页应用接收到用户终端确定的文件资源列表后生成的。
根据本申请的另一方面,提供一种文件压缩下载装置,包括:
清单接收模块,其设置为响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,所述待压缩文件清单包括至少一个待下载文件资源的基本信息;
资源请求模块,其设置为基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求;
数据流获取模块,其设置为从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流;
文件生成模块,其设置为将所述压缩数据流传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。
根据本申请的又一方面,提供一种电子设备,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行所述的文件压缩下载方法。
根据本申请的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的文件压缩下载方法。
根据本申请的又一方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行所述的文件压缩下载方法。
可以理解的,本申请实施例提供的文件压缩下载方法、装置、设备、介质及程序产品,通过响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,所述待压缩文件清单包括至少一个待下载文件资源的基本信息;基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,以从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流;将所述压缩数据流传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。在此过程中,以待压缩文件清单的形式,根据待下载文件资源的基本信息分别向对应的多个目标资源服务器发起文件资源读取请求,可以读取不同目标资源服务器中的文件资源,并获取对应的压缩数据流,进而使目标网页应用生成压缩文件,实现了同时针对多个不同服务器的文件压缩下载方式,解决了格式不统一的多个URL远程地址的多文件压缩下载问题,并提高了多文件压缩下载效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种文件压缩下载方法的流程示意图;
图2为图1中步骤S102的流程示意图;
图3为本申请实施例提供的另一种文件压缩下载方法的流程示意图;
图4为本申请实施例提供的又一种文件压缩下载方法的流程示意图;
图5为本申请一示例性实施例提供的文件压缩下载方法的流程示意图;
图6为本申请实施例提供的一种文件压缩下载装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
可以理解的,用户采用协议在互联网下载文件,通过在网页中加载文件链接,浏览器接收到用户的下载请求后,向文件所在的服务器发起文件GET请求,以获取文件正文内容,然后用户再操作浏览器,指定文件的本地存放路径,浏览器完成后续的下载及存储操作。
用户在实际下载过程中,存在从多个不同服务器地址获取多个文件或者文件夹并对其进行压缩下载的需求,即用户需要将不确定的多个URL远程地址,压缩成一个单一的ZIP压缩文件,然后整体下载。相关技术中,提出了对于不同文件或者文件夹的文件压缩下载过程,通过客户端向服务端请求文件下载,读取服务端需要下载的文件数据将文件数据压缩成一个数据流,利用HTTP协议,将压缩打包后的数据流发送到客户端,客户端再利用HTTP协议接收服务端发送的数据流,并将接收到的数据流输出到本地,生成压缩包Zip文件。但在上述过程中,考虑的仅是多个文件数据在一个服务器中的情况,其仅能够适用于相同服务器地址的文件压缩下载,而对于格式不统一的多个URL远程地址则无法适用。
有鉴于此,本申请实施例针对上述技术问题,提供了一种文件压缩下载方法、装置、设备、介质及程序产品,通过响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,所述待压缩文件清单包括至少一个待下载文件资源的基本信息,然后基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,以从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流,最后将所述压缩数据流传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。在此过程中,以待压缩文件清单的形式,根据待下载文件资源的基本信息分别向对应的目标资源服务器发起文件资源读取请求,以读取不同目标资源服务器中的文件资源,并获取对应的压缩数据流,进而使目标网页应用生成压缩文件,实现了同时针对多个不同服务器的文件压缩下载方式,解决了格式不统一的多个URL远程地址的多文件压缩下载问题,并提高了多文件压缩下载效率。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请的实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的部件或具有相同或类似功能的部件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一可能的应用场景下,包括终端设备和服务器,终端设备和服务器之间通过有线或者无线网络相互连接。可选地,终端设备为安装了能够浏览网页应用的设备,用户可以在该终端设备上浏览网页应用并加载对应文件链接,该文件链接可以携带用户选择的文件资源列表,网页应用响应于该文件链接,向服务器发起该文件链接对应的文件压缩下载请求,服务器响应于网页应用发起的文件压缩下载请求向对应的资源服务器读取对应的压缩数据流,并由网页应用根据该压缩数据流生成压缩数据文件,并存储在本地磁盘或其它路径。
可选地,终端设备可以包括但不限于,电脑、智能手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面3(Moving Picture experts group audio layer III,简称MP3)播放器、动态影像专家压缩标准音频层面4(Moving Picture experts group audiolayer IV,简称MP4)播放器、便携计算机、车载电脑、可穿戴设备、台式计算机、机顶盒、智能电视等等。
可选地,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请的文件压缩下载方法可用于金融科技领域。也可用于除金融科技领域以外的任意领域,本申请的文件压缩下载方法应用领域不作限定。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
上面对本申请的应用场景进行了简单说明,下面以执行主体为服务器为例,来详细说明本申请实施例提供的文件压缩下载方法。
请参照图1,图1为本申请实施例提供的一种文件压缩下载方法的流程示意图,该方法包括步骤S101-S103。
步骤S101、响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,所述待压缩文件清单包括至少一个待下载文件资源的基本信息。
可以理解的,本实施例中的目标网页应用,即安装了能够浏览网页的终端设备,例如PC端或者手机端。用户通过在目标网页应用上发起文件压缩下载请求,服务器响应于该文件压缩下载请求,接收待压缩文件清单。
其中,响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
与现有技术不同的是,本实施例中的待压缩文件清单中可以携带一个或多个待下载文件资源的基本信息,该一个或多个待下载资源可以对应不同的资源服务器,具体地,所述待下载文件资源的基本信息包括文件资源目标路径,文件名,下载地址和下载协议,其中文件资源目标路径、文件名对应待下载文件资源的目标路径信息,下载地址和下载协议对应资源地址信息。
进一步地,本实施例提供的方法可以应用于文件压缩服务器,该文件压缩服务器可以为提供目标网页应用的服务器,所述文件压缩下载请求是所述目标网页应用接收到用户终端确定的文件资源列表后生成的。
具体地,目标网页应用响应于用户选择的上层业务(如测试报告列表),向用户展示上层业务相关的可下载资源,用户根据该可下载资源选择其所需的文件资源,并确定对应的文件资源列表,用户根据需要选择多个或全部资源所对应的文件资源列表向网页应用发起资源选择和下载请求。目标网页应用响应于用户的资源选择和下载请求,生成资源清单报文,向压缩服务器发起文件压缩下载请求。
步骤S102、基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,以从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流。
具体地,文件压缩服务器响应于网页应用的文件压缩请求,根据上报的资源清单,根据待下载文件资源的基本信息向后端的不特定多个资源服务器发起请求,获取资源,并可以利用ZIP压缩装置,聚合多个文件资源,以获取对应的压缩数据流。
本实施例中,目标资源服务器,即提供资源的基础下载服务的服务器,可以是HTTP服务器,FTP(File Transfer Protocol,文件传输协议)服务器,SFTP(Secret FileTransfer Protocol,安全文件传输协议)服务器,也可以是用户自定义协议的资源服务器。其中,目标资源服务器通常仅能够提供单一的资源下载服务。
在一种实施方式中,考虑在待下载文件资源数量较多的情况下,由于需要向多个不同的资源服务器发起请求,容易导致文件资源的遗漏下载或者重复下载等问题,为了解决上述问题,本实施例通过创建待办任务清单,并以遍历任务清单的形式,依次访问对应的资源服务器,以读取对应的文件资源。具体地,如图2所示,步骤S102基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,可以包括以下步骤:
步骤S102a、基于待下载文件资源的基本信息创建待办任务清单,所述待办任务清单包括每个待下载文件资源关联的待办任务;
步骤S102b、遍历所述待办任务清单中的待办任务,获取所述待办任务关联的待下载文件资源对应的目标资源服务器的访问授权信息,并根据所述访问授权信息向所述目标资源服务器发起文件资源读取请求。
在一可实现中,待办任务清单中包括各个待下载文件资源关联的待办任务,该待办任务可以包括各个待下载资源的文件名称或其它标识信息,以便于待办任务的遍历。
其中,获取待下载文件资源对应的目标资源服务器的访问授权信息,可以根据预设值规则,在预配置数据中读取资源清单相关的多个服务器的访问授权信息。具体地,文件压缩服务器中以预配置数据的形式预先存储了各目标资源服务器的访问授权信息,在获取到待下载资源对应的预设值时,反馈相关访问授权信息,该预设值相当于获取访问授权信息的通行密码。需要说明的是,本领域技术人员可以结合实际应用和现有技术对预设值进行适应性设定。
在一种实施方式中,为进一步定位目标资源服务器,提高文件压缩下载效率,上述步骤中根据所述访问授权信息向所述目标资源服务器发起文件资源读取请求,可以包括以下步骤:
获取所述待下载文件资源的下载地址和下载协议,并根据所述下载地址、下载协议以及所述访问授权信息,向所述目标资源服务器发起文件资源读取请求。
可以理解的,下载地址即对应目标资源服务器地址,下载协议例如HTTP、FTP等。
步骤S103、将所述压缩数据流传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。
进一步地,用户还可以在目标网页应用指定存储路径,目标网页应用响应于用户选择的指定存储路径,将从压缩服务器获取的压缩数据流所生成的压缩文件,利用浏览器存储于本地。
本实施例中,利用文件压缩服务器,以待压缩文件清单的形式,根据待下载文件资源的基本信息分别向对应的目标资源服务器发起文件资源读取请求,以读取不同目标资源服务器中的文件资源,并获取对应的压缩数据流,进而使目标网页应用生成压缩文件,实现了同时针对多个服务器的文件压缩下载方式,提高了多个服务器地址的多文件压缩下载效率。
请参照图3,图3为本申请实施例提供的另一种文件压缩下载方法的流程示意图,在上述实施例的基础上,为进一步提高文件压缩下载效率,本实施例针对每个待下载文件资源,创建对应的压缩文件条目信息,并根据压缩文件条目信息读取对应的待下载文件资源,具体地,除了上述步骤S101-S103之外,所述方法还包括步骤S301,并将步骤S102进一步划分为步骤S102a。
步骤S301、针对每个待下载文件资源,基于所述待下载文件资源的文件资源目标路径和文件名创建压缩文件条目ZipEntry信息;
步骤S102a、基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,以基于所述压缩文件条目ZipEntry信息从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流。
在一可实现中,通过遍历任务清单,针对每个待办任务,创建一个当前资源对应的压缩文件条目ZipEntry信息,以实现对应待下载文件资源的压缩。此外,基于ZipEntry信息同时便于文件的解压缩和目录解压缩。
请参照图4,图4为本申请实施例提供的又一种文件压缩下载方法的流程示意图,为进一步提高文件压缩下载效率,本实施例在上述实施例的基础上,通过创建与目标网页应用相关联的压缩应用实例,实现压缩数据流的实时传输,具体地,除了上述不走S101-S103之外,所述方法还包括步骤S401和步骤S402,并将步骤S103进一步划分为步骤S103a。
步骤S401、创建压缩应用实例ZipOutputStream,所述压缩应用实例ZipOutputStream与所述目标网页应用相关联。
步骤S402、在读取所述待下载文件资源时,将所述待下载文件资源的字节流写入所述压缩应用实例ZipOutputStream中,得到所述待下载文件资源对应的压缩数据流;
在步骤S103a中、基于所述压缩应用实例ZipOutputStream将所述压缩数据流实时传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。
以HTTP传输为例,文件压缩服务器创建压缩应用实例ZipOutputStream,该ZipOutputStream用于写入资源字节流,得到ZIP压缩数据流,并可以将ZIP的输出目标,定位到HTTP请求(即文件压缩下载请求)的HttpServletResponse响应对象的输出位置OutputStream,这样,ZIP的压缩数据流可直接实时输出到HTTP请求的响应单元,即目标网页应用,以实现高效率文件压缩下载。其中HTTP的响应头可以设置为“Content typeapplication/octet-stream”,“Content-Disposition attachment;filename=download.zip”。可以理解的,在文件下载的场景中,服务器向网页应用返回文件流,在响应头中带上Content-Type:application/octet-stream,可以告知浏览器这是一个压缩数据流,网页应用处理压缩流的默认方式即下载;此外,利用Content-Dispositionattachment;filename=download.zip则可以弹出下载框后的文件名download.zip。
为便于本申请实施例的理解,结合图5所示,文件压缩下载流程包括以下步骤:
第一阶段,在网页应用(即安装了能够浏览网页的终端设备或者客户端)初始化文件压缩下载请求。
步骤1,用户选择具体的上层业务启动流程,其中,上层业务可以为测试报告列表;
步骤2,网页应用根据用户选择的上层业务,向用户展示上层业务相关的可下载资源。
步骤3,用户在网页应用选择多个或全部资源,生成待压缩文件清单,该待压缩文件清单包括多个待下载文件资源的基本信息,例如资源目标路径、文件名、资源访问协议和访问地址等信息;
步骤4,网页应用向文件压缩服务器发起文件压缩下载请求,请求中携带待压缩文件清单。
第二个阶段,文件压缩服务器根据文件压缩下载请求,从多个资源服务器中读取对应的资源(字节流)。
步骤5,压缩服务器响应于网页应用发起的请求,读取待压缩文件清单;
步骤6,根据预设值规则,预配置数据中获取资源清单相关的多个资源服务器访问授权信息,创建待压缩任务清单。
步骤7,设置响应头header(网页应用的响应头),创建压缩应用实例ZipOutputSteam,并绑定到响应头对应的输出位置OutputSteam。
其中,ZipOutputSteam用于写入压缩数据流ZIP,并将ZIP的输出目标,定位到HTTP请求的HttpServletResponse的OutputStream,这样,ZIP的压缩数据流可直接实时写回HTTP请求的响应单元。
步骤8,遍历待办任务清单中的每一项,判断任务清单是否有未完成的待办任务,做如下步骤:
步骤8.1从第一条待办任务开始,针对每个待办任务,根据目标文件路径,文件名,生成压缩文件ZipEntry信息;
步骤8.2根据资源访问请求参数,例如资源的下载协议,下载地址和授权访问信息,向对应的(远程)资源服务器发起文件资源读取请求,读取资源的字节流,并实时写入到步骤7创建的ZipOurputStream中,以获取压缩数据流;
步骤8.3读取并写入完当前压缩数据流,关闭步骤8.1创建的ZipEntry;
步骤8.4返回到步骤8中检查是否存在下一个待办任务,如果有,读取新资源,跳转6.1步骤,如果没有进入后续步骤;
步骤9关闭步骤7创建的ZipOurputStream。
第三阶段:网页应用存储压缩文件。
步骤10,网页应用响应于压缩服务器的返回数据,即响应于文件压缩服务器压缩数据流Response,向客户发起本地转储弹窗,例如,弹出文件本地存储路径选择对话框;
步骤11,用户选择待存储目标文件路径(以下简称存储路径);
步骤12,根据用户选择的存储路径和压缩数据流,向存储路径中写入压缩数据流,生成压缩文件,存储到本地磁盘文件。
请参照图6,图6为本申请实施例相应还提供一种文件压缩下载装置的结构示意图,包括:
清单接收模块61,其设置为响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,所述待压缩文件清单包括至少一个待下载文件资源的基本信息;
资源请求模块62,其设置为基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求;
数据流获取模块63,其设置为从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流;
文件生成模块64,其设置为将所述压缩数据流传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。
在一种实施方式中,所述待下载文件资源的基本信息包括文件资源目标路径,文件名,下载地址和下载协议。
在一种实施方式中,所述资源请求模块62,包括:
创建单元,其设置为基于待下载文件资源的基本信息创建待办任务清单,所述待办任务清单包括每个待下载文件资源关联的待办任务;
请求单元,其设置为遍历所述待办任务清单中的待办任务,获取所述待办任务关联的待下载文件资源对应的目标资源服务器的访问授权信息,并根据所述访问授权信息向所述目标资源服务器发起文件资源读取请求。
在一种实施方式中,所述请求单元具体设置为,获取所述待下载文件资源的下载地址和下载协议,并根据所述下载地址、下载协议以及所述访问授权信息,向所述目标资源服务器发起文件资源读取请求。
在一种实施方式中,所述装置还包括:
压缩条目创建模块,其设置为针对每个待下载文件资源,基于所述待下载文件资源的文件资源目标路径和文件名创建压缩文件条目ZipEntry信息;
所述资源请求模块具体设置为,基于所述压缩文件条目ZipEntry信息从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流。
在一种实施方式中,所述装置还包括:
实例创建模块,其设置为创建压缩应用实例ZipOutputStream,所述压缩应用实例ZipOutputStream与所述目标网页应用相关联;
写入模块,其设置为在读取所述待下载文件资源时,将所述待下载文件资源的字节流写入所述压缩应用实例ZipOutputStream中,得到所述待下载文件资源对应的压缩数据流;
所述文件生成模块64具体设置为,基于所述压缩应用实例ZipOutputStream将所述压缩数据流实时传输至所述目标网页应用。
在一种实施方式中,所述方法应用于文件压缩服务器,所述文件压缩下载请求是所述目标网页应用接收到用户终端确定的文件资源列表后生成的。
在此需要说明的是,本申请提供的上述装置,能够相应地实现上述方法实施例中服务器所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
请参照图7,图7为本申请实施例提供的一种电子设备,包括:存储器71和处理器72;
所述存储器71存储计算机执行指令;
所述处理器72执行所述存储器71存储的计算机执行指令,使得所述电子设备执行所述的文件压缩下载方法。
在此需要说明的是,本申请提供的上述电子设备,能够相应地实现上述方法实施例中服务器所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例相应还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的文件压缩下载方法。
在此需要说明的是,本申请提供的上述计算机可读存储介质,能够相应地实现上述方法实施例中服务器所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例相应还提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行所述的文件压缩下载方法。
在此需要说明的是,本申请提供的上述程序产品,能够相应地实现上述方法实施例中服务器所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例相应还提供一种芯片,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,执行所述的文件压缩下载方法。
在此需要说明的是,本申请提供的上述芯片,能够相应地实现上述方法实施例中服务器所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本申请实施例的描述中,术语“和/或”仅仅表示一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,术语“至少一种”表示多种中的任一种或多种中的至少两种的任意组合,例如,包括A、B、中的至少一种,可以表示包括A、B和C沟通的集合中选择的任意一个或多个元素。此外,术语“多个”的含义是两个或两个以上,除非是另有精确具体地规定。
在本申请实施例的描述中,术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

1.一种文件压缩下载方法,其特征在于,包括:
响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,所述待压缩文件清单包括至少一个待下载文件资源的基本信息;
基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,以从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流;
将所述压缩数据流传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。
2.根据权利要求1所述的方法,其特征在于,所述待下载文件资源的基本信息包括文件资源目标路径,文件名,下载地址和下载协议。
3.根据权利要求2所述的方法,其特征在于,所述基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求,包括:
基于待下载文件资源的基本信息创建待办任务清单,所述待办任务清单包括每个待下载文件资源关联的待办任务;
遍历所述待办任务清单中的待办任务,获取所述待办任务关联的待下载文件资源对应的目标资源服务器的访问授权信息,并根据所述访问授权信息向所述目标资源服务器发起文件资源读取请求。
4.根据权利要求3所述的方法,其特征在于,所述根据所述访问授权信息向所述目标资源服务器发起文件资源读取请求,包括:
获取所述待下载文件资源的下载地址和下载协议,并根据所述下载地址、下载协议以及所述访问授权信息,向所述目标资源服务器发起文件资源读取请求。
5.根据权利要求2所述的方法,其特征在于,还包括:
针对每个待下载文件资源,基于所述待下载文件资源的文件资源目标路径和文件名创建压缩文件条目ZipEntry信息;
所述从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流,包括:
基于所述压缩文件条目ZipEntry信息从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流。
6.根据权利要求1所述的方法,其特征在于,还包括:
创建压缩应用实例ZipOutputStream,所述压缩应用实例ZipOutputStream与所述目标网页应用相关联;
在读取所述待下载文件资源时,将所述待下载文件资源的字节流写入所述压缩应用实例ZipOutputStream中,得到所述待下载文件资源对应的压缩数据流;
所述将所述压缩数据流传输至所述目标网页应用,包括:基于所述压缩应用实例ZipOutputStream将所述压缩数据流实时传输至所述目标网页应用。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法应用于文件压缩服务器,所述文件压缩下载请求是所述目标网页应用接收到用户终端确定的文件资源列表后生成的。
8.一种文件压缩下载装置,其特征在于,包括:
清单接收模块,其设置为响应于目标网页应用发起的文件压缩下载请求,接收待压缩文件清单,所述待压缩文件清单包括至少一个待下载文件资源的基本信息;
资源请求模块,其设置为基于待下载文件资源的基本信息向所述待下载文件资源对应的至少一个目标资源服务器发起文件资源读取请求;
数据流获取模块,其设置为从所述目标资源服务器中读取所述待下载文件资源,并获取所述待下载文件资源对应的压缩数据流;
文件生成模块,其设置为将所述压缩数据流传输至所述目标网页应用,以使所述目标网页应用基于所述压缩数据流生成压缩文件。
9.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1-7中任一项所述的文件压缩下载方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项所述的文件压缩下载方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1-7任一项所述的文件压缩下载方法。
CN202310418360.2A 2023-04-18 2023-04-18 文件压缩下载方法、装置、设备、介质及程序产品 Pending CN116708588A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310418360.2A CN116708588A (zh) 2023-04-18 2023-04-18 文件压缩下载方法、装置、设备、介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310418360.2A CN116708588A (zh) 2023-04-18 2023-04-18 文件压缩下载方法、装置、设备、介质及程序产品

Publications (1)

Publication Number Publication Date
CN116708588A true CN116708588A (zh) 2023-09-05

Family

ID=87838160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310418360.2A Pending CN116708588A (zh) 2023-04-18 2023-04-18 文件压缩下载方法、装置、设备、介质及程序产品

Country Status (1)

Country Link
CN (1) CN116708588A (zh)

Similar Documents

Publication Publication Date Title
CN102135892B (zh) 应用程序运行方法、装置及系统
US10515058B2 (en) Unified file and object data storage
RU2689439C2 (ru) Улучшение производительности веб-доступа
CN112559927B (zh) 一种网页加载方法及装置
CN110096660B (zh) 用于加载页面图片的方法、装置和电子设备
CN108111555B (zh) 用于控制安装包下载过程的方法及系统
CN108512821B (zh) 数据传输方法、装置和系统,网闸,交易数据存储方法
CN104572966A (zh) 一种压缩文件的解压方法和装置
CN102271165B (zh) 互联网搜索资源的分享管理装置及方法
CN107566477B (zh) 一种在分布式文件系统集群中获取文件的方法和装置
KR102336604B1 (ko) 클라우드 스트리밍 서비스 기반의 웹 서버 모니터링 방법 및 이를 위한 장치
CN104572964A (zh) 一种压缩文件的解压方法和装置
CN110806913A (zh) 网页截图方法、装置及设备
CN112035402A (zh) 一种文件存储方法、装置及终端设备
CN103917951B (zh) 应用调用的方法及操作系统、浏览器
CN116708588A (zh) 文件压缩下载方法、装置、设备、介质及程序产品
CN115695416A (zh) 基于云存储服务的文件下载方法、装置、介质及设备
CN113301081B (zh) 一种针对内容分发网路的数据处理方法、装置、电子设备
US20220365959A1 (en) Multimedia file storage and access method
US11379653B2 (en) Rendering method for on-demand loading of PDF file on network
CN103440134A (zh) 基于webkit内核的存储资源服务的本地扩展方法
CN113626741A (zh) 一种移动客户端网页加载的方法及设备
CN112579960A (zh) 一种网页取证方法、网页取证装置及服务器
CN109600403B (zh) 一种发送信息的方法及装置
CN110474954A (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