CN114745368B - 文件下载方法、装置、计算机设备和计算机可读存储介质 - Google Patents
文件下载方法、装置、计算机设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114745368B CN114745368B CN202210345345.5A CN202210345345A CN114745368B CN 114745368 B CN114745368 B CN 114745368B CN 202210345345 A CN202210345345 A CN 202210345345A CN 114745368 B CN114745368 B CN 114745368B
- Authority
- CN
- China
- Prior art keywords
- target file
- file
- script
- target
- attribute information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000013515 script Methods 0.000 claims abstract description 262
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 34
- 230000000694 effects Effects 0.000 abstract description 10
- 230000001788 irregular Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种文件下载方法、装置、计算机设备和计算机可读存储介质,属于计算机技术领域。所述方法包括:接收终端设备发送的初始下载请求,初始下载请求中包括待下载的至少一个目标文件的标识;根据目标文件的标识,获取目标文件的属性信息,属性信息包括如下至少一项:目标文件的数据类型、目标文件的在数据服务器中的存储位置以及目标文件的关联信息,关联信息用于指示目标文件与除目标文件之外的文件之间的关联关系,数据服务器用于存储文件;根据目标文件的属性信息,生成下载脚本,并向终端设备发送下载脚本,下载脚本用于指示目标文件的属性信息。本申请可以达到降低业务服务器的处理压力的效果。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种文件下载方法、装置、计算机设备和计算机可读存储介质。
背景技术
随着互联网技术的发展,越来越多的云存储服务开始进入人们的工作生活,人们常会将一些文件或数据存储在数据服务器中,在需要时,再从数据服务器中将这些文件或数据存下载到终端设备。这样,就不需要随身携带U盘等存储设备。
相关技术中,为了从数据服务器中将文件下载到终端设备,一般会采用浏览器和服务器(Browser/Server,简称BS)架构,安装在终端设备中的浏览器会向业务服务器发起下载请求,业务服务器接收到下载请求后会检索所有存储在数据服务器中的文件,直至找到下载请求指示的需要下载的全部文件,再将这些文件全部下载到业务服务器本地并且进行压缩,最后将压缩后的文件包再发送给终端设备。
然而,在这种方案中,业务服务器需要检索数据服务器中的所有文件,并且还要将需要下载的文件全部下载到业务服务器本地并进行压缩。因此,这种方案存在业务服务器的处理压力较大的问题。
发明内容
本申请的目的在于提供一种文件下载方法、装置、计算机设备和计算机可读存储介质,可以达到降低业务服务器的处理压力的效果。
本申请的实施例是这样实现的:
本申请实施例的第一方面,提供一种文件下载方法,应用于业务服务器,所述方法包括:
接收终端设备发送的初始下载请求,所述初始下载请求中包括待下载的至少一个目标文件的标识;
根据所述目标文件的标识,获取所述目标文件的属性信息,所述属性信息包括如下至少一项:所述目标文件的数据类型、所述目标文件的在数据服务器中的存储位置以及所述目标文件的关联信息,所述关联信息用于指示所述目标文件与除所述目标文件之外的文件之间的关联关系,所述数据服务器用于存储文件;
根据所述目标文件的属性信息,生成下载脚本,并向所述终端设备发送所述下载脚本,所述下载脚本用于指示所述目标文件的属性信息。
可选地,所述根据所述目标文件的标识,获取所述目标文件的属性信息,包括:
根据所述目标文件的标识,从所述业务服务器中读取所述目标文件的属性信息。
可选地,所述根据所述目标文件的标识,获取所述目标文件的属性信息,包括:
根据所述目标文件的标识,从所述数据服务器中读取所述目标文件的属性信息。
可选地,所述根据所述目标文件的属性信息,生成下载脚本,包括:
根据所述目标文件的数据类型,确定与所述数据类型匹配的脚本逻辑;
根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本。
可选地,根据所述目标文件的数据类型,确定与所述数据类型匹配的脚本逻辑,包括:
若所述目标文件的数据类型为单文件类型,则确定所述脚本逻辑为单文件脚本逻辑;
所述根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本,包括:
将所述目标文件的标识以及所述目标文件的存储位置写入所述单文件脚本逻辑,得到所述下载脚本。
可选地,根据所述目标文件的数据类型,确定与所述数据类型匹配的脚本逻辑,包括:
若所述目标文件的数据类型为有规则离散类型,则确定所述脚本逻辑为有规则离散脚本逻辑;
所述根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本,包括:
将所述目标文件的标识、所述目标文件的存储位置以及所述目标文件的关联信息写入所述有规则离散脚本逻辑,得到所述下载脚本。
可选地,根据所述目标文件的数据类型,确定与所述数据类型匹配的脚本逻辑,包括:
若所述目标文件的数据类型为无规则离散类型,则确定所述脚本逻辑为无规则离散脚本逻辑;
所述根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本,包括:
将所述目标文件的标识、所述目标文件的存储位置以及所述目标文件的关联信息写入所述无规则离散脚本逻辑,得到所述下载脚本。
本申请实施例的第二方面,提供了一种文件下载方法,所述应用于终端设备,所述方法包括:
向业务服务器发送初始下载请求,所述初始下载请求中包括待下载的至少一个目标文件的标识;
接收所述业务服务发送的下载脚本,所述下载脚本用于指示所述目标文件的属性信息,所述属性信息包括:如下至少一项:所述目标文件的数据类型、所述目标文件的在数据服务器中的存储位置以及所述目标文件的关联信息,所述关联信息用于指示所述目标文件与除所述目标文件之外的文件之间的关联关系,所述数据服务器用于存储文件;
对所述下载脚本进行解析,得到所述目标文件的属性信息;
根据所述目标文件的属性信息,生成文件下载请求,所述文件下载请求中包括:所述目标文件的在数据服务器中的存储位置;
向所述数据服务器发送所述文件下载请求;
接收所述数据服务器发送的所述目标文件。
可选地,所述文件下载请求中还包括:所述目标文件的关联文件在所述数据服务器中的存储位置;
所述接收所述数据服务器发送的所述目标文件,包括:
接收所述数据服务器发送的所述目标文件以及所述关联文件。
可选地,所述文件下载请求中还包括:所述目标文件的目标下载格式;
所述接收所述数据服务器发送的所述目标文件,包括:
接收所述数据服务器发送的符合所述目标下载格式的所述目标文件。
本申请实施例的第三方面,提供了一种文件下载方法,所述应用于数据服务器,所述方法包括:
接收终端设备发送的文件下载请求,所述文件下载请求中包括:目标文件的在数据服务器中的存储位置;
从所述目标文件的在数据服务器中的存储位置读取所述目标文件。
向所述终端设备发送所述目标文件。
可选地,所述文件下载请求中还包括:所述目标文件的关联文件在所述数据服务器中的存储位置;
所述接收终端设备发送的文件下载请求之后,还包括:
从所述关联文件在所述数据服务器中的存储位置读取所述关联文件;
所述向所述终端设备发送所述目标文件,包括:
向所述终端设备发送所述目标文件以及所述关联文件。
本申请实施例的第四方面,提供了一种文件下载装置,应用于业务服务器,所述装置包括:
第一接收模块,用于接收终端设备发送的初始下载请求;
第一获取模块,用于根据目标文件的标识,获取所述目标文件的属性信息;
生成发送模块,用于根据所述目标文件的属性信息,生成下载脚本,并向所述终端设备发送所述下载脚本。
本申请实施例的第五方面,提供了一种文件下载装置,应用于终端设备,所述装置包括:
第一发送模块,用于向业务服务器发送初始下载请求;
第二接收模块,用于接收所述业务服务发送的下载脚本;
解析模块,用于对所述下载脚本进行解析,得到目标文件的属性信息;
生成模块,用于根据所述目标文件的属性信息,生成文件下载请求;
第二发送模块,用于向数据服务器发送所述文件下载请求;
第三接收模块,用于接收所述数据服务器发送的所述目标文件。
本申请实施例的第六方面,提供了一种文件下载装置,应用于数据服务器,所述装置包括:
第四接收模块,用于接收终端设备发送的文件下载请求;
读取模块,用于从目标文件的在数据服务器中的存储位置读取所述目标文件;
第三发送模块,用于向所述终端设备发送所述目标文件。
本申请实施例的第七方面,提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面、第二方面和/或第三方面所述的文件下载方法。
本申请实施例的第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面、第二方面和/或第三方面所述的文件下载方法。
本申请实施例的有益效果包括:
本申请实施例提供的一种文件下载方法,通过接收终端设备发送的初始下载请求,根据该目标文件的标识,获取该目标文件的属性信息,根据该目标文件的属性信息,生成下载脚本,并向该终端设备发送该下载脚本。
其中,根据该目标文件的标识,获取该目标文件的属性信息,这样,该业务服务器就不需要检索或读取该目标文件的数据,且该属性信息的数据量远小于该目标文件的数据量。根据该目标文件的属性信息,生成下载脚本,这样,该业务服务器不需要遍历各目标文件,也不需要将各目标文件下载到该业务服务器进行压缩或发送等处理工作。
如此,可以达到大幅降低该业务服务器的处理压力的效果,还可以避免出现因为处理压力过大导致该业务服务器宕机的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种文件下载方法的应用场景示意图;
图2为本申请实施例提供的第一种文件下载方法的流程图;
图3为本申请实施例提供的第二种文件下载方法的流程图;
图4为本申请实施例提供的第三种文件下载方法的流程图;
图5为本申请实施例提供的第四种文件下载方法的流程图;
图6为本申请实施例提供的第五种文件下载方法的流程图;
图7为本申请实施例提供的第六种文件下载方法的流程图;
图8为本申请实施例提供的第七种文件下载方法的流程图;
图9为本申请实施例提供的第八种文件下载方法的流程图;
图10为本申请实施例提供的第九种文件下载方法的流程图;
图11为本申请实施例提供的文件下载方法的交互流程图;
图12为本申请实施例提供的一种文件下载装置的结构示意图;
图13为本申请实施例提供的另一种文件下载装置的结构示意图;
图14为本申请实施例提供的又一种文件下载装置的结构示意图;
图15为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
相关技术中,为了从数据服务器中将文件下载到终端设备,一般会采用浏览器和服务器(Browser/Server,简称BS)架构,安装在终端设备中的浏览器会向业务服务器发起下载请求,业务服务器接收到下载请求后会检索所有存储在数据服务器中的文件,直至找到下载请求指示的需要下载的全部文件,再将这些文件全部下载到业务服务器本地并且进行压缩,最后将压缩后的文件包再发送给终端设备。然而,在这种方案中,业务服务器需要检索数据服务器中的所有文件,并且还要将需要下载的文件全部下载到业务服务器本地并进行压缩。因此,这种方案存在业务服务器的处理压力较大的问题。
为此,本申请实施例提供了文件下载方法,通过接收终端设备发送的初始下载请求,根据该目标文件的标识,获取该目标文件的属性信息,根据该目标文件的属性信息,生成下载脚本,并向该终端设备发送该下载脚本,可以达到降低业务服务器的处理压力的效果。
本申请实施例以应用在业务服务器中的文件下载方法为例进行说明。但不表明本申请实施例仅能应用于业务服务器中进行文件下载。
图1是本申请实施例提供的一种文件下载方法的应用场景示意图。参见图1,该场景中包括:业务服务器A、数据服务器B、终端设备C和网络D。
业务服务器A和数据服务器B通信连接,终端设备C分别与业务服务器A和数据服务器B通信连接。
其中,业务服务器A可以是部署应用软件的服务器。比如,业务服务器A可以是部署了web服务器软件和web应用软件的服务器。业务服务器A中可以存储数据,也可以不存储数据。
数据服务器B可以是用于存储数据的服务器,数据服务器B还可以是用于通过网络D向数据服务器B和终端设备C提供数据查询、数据修改和数据下载服务的服务器。
可选地,数据服务器B可以作为数据库使用。
终端设备C可以是电脑、智能手机、平板电脑或其他带有通信和处理功能的计算机设备。
在场景中,终端设备C可以通过网络D与业务服务器A连接,终端设备C可以根据用户的操作指示生成相应的下载请求并将下载请求发送给业务服务器A,业务服务器A可以在接收到终端设备C发送的下载请求的情况下,将存储在业务服务器A的文件或其他可能的数据通过网络D发送给终端设备C,比如存储在业务服务器A的文件或与该文件的属性信息对应的数据。当然,业务服务器A中也可以不存储任何数据,那么业务服务器A可以在接收到终端设备C发送的下载请求的情况下,可以通过读取存储在数据服务器B的文件或其他可能的数据并将存储在数据服务器B的文件或其他可能的数据通过网络D发送给终端设备C。
示例性地,终端设备C可以将下载请求通过网络D发送给业务服务器A,业务服务器A可以根据下载请求检索数据服务器B中存储的文件的属性信息并根据检索结果生成相应的脚本和/或应用程序。业务服务器A在生成脚本和/或应用程序之后,还可以将通过网络D将脚本和/或应用程序发送给终端设备C。
在终端设备C接收到业务服务器A发送的脚本之后,可以根据用户的确认操作控制脚本运行,并生成相应的指令或请求并通过网络D发送到数据服务器B,以获取存储在数据服务器B中的文件或数据。
可选地,终端设备C也可以将相应的指令或请求通过网络D直接发送到数据服务器B,数据服务器B在接收到指令后,将存储在数据服务器B内的文件或数据通过网络D发送给终端设备C。
当然,在终端设备C接收到文件、数据、脚本或应用程序之后,可以对这些文件、数据、脚本或应用程序执行相应的操作。比如,终端设备C可以将文件或数据输出相应的脚本或应用程序中以实现对文件或数据进行相应的自动化测试。本申请实施例对此不作限定。
一种可能的实现方式中,业务服务器A、数据服务器B和终端设备C可以应用于BS架构中,其中,将业务服务器A作为中继服务器,将数据服务器B作为数据库,还可以在终端设备C上安装浏览器并通过安装在终端设备C上的浏览器向业务服务器A和数据服务器B发送请求或指令,以从数据服务器B中获取需要下载的文件。
理所当然地,业务服务器A、数据服务器B和终端设备C可以应用于CS架构等其他任意可能的架构中。本申请实施例对此不作限定。
这样,就可以实现文件、数据、脚本或应用程序的下载。
下面对本申请实施例提供的文件下载方法进行详细地解释说明。
图2为本申请提供的一种文件下载方法的流程图,该方法可以应用于前述的业务服务器。参见图2,本申请实施例提供一种文件下载方法,包括:
步骤1001:接收终端设备发送的初始下载请求。
可选地,该初始下载请求中包括待下载的至少一个目标文件的标识。
可选地,各目标文件可以是由用户通过该终端设备选择的需要下载的文件。各目标文件可以存储在上述的数据服务器B中。
可选地,各目标文件的标识可以是各目标文件的ID或名称,当然也可以其他可以区别各目标文件的符号。本申请实施例对此不做限定。
可选地,各目标文件的标识可以是在将各目标文件存储到上述数据服务器B时,由上述数据服务器B对各目标文件进行解析、分类之后对各目标文件添加的标识。本申请实施例对此不做限定。
可选地,该终端设备可以是上述的终端设备C。
可选地,该初始下载请求中还可以包括符合握手协议的握手信号。
示例性地,该握手协议可以是任意适用于数据或文件下载操作的通信协议,也可以是任意适用于业务服务器和/或终端设备使得业务服务器和/或终端设备可以建立通信连接的通信协议。本申请实施例对此不作限定。
可选地,该握手信号用于使得该业务服务器和该终端设备建立通信连接。
另外,该业务服务器可以实时处于准备接收该初始下载请求的状态,也可以基于一定的触发条件才进入准备接收该初始下载请求的状态。例如,该业务服务器可以基于一定的间隔时间进入准备接收该初始下载请求的状态。本申请实施例对此不作限定。
需要注意的是,该业务服务器在接收到该终端设备发送的初始下载请求的情况下,才会执行后续操作,否则,该业务服务器可以处于休眠状态或低功耗状态。这样,可以降低该业务服务器的功耗,还可以降低该业务服务器的处理压力。
步骤1002:根据该目标文件的标识,获取该目标文件的属性信息。
可选地,该目标文件的属性信息可以存储在该业务服务器中,也可以存储在上述的数据服务器B中,还可以存储在与该业务服务器连接的其他数据库中。本申请实施例对此不作限定。
示例性地,若该目标文件的属性信息存储在该业务服务器中,那么该业务服务器可以根据该目标文件的标识,遍历该业务服务器中存储的所有文件的属性信息以获取各目标文件的属性信息。
若该目标文件的属性信息存储在上述的数据服务器B中,那么该业务服务器可以根据该目标文件的标识生成检索指令并将该检索指令发送给数据服务器B,以使得数据服务器B遍历数据服务器B中存储的所有文件的属性信息以获取各目标文件的属性信息,并将各目标文件的属性信息发送给该业务服务器。本申请实施例对此不作限定。
可选地,该属性信息包括如下至少一项:该目标文件的数据类型、该目标文件的在数据服务器中的存储位置以及该目标文件的关联信息。
可选地,该目标文件的数据类型可以用于指示该目标文件的类型为单文件类型或有规则离散文件类型或无规则离散文件类型。
可选地,该关联信息用于指示该目标文件与除该目标文件之外的文件之间的关联关系。
可选地,该关联关系可以用于指示各目标文件的标识是否相同或相近,比如,在各目标文件的数量不为1的情况下,可以用于指示各目标文件的名称的前缀和后缀是否相同,还可以用于指示各目标文件的名称的是否存在递增关系。
该关联关系也可以用于指示该目标文件的标识与除该目标文件之外的文件的标识是否相同或相近,比如,可以用于指示该目标文件的名称和除该目标文件之外的文件的名称的前缀和后缀是否相同。
该关联关系还可以用于指示该目标文件与除该目标文件之外的文件存储的位置是否相同或相近,具体可以用于指示该目标文件与除该目标文件之外的文件是否存储在同一文件夹中。
示例性地,若目标文件为3个,且这3个目标文件的标识相同,这3个目标文件均存储在同一个文件夹的同一层级中,这3个目标文件的名称分别为A-1-D、A-3-D、A-5-D。可见,这3个目标文件的名称的前缀和后缀相同,且1和3相差2,3和5相差2,可以确定这3个目标文件的名称存在递增关系。
可选地,该数据服务器可以用于存储文件、文件的属性信息或其他可能的数据。
通过根据该目标文件的标识,获取该目标文件的属性信息,这样,该业务服务器就不需要检索或读取该目标文件的数据,而由于该属性信息的数据量远小于该目标文件的数据量。那么,就可以减少该业务服务器的数据读写进而降低该业务服务器的处理压力。
步骤1003:根据该目标文件的属性信息,生成下载脚本,并向该终端设备发送该下载脚本。
可选地,该下载脚本用于指示该目标文件的属性信息。
可选地,该下载脚本中可以包括脚本逻辑的数据,该脚本逻辑可以通过Java语言、C语言、C++语言、Python语言等计算机编程语言实现功能。本申请实施例对此不作限定。
示例性地,该下载脚本可以是一种触发型的脚本。在该业务服务器将该下载脚本发送给该终端设备的情况下,该终端设备可以响应一定的触发指令控制该下载脚本运行该脚本逻辑,以通过该下载脚本从该数据服务器中获取存储在该数据服务器中的文件或数据。
可选地,可以在生成该下载脚本之后立即将该下载脚本发送给该终端设备,也可以在一定的触发条件之后再将该下载脚本发送给该终端设备。本申请实施例对此不作限定。
另外,可以仅仅生成一个该下载脚本,也可以生成多个下载脚本。本申请实施例对此不作限定。
值得注意的是,由于仅需要根据该目标文件的属性信息来生成该下载脚本,也就是说,该业务服务器不需要遍历各目标文件,也不需要将各目标文件下载到该业务服务器进行压缩或发送等处理工作,这样就可以大幅降低该业务服务器的处理压力,进而可以避免因为处理压力过大导致该业务服务器宕机的问题。
在本申请实施例中,通过接收终端设备发送的初始下载请求,根据该目标文件的标识,获取该目标文件的属性信息,根据该目标文件的属性信息,生成下载脚本,并向该终端设备发送该下载脚本。由于下载脚本中指示了目标文件的属性信息,因此,当终端设备接收到下载脚本后,可以利用下载脚本所指示的属性信息直接从数据服务器读取到目标文件。终端设备以及数据服务器的处理过程将在下述实施例中进行详细说明。
其中,根据该目标文件的标识,获取该目标文件的属性信息,这样,该业务服务器就不需要检索或读取该目标文件的数据,且该属性信息的数据量远小于该目标文件的数据量。根据该目标文件的属性信息,生成下载脚本,这样,该业务服务器不需要遍历各目标文件,也不需要将各目标文件下载到该业务服务器进行压缩或发送等处理工作。
如此,可以达到大幅降低该业务服务器的处理压力的效果,还可以避免出现因为处理压力过大导致该业务服务器宕机的问题。
一种可能的实现方式中,由于该目标文件的属性信息仅包括用于指示该目标文件的数据类型、该目标文件的在数据服务器中的存储位置以及该目标文件的关联信息的数据,而这些数据的数据量很小且占用的存储空间很小,这样就可以将该目标文件的属性信息存储在该业务服务器中。参见图3,根据该目标文件的标识,获取该目标文件的属性信息,包括:
步骤1004:根据该目标文件的标识,从该业务服务器中读取该目标文件的属性信息。
这样,该业务服务器不需要存储各目标文件而仅存储各目标文件的属性信息,而属性信息的数据量远小于各目标文件的数据量。另外,也不需要获取各目标文件,而仅仅需要读取各目标文件的属性信息。如此,不但可以减小对该业务服务器的存储空间的占用,还可以大幅降低该业务服务器的处理压力,进而可以避免因为处理压力过大导致该业务服务器宕机的问题。
另一种可能的实现方式中,为了进一步降低该业务服务器的处理压力并降低该业务服务器的存储空间的占用,可以将该目标文件的属性信息存储到该数据服务器中。参见图4,根据该目标文件的标识,获取该目标文件的属性信息,包括:
步骤1005:根据该目标文件的标识,从该数据服务器中读取该目标文件的属性信息。
将该目标文件的属性信息存储到该数据服务器中,就不需要占用该业务服务器的存储空间,这样,就可以降低该业务服务器的存储空间的占用,就可以在该业务服务器中存储更多的应用程序或代码以实现更多的功能。
进一步地,根据该目标文件的标识,从该数据服务器中读取该目标文件的属性信息的操作可以是:
根据该目标文件的标识生成信息获取请求,并将该信息获取请求发送给该数据服务器,并接收该数据服务器发送的该目标文件的属性信息。
可选地,该信息获取请求可以是该业务服务器根据该初始下载请求生成的用于从上述数据服务器中获取各目标文件的属性信息的请求或指令。本申请实施例对此不作限定。
需要说明的是,在该业务服务器将该信息获取请求发送到该数据服务器的情况下,该数据服务器可以遍历该数据服务器中存储的所有文件或该数据服务器中存储的属性信息以检索出该目标文件的属性信息,并将该目标文件的属性信息发送到该业务服务器。这样,就不需要该业务服务器通过遍历文件来获取该目标文件的属性信息,也不需要将各目标文件的属性信息存储在该业务服务器中。如此,可以减小对该业务服务器的存储空间的占用,还可以大幅降低该业务服务器的处理压力,进而可以避免因为处理压力过大导致该业务服务器宕机的问题。
一种可能的实现方式中,参见图5,根据该目标文件的属性信息,生成下载脚本,包括:
步骤1031:根据该目标文件的数据类型,确定与该数据类型匹配的脚本逻辑。
可选地,该数据类型可以包括单文件类型、有规则离散文件类型和无规则离散文件类型。
可选地,该脚本逻辑可以是指用于实现该下载脚本的功能的程序或代码。
示例性地,该脚本逻辑可以是提前设置的逻辑。该脚本逻辑可以为单文件脚本逻辑、有规则离散脚本逻辑或无规则离散脚本逻辑。在需要生成该下载脚本的情况下,可以直接调用提前设置好的该脚本逻辑。
步骤1032:根据该目标文件的标识、该脚本逻辑以及该脚本逻辑对应的属性信息,生成该下载脚本。
可选地,该下载脚本可以是适用于Windows系统的bat脚本,也可以是适用于Linux或Mac系统的sh脚本,还可以是python等其他类型的脚本。具体地,可以根据该终端设备的操作系统的类型生成相应的类型的脚本,也可以根据用户通过在该终端设备上选择需要生成的脚本类型生成相应的类型的脚本。本申请实施例对此不作限定。
下面,提供三种可能的根据该目标文件的标识、该脚本逻辑以及该脚本逻辑对应的属性信息生成相应的该下载脚本的方式,以进行详细地解释说明。
一种可能的实现方式中,根据该目标文件的数据类型,确定与该数据类型匹配的脚本逻辑,包括:
若该目标文件的数据类型为单文件类型,则确定该脚本逻辑为单文件脚本逻辑。
可选地,该目标文件的数据类型为单文件类型可以是指目标文件的数量为1,也可以是指目标文件的数量大于1且各目标文件均存储在同一个文件夹中,还可以是指目标文件的数量大于1且各目标文件的存储路径相同。具体也可以根据实际需要进行调整。本申请实施例对此不作限定。
示例性地,在运行或执行单文件脚本逻辑的情况下,可以根据该目标文件的标识、目标文件的名称、该目标文件的存储位置以及用于指示需要下载的文件的格式的目标文件格式生成用于下载该目标文件的下载链接,在打开该下载链接之后可以直接开始下载进程或响应用户的触发操作之后开始下载进程。本申请实施例对此不作限定。
根据该目标文件的标识、该脚本逻辑以及该脚本逻辑对应的属性信息,生成该下载脚本,包括:
将各目标文件的标识以及各目标文件的存储位置写入该单文件脚本逻辑,得到该下载脚本。
那么该下载脚本就可以是单文件下载脚本。
一种可能的方式,可以定义与该目标文件对应的数据结构体来存储该目标文件的属性信息。该数据结构体可以是由相关技术人员定义的由一批数据组合而成的结构型数据,该数据结构体中可以封装一些属性信息。
该数据结构体可以通过任一计算机编程语言实现功能。并且该数据结构体可以多次利用,用户或相关技术人员可以将各目标文件的属性信息分别写入与目标文件对应的数据结构体中。这样,可以简化该业务服务器生成该下载脚本时的运算,可以达到降低该业务服务器的处理压力的效果。
可选地,该数据结构体中可以存储该目标文件的标识、该目标文件的名称、该目标文件的ID、该目标文件的数据类型对应的编号、该目标文件的存储位置、该目标文件的文件夹名称、该目标文件的索引信息、该目标文件的关联信息以及该目标文件的关联文件的存储位置、该关联文件的标识、该关联文件的名称、该关联文件的数据类型对应的编号等内容。本申请实施例对此不作限定。
示例性地,可以定义与单文件类型的该目标文件对应的数据结构体为单文件数据结构体。该单文件数据结构体可以存储单文件类型的该目标文件的标识、该目标文件的名称、该目标文件的ID、单文件类型对应的编号以及单文件类型的该目标文件的存储位置等内容。
示例性地,在该目标文件为单文件类型的情况下,单文件脚本逻辑可以根据该目标文件的标识以及该目标文件的存储位置生成用于下载该目标文件的下载链接,该下载链接的格式可以是http://host:port/{目标文件的标识}/{目标文件的名称}.{目标文件格式}。本申请实施例对此不作限定。
另一种可能的实现方式中,根据该目标文件的数据类型,确定与该数据类型匹配的脚本逻辑,包括:
若该目标文件的数据类型为有规则离散类型,则确定该脚本逻辑为有规则离散脚本逻辑。
可选地,该目标文件的数据类型为有规则离散类型可以是指目标文件的数量大于1,各目标文件之间均不存在目录层级关系但各目标文件的文件名称前缀或后缀相同。也可以是指目标文件的数量大于1且各目标文件的存储路径不同。具体也可以根据实际需要进行调整。本申请实施例对此不作限定。
示例性地,在运行或执行有规则离散脚本逻辑的情况下,可以根据各目标文件的标识、各目标文件的名称、各目标文件的存储位置、各目标文件的关联信息以及用于指示需要下载的文件的格式的目标文件格式生成用于下载各目标文件的下载链接,在打开该下载链接之后可以直接开始下载进程或响应用户的触发操作之后开始下载进程,以实现获取各目标文件的目的。本申请实施例对此不作限定。
根据该目标文件的标识、该脚本逻辑以及该脚本逻辑对应的属性信息,生成该下载脚本,包括:
将该目标文件的标识、该目标文件的存储位置以及该目标文件的关联信息写入该有规则离散脚本逻辑,得到该下载脚本。
那么该下载脚本就可以是有规则离散下载脚本。
示例性地,可以定义与有规则离散类型的该目标文件对应的数据结构体为有规则离散数据结构体。该有规则离散数据结构体可以存储有规则离散类型的各目标文件的标识、各目标文件的名称、各目标文件的ID、有规则离散类型对应的编号以及有规则离散类型的各目标文件的存储位置等内容。
示例性地,在该目标文件为有规则离散类型的情况下,有规则离散脚本逻辑可以根据各目标文件的标识、各目标文件的文件名称前缀或后缀、各目标文件的文件索引以及各目标文件的存储位置生成用于下载各目标文件的下载链接,该下载链接的格式可以是http://host:port/{目标文件的标识}/{目标文件的文件名称前缀}_{目标文件的文件索引}.{目标文件格式}。本申请实施例对此不作限定。
在一种可能的实现方式中,根据该目标文件的数据类型,确定与该数据类型匹配的脚本逻辑,包括:
若该目标文件的数据类型为无规则离散类型,则确定该脚本逻辑为无规则离散脚本逻辑。
可选地,该目标文件的数据类型为无规则离散类型可以是指目标文件的数量大于1且各目标文件的名称的前缀或后缀不同,也可以是指目标文件的数量大于1且各目标文件的名称的前缀和后缀相同但各目标文件的名称不存在递增关系。具体也可以根据实际需要进行调整。本申请实施例对此不作限定。
示例性地,在运行或执行无规则离散脚本逻辑的情况下,可以根据各目标文件的标识、各目标文件的存储位置以及用于指示需要下载的文件的格式的目标文件格式生成用于下载各目标文件的下载链接,在打开该下载链接之后可以直接开始下载进程或响应用户的触发操作之后开始下载进程,以实现获取各目标文件的目的。本申请实施例对此不作限定。
该根据该目标文件的标识、该脚本逻辑以及该脚本逻辑对应的属性信息,生成该下载脚本,包括:
将该目标文件的标识、该目标文件的存储位置以及该目标文件的关联信息写入该无规则离散脚本逻辑,得到该下载脚本。
那么该下载脚本就可以是无规则离散下载脚本。
示例性地,可以定义与无规则离散类型的该目标文件对应的数据结构体为无规则离散数据结构体。该无规则离散数据结构体可以存储无规则离散类型的各目标文件的标识、无规则离散类型对应的编号以及无规则离散类型的各目标文件的存储位置等内容。
示例性地,在该目标文件为无规则离散类型的情况下,无规则离散脚本逻辑可以根据各目标文件的标识以及各目标文件的存储位置生成用于下载该目标文件的下载链接,该下载链接的格式可以是http://host:port/{目标文件的标识}。本申请实施例对此不作限定。
在上述生成下载脚本的过程中,可以直接将各目标文件的下载链接写入该下载脚本,那么在将该业务服务器将该下载脚本发送给上述终端设备,且该终端设备运行下载脚本的情况下,该终端设备就可以直接从该下载脚本中读取并打开各目标文件的下载链接,从而从上述数据服务器中获取各目标文件,以实现下载文件的目的。
一种可能的实现方式在,在生成该下载脚本时,可以通过在上述各目标文件的下载链接中添加摘要签名、token凭证等用于使得该数据服务器鉴权的凭证。
这些凭证可以指示该下载脚本的有效期,也可以指示该下载脚本是否合法。这样,可以达到提高该下载脚本的安全性的效果。
以下,对终端设备的处理过程进行详细说明。
图6为本申请提供的一种文件下载方法的流程图,该方法可以应用于前述的终端设备,该终端设备可以电脑、智能手机、平板电脑等设备。参见图6,本申请实施例提供一种文件下载方法,包括:
步骤2001:向业务服务器发送初始下载请求。
可选地,该初始下载请求中包括待下载的至少一个目标文件的标识。
步骤2002:接收该业务服务器发送的下载脚本。
可选地,该下载脚本用于指示该目标文件的属性信息。
可选地,该属性信息包括:如下至少一项:该目标文件的数据类型、该目标文件的在数据服务器中的存储位置以及该目标文件的关联信息。
可选地,该关联信息用于指示该目标文件与除该目标文件之外的文件之间的关联关系。
可选地,该关联关系可以用于指示各目标文件的标识是否相同或相近,比如,在各目标文件的数量不为1的情况下,可以用于指示各目标文件的名称的前缀和后缀是否相同,还可以用于指示各目标文件的名称的是否存在递增关系。
该关联关系也可以用于指示该目标文件的标识与除该目标文件之外的文件的标识是否相同或相近,比如,可以用于指示该目标文件的名称和除该目标文件之外的文件的名称的前缀和后缀是否相同。
该关联关系还可以用于指示该目标文件与除该目标文件之外的文件存储的位置是否相同或相近,具体可以用于指示该目标文件与除该目标文件之外的文件是否存储在同一文件夹中。
可选地,该数据服务器用于存储文件或数据,当然,该数据服务器也可以响应相应的指令或请求以执行一定的动作或程序,还可以生响应相应的指令成一定的请求或指令。本申请实施例对此不作限定。
步骤2003:对该下载脚本进行解析,得到该目标文件的属性信息。
可选地,该解析操作可以是打开或运行该下载脚本,读取该下载脚本中的脚本逻辑,并且分析该脚本逻辑中存储的该目标文件的属性信息。
理所当然地,该终端设备也可以通过其他方式得到该目标文件的属性信息。本申请实施例对此不作限定。
步骤2004:根据该目标文件的属性信息,生成文件下载请求。
可选地,该文件下载请求中包括:该目标文件的在数据服务器中的存储位置。
步骤2005:向该数据服务器发送该文件下载请求。
可选地,在该数据服务器接收到该终端设备发送的该文件下载请求的情况下,该数据服务器可以根据该文件下载请求获取存储在该数据服务器中的各目标文件。
步骤2006:接收该数据服务器发送的该目标文件。
这样,就可以实现使得该终端设备下载或获取各目标文件的目的,并且在该终端设备是直接从该数据服务器中下载或获取各目标文件。如此,就不需要再通过上述业务服务器将各目标文件下载到该业务服务器本地进行压缩再将各目标文件发送给该终端设备。如此,可以大幅降低该业务服务器的处理压力,进而可以避免因为处理压力过大导致该业务服务器宕机的问题。
一种可能的实现方式中,由于该下载脚本中的各下载链接还可以带有用于使得该数据服务器鉴权的凭证。对该下载脚本进行解析,得到该目标文件的属性信息,包括:
对该下载脚本进行解析,得到该目标文件的属性信息和鉴权凭证。
该鉴权凭证可以是该下载脚本中的各下载链接中的用于使得该数据服务器鉴权的凭证。
另外,在该终端设备运行该下载脚本的情况下,可以获取通过该下载脚本下载的文件的次数,具体可以获取通过该下载脚本下载的文件的成功次数和失败次数,也可以获取通过该下载脚本下载的文件名称或标识。
进一步地,该终端设备可以将获取到的通过该下载脚本下载的文件的次数和通过该下载脚本下载的文件名称或标识发送给上述数据服务器,以在上述数据服务器中更新相应用户或该终端设备对应的操作记录。也可以将获取到的通过该下载脚本下载的文件的次数和通过该下载脚本下载的文件名称或标识存储在该设备终端本地。
一种可能的实现方式中,参见图7,该文件下载请求中还包括:该目标文件的关联文件在该数据服务器中的存储位置。
接收该数据服务器发送的该目标文件,包括:
步骤2007:接收该数据服务器发送的该目标文件以及该关联文件。
这样,就可以实现在下载该目标文件的同时下载与该目标文件的有关联关系的关联文件,可以达到提高该文件下载方法的灵活性和实用性的效果。
一种可能的实现方式中,参见图8,该文件下载请求中还包括:该目标文件的目标下载格式。
接收该数据服务器发送的该目标文件,包括:
步骤2008:接收该数据服务器发送的符合该目标下载格式的该目标文件。
可选地,该目标下载格式可以是由用户通过上述终端设备选择的格式,也可以是根据该终端设备的操作系统设置的格式。
理所当然地,接收该数据服务器发送的该目标文件以及该关联文件的操作也可以是接收该数据服务器发送的符合该目标下载格式的该目标文件和符合该目标下载格式的该关联文件。
这样,可以提高文件下载的实用性。
在该终端设备运行各下载脚本的情况下,可以将各目标文件的标识以及各目标文件的存储位置、关联信息等属性信息依次写入用于下载各目标文件的下载链接中。
例如,在该目标文件为单文件类型的情况下,可以依次将各目标文件的标识、名称、目标文件格式分别写入下载链接http://host:port/{目标文件的标识}/{目标文件的名称}.{目标文件格式}中,以生成与单文件类型的目标文件对应的文件下载请求。
又例如,在该目标文件为有规则离散类型的情况下,可以依次将各目标文件的标识、各目标文件的文件名称前缀或后缀、各目标文件的文件索引等属性信息分别写入下载链接http://host:port/{目标文件的标识}/{目标文件的文件名称前缀}_{目标文件的文件索引}.{目标文件格式},以生成与有规则离散类型的各目标文件对应的文件下载请求。
又例如,在该目标文件为无规则离散类型的情况下,可以依次将各目标文件的标识等属性信息分别写入下载链接http://host:port/{目标文件的标识},以生成与无规则离散类型的各目标文件对应的文件下载请求。
以上生成与各目标文件对应的文件下载请求的方式仅仅是为了举例进行说明,并不代表本申请实施例仅能以这样的方式生成文件下载请求。本申请实施例对此不作限定。
以下,对数据服务器的处理过程进行详细说明。
图9为本申请提供的一种文件下载方法的流程图,该方法可以应用于前述的数据服务器。参见图9,本申请实施例提供一种文件下载方法,包括:
步骤3001:接收终端设备发送的文件下载请求。
可选地,该文件下载请求中包括:该目标文件的在数据服务器中的存储位置。
示例性地,该存储位置可以是指该目标文件的在数据服务器中的存储路径。
步骤3002:从该目标文件的在数据服务器中的存储位置读取该目标文件。
值得说明的是,该数据服务器可以根据各目标文件在该数据服务器中的存储位置或存储路径直接找到并读取各目标文件,也就是说,该数据服务器不需要遍历该数据服务器中存储的所有文件或数据。这样,可以提高该数据服务器读取各目标文件的效率、缩短该数据服务器读取各目标文件需要的时间,还可以降低该数据服务器的处理压力。
步骤3003:向该终端设备发送该目标文件。
可选地,该数据服务器可以将各目标文件压缩或打包存储在一个压缩包或文件夹中发送给该终端设备,也可以将各目标文件分别发送给该终端设备。具体可以根据实际应用中的需要进行调整。本申请实施例对此不作限定。这样,可以提高下载文件的灵活性和实用性。
这样,就可以达到使得该终端设备下载该目标文件的目的。
为了在下载该目标文件的同时下载与该目标文件的有一定的关系的其他文件,以实现提高该文件下载方法的灵活性和实用性的目的,提供一种可能的实现方式。参见图10,该文件下载请求中还包括:该目标文件的关联文件在该数据服务器中的存储位置。
接收终端设备发送的文件下载请求之后,该方法还包括:
步骤3004:从该关联文件在该数据服务器中的存储位置读取该关联文件。
可选地,各关联文件可以和各目标文件存储在同一文件夹中,也可以分别存储在不同的文件夹中。本申请实施例对此不作限定。
向该终端设备发送该目标文件,包括:
步骤3005:向该终端设备发送该目标文件以及该关联文件。
通过从该关联文件在该数据服务器中的存储位置读取该关联文件,可以将与该目标文件存在关联关系的关联文件一起发送给该终端设备。这样,就可以在下载该目标文件的同时下载与该目标文件的关联文件的功能。如此,可以提高文件下载的灵活性和实用性。
为了可以直接下载特定格式的该目标文件,以达到提高该文件下载方法的灵活性和实用性的目的,提供一种可能的实现方式。参见图10,该文件下载请求中还包括:该目标文件的关联文件在该数据服务器中的目标文件的目标下载格式。
可选地,该目标下载格式可以是由用户通过上述终端设备选择的格式,也可以是根据该终端设备的操作系统设置的格式。另外,该目标下载格式可以是doc、xml、txt等格式,也可以是zip、rar等格式、还可以是jpg、wam以及其他任一可能的格式。本申请实施例对此不作限定。
接收终端设备发送的文件下载请求之后,该方法还包括:
从各目标文件的在该数据服务器中的存储位置读取各目标文件。
判断各目标文件的格式是否符合该目标下载格式,若符合,则向该终端设备发送各目标文件。
若不符合,则将各目标文件的格式转化为该目标下载格式,并向该终端设备转化后的各目标文件。
示例性地,若将各目标文件的格式转化为该目标下载格式之后,各目标文件的数据可能会发生损坏或丢失的问题,则可以生成相应的用于指示无法将各目标文件的格式转化为该目标下载格式的提示信息,并将该提示信息和各目标文件发送给该终端设备。本申请实施例对此不作限定。
理所当然地,步骤3005的向该终端设备发送该目标文件以及该关联文件的具体操作也可以是:向该终端设备发送符合该目标下载格式该目标文件以及符合该目标下载格式该关联文件。本申请实施例对此不作限定。
这样,可以提高文件下载的实用性。
一种可能的实现方式中,在接收终端设备发送的文件下载请求之前,该方法还包括:
根据预设规则对存储在该数据服务器中的各文件进行解析或解码,得到各文件的属性信息和各文件的标识。
可选地,该预设规则可以是提前设置的规则。比如,该预设规则可以是用于确定存储在该数据服务器中的各文件是否存在关联关系、各文件的文件名称是否相同或相似、各文件的存储位置是否相同、各文件的存储路径是否相同或相似的规则。本申请实施例对此不作限定。
另外,若存储在该数据服务器中的各文件之间存在关联关系,则可以将各文件存储在同一文件夹中或将各文件的存储路径设置为相同的存储路径。本申请实施例对此不作限定。
值得注意的是,就可以确定出存储在该数据服务器中的各文件的属性信息和标识,还可以在确定出各文件的属性信息和标识之后,将各文件的属性信息和标识存储在该数据服务器中,当然,也可以将各文件的属性信息和标识发送给该业务服务器并将各文件的属性信息和标识存储在该业务服务器中。这样,就可以方便执行本申请实施例提供的文件下载方法中的其他步骤,以提高文件下载的灵活性和实用性。
一种可能的实现方式中,在该终端设备运行该下载脚本的情况下,可以获取通过该下载脚本下载的文件的次数、下载的文件名称或标识。那么,在该数据服务器接收到上述终端设备发送的通过该下载脚本下载的文件的次数和通过该下载脚本下载的文件名称或标识之后,可以执行如下操作:
确定该终端设备的设备标识,确定与该终端设备的对应的帐户信息。
可选地,该帐户信息可以包括该终端设备的MAC地址、IP地址、用户的姓名、身份证号、手机号等可以指示操作人员身份的信息。
可选地,操作人员可以是指操作该终端设备的用户,也可以是指通过上述业务服务器获取该下载脚本的用户,还可以是指通过该业务服务器下载文件的用户。本申请实施例对此不作限定。
将通过该下载脚本下载的文件的次数和通过该下载脚本下载的文件名称或标识,存储在与该帐户信息对应的操作记录中。
可选地,通过该数据服务器下载文件的各终端设备或各操作人员分别对应一个操作记录,也就是说,各终端设备或各操作人员的操作记录是互不关联的,对任一终端设备或任一操作人员的操作记录进行修改、添加或删除等操作时,并不影响与其他终端设备或操作人员对应的操作记录。
这样,可以提高下载文件的实用性和安全性。
图11是本申请实施例提供的一种文件下载方法的交互流程图。参见图11,该方法包括:
步骤4001:终端设备向业务服务器发送该初始下载请求。
步骤4002:业务服务器接收终端设备发送的该初始下载请求。
步骤4003:业务服务器根据该目标文件的标识,获取该目标文件的属性信息。
步骤4004:业务服务器根据该目标文件的属性信息,生成下载脚本。
步骤4005:业务服务器向终端设备发送该下载脚本。
步骤4006:终端设备接收业务服务器发送的下载脚本。
步骤4007:终端设备对该下载脚本进行解析,得到该目标文件的属性信息。
步骤4008:终端设备根据该目标文件的属性信息,生成文件下载请求。
步骤4009:终端设备向该数据服务器发送该文件下载请求。
步骤4010:数据服务器接收终端设备发送的该文件下载请求。
步骤4011:数据服务器从该目标文件在数据服务器中的存储位置读取该目标文件。
步骤4012:数据服务器向终端设备发送该目标文件。
步骤4013:终端设备接收数据服务器发送的该目标文件。
上述步骤S4001-S4013的具体执行过程已在前述实施例中进行了说明,具体可以参见前述的实施例,此处不再赘述。
下述对用以执行的本申请所提供文件下载方法的装置、设备及计算机可读存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图12是本申请实施例提供的一种文件下载装置的结构示意图,应用于业务服务器,参见图12,该装置包括:
第一接收模块501,用于接收终端设备发送的初始下载请求。
可选地,该初始下载请求中包括待下载的至少一个目标文件的标识。
第一获取模块502,用于根据该目标文件的标识,获取该目标文件的属性信息。
可选地,该属性信息包括如下至少一项:该目标文件的数据类型、该目标文件的在数据服务器中的存储位置以及该目标文件的关联信息。
生成发送模块503,用于根据该目标文件的属性信息,生成下载脚本,并向该终端设备发送该下载脚本。
可选地,该下载脚本用于指示该目标文件的属性信息。
图13是本申请实施例提供的一种文件下载装置的结构示意图,应用于终端设备,参见图13,该装置包括:
第一发送模块601,用于向业务服务器发送初始下载请求。
可选地,该初始下载请求中包括待下载的至少一个目标文件的标识。
第二接收模块602,用于接收该业务服务发送的下载脚本。
可选地,该下载脚本用于指示该目标文件的属性信息。
解析模块603,用于对该下载脚本进行解析,得到该目标文件的属性信息。
可选地,该解析操作可以是打开或运行该下载脚本,读取该下载脚本中的脚本逻辑,并且分析该脚本逻辑中存储的该目标文件的属性信息。
生成模块604,用于根据该目标文件的属性信息,生成文件下载请求。
可选地,该文件下载请求中包括:该目标文件的在数据服务器中的存储位置。
第二发送模块605,用于向该数据服务器发送该文件下载请求。
第三接收模块606,用于接收该数据服务器发送的该目标文件。
图14是本申请实施例提供的一种文件下载装置的结构示意图,应用于数据服务器,参见图14,该装置包括:
第四接收模块701,用于接收终端设备发送的文件下载请求。
可选地,该文件下载请求中包括:该目标文件的在数据服务器中的存储位置。
读取模块702,用于从该目标文件的在数据服务器中的存储位置读取该目标文件。
第三发送模块703,用于向该终端设备发送该目标文件。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微控制器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图15是本申请实施例提供的一种计算机设备的结构示意图。参见图15,计算机设备包括:存储器801、处理器802,存储器801中存储有可在处理器802上运行的计算机程序,处理器802执行计算机程序时,实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述任一文件下载方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种文件下载方法,其特征在于,应用于业务服务器,所述方法包括:
接收终端设备发送的初始下载请求,所述初始下载请求中包括待下载的至少一个目标文件的标识;
根据所述目标文件的标识,获取所述目标文件的属性信息,所述属性信息包括如下至少一项:所述目标文件的数据类型、所述目标文件的在数据服务器中的存储位置以及所述目标文件的关联信息,所述关联信息用于指示所述目标文件与除所述目标文件之外的文件之间的关联关系,所述数据类型用于指示所述目标文件的类型为单文件类型或有规则离散文件类型或无规则离散文件类型,所述关联关系用于指示各目标文件的标识是否相同或相近,或目标文件的标识与除该目标文件之外的文件的标识是否相同或相近,或目标文件与除该目标文件之外的文件存储的位置是否相同或相近,所述数据服务器用于存储文件;
根据所述目标文件的属性信息,生成下载脚本,并向所述终端设备发送所述下载脚本,所述下载脚本用于指示所述目标文件的属性信息;
所述根据所述目标文件的属性信息,生成下载脚本,包括:
根据所述目标文件的数据类型,确定与所述数据类型匹配的脚本逻辑;
根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本;
所述根据所述目标文件的数据类型,确定与所述数据类型匹配的脚本逻辑,包括:
若所述目标文件的数据类型为单文件类型,则确定所述脚本逻辑为单文件脚本逻辑;若所述目标文件的数据类型为有规则离散类型,则确定所述脚本逻辑为有规则离散脚本逻辑;若所述目标文件的数据类型为无规则离散类型,则确定所述脚本逻辑为无规则离散脚本逻辑。
2.如权利要求1所述的文件下载方法,其特征在于,所述根据所述目标文件的标识,获取所述目标文件的属性信息,包括:
根据所述目标文件的标识,从所述业务服务器中读取所述目标文件的属性信息。
3.如权利要求1所述的文件下载方法,其特征在于,所述根据所述目标文件的标识,获取所述目标文件的属性信息,包括:
根据所述目标文件的标识,从所述数据服务器中读取所述目标文件的属性信息。
4.如权利要求1所述的文件下载方法,其特征在于,
所述根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本,包括:
将所述目标文件的标识以及所述目标文件的存储位置写入所述单文件脚本逻辑,得到所述下载脚本。
5.如权利要求1所述的文件下载方法,其特征在于,
所述根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本,包括:
将所述目标文件的标识、所述目标文件的存储位置以及所述目标文件的关联信息写入所述有规则离散脚本逻辑,得到所述下载脚本。
6.如权利要求1所述的文件下载方法,其特征在于,
所述根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本,包括:
将所述目标文件的标识、所述目标文件的存储位置以及所述目标文件的关联信息写入所述无规则离散脚本逻辑,得到所述下载脚本。
7.一种文件下载方法,其特征在于,应用于终端设备,所述方法包括:
向业务服务器发送初始下载请求,所述初始下载请求中包括待下载的至少一个目标文件的标识;
接收所述业务服务器发送的下载脚本,所述下载脚本用于指示所述目标文件的属性信息,所述属性信息包括如下至少一项:所述目标文件的数据类型、所述目标文件的在数据服务器中的存储位置以及所述目标文件的关联信息,所述关联信息用于指示所述目标文件与除所述目标文件之外的文件之间的关联关系,所述数据类型用于指示所述目标文件的类型为单文件类型或有规则离散文件类型或无规则离散文件类型,所述关联关系用于指示各目标文件的标识是否相同或相近,或目标文件的标识与除该目标文件之外的文件的标识是否相同或相近,或目标文件与除该目标文件之外的文件存储的位置是否相同或相近,所述数据服务器用于存储文件;其中,所述业务服务器根据所述目标文件的数据类型确定与所述数据类型匹配的脚本逻辑,并根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息生成所述下载脚本;其中,若所述目标文件的数据类型为单文件类型,则所述脚本逻辑为单文件脚本逻辑;若所述目标文件的数据类型为有规则离散类型,则所述脚本逻辑为有规则离散脚本逻辑;若所述目标文件的数据类型为无规则离散类型,则所述脚本逻辑为无规则离散脚本逻辑;
对所述下载脚本进行解析,得到所述目标文件的属性信息;
根据所述目标文件的属性信息,生成文件下载请求,所述文件下载请求中包括:所述目标文件在数据服务器中的存储位置;
向所述数据服务器发送所述文件下载请求;
接收所述数据服务器发送的所述目标文件;
所述文件下载请求中还包括:所述目标文件的关联文件在所述数据服务器中的存储位置;
所述接收所述数据服务器发送的所述目标文件,包括:
接收所述数据服务器发送的所述目标文件以及所述关联文件。
8.如权利要求7所述的文件下载方法,其特征在于,所述文件下载请求中还包括:所述目标文件的目标下载格式;
所述接收所述数据服务器发送的所述目标文件,包括:
接收所述数据服务器发送的符合所述目标下载格式的所述目标文件。
9.一种文件下载装置,其特征在于,应用于业务服务器,所述装置包括:
第一接收模块,用于接收终端设备发送的初始下载请求;
第一获取模块,用于根据目标文件的标识,获取所述目标文件的属性信息,所述属性信息包括如下至少一项:所述目标文件的数据类型、所述目标文件的在数据服务器中的存储位置以及所述目标文件的关联信息,所述关联信息用于指示所述目标文件与除所述目标文件之外的文件之间的关联关系,所述数据类型用于指示所述目标文件的类型为单文件类型或有规则离散文件类型或无规则离散文件类型,所述关联关系用于指示各目标文件的标识是否相同或相近,或目标文件的标识与除该目标文件之外的文件的标识是否相同或相近,或目标文件与除该目标文件之外的文件存储的位置是否相同或相近,所述数据服务器用于存储文件;
生成发送模块,用于根据所述目标文件的属性信息,生成下载脚本,并向所述终端设备发送所述下载脚本;所述生成发送模块具体用于:根据所述目标文件的数据类型,确定与所述数据类型匹配的脚本逻辑;根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息,生成所述下载脚本;其中,所述根据所述目标文件的数据类型,确定与所述数据类型匹配的脚本逻辑的过程包括:若所述目标文件的数据类型为单文件类型,则确定所述脚本逻辑为单文件脚本逻辑;若所述目标文件的数据类型为有规则离散类型,则确定所述脚本逻辑为有规则离散脚本逻辑;若所述目标文件的数据类型为无规则离散类型,则确定所述脚本逻辑为无规则离散脚本逻辑。
10.一种文件下载装置,其特征在于,应用于终端设备,所述装置包括:
第一发送模块,用于向业务服务器发送初始下载请求,所述初始下载请求中包括待下载的至少一个目标文件的标识;
第二接收模块,用于接收所述业务服务发送的下载脚本,所述下载脚本用于指示所述目标文件的属性信息;
解析模块,用于对所述下载脚本进行解析,得到目标文件的属性信息,所述属性信息包括如下至少一项:所述目标文件的数据类型、所述目标文件的在数据服务器中的存储位置以及所述目标文件的关联信息,所述关联信息用于指示所述目标文件与除所述目标文件之外的文件之间的关联关系,所述数据类型用于指示所述目标文件的类型为单文件类型或有规则离散文件类型或无规则离散文件类型,所述关联关系用于指示各目标文件的标识是否相同或相近,或目标文件的标识与除该目标文件之外的文件的标识是否相同或相近,或目标文件与除该目标文件之外的文件存储的位置是否相同或相近,所述数据服务器用于存储文件;其中,所述业务服务器根据所述目标文件的数据类型确定与所述数据类型匹配的脚本逻辑,并根据所述目标文件的标识、所述脚本逻辑以及所述脚本逻辑对应的属性信息生成所述下载脚本;其中,若所述目标文件的数据类型为单文件类型,则所述脚本逻辑为单文件脚本逻辑;若所述目标文件的数据类型为有规则离散类型,则所述脚本逻辑为有规则离散脚本逻辑;若所述目标文件的数据类型为无规则离散类型,则所述脚本逻辑为无规则离散脚本逻辑;
生成模块,用于根据所述目标文件的属性信息,生成文件下载请求,所述文件下载请求中包括:所述目标文件在数据服务器中的存储位置;
第二发送模块,用于向数据服务器发送所述文件下载请求;
第三接收模块,用于接收所述数据服务器发送的所述目标文件;
所述文件下载请求中还包括:所述目标文件的关联文件在所述数据服务器中的存储位置;
所述第三接收模块还用于:
接收所述数据服务器发送的所述目标文件以及所述关联文件。
11.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,存储在所述存储器中有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述权利要求1至8任一项所述的文件下载方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述权利要求1至8任一项所述的文件下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210345345.5A CN114745368B (zh) | 2022-03-31 | 2022-03-31 | 文件下载方法、装置、计算机设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210345345.5A CN114745368B (zh) | 2022-03-31 | 2022-03-31 | 文件下载方法、装置、计算机设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114745368A CN114745368A (zh) | 2022-07-12 |
CN114745368B true CN114745368B (zh) | 2024-04-09 |
Family
ID=82279281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210345345.5A Active CN114745368B (zh) | 2022-03-31 | 2022-03-31 | 文件下载方法、装置、计算机设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745368B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001238000A (ja) * | 2000-02-23 | 2001-08-31 | Canon Inc | マルチファンクション・システムおよびその制御方法、並びにその制御プログラムを記録した記録媒体 |
CN101540784A (zh) * | 2009-04-13 | 2009-09-23 | 中国联合网络通信集团有限公司 | 文件下载方法及终端、下载响应服务器、文件服务器 |
CN107517252A (zh) * | 2017-08-22 | 2017-12-26 | 福建中金在线信息科技有限公司 | 一种文件下载控制方法、装置及系统 |
CN107528865A (zh) * | 2016-06-21 | 2017-12-29 | 平安科技(深圳)有限公司 | 文件的下载方法和系统 |
CN108833482A (zh) * | 2018-05-21 | 2018-11-16 | 平安科技(深圳)有限公司 | Mdl文件自动下载方法、系统、计算机设备和存储介质 |
CN109308285A (zh) * | 2018-10-11 | 2019-02-05 | 平安科技(深圳)有限公司 | 数据库脚本管理方法、装置、计算机设备及存储介质 |
CN112231603A (zh) * | 2020-11-02 | 2021-01-15 | 深圳市欢太科技有限公司 | 一种文件下载方法、服务器、客户端和存储介质 |
CN113239672A (zh) * | 2021-05-18 | 2021-08-10 | 北京京东振世信息技术有限公司 | 目标文件编辑方法及装置、电子设备、存储介质 |
CN114218165A (zh) * | 2021-12-21 | 2022-03-22 | 平安付科技服务有限公司 | 文件下载方法、装置、计算机设备及介质 |
-
2022
- 2022-03-31 CN CN202210345345.5A patent/CN114745368B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001238000A (ja) * | 2000-02-23 | 2001-08-31 | Canon Inc | マルチファンクション・システムおよびその制御方法、並びにその制御プログラムを記録した記録媒体 |
CN101540784A (zh) * | 2009-04-13 | 2009-09-23 | 中国联合网络通信集团有限公司 | 文件下载方法及终端、下载响应服务器、文件服务器 |
CN107528865A (zh) * | 2016-06-21 | 2017-12-29 | 平安科技(深圳)有限公司 | 文件的下载方法和系统 |
CN107517252A (zh) * | 2017-08-22 | 2017-12-26 | 福建中金在线信息科技有限公司 | 一种文件下载控制方法、装置及系统 |
CN108833482A (zh) * | 2018-05-21 | 2018-11-16 | 平安科技(深圳)有限公司 | Mdl文件自动下载方法、系统、计算机设备和存储介质 |
CN109308285A (zh) * | 2018-10-11 | 2019-02-05 | 平安科技(深圳)有限公司 | 数据库脚本管理方法、装置、计算机设备及存储介质 |
CN112231603A (zh) * | 2020-11-02 | 2021-01-15 | 深圳市欢太科技有限公司 | 一种文件下载方法、服务器、客户端和存储介质 |
CN113239672A (zh) * | 2021-05-18 | 2021-08-10 | 北京京东振世信息技术有限公司 | 目标文件编辑方法及装置、电子设备、存储介质 |
CN114218165A (zh) * | 2021-12-21 | 2022-03-22 | 平安付科技服务有限公司 | 文件下载方法、装置、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114745368A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108306877B (zh) | 基于node js的用户身份信息的验证方法、装置和存储介质 | |
US10467316B2 (en) | Systems and methods for web analytics testing and web development | |
CN111600909A (zh) | 数据处理方法、装置、协议转换设备及存储介质 | |
CN111683066B (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN105786998A (zh) | 数据库中间件系统及利用其处理数据的方法 | |
CN110855676A (zh) | 网络攻击的处理方法、装置及存储介质 | |
CN111274268A (zh) | 物联网数据传输方法、装置、介质及电子设备 | |
CN107104924B (zh) | 网站后门文件的验证方法及装置 | |
CN109787974B (zh) | 报文数据流生成方法、装置、计算机设备和存储介质 | |
CN109376133A (zh) | 文件访问方法及文件访问系统 | |
CN111970236B (zh) | 跨网数据传输方法和装置 | |
CN113010378B (zh) | 微服务模块的日志处理方法及装置、存储介质、电子装置 | |
CN111200523B (zh) | 中台系统配置方法、装置、设备及存储介质 | |
CN105554136B (zh) | 备份数据还原方法、装置及系统 | |
CN111628927A (zh) | 邮件管理方法及装置、存储介质及电子终端 | |
CN111241152B (zh) | 政策信息挖掘方法、装置及云服务器 | |
CN115543479A (zh) | 一种适用于动态参数的接口调用解析方法及装置 | |
CN113296987B (zh) | 调用模块的接口调用方法、装置、计算机设备及存储介质 | |
CN112235124B (zh) | 一种皮基站配置方法、装置、存储介质和电子装置 | |
CN114745368B (zh) | 文件下载方法、装置、计算机设备和计算机可读存储介质 | |
CN111722938A (zh) | At指令处理方法、装置、计算机设备和存储介质 | |
CN111782291B (zh) | 一种测试页面的启动方法和装置 | |
CN112416875B (zh) | 日志管理方法、装置、计算机设备及存储介质 | |
CN117407369B (zh) | 操作日志记录方法、装置及电子设备 | |
CN113138999B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |