文件打包下载方法、装置、电子设备及存储介质与流程



1.本技术涉及数据处理技术领域,尤其涉及一种文件打包下载方法、装置、电子设备及存储介质。


背景技术:



2.随着互联网技术的不断发展,以及云计算的崛起,私有云和公有云越来越得到普及,用户可以将自己的文件上传到云端服务器,通常可以多次上传单个文件,当用户将云端的文件夹或者多个文件同时下载到本地时,需要将这些文件夹和文件打包成一个文件然后进行下载。
3.现有技术中,多采用同步打包下载方式,即用户提交打包下载请求后,云端服务器基于下载请求打包对应的文件并同步下载到本地。
4.但是,若用户提交的打包下载请求中存在下载相同资源的请求时会导致资源被反复打包,进而重复下载,导致资源浪费。


技术实现要素:



5.本技术提供一种文件打包下载方法、装置、电子设备及存储介质,可以减少重复打包,节省资源存储空间,实现一次打包多次下载的效果。
6.第一方面,本技术提供一种文件打包下载方法,所述方法包括:
7.获取客户端发送的业务请求消息,并基于预定义功能模块查所述业务请求消息对应的业务功能,所述业务功能用于指示下载多个目标文件对应的文件身份标识号id;
8.基于预定义算法获取所述业务请求消息对应的摘要信息,并从压缩历史信息中查是否存在所述摘要信息;所述压缩历史信息用于存储摘要信息与压缩包的对应关系;所述压缩包包括压缩的多个文件;
9.若存在,则基于所述摘要信息从云端中调用对应的第一目标压缩包,并将所述第一目标压缩包转发至客户端,以使所述客户端下载对应的目标文件;
10.若不存在,则基于所述业务请求消息对应的业务功能查所述目标文件的文件id,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,将所述第二目标压缩包与所述摘要信息的关系上传至云端进行存储,并将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件。
11.可选的,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:
12.基于所述文件id从云端中获取相应的目标文件进行压缩;
13.每隔预设时间,获取所述目标文件的压缩结果,并基于所述目标文件的压缩结果判断第二目标压缩包的压缩状态;
14.若所述压缩状态为失败状态,则获取所述失败状态对应的失败原因,并将所述失败原因发送给所述客户端,以使所述客户端重新发送业务请求消息;
15.若所述压缩状态为成功状态,则得到第二目标压缩包,并将所述第二目标压缩包发送到云端进行存储。
16.可选的,获取所述目标文件的压缩结果,并基于所述目标文件的压缩结果判断第二目标压缩包的压缩状态,包括:
17.针对每一目标文件,基于该目标文件对应的文件大小进行异步压缩;
18.获取每一目标文件对应的压缩结果,并基于所述压缩结果判断第二目标压缩包的压缩状态;
19.若存在至少一个目标文件压缩失败,则确定第二目标压缩包的压缩状态为失败状态;
20.若所有目标文件压缩成功,则确定第二目标压缩包的压缩状态为成功状态。
21.可选的,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:
22.基于所述文件id从云端中获取相应的目标文件,所述目标文件为基于异步方式提前上传到云端的文件;
23.对所述目标文件进行压缩,得到第二目标压缩包,并生成所述第二目标压缩包的下载地址。
24.可选的,将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件,包括:
25.获取所述第二目标压缩包对应的下载地址,并基于所述下载地址将所述第二目标压缩包转发至客户端,以使所述客户端在所述下载地址下载对应的目标文件。
26.可选的,基于预定义算法获取所述业务请求消息对应的摘要信息,包括:
27.基于所述业务请求消息获取所述目标文件对应的关键字信息,并利用信息摘要算法生成与所述关键字信息对应的摘要信息。
28.可选的,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:
29.基于所述文件id从云端中获取所述目标文件,并利用预定义密钥生成算法生成第一密钥;
30.利用所述第一密钥对所述目标文件进行加密,生成第一加密信息;
31.向客户端发送所述第一密钥,接收客户端发送的第二密钥;所述第二密钥为客户端基于第一密钥和自身的密钥生成算法,确定的通信密钥;
32.利用所述第二密钥对所述第一加密信息加密,生成第二加密信息,并对所述第二加密信息进行压缩,得到第二目标压缩包。
33.可选的,所述方法还包括:
34.获取目标文件的文件类型,并基于所述文件类型对所述第二目标压缩包进行标记;
35.将所述标记上传至云端,以使所述云端基于所述标记将所述第二目标压缩包存储至相应存储模块,其中,所述云端包括多个存储模块,每一存储模块对应有标记。
36.第二方面,本技术提供一种文件打包下载装置,所述装置包括:
37.获取模块,用于获取客户端发送的业务请求消息,并基于预定义功能模块查所
述业务请求消息对应的业务功能,所述业务功能用于指示下载多个目标文件对应的文件身份标识号id;
38.查模块,用于基于预定义算法获取所述业务请求消息对应的摘要信息,并从压缩历史信息中查是否存在所述摘要信息;所述压缩历史信息用于存储摘要信息与压缩包的对应关系;所述压缩包包括压缩的多个文件;
39.转发模块,用于当压缩历史信息中存在所述摘要信息时,基于所述摘要信息从云端中调用对应的第一目标压缩包,并将所述第一目标压缩包转发至客户端,以使所述客户端下载对应的目标文件;
40.压缩转发模块,用于当压缩历史信息中不存在所述摘要信息时,基于所述业务请求消息对应的业务功能查所述目标文件的文件id,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,将所述第二目标压缩包与所述摘要信息的关系上传至云端进行存储,并将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件。
41.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
42.所述存储器存储计算机执行指令;
43.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
44.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的方法。
45.第五方面,本技术提供一种计算机程序产品,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如第一方面任一项所述的方法。
46.综上所述,本技术提供一种文件打包下载方法、装置、电子设备及存储介质,可以通过获取客户端发送的业务请求消息,并基于预定义功能模块查业务请求消息对应的业务功能,该业务功能用于指示下载多个目标文件对应的文件身份标识号id;进一步的,基于预定义算法获取业务请求消息对应的摘要信息,并从压缩历史信息中查是否存在摘要信息;其中,压缩历史信息用于存储摘要信息与压缩包的对应关系;压缩包包括压缩的多个文件;若确定压缩历史信息中存在摘要信息,则基于摘要信息从云端中调用对应的第一目标压缩包,并将第一目标压缩包转发至客户端,以使客户端下载对应的目标文件;若确定压缩历史信息中不存在摘要信息,则基于业务请求消息对应的业务功能查目标文件的文件id,基于文件id从云端中获取目标文件进行压缩,得到第二目标压缩包,将第二目标压缩包与摘要信息的关系上传至云端进行存储,并将第二目标压缩包转发至客户端,以使客户端下载对应的目标文件。这样,可以减少重复打包情况的发生,节省资源存储空间,实现一次打包多次下载的效果,还可以节约文件下载的时间。
附图说明
47.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
48.图1为本技术实施例提供的一种应用场景示意图;
49.图2为本技术实施例提供的一种文件打包下载方法的流程示意图;
50.图3为本技术实施例提供的一种压缩包的结构示意图;
51.图4为本技术实施例提供的一种具体的文件打包下载方法的流程示意图;
52.图5为本技术实施例提供的一种文件打包下载装置的结构示意图;
53.图6为本技术实施例提供的一种电子设备的结构示意图。
54.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
55.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
56.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
57.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
58.下面结合附图对本技术实施例进行介绍,图1为本技术实施例提供的一种应用场景示意图,本技术提供的一种文件打包下载方法可以应用于如图1所示的应用场景中。该应用场景包括:用户的终端设备101、业务平台102和云端103;其中,业务平台102中包括功能模块,所述功能模块将文件id与相应的业务功能提前绑定;具体的,在用户的终端设备101下载多个文件时,为了导出方便需要一键下载功能,即用户的终端设备101向业务平台102发送业务请求消息,业务平台102在接收到该业务请求消息后,可以基于功能模块查出该业务请求消息对应的需要下载文件的文件id,进一步的,基于文件id到业务功能对应的多个文件,进而可以将多个文件打包成一个文件然后发送给用户的终端设备101进行下载,其中,多个文件存储在云端103中,业务平台102从云端103中获取相应的文件进行打包。
59.需要说明的是,业务平台102可以接收多个终端设备上传的单个文件,终端设备也可以多次上传文件,进而业务平台102将各个终端设备上传的文件发送到云端进行存储,其中,业务平台102可以是云端服务器,也可以是某些平台业务系统的服务器,本技术实施例对此不做具体限定。
60.可选的,上述文件存储于云端103时,采用的是异步上传的方式,即后台服务异步将文件打包后上传到云端103,这样,可以分隔前端和后端之间的影响关系,不会由于后台操作时间过长导致的前端卡死或无法进行其他操作的发生。
61.上述终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radio access network,ran)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(personal communication service,pcs)电话、无绳电话、会话发起协议(session initiation protocol,sip)话机、无线本地环路(wireless local loop,wll)站、个人数字助理(personal digital assistant,pda)等设备。无线终端也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device or user equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
62.一种可能的实现方式中,多采用同步打包下载方式,即用户提交打包下载请求后,云端服务器基于下载请求打包对应的文件并同步下载到本地。
63.但是,若用户提交的打包下载请求中存在下载相同资源的请求时会导致资源被反复打包,进而重复下载,导致资源浪费。
64.针对上述问题,本技术提供一种文件打包下载方法,可以在业务平台收到客服端发送的业务请求消息后,先基于业务请求消息获取下载文件对应的摘要信息,进而利用摘要信息确定在云端中该下载文件是否已经被打好资源包,若存在已经被打好资源包,则客户端直接下载即可,否则,需要获取该下载文件进行打包处理,进而发送给客户端进行下载,这样可以减少文件资源的重复打包,节省资源存储空间,实现一次打包多次下载的效果,还可以节约文件下载的时间。
65.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
66.图2为本技术实施例提供的一种文件打包下载方法的流程示意图,如图2所示,所述文件打包下载方法包括如下步骤:
67.s201、获取客户端发送的业务请求消息,并基于预定义功能模块查所述业务请求消息对应的业务功能,所业务功能用于指示下载多个目标文件对应的文件身份标识号id。
68.本技术实施例中,业务请求消息为客户端发送的文件下载请求的消息指令,该文件下载请求的消息指令用于下载多个目标文件,所述目标文件为用户所需的文件,如业务请求消息为下载发展党员的过程资料的指令消息,进一步的,预定义功能模块可以基于该业务请求消息查到对应的业务功能;所述预定义功能模块为提前定义好的功能模块,用
于绑定文件id(identity document,身份标识号)与业务功能的关联关系,即每一业务功能对应有下载文件的文件id,如在收到下载发展党员的过程资料的指令消息后,预定义功能模块可以基于该指令消息到对应的业务功能,即基于该指令消息查到需要下载发展党员的过程文件对应的文件id。
69.具体的,客户端基于用户的操作,向业务平台发送业务请求消息求,在业务平台获取到客户端发送的业务请求消息后,预定义功能模块可以查到该业务请求消息对应的业务功能,进而可以从业务功能中获取下载多个目标文件对应的文件id。
70.需要说明的是,目标文件存储于云端,也可以存储于业务平台的存储器中,本技术实施例对此不作具体限定,存储的每一文件都有对应的文件id。
71.s202、基于预定义算法获取所述业务请求消息对应的摘要信息,并从压缩历史信息中查是否存在所述摘要信息;所述压缩历史信息用于存储摘要信息与压缩包的对应关系;所述压缩包包括压缩的多个文件。
72.本技术实施例中,预定义算法可以指的是用于计算下载文件对应的摘要信息的方法,所述摘要信息是标记下载文件的散列值,可以确保下载文件传输完整一致,所述摘要信息用于校验下载文件内容,与下载文件的文件名称无关,若下载文件的文件名称改变、但文件内容不变时,下载文件的摘要信息保持不变。
73.在本步骤中,压缩历史信息为提前存储的不同文件被打包压缩的记录信息,该记录信息用于指示多个文件是否被打包过,若打包过,该记录信息会存储对应压缩包与摘要信息的关联关系,即压缩包中每一文件与摘要信息的关联关系,该关联关系可以用标记进行表示。
74.可选的,所述预定义算法可以为信息摘要算法(message-digest algorithm,md5)、md4算法、sha*系列算法或者哈希算法等,本技术实施例对此不做具体限定。
75.示例性的,在图1的应用场景下,业务平台102可以基于md5算法获取终端设备101发送的业务请求消息,并基于预定义功能模块查到该业务请求消息对应的业务功能,进而基于业务功能可以查到用户所需目标文件的文件id,进一步的,基于文件id从云端中获取目标文件,并基于预定义算法计算该目标文件对应的摘要信息,进一步的,从压缩历史信息中查是否存在摘要信息。
76.s203、若存在,则基于所述摘要信息从云端中调用对应的第一目标压缩包,并将所述第一目标压缩包转发至客户端,以使所述客户端下载对应的目标文件。
77.在本步骤中,将所述第一目标压缩包转发至客户端,转发的是所述第一目标压缩包对应的下载链接,如统一资源定位系统(uniform resource locator,url),所述下载链接用于指定目标文件的信息位置,该下载链接在生成第一目标压缩包时,也适应性的生成,二者存在关联关系存储于云端中,即每一压缩包都要对应的下载链接。
78.需要说明的是,业务平台调用云端中的文件,是基于文件系统打包压缩接口实现的,该接口用于实现业务平台与云端的通信,通过定义标准统一接口进行文件打包下载,可以规范调用流程。
79.示例性的,在图1的应用场景下,若业务平台102确定压缩历史信息中存在目标文件对应的摘要信息,则可以基于摘要信息从云端103中调用对应的第一目标压缩包,并将第一目标压缩包对应的下载链接转发至用户的终端设备101,以使终端设备101下载对应的目
标文件。
80.s204、若不存在,则基于所述业务请求消息对应的业务功能查所述目标文件的文件id,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,将所述第二目标压缩包与所述摘要信息的关系上传至云端进行存储,并将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件。
81.在本步骤中,对所述目标文件进行压缩,可以采用异步处理的方式,异步处理的方式分隔了前端和后端之间的影响关系,减少由于后台压缩某个文件时间过长导致的前端卡死或者无法进行其他操作的发生。
82.示例性的,在图1的应用场景下,若业务平台102确定压缩历史信息中不存在目标文件对应的摘要信息,则基于用户的终端设备101发送的业务请求消息查到对应的业务功能,并基于该业务功能查所需下载目标文件的文件id,进一步的,基于文件id从云端中获取对应的目标文件进行压缩,得到第二目标压缩包,并将第二目标压缩包对应的下载链接转发至用户的终端设备101,以使终端设备101下载对应的目标文件。
83.可以理解的是,本技术实施例在基于文件id从云端中获取的目标文件,所述目标文件也是基于异步上传的方式,可以减少由于后台上传某个文件时间过长导致的前端卡死或者无法进行其他操作的发生,如在上传某个超大文件时,所需时间过长,但是其他文件此时也可以上传,使得前端可以进行其他操作,分隔了前端和后端之间的影响关系。
84.因此,本技术实施例提供一种文件打包下载方法,可以通过获取客户端发送的业务请求消息,并基于预定义功能模块查业务请求消息对应的业务功能,进一步的,基于预定义算法获取业务请求消息对应的摘要信息,并从提前存储的压缩历史信息中查是否存在该摘要信息;若确定压缩历史信息中存在摘要信息,则基于摘要信息从云端中调用对应的第一目标压缩包,并将第一目标压缩包转发至客户端,以使客户端下载对应的目标文件;若确定压缩历史信息中不存在摘要信息,则基于业务请求消息对应的业务功能查目标文件的文件id,基于文件id从云端中获取目标文件进行压缩,得到第二目标压缩包,进而将第二目标压缩包与摘要信息的关系上传至云端进行存储,并将第二目标压缩包转发至客户端进行下载。这样,若存在打包过的文件,则可以直接提供下载,减少重复打包情况的发生,节省资源存储空间,实现一次打包多次下载的效果,还可以节约文件下载的时间。
85.可选的,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:
86.基于所述文件id从云端中获取相应的目标文件进行压缩;
87.每隔预设时间,获取所述目标文件的压缩结果,并基于所述目标文件的压缩结果判断第二目标压缩包的压缩状态;
88.若所述压缩状态为失败状态,则获取所述失败状态对应的失败原因,并将所述失败原因发送给所述客户端,以使所述客户端重新发送业务请求消息;
89.若所述压缩状态为成功状态,则得到第二目标压缩包,并将所述第二目标压缩包发送到云端进行存储。
90.本技术实施例中,预设时间可以指的是设定用于不间断获取目标文件的压缩结果对应的时间,因为对于超大文件打包时间较长,容易出现接口超时或打包中断的现象,故需要设定相应的时间获取目标文件的压缩结果;所述压缩结果用于指示目标文件的压缩状
态,所述压缩结果包括所有目标文件压缩成功,所有目标文件中部分压缩成功,且其余部分正在压缩过程中,所有目标文件中部分压缩成功,但其余部分压缩失败,以及所有目标文件压缩失败。
91.需要说明的是,本技术实施例对预设时间对应的具体数值不作限定,其提前设定好,也可以人为随时修改,如预设时间为2秒。
92.在本步骤中,当所述压缩状态为失败状态时,需要获取该失败状态对应的失败原因,所述失败原因可以包括目标文件压缩失败的阶段、目标文件压缩失败对应的文件数、文件名称、文件类型等,以方便用户及时了解失败的原因,进而到应对方法,所述应对方法可以为客户端重新发送业务请求消息,或者也可以为用户取消某个目标文件的下载,使得其余目标文件可以成功打包下载,本技术实施例对应方法不做具体限定。
93.其中,在到失败原因后,可以将所述失败原因发送给所述客户端,可以通过弹窗提示的形式发送一条失败信息到客户端上,如“目标文件1和目标文件2压缩失败”,也可以以语音或图片的形式发送相应的失败信息到客户端上,本技术实施例对发送失败原因的内容以及形式不作具体限定,以上仅是示例说明。
94.可选的,若所述压缩状态为进行状态,则向所述客户端发送继续等待信息,所述继续等待信息的发送形式可以参考所述失败原因的发送形式,其发送内容与所述失败原因的发送内容类似,可以包括剩余压缩的目标文件的文件数、文件名称、文件类型等,在此不再赘述。
95.示例性的,在图1的应用场景下,业务平台102可以基于用户的终端设备101发送的业务请求消息获取到对应的业务功能,进而基于业务功能获取到目标文件对应的文件id,进而基于文件id从云端中103中获取相应的目标文件进行压缩,在目标文件压缩过程中,每隔2秒,获取目标文件的压缩结果,并基于目标文件的压缩结果判断第二目标压缩包的压缩状态;进一步的,若确定第二目标压缩包的压缩状态为失败状态,则获取失败状态对应的失败原因,并将失败原因发送给终端设备101,如“目标文件1和目标文件2压缩失败”,以提醒用户目标文件1和目标文件2压缩失败,进而用户操作终端设备101重新发送业务请求消息;若确定第二目标压缩包的压缩状态为成功状态,则可以得到第二目标压缩包,并将所述第二目标压缩包发送到云端103进行存储,相应的,也可以生成并存储第二目标压缩对应的下载链接。
96.需要说明的是,客户端重新发送业务请求消息,可以是用户终端设备在收到失败原因提示后,基于用户的操作发送的业务请求消息,也可以是用户终端设备在收到失败原因提示后,终端设备识别所述失败原因,自动发送的业务请求消息,本技术实施例对此不作具体限定。
97.因此,本技术实施例可以对第二目标压缩包的压缩状态进行判断,减少下载异常的发生,如某个超大文件在进行打包下载时,发生中断,则可以重新对其进行压缩,提高压缩成功率。
98.可选的,获取所述目标文件的压缩结果,并基于所述目标文件的压缩结果判断第二目标压缩包的压缩状态,包括:
99.针对每一目标文件,基于该目标文件对应的文件大小进行异步压缩;
100.获取每一目标文件对应的压缩结果,并基于所述压缩结果判断第二目标压缩包的
压缩状态;
101.若存在至少一个目标文件压缩失败,则确定第二目标压缩包的压缩状态为失败状态;
102.若所有目标文件压缩成功,则确定第二目标压缩包的压缩状态为成功状态。
103.本技术实施例中,异步压缩可以指的是利用多线程对文件进行压缩处理,当前线程的文件压缩处理过程不影响其他线程的文件压缩处理过程,即允许后续操作对其他文件进行压缩处理,这样可以提高文件的压缩速率。
104.在本步骤中,基于所述压缩结果判断第二目标压缩包的压缩状态,其中,所有目标文件压缩成功,则第二目标压缩包的压缩状态才可以为成功状态,所有目标文件中部分压缩成功,但其余部分压缩失败,以及所有目标文件压缩失败,则对应的第二目标压缩包的压缩状态为失败状态,而当所有目标文件中部分压缩成功,且其余部分正在压缩过程中,则可以对应的第二目标压缩包的压缩状态为正在压缩状态。
105.可选的,本技术基于目标文件对应的文件大小进行异步压缩,可以优先对文件较大的目标文件进行压缩处理,如确定目标文件对应的文件大小大于预设阈值的目标文件优先压缩处理,因为超大文件打包压缩时间上过长,这样,可以及时确定大于预设阈值的目标文件是否被压缩成功,进而及时发现问题。
106.因此,本技术实施例可以异步处理压缩文件,每一目标文件的压缩过程互不干扰,提高压缩效率,节省文件压缩时间。
107.可选的,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:
108.基于所述文件id从云端中获取相应的目标文件,所述目标文件为基于异步方式提前上传到云端的文件;
109.对所述目标文件进行压缩,得到第二目标压缩包,并生成所述第二目标压缩包的下载地址。
110.本技术实施例中,异步方式可以指的是利用多线程对文件进行上传,当前线程的文件在上传过程中不影响其他线程的文件的上传过程,即允许后续操作对其他文件进行上传,这样可以分隔前端和后端之间的影响关系,使得上传的设备与接收文件上传的设备在上传文件过程中不相互影响。
111.在本步骤中,生成第二目标压缩包的下载地址,可以定位第二目标压缩包的下载位置,进而有针对性的下载第二目标压缩包,节省下载时间。
112.需要说明的是,目标文件为基于异步方式提前上传到云端的文件,同理,云端中存储的文件均是基于异步方式上传的,通过异步方式,可以减少后台在上传某个文件时的时间过长导致的前端卡死或者前端无法进行其他操作的情况的发生,提高文件上传的稳定性。
113.因此,本技术实施例可以生成第二目标压缩包的下载地址,便于第二压缩包的准确下载。
114.可选的,将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件,包括:
115.获取所述第二目标压缩包对应的下载地址,并基于所述下载地址将所述第二目标
压缩包转发至客户端,以使所述客户端在所述下载地址下载对应的目标文件。
116.在本步骤中,多个目标文件对应的下载地址可以指的是终端设备使用文件远端url的下载地址,该下载地址对应的是终端设备发起文件下载保存的压缩包的url,具体的,用户提交打包下载请求后,后台服务器异步将文件打包压缩后上传云端,打包完成后终端设备可以获取打包压缩后压缩包的下载链接,终端设备基于该链接发起文件下载动作。
117.因此,本技术实施例可以基于下载地址有针对性的下载对应的目标文件,提高下载的准确性。
118.可选的,基于预定义算法获取所述业务请求消息对应的摘要信息,包括:
119.基于所述业务请求消息获取所述目标文件对应的关键字信息,并利用信息摘要算法生成与所述关键字信息对应的摘要信息。
120.本技术实施例中,信息摘要算法是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致性,本技术实施例利用信息摘要算法生成目标文件的摘要信息,当存在摘要信息时,说明存在该目标文件的压缩包,进而可以直接用于下载,有效减少目标文件被重复打包下载。
121.其中,信息摘要算法可以从业务请求消息中抽取关键信息如每个目标文件对应的关键字,进而输出成json序列化字符串,然后使用信息摘要算法生成与json序列化字符串对应的摘要信息,作为压缩包的唯一描述值;所述json序列化字符串还可以标识每一目标文件的压缩顺序,本技术实施例对json序列化字符串对应的具体内容不作限定。
122.示例性的,图3为本技术实施例提供的一种压缩包的结构示意图,如图3所示,某种压缩包(类zipqo)包括:一系列文件夹名字(dirname)、文件列表(files:list)、多层子级文件夹(childdirs);所述文件列表用list《zipfileqo》标识,用于表示压缩的多个文件对应的列表,每一列表中包含一系列的文件id(id)、一系列的文件名称(filesname)、文件类型、文件大小(图中未全部示出)等;所述多层子级文件夹用list《zipqo》标识,用于表示压缩的多个子文件夹,每压缩的一个文件夹中包含多层级的子文件夹;可选的,针对压缩包的结构,适应性的,所述目标文件对应的关键字信息可以包括文件名称、文件id、文件类型、文件大小以及文件的下载地址等,这样,所述关键字信息可以表述每一文件的完整记录,生成该关键字信息的对应的摘要信息,可以有效验证文件内容,即当文件的名称发生改变、但文件对应的其他信息不变时,文件的摘要信息会保持不变。
123.因此,本技术实施例可以基于信息摘要算法生成与关键字信息对应的摘要信息,所述关键字信息可以表述下载文件的完整记录数据,所述摘要信息为基于文件内容计算得到,生成与关键字信息对应的摘要信息,减少下载文件被重复打包的概率,即基于关键字信息确定相应的下载文件,进而利用信息摘要算法计算该下载文件的摘要信息,可以提高生成摘要信息的准确性。
124.可选的,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:
125.基于所述文件id从云端中获取所述目标文件,并利用预定义密钥生成算法生成第一密钥;
126.利用所述第一密钥对所述目标文件进行加密,生成第一加密信息;
127.向客户端发送所述第一密钥,接收客户端发送的第二密钥;所述第二密钥为客户
端基于第一密钥和自身的密钥生成算法,确定的通信密钥;
128.利用所述第二密钥对所述第一加密信息加密,生成第二加密信息,并对所述第二加密信息进行压缩,得到第二目标压缩包。
129.本技术实施例中,预定义密钥生成算法可以指的是预定的任意密钥生成算法,其可以参考现有的密钥生成算法,也可以人为重新定义算法,本技术实施例对此不作具体限定。
130.在本步骤中,第一密钥为私钥,第二密钥为公钥,所述第二密钥为用户的终端设备基于第一密钥和自身的密钥生成算法,确定的通信密钥,该通信密钥的安全性更高,其中,自身的密钥生成算法可以是自身设定密钥生成算法,其安全隐私性更高,具体的设定密钥生成算法的过程本技术实施例不作具体限定。
131.示例性的,在图1的应用场景下,业务平台102可以基于用户的终端设备101发送的业务请求消息获取到对应的业务功能,并基于业务功能获取到目标文件对应的文件id,进而基于文件id从云端中103中获取相应的目标文件,进而利用密钥生成算法1生成第一密钥,并利用第一密钥对目标文件进行加密,生成第一加密信息;进一步的,业务平台102向用户的终端设备101发送生成的第一密钥,用户的终端设备101在接收到该第一密钥后,基于该第一密钥和自身的密钥生成算法2,确定通信密钥,进一步的,用户的终端设备101将确定通信密钥发送给业务平台102,业务平台102在接收用户的终端设备101发送的通信密钥后;利用该通信密钥将第一加密信息进行加密,生成第二加密信息,并对第二加密信息进行压缩,得到第二目标压缩包。
132.需要说明的是,本技术实施例除了可以进行上述二次加密外,还可以进行多次加密,视具体情况而定,本技术实施例对加密的次数不作具体限定。其中,每一私钥都有对应的公钥,如第一密钥有对应的公钥进行解密。
133.因此,本技术实施例采用双重加密的方法对目标文件进行加密,进而对加密后的目标文件进行压缩,提高目标文件压缩的安全性。
134.可选的,所述方法还包括:
135.获取目标文件的文件类型,并基于所述文件类型对所述第二目标压缩包进行标记;
136.将所述标记上传至云端,以使所述云端基于所述标记将所述第二目标压缩包存储至相应存储模块,其中,所述云端包括多个存储模块,每一存储模块对应有标记。
137.本技术实施例中,所述标记用于区分压缩包的存储区域,即可以基于目标文件的文件类型对压缩包进行分区域存储。
138.示例性的,若第二目标压缩包中包括多种文件类型的目标文件,则可以将其归为混合型的存储模块,若第二目标压缩包中包括一种文件类型的目标文件,则可以将其归为对应文件类型的存储模块,如所有目标文件均为json型,则将其归为存储json类型的存储模块;可选的,若第二目标压缩包中包括多种文件类型的目标文件,则可以将其对应的存储模块进行细分,如第二目标压缩包中包括1个json型的目标文件,2个xml型的目标文件和3个doc型的目标文件,则可以将其归为1+2+3型的存储模块,或1json+2xml+3doc的存储模块,本技术实施例对划分的存储模块的种类以及数量不作具体限定,以上仅是示例说明。
139.因此,本技术实施例可以分区域存储相应的压缩包,便于压缩包的调用,节省调用
时间。
140.结合上述实施例,图4为本技术实施例提供的一种具体的文件打包下载方法的流程示意图,如图4所示,所述文件打包下载方法包括如下步骤:
141.步骤a:用户在客户端向文件服务系统上传文件请求,进而文件服务系统调用文件系统接口保存相应的文件到云端存储系统,同时,文件服务系统保存用户上传的文件信息,包括文件名、文件类型、文件大小、文件md5值(摘要信息)、文件云端url地址等,并生成每一文件对应的文件id,进而可以将该文件信息和文件id发送给业务功能服务系统,所述业务功能服务系统通过记录文件id和业务功能的关联关系,将文件和功能模块进行绑定,这样便可以基于业务功能到对应的各个文件,进一步的,业务功能服务系统将文件信息上传成功的信息返回个客户端,这样,就完成业务平台收集文件数据的过程,所述业务平台包括文件服务系统和业务功能服务系统。在用户需要下载多个文件时,可以执行步骤b。
142.步骤b:用户在客户端发起一键下载请求(业务请求消息),业务功能服务系统收到该请求后出业务功能对应的文件id,拼装打包压缩信息,然后调用文件服务系统打包压缩接口,进行打包文件处理,打包信息包括文件的压缩路径和文件id等。具体的,业务平台的具体处理过程为:在收到一键下载请求后,进行md5抽取(计算摘要信息),得到本次一键下载请求对应的唯一标记a(摘要信息),进一步的,从已经打过压缩包的历史信息中,查a标记是否存在,即判断压缩包是否存在,如果不存在,则插入一条压缩打包记录,并将此压缩文件信息返回给客户端,所述压缩文件信息包括压缩包id和压缩的文件id,同时开启新线程异步进入打包处理过程,在打包完成后将压缩包对应的文件上传到云端存储系统进行存储,并更新打包记录信息,进而云端存储系统返回存储完成的信息;如果存在,直接返回压缩包的下载链接,客户端直接下载。
143.需要说明的是,文件打包处理过程可以使用zipfile(zipfile是python的一个内置模块,专门用于压缩文件和解压文件)创建压缩文件路径,下载云端存储的文件到本地后,将文件添加到压缩中进行打包。
144.步骤c:在云端存储系统返回存储完成的信息后,客户端可以基于压缩包id调用文件系统接口获取打包记录信息,通过判断压缩包的压缩状态来响应业务处理,当返回压缩包的压缩状态为status=0时,说明打包未完成正在进行中,则可以间隔2秒后重新调用该接口,重新发送请求,反复执行此步骤;当返回压缩包的压缩状态为status=1时,说明打包成功,则可以使用文件远端url下载地址,发起文件下载保存,完成后流程结束;当返回压缩包的压缩状态为status=3时,说明打包失败,此时可以弹窗提示失败信息给用户,流程结束。
145.需要说明的是,在压缩包的压缩成功后,相应的,云端存储系统也会存储该压缩包。
146.经过试验表明,上述文件打包下载方法在党建信息化平台完成了文件打包下载的基础服务实现,可以供系统内十几个业务功能点使用,例如:发展党员过程资料可以基于上述方法一键下载。该方法可以保证系统稳定平稳运行,且用户体验良好,节省大量文件存储资源空间。
147.在前述实施例中,对本技术实施例提供的文件打包下载方法进行了介绍,而为了实现上述本技术实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结
构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
148.例如,图5为本技术实施例提供的一种文件打包下载装置的结构示意图,如图5所示,该装置包括:获取模块510、查模块520、转发模块530和压缩转发模块540;其中,所述获取模块510,用于获取客户端发送的业务请求消息,并基于预定义功能模块查所述业务请求消息对应的业务功能,所述业务功能用于指示下载多个目标文件对应的文件身份标识号id;
149.所述查模块520,用于基于预定义算法获取所述业务请求消息对应的摘要信息,并从压缩历史信息中查是否存在所述摘要信息;所述压缩历史信息用于存储摘要信息与压缩包的对应关系;所述压缩包包括压缩的多个文件;
150.所述转发模块530,用于当压缩历史信息中存在所述摘要信息时,基于所述摘要信息从云端中调用对应的第一目标压缩包,并将所述第一目标压缩包转发至客户端,以使所述客户端下载对应的目标文件;
151.所述压缩转发模块540,用于当压缩历史信息中不存在所述摘要信息时,基于所述业务请求消息对应的业务功能查所述目标文件的文件id,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,将所述第二目标压缩包与所述摘要信息的关系上传至云端进行存储,并将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件。
152.可选的,所述压缩转发模块540包括压缩模块和转发单元,所述压缩模块包括压缩单元,获取单元,重新发送单元和存储单元;
153.具体的,所述压缩单元,用于基于所述文件id从云端中获取相应的目标文件进行压缩;
154.所述获取单元,用于每隔预设时间,获取所述目标文件的压缩结果,并基于所述目标文件的压缩结果判断第二目标压缩包的压缩状态;
155.所述重新发送单元,用于当所述压缩状态为失败状态时,获取所述失败状态对应的失败原因,并将所述失败原因发送给所述客户端,以使所述客户端重新发送业务请求消息;
156.所述存储单元,用于当所述压缩状态为成功状态时,得到第二目标压缩包,并将所述第二目标压缩包发送到云端进行存储。
157.可选的,获所述获取单元,具体用于:
158.针对每一目标文件,基于该目标文件对应的文件大小进行异步压缩;
159.获取每一目标文件对应的压缩结果,并基于所述压缩结果判断第二目标压缩包的压缩状态;
160.若存在至少一个目标文件压缩失败,则确定第二目标压缩包的压缩状态为失败状态;
161.若所有目标文件压缩成功,则确定第二目标压缩包的压缩状态为成功状态。
162.可选的,所述压缩转发模块540,具体用于:
163.基于所述文件id从云端中获取相应的目标文件,所述目标文件为基于异步方式提
前上传到云端的文件;
164.对所述目标文件进行压缩,得到第二目标压缩包,并生成所述第二目标压缩包的下载地址。
165.可选的,所述转发单元,用于:
166.获取所述第二目标压缩包对应的下载地址,并基于所述下载地址将所述第二目标压缩包转发至客户端,以使所述客户端在所述下载地址下载对应的目标文件。
167.可选的,所述查模块520,具体用于:
168.基于所述业务请求消息获取所述目标文件对应的关键字信息,并利用信息摘要算法生成与所述关键字信息对应的摘要信息。
169.可选的,所述压缩模块,用于:
170.基于所述文件id从云端中获取所述目标文件,并利用预定义密钥生成算法生成第一密钥;
171.利用所述第一密钥对所述目标文件进行加密,生成第一加密信息;
172.向客户端发送所述第一密钥,接收客户端发送的第二密钥;所述第二密钥为客户端基于第一密钥和自身的密钥生成算法,确定的通信密钥;
173.利用所述第二密钥对所述第一加密信息加密,生成第二加密信息,并对所述第二加密信息进行压缩,得到第二目标压缩包。
174.可选的,所述装置还包括标记模块,所述标记模块,用于:
175.获取目标文件的文件类型,并基于所述文件类型对所述第二目标压缩包进行标记;
176.将所述标记上传至云端,以使所述云端基于所述标记将所述第二目标压缩包存储至相应存储模块,其中,所述云端包括多个存储模块,每一存储模块对应有标记。
177.本技术实施例提供的一种文件打包下载装置的具体实现原理和效果可以参见上述实施例对应的相关描述和效果,此处不做过多赘述。
178.本技术实施例还提供了一种电子设备的结构示意图,图6为本技术实施例提供的一种电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器601以及与所述处理器通信连接的存储器602;该存储器602存储计算机程序;该处理器601执行该存储器602存储的计算机程序,使得该处理器601执行上述任一实施例所述的方法。
179.其中,存储器602和处理器601可以通过总线603连接。
180.本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序执行指令,计算机执行指令被处理器执行时用于实现如本技术前述任一实施例中的所述的方法。
181.本技术实施例还提供了一种运行指令的芯片,该芯片用于执行如本技术前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
182.本技术实施例还提供了一种计算机程序产品,该程序产品包括程序代码,当计算机运行计算机程序时,所述程序代码执行如本技术前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
183.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为
一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
184.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
185.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
186.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的部分步骤。
187.应理解,上述处理器可以是中央处理单元(central processing unit,简称cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
188.存储器可能包含高速随机存取存储器(random access memory,简称ram),也可能还包括非不稳定的存储器(non-volatile memory,简称nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
189.总线可以是工业标准体系结构(industry standard architecture,简称isa)总线、外部设备互连(peripheral component interconnect,简称pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
190.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
191.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
192.以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不
局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。

技术特征:


1.一种文件打包下载方法,其特征在于,所述方法包括:获取客户端发送的业务请求消息,并基于预定义功能模块查所述业务请求消息对应的业务功能,所述业务功能用于指示下载多个目标文件对应的文件身份标识号id;基于预定义算法获取所述业务请求消息对应的摘要信息,并从压缩历史信息中查是否存在所述摘要信息;所述压缩历史信息用于存储摘要信息与压缩包的对应关系;所述压缩包包括压缩的多个文件;若存在,则基于所述摘要信息从云端中调用对应的第一目标压缩包,并将所述第一目标压缩包转发至客户端,以使所述客户端下载对应的目标文件;若不存在,则基于所述业务请求消息对应的业务功能查所述目标文件的文件id,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,将所述第二目标压缩包与所述摘要信息的关系上传至云端进行存储,并将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件。2.根据权利要求1所述的方法,其特征在于,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:基于所述文件id从云端中获取相应的目标文件进行压缩;每隔预设时间,获取所述目标文件的压缩结果,并基于所述目标文件的压缩结果判断第二目标压缩包的压缩状态;若所述压缩状态为失败状态,则获取所述失败状态对应的失败原因,并将所述失败原因发送给所述客户端,以使所述客户端重新发送业务请求消息;若所述压缩状态为成功状态,则得到第二目标压缩包,并将所述第二目标压缩包发送到云端进行存储。3.根据权利要求2所述的方法,其特征在于,获取所述目标文件的压缩结果,并基于所述目标文件的压缩结果判断第二目标压缩包的压缩状态,包括:针对每一目标文件,基于该目标文件对应的文件大小进行异步压缩;获取每一目标文件对应的压缩结果,并基于所述压缩结果判断第二目标压缩包的压缩状态;若存在至少一个目标文件压缩失败,则确定第二目标压缩包的压缩状态为失败状态;若所有目标文件压缩成功,则确定第二目标压缩包的压缩状态为成功状态。4.根据权利要求1所述的方法,其特征在于,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:基于所述文件id从云端中获取相应的目标文件,所述目标文件为基于异步方式提前上传到云端的文件;对所述目标文件进行压缩,得到第二目标压缩包,并生成所述第二目标压缩包的下载地址。5.根据权利要求4所述的方法,其特征在于,将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件,包括:获取所述第二目标压缩包对应的下载地址,并基于所述下载地址将所述第二目标压缩包转发至客户端,以使所述客户端在所述下载地址下载对应的目标文件。6.根据权利要求1所述的方法,其特征在于,基于预定义算法获取所述业务请求消息对
应的摘要信息,包括:基于所述业务请求消息获取所述目标文件对应的关键字信息,并利用信息摘要算法生成与所述关键字信息对应的摘要信息。7.根据权利要求6所述的方法,其特征在于,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,包括:基于所述文件id从云端中获取所述目标文件,并利用预定义密钥生成算法生成第一密钥;利用所述第一密钥对所述目标文件进行加密,生成第一加密信息;向客户端发送所述第一密钥,接收客户端发送的第二密钥;所述第二密钥为客户端基于第一密钥和自身的密钥生成算法,确定的通信密钥;利用所述第二密钥对所述第一加密信息加密,生成第二加密信息,并对所述第二加密信息进行压缩,得到第二目标压缩包。8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:获取目标文件的文件类型,并基于所述文件类型对所述第二目标压缩包进行标记;将所述标记上传至云端,以使所述云端基于所述标记将所述第二目标压缩包存储至相应存储模块,其中,所述云端包括多个存储模块,每一存储模块对应有标记。9.一种文件打包下载装置,其特征在于,所述装置包括:获取模块,用于获取客户端发送的业务请求消息,并基于预定义功能模块查所述业务请求消息对应的业务功能,所述业务功能用于指示下载多个目标文件对应的文件身份标识号id;查模块,用于基于预定义算法获取所述业务请求消息对应的摘要信息,并从压缩历史信息中查是否存在所述摘要信息;所述压缩历史信息用于存储摘要信息与压缩包的对应关系;所述压缩包包括压缩的多个文件;转发模块,用于当压缩历史信息中存在所述摘要信息时,基于所述摘要信息从云端中调用对应的第一目标压缩包,并将所述第一目标压缩包转发至客户端,以使所述客户端下载对应的目标文件;压缩转发模块,用于当压缩历史信息中不存在所述摘要信息时,基于所述业务请求消息对应的业务功能查所述目标文件的文件id,基于所述文件id从云端中获取所述目标文件进行压缩,得到第二目标压缩包,将所述第二目标压缩包与所述摘要信息的关系上传至云端进行存储,并将所述第二目标压缩包转发至客户端,以使所述客户端下载对应的目标文件。10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。12.一种计算机程序产品,其特征在于,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如权利要求1-8任一项所述的方法。

技术总结


本申请涉及数据处理技术领域,提供一种文件打包下载方法、装置、电子设备及存储介质,该方法包括:获取客户端发送的业务请求消息,并基于预定义功能模块查业务请求消息对应的业务功能;基于预定义算法获取业务请求消息对应的摘要信息,并从压缩历史信息中查是否存在摘要信息;若存在,则基于摘要信息从云端中调用对应的第一目标压缩包,并将其转发至客户端进行下载;若不存在,则基于业务请求消息对应的业务功能查目标文件的文件ID,基于文件ID从云端中获取目标文件进行压缩,得到第二目标压缩包,并将第二目标压缩包转发至客户端进行下载。这样,可以减少文件重复打包,节省资源存储空间,实现一次打包多次下载的效果。实现一次打包多次下载的效果。实现一次打包多次下载的效果。


技术研发人员:

白雪峰 杨光 李崇 周萌 辛麒 陶丹丹 杨立志

受保护的技术使用者:

中国石油天然气集团有限公司

技术研发日:

2022.07.21

技术公布日:

2022/11/15

本文发布于:2024-09-22 01:17:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/3380.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   文件   目标   压缩包
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议