CN113329045A - 文件下载方法、装置、计算机可读存储介质和计算机设备 - Google Patents

文件下载方法、装置、计算机可读存储介质和计算机设备 Download PDF

Info

Publication number
CN113329045A
CN113329045A CN202010129068.5A CN202010129068A CN113329045A CN 113329045 A CN113329045 A CN 113329045A CN 202010129068 A CN202010129068 A CN 202010129068A CN 113329045 A CN113329045 A CN 113329045A
Authority
CN
China
Prior art keywords
file
client application
application program
downloading
sending
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
CN202010129068.5A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010129068.5A priority Critical patent/CN113329045A/zh
Publication of CN113329045A publication Critical patent/CN113329045A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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]

Landscapes

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

Abstract

本申请涉及一种文件下载方法、装置、计算机可读存储介质和计算机设备,所述方法包括:接收前台运行触发指令,根据前台运行触发指令进入前台运行状态;若处于前台运行状态,则获取文件下载信息;文件下载信息中携带有文件标识和客户应用程序标识;将文件标识发送至客户应用程序标识对应的客户应用程序;客户应用程序用于获取与文件标识对应的文件下载进度;接收客户应用程序返回的文件下载进度;将文件下载进度发送至服务器;文件下载进度用于触发服务器下载对应的文件;接收服务器返回的文件,将文件发送至客户应用程序。本申请提供的方案提高了文件下载的安全性。

Description

文件下载方法、装置、计算机可读存储介质和计算机设备
技术领域
本申请涉及数据处理技术领域,特别是涉及一种文件下载方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着互联网技术的发展,适用于移动终端的各种应用程序层出不穷;当应用程序被切换到后台运行时,则无法使用网络下载文件。
然而,当应用程序被切换到后台运行时,一般是通过移动终端***提供的API接口,进行文件的下载。但是,通过移动终端***提供的API接口下载的文件,很容易被***甚至其他应用程序直接获取到,且其下载链接很容易被识别出来,从而造成文件下载的安全性较低。
发明内容
基于此,有必要针对文件下载的安全性较低的技术问题,提供一种文件下载方法、装置、计算机可读存储介质和计算机设备。
一种文件下载方法,包括:
接收前台运行触发指令,根据所述前台运行触发指令进入前台运行状态;
若处于所述前台运行状态,则获取文件下载信息;所述文件下载信息中携带有文件标识和客户应用程序标识;
将所述文件标识发送至所述客户应用程序标识对应的客户应用程序;所述客户应用程序用于获取与所述文件标识对应的文件下载进度;
接收所述客户应用程序返回的所述文件下载进度;
将所述文件下载进度发送至服务器;所述文件下载进度用于触发所述服务器下载对应的文件;
接收所述服务器返回的所述文件,将所述文件发送至所述客户应用程序。
一种文件下载装置,所述装置包括:
指令接收模块,用于接收前台运行触发指令,根据所述前台运行触发指令进入前台运行状态;
信息获取模块,用于若处于所述前台运行状态,则获取文件下载信息;所述文件下载信息中携带有文件标识和客户应用程序标识;
标识发送模块,用于将所述文件标识发送至所述客户应用程序标识对应的客户应用程序;所述客户应用程序用于获取与所述文件标识对应的文件下载进度;
下载进度接收模块,用于接收所述客户应用程序返回的所述文件下载进度;
下载进度发送模块,用于将所述文件下载进度发送至服务器;所述文件下载进度用于触发所述服务器下载对应的文件;
文件发送模块,用于接收所述服务器返回的所述文件,将所述文件发送至所述客户应用程序。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
接收前台运行触发指令,根据所述前台运行触发指令进入前台运行状态;
若处于所述前台运行状态,则获取文件下载信息;所述文件下载信息中携带有文件标识和客户应用程序标识;
将所述文件标识发送至所述客户应用程序标识对应的客户应用程序;所述客户应用程序用于获取与所述文件标识对应的文件下载进度;
接收所述客户应用程序返回的所述文件下载进度;
将所述文件下载进度发送至服务器;所述文件下载进度用于触发所述服务器下载对应的文件;
接收所述服务器返回的所述文件,将所述文件发送至所述客户应用程序。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
接收前台运行触发指令,根据所述前台运行触发指令进入前台运行状态;
若处于所述前台运行状态,则获取文件下载信息;所述文件下载信息中携带有文件标识和客户应用程序标识;
将所述文件标识发送至所述客户应用程序标识对应的客户应用程序;所述客户应用程序用于获取与所述文件标识对应的文件下载进度;
接收所述客户应用程序返回的所述文件下载进度;
将所述文件下载进度发送至服务器;所述文件下载进度用于触发所述服务器下载对应的文件;
接收所述服务器返回的所述文件,将所述文件发送至所述客户应用程序。
上述文件下载方法、装置、计算机可读存储介质和计算机设备,若服务应用程序处于前台运行状态,则获取文件下载信息,该文件下载信息中携带有文件标识和客户应用程序标识;接着将文件标识发送至客户应用程序标识对应的客户应用程序,并接收该客户应用程序返回的与文件标识对应的文件下载进度,进而将文件下载进度发送至服务器;最后接收服务器根据文件下载进度所下载的文件,并将该文件发送至客户应用程序;实现了在客户应用程序处于后台运行状态下,通过处于前台运行状态的服务应用程序,下载客户应用程序所需下载文件的目的;避免了通过移动终端***提供的API接口下载的文件,很容易被***甚至其他应用程序直接获取到,从而造成文件下载的安全性较低的缺陷,进一步提高了文件下载的安全性;同时,避免了通过移动终端***提供的API接口下载文件的过程很容易被移动终端***中断,导致文件下载成功率较低的缺陷,从而提高了文件下载的成功率和稳定性。此外,通过处于前台运行状态的服务应用程序下载客户应用程序所需下载文件,达到了共享处于前台运行状态的服务应用程序的文件下载功能,以实现其他处于后台运行状态的客户应用程序的文件下载的目的,避免了客户应用程序处于后台运行状态,则无法下载文件的缺陷,进一步提高了文件下载的成功率。
附图说明
图1为一个实施例中文件下载方法的应用环境图;
图2为一个实施例中文件下载方法的流程示意图;
图3为一个实施例中将文件下载信息存储至内部数据库中的步骤的流程示意图;
图4为一个实施例中获取文件下载信息的步骤的流程示意图;
图5为另一个实施例中获取文件下载信息的步骤的流程示意图;
图6为一个实施例中将文件标识发送至客户应用程序标识对应的客户应用程序的步骤的流程示意图;
图7为一个实施例中获取最新下载状态信息的步骤的流程示意图;
图8为一个实施例中将文件下载进度发送至服务器的步骤的流程示意图;
图9为一个实施例中对文件进行验证的步骤的流程示意图;
图10为一个实施例中将文件发送至客户应用程序的步骤的流程示意图;
图11为一个实施例中对文件进行解密的步骤的流程示意图;
图12为一个实施例中返回文件的最新状态的步骤的流程示意图;
图13为另一个实施例中文件下载方法的流程示意图;
图14为又一个实施例中文件下载方法的流程示意图;
图15为再一个实施例中文件下载方法的流程示意图;
图16为一个实施例中文件下载装置的结构框图;
图17为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中文件下载方法的应用环境图。参照图1,该应用环境图包括终端110和服务器120,终端110中安装有服务应用程序111和客户应用程序112,服务应用程序111分别与客户应用程序112、服务器120通过网络连接;终端110是具有文件下载功能的电子设备,该电子设备可以是智能手机、平板电脑或个人计算机等等,服务应用程序111和客户应用程序112均是指终端110中为用户提供服务的应用程序;服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,参照图1,服务应用程序111接收前台运行触发指令,根据前台运行触发指令进入前台运行状态;若处于前台运行状态,则获取文件下载信息;该文件下载信息中携带有文件标识和客户应用程序标识;将文件标识发送至客户应用程序标识对应的客户应用程序112;此时,客户应用程序112处于后台运行状态。客户应用程序112获取与接收的文件标识对应的文件下载进度,并将文件下载进度发送至服务应用程序111。服务应用程序111将客户应用程序112返回的文件下载进度发送至服务器120。服务器120根据接收的文件下载进度下载对应的文件,并将文件发送至服务应用程序111;服务应用程序111将接收的文件发送至客户应用程序112。此外,文件下载方法还可以应用在游戏文件下载场景、文件下载收费场景等,具体本申请不做限定。
如图2所示,在一个实施例中,提供了一种文件下载方法。本实施例主要以该方法应用于上述图1中的服务应用程序112来举例说明。参照图2,该文件下载方法具体包括如下步骤:
S202,接收前台运行触发指令,根据前台运行触发指令进入前台运行状态。
其中,移动终端中安装有多个应用程序,能够提供文件下载功能的受信任的应用程序称为服务应用程序,需要下载文件的应用程序称为客户应用程序;此外,同一个应用程序,既可以是服务应用程序,也可以是客户应用程序,具体根据实际场景而定。
其中,在有屏幕的移动终端上,若应用程序的界面正显示在移动终端的屏幕上,则称该应用程序处于前台运行状态;若返回移动终端的桌面或者切换到其他应用程序,那么该应用程序的界面则未显示在移动终端的屏幕上,则称该应用程序处于后台运行状态。需要说明的是,当应用程序处于前台运行状态时,用户可以直接对该应用程序进行操作;当应用程序处于后台运行状态时,用户不可以直接对该应用程序进行操作,但该应用程序会占用移动终端的***资源。
其中,前台运行触发指令是指触发应用程序进入前台运行状态的指令,比如将处于后台运行状态的应用程序切换到前台运行状态的指令。
具体地,服务应用程序接收移动终端针对该服务应用程序的前台运行触发指令,响应该前台运行触发指令,进入前台运行状态。
举例说明,用户在应用程序管理界面中点击服务应用程序,触发移动终端生成针对该服务应用程序的前台运行触发指令,并将该前台运行触发指令发送至服务应用程序,服务应用程序根据该前台运行触发指令进入前台运行状态。
S204,若处于前台运行状态,则获取文件下载信息;文件下载信息中携带有文件标识和客户应用程序标识。
其中,文件下载信息是指用于标识与文件下载相关的信息,具体包括文件下载链接、文件分片信息、文件验证信息、文件标识、客户应用程序标识等;文件分片信息是指完整文件中的各个子文件的信息;文件验证信息是指文件的哈希值、验证码等;文件标识是指用于标识文件的信息,比如文件名称、文件编号等;客户应用程序标识是指用于标识客户应用程序的信息,比如客户应用程序名称、客户应用程序编号等。
具体地,服务应用程序若处于前台运行状态,则查询内部存储中是否包含文件下载信息,若包含文件下载信息,则获取该文件下载信息;对该文件下载信息进行解析,得到文件标识和客户应用程序标识。其中,内部存储是指服务应用程序的存储空间,用于存储客户应用程序发送的文件下载信息。
进一步地,服务应用程序若处于前台运行状态,还可以按照服务应用程序自身设定的触发逻辑,判断是否执行查询内部存储中是否包含文件下载信息的任务;比如,服务应用程序若处于前台运行状态,且在特定时间,特定操作状态下,则查询内部存储中是否包含文件下载信息,以启动文件下载任务。
举例说明,客户应用程序启动文件下载任务,由于发现需要下载的文件比较大,担心本客户应用程序无法顺利下载,则将需要下载的文件下载信息发送至受信任的服务应用程序;或者在启动文件下载任务的过程中,担心本客户应用突然被切换到后台运行或者出现其他突发状况,导致文件下载中断,只能本客户应用程序被重新被切换到前台运行后,才能启动文件下载任务;则将需要下载的文件下载信息发送至受信任的服务应用程序。当客户应用程序被切换到后台运行时,即客户应用程序处于后台运行状态时,文件下载暂停;此时,若服务应用程序被切换到前台运行时,即服务应用程序处于前台运行状态时,则从内部存储中获取客户应用程序的文件下载信息,基于文件下载信息进行文件或者文件片段的下载。
此外,服务应用程序若处于前台运行状态,还可以主动查询本移动终端上的客户应用程序是否有文件需要下载,无需客户应用程序的主动请求;若客户应用程序有文件需要下载,则获取客户应用程序的文件下载信息。
S206,将文件标识发送至客户应用程序标识对应的客户应用程序;客户应用程序用于获取与文件标识对应的文件下载进度。
S208,接收客户应用程序返回的文件下载进度。
其中,文件下载进度用于标识文件的最新下载情况,比如下载了三分之一,下载了二分之一等。
具体地,服务应用程序确定与客户应用程序标识对应的客户应用程序,将文件标识发送至该客户应用程序;该客户应用程序接收该文件标识,查询该客户应用程序的内部存储,获取与该文件标识对应的文件下载进度,并将文件下载进度发送至服务应用程序,通过服务应用程序接收该文件下载进度。其中,客户应用程序的内部存储,用于存储各种文件下载信息,比如文件下载进度、文件验证信息等。
举例说明,服务应用程序调用下载服务组件,将文件标识发送至客户应用程序标识对应的客户应用程序,以唤醒客户应用程序的客户服务组件;客户服务组件从客户应用程序的内部存储中,获取与文件标识对应的文件下载进度,并将文件下载进度发送至服务应用程序的下载服务组件,进而由服务应用程序接收该文件下载进度。这样,通过服务组件调用的方式实现服务应用程序与客户应用程序之间的数据通信,有利于实现服务应用程序与客户应用程序之间的信息同步。其中,下载服务组件是指下载服务进程,客户服务组件是指客户服务进程。
S210,将文件下载进度发送至服务器;文件下载进度用于触发服务器下载对应的文件。
具体地,客户应用程序通过预设通信通道,将接收的文件下载进度发送至对应的服务器;服务器根据接收的文件下载进度,确定需要下载的文件,并下载该文件。这样,通过预设通信通道,可以保证客户应用程序与服务器之间的通信安全性和稳定性。其中,预设通信通道是指客户应用程序与服务器之间进行网络通信的渠道,比如Https通信通道。
举例说明,客户应用程序预先建立与服务器之间的Https通信通道,通过Https通信通道,将文件下载进度发送至服务器;服务器根据文件下载进度下载对应的文件。
进一步地,在根据接收的文件下载进度,确定需要下载的文件之后,服务器还可以对需要下载的文件进行切分,以分成多个文件片段,并依次对各个文件片段进行下载;这样,通过利用数据分片的方式,可以更好地实现文件的协同下载,避免了若整个文件中的某个信息下载错误,需要重新下载整个文件,导致文件下载效率低下的缺陷,从而提高了文件的下载效率。
S212,接收服务器返回的文件,将文件发送至客户应用程序。
具体地,服务器通过预设通信通道,将下载后的文件发送至服务应用程序;服务应用程序将接收的文件发送至对应的客户应用程序,从而实现了文件的下载。
举例说明,服务应用程序每接收到服务器返回的一个文件或者文件片段之后,通过调用本服务应用程序的下载服务组件,主动唤醒客户应用程序的客户服务组件,并将文件或者文件片段发送至客户应用程序的客户服务组件,以使客户应用程序进行文件或者文件片段的接收、验证和合并。
进一步地,在接收服务器返回的文件之后,服务应用程序还可以对接收的文件进行正确性验证,比如使用数据签名或者哈希验证的方式;若文件验证通过,说明通过服务器下载的文件正确,则将文件发送至客户应用程序;客户应用程序也可以对接收的文件进行正确性验证,若文件验证通过,说明通过服务应用程序下载的文件正确,则可以对该文件进行使用、统计、下载计费等后续操作;这样,通过对文件进行正确性验证,避免文件被篡改,有利于提高文件下载的安全性。同时,客户应用程序还可以根据接收的文件去更新文件下载进度,若识别到文件下载完毕,则上述流程结束,若识别到文件未下载完毕,则重复执行步骤S208至S212,直到文件下载完毕。
需要说明的是,若此时整个文件未下载完毕,且服务应用程序被切换到后台运行,即服务应用程序处于后台运行状态,则该服务应用程序的下载任务结束;若另一个服务应用程序处于前台运行状态,则重复执行上述步骤S202至S210,直到文件下载完毕。
需要说明的是,若移动终端上安装有多个服务应用程序,可以通过移动终端上的多个服务应用程序,基于同样的文件下载方法,合作下载整个文件。
上述文件下载方法,若服务应用程序处于前台运行状态,则获取文件下载信息,该文件下载信息中携带有文件标识和客户应用程序标识;接着将文件标识发送至客户应用程序标识对应的客户应用程序,并接收该客户应用程序返回的与文件标识对应的文件下载进度,进而将文件下载进度发送至服务器;最后接收服务器根据文件下载进度所下载的文件,并将该文件发送至客户应用程序;实现了在客户应用程序处于后台运行状态下,通过处于前台运行状态的服务应用程序,下载客户应用程序所需下载文件的目的;避免了通过移动终端***提供的API接口下载的文件,很容易被***甚至其他应用程序直接获取到,从而造成文件下载的安全性较低的缺陷,进一步提高了文件下载的安全性;同时,避免了通过移动终端***提供的API接口下载文件的过程很容易被移动终端***中断,导致文件下载成功率较低的缺陷,从而提高了文件下载的成功率和稳定性。此外,通过处于前台运行状态的服务应用程序下载客户应用程序所需下载文件,达到了共享处于前台运行状态的服务应用程序的文件下载功能,以实现其他处于后台运行状态的客户应用程序的文件下载的目的,避免了客户应用程序处于后台运行状态,则无法下载文件的缺陷,进一步提高了文件下载的成功率。
在一个实施例中,上述步骤S204,获取文件下载信息,包括:从内部数据库中获取文件下载信息;内部数据库中存储有客户应用程序发送的文件下载信息。
具体地,在服务应用程序处于前台运行状态下,若内部数据库中包含多个文件下载信息,则服务应用程序从内部数据库中获取存储时间最早的文件下载信息;或者,从内部数据库中获取优先级最高的文件下载信息,比如有些文件的时效性要求较高,则对应的文件下载信息的优先级较高;有些文件的时效性要求较低,则对应的文件下载信息的优先级较低。这样,有利于后续根据文件下载信息,确定文件下载进度,进而下载对应的文件,避免重复下载文件。
如图3所示,在一个实施例中,上述步骤S202中,在接收前台运行触发指令,根据前台运行触发指令进入前台运行状态之前,具体包括如下步骤:
S302,接收客户应用程序发送的文件下载信息;客户应用程序用于若处于前台运行状态,且检测到当前存在下载任务,则生成文件下载请求,将文件下载请求发送至服务器,接收服务器根据文件下载请求返回的文件下载信息。
其中,文件下载请求是指用于请求受信任的服务应用程序协助下载文件的请求。
具体地,客户应用程序若处于前台运行状态,则检测当前是否存在下载任务,若检测到当前存在下载任务,比如当前需要下载大文件,则生成文件下载请求,并将文件下载请求发送至对应的服务器;服务器根据文件下载请求,下载对应的文件,并返回对应的文件下载信息(比如文件标识、文件下载链接、文件分片信息等)至客户应用程序;客户应用程序获取本移动终端上受信任的服务应用程序的服务应用程序标识,并将接收的文件下载信息发送至服务应用程序标识对应的服务应用程序;由服务应用程序接收客户应用程序发送的文件下载信息,此时服务应用程序处于后台运行状态或者未被打开。
例如,若需要下载的是大文件,客户应用程序则将文件下载信息发送至多个服务应用程序标识对应的服务应用程序,若需要下载的是小文件,客户应用程序则将文件下载信息发送至单个服务应用程序标识对应的服务应用程序。
S304,将文件下载信息存储至内部数据库中。
具体地,服务应用程序提取文件下载信息中的客户应用程序标识,将文件下载信息按照客户应用程序标识分类存储至内部数据库中,以通过内部数据库存储多个客户应用程序标识对应的文件下载信息,方便后续服务应用程序从内部数据库中获取客户应用程序标识对应的文件下载信息。
在一个实施例中,参照图4,首先确定服务应用程序的下载服务组件标识,在服务应用程序安装或者更新的时候,注册下载服务组件标识到***服务管理器;比如服务应用A注册下载服务组件A标识到***服务管理器,服务应用B注册下载服务组件B标识到***服务管理器。接着,用户应用(此时在前台)基于自身业务逻辑,检测到当前需要下载大文件,则通过***服务管理器查询下载服务组件标识,并接收***服务管理器返回的下载服务组件标识;根据自身策略选择一个或多个下载服务组件标识对应的下载服务组件协助下载;例如,用户应用调用客户组件接收服务器返回的下载信息、密钥、用户应用标识等信息,将服务器返回的下载信息、密钥、用户应用标识等信息实时保存在用户应用内部存储中;通过***服务管理器唤醒服务应用A的下载服务组件,并通过***服务管理器将下载信息、密钥、用户应用标识等信息发送至服务应用A的下载服务组件;服务应用A通过自身的下载服务组件,将下载信息、密钥、用户应用标识等信息保存在服务应用A的内部存储中,方便后续服务应用A处于前台运行状态时,则可以通过自身的下载服务组件,基于下载信息下载文件。
如图5所示,在一个实施例中,上述步骤S204,获取文件下载信息,还包括如下步骤:
S502,将预设查询请求发送至客户应用程序;预设查询请求用于触发客户应用程序获取文件下载信息;文件下载信息中携带有文件标识和客户应用程序标识。
S504,接收客户应用程序返回的文件下载信息。
具体地,服务应用程序获取本移动终端上的客户应用程序标识,将预设查询请求发送至客户应用程序标识对应的客户应用程序;客户应用程序根据接收的预设查询请求,查询客户应用程序的内部存储中是否存储有文件下载信息,若客户应用程序的内部存储中存储有文件下载信息,说明客户应用程序当前有文件需要下载,则获取该文件下载信息,并将该文件下载信息发送至服务应用程序。
在本实施例中,通过服务应用程序主动从客户应用程序中获取文件下载信息,便于后续根据文件下载信息下载对应的文件,避免了客户应用程序处于后台运行状态,则无法下载文件的缺陷,进一步提高了文件下载的成功率。
如图6所示,在一个实施例中,上述步骤S206,将文件标识发送至客户应用程序标识对应的客户应用程序,具体包括如下步骤:
S602,根据文件标识生成文件下载进度获取请求。
S604,将文件下载进度获取请求发送至客户应用程序标识对应的客户应用程序;文件下载进度获取请求用于触发客户应用程序获取与文件标识对应的文件下载进度。
具体地,服务应用程序获取预设的文件下载进度获取请求模板,将文件标识导入到预设的文件下载进度获取请求模板中的对应位置,生成文件下载进度获取请求,并将文件下载进度获取请求发送至客户应用程序标识对应的客户应用程序;客户应用程序根据文件下载进度获取请求,查询客户应用程序的内部存储,获取与文件标识对应的文件下载进度,并将文件下载进度发送至服务应用程序。
举例说明,参照图7,用户应用此时处于后台,具有客户Service组件;服务应用A此时处于前台,具有下载Service组件;服务应用A内部存储中存储有文件下载信息、密钥(如KEY)、客户应用程序标识(如TOKEN);服务器中存储有文件信息(如文件下载链接、文件分片信息等)、计费逻辑等。服务应用A在特定时间唤醒下载Service组件,通过下载Service组件检查服务应用A内部存储是否包含文件下载信息,若服务应用A内部存储包含有文件下载信息,则获取文件下载信息、客户应用标识等;从文件下载信息中提取出文件标识,将文件标识发送至客户应用标识对应的客户应用中的客户Service组件,以请求获取文件标识对应的文件的最新下载状态信息;客户应用通过调用客户Service组件,查询客户应用的内部存储,获取文件标识对应的文件的最新下载状态信息,并返回文件的最新下载状态信息至服务应用A的下载Service组件;服务应用A通过下载Service组件,请求服务器获取对应的文件,并接收服务器返回的文件。
在本实施例中,通过将文件标识发送至客户应用程序标识对应的客户应用程序,有利于通过客户应用程序获取与文件标识对应的文件下载进度,便于后续根据文件下载进度下载对应的文件,避免重复下载。
如图8所示,在一个实施例中,上述步骤S210,将文件下载进度发送至服务器,具体包括如下步骤:
S802,根据文件下载进度,确定待下载文件标识。
具体地,服务应用程序根据文件下载进度,确定文件的最新下载状态信息;根据文件的最新下载状态信息,确定剩余待下载文件的文件标识,作为待下载文件标识。
S804,将待下载文件标识发送至服务器;服务器用于获取与待下载文件标识对应的待下载文件,将待下载文件分成至少两个分块文件,按照预设下载顺序对各个分块文件进行下载。
其中,分块文件是指由待下载文件切分而成的文件,预设下载顺序是指对分块文件进行下载的顺序。
需要说明的是,至少两个分块文件是指两个或者两个以上文块文件,具体本申请不做限定。
具体地,服务应用程序通过预设通信通道,将待下载文件标识发送至服务器;服务器通过网络获取与待下载文件标识对应的待下载文件,并采用数据分片的方式,对待下载文件进行切分,得到至少两个分块文件,比如按照数据量进行切分,将待下载文件平均分成多个分块文件;按照预设下载顺序对各个分块文件进行下载,比如按照切分文件的先后顺序,依次对各个分块文件进行下载。
在本实施例中,通过利用数据分片的方式,可以更好地实现文件的协同下载,避免了若整个文件中的某个信息下载错误,需要重新下载整个文件,导致文件下载效率低下的缺陷,从而提高了文件的下载效率。
在一个实施例中,上述步骤S212,在将文件发送至客户应用程序之前,还包括:对文件进行验证。那么,上述步骤S212,将文件发送至客户应用程序,包括:若文件验证通过,则将文件发送至客户应用程序。
具体地,服务应用程序对服务器发送的文件进行验证,若文件验证通过,说明通过服务器下载的文件正确,则将该文件发送至客户应用程序;若文件验证不通过,说明通过服务器下载的文件错误,则重新请求服务器下载该文件。
在本实施例中,通过对服务器发送的文件进行验证,可以保证文件下载的安全性,避免文件被篡改而导致下载的文件出现错误的缺陷。
如图9所示,在一个实施例中,文件携带有对应的第一验证码;对文件进行验证,具体包括如下步骤:
S902,获取预设的验证码统计指令。
其中,预设的验证码统计指令是指能够统计文件的验证码的指令,比如哈希值统计指令。
S904,根据预设的验证码统计指令对文件进行统计,得到文件的验证码,作为文件的第二验证码。
其中,第一验证码和第二验证码可以是指文件的哈希值,比如SHA256哈希值。
S906,若第一验证码与第二验证码匹配,则确认文件验证通过。
具体地,服务应用程序从本地数据库中获取预设的验证码统计指令;通过预设的验证码统计指令对文件进行统计分析,得到文件的第二验证码;将文件的第一验证码和第二验证码进行匹配,若文件的第一验证码和第二验证码匹配成功,说明文件验证通过;若文件的第一验证码和第二验证码匹配失败,说明文件验证不通过。
举例说明,假设文件携带的第一验证码是指文件的第一哈希值;服务应用程序获取预设的哈希值统计指令,根据预设的哈希值统计指令对文件进行分析计算,得到文件的哈希值,作为文件的第二哈希值;将文件的第一哈希值和第二哈希值进行匹配,若匹配成功,说明文件验证通过;若匹配失败,说明文件验证不通过。
在本实施例中,通过对服务器发送的文件进行验证,可以保证文件下载的安全性,避免文件被篡改而导致下载的文件出现错误的缺陷。
如图10所示,在一个实施例中,上述步骤S212,将文件发送至客户应用程序,具体包括如下步骤:
S1002,根据预设的第一密钥对文件进行加密,得到加密文件。
其中,预设的第一密钥是指对文件进行加密的参数,比如公钥。
举例说明,服务应用程序获取文件的字符串,并将预设的第一密钥添加在文件的字符串后面,或者将预设的第一密钥添加在文件的字符串前面,得到新的字符串,作为加密文件。
S1004,将加密文件和预设的第一密钥发送至客户应用程序;客户应用程序用于将预设的第一密钥对应的密钥标识发送至服务器,接收服务器返回的与密钥标识对应的第二密钥,根据第二密钥对加密文件进行解密,得到文件;第二密钥与预设的第一密钥匹配。
其中,预设的第一密钥对应的密钥标识是指预设的第一密钥的标识信息,比如密钥编码、密钥序号等。第二密钥是指对加密文件进行解密的参数,比如私钥等;第二密钥与预设的第一密钥匹配是指第二密钥与预设的第一密钥互相对应,比如预设的第一密钥是公钥,第二密钥是指与预设的第一密钥对应的私钥。
具体地,服务应用程序将加密文件和预设的第一密钥发送至客户应用程序;客户应用程序获取与预设的第一密钥对应的密钥标识,将密钥标识发送至服务器;服务器获取与密钥标识对应的第二密钥标识,并查询存储有多个第二密钥标识对应的第二密钥,获取与该第二密钥标识对应的第二密钥,作为与密钥标识对应的第二密钥,根据第二密钥对加密文件进行解密,得到文件。这样,通过服务应用程序对文件进行加密,避免文件在传输的过程中被篡改,进一步保证了文件下载的安全性。
例如,客户应用程序获取与预设的第一密钥对应的公钥标识,将公钥标识发送至服务器;服务器获取与公钥标识对应的私钥标识,并查询存储有多个私钥标识对应的第二密钥,获取与该私钥标识对应的第二密钥,作为与公钥标识对应的第二密钥,根据第二密钥对加密文件进行解密,得到文件。
举例说明,参照图11,在文件下载计费场景中,服务应用将下载的整片文件进行加密,得到整片加密过的文件;唤醒客户应用的客户Service组件,并将整片加密过的文件发送至客户应用的客户Service组件;客户应用通过调用客户Service组件,请求计费服务器获取解密密钥,并接收计费服务器返回的解密密钥,然后根据解密密钥对整片加密过的文件进行解密,得到原始的整片文件。在这个过程中,客户应用每从计费服务器中获取一个解密密钥之前,都需要向计费服务器支付相应的费用,由计费服务器将相应的费用转移到服务应用;同时,在客户应用解密得到原始的整片文件之后,主动通知服务应用计费状态,以实现下载成功的计费。在这个过程中实现文件下载计费的话,能够更好地防范恶意不付费或者请求多付费的情况,从而保证了文件下载计费的安全性和有效性。
在一个实施例中,本申请的文件下载方法还包括:接收客户应用程序返回的更新后的文件下载进度;客户应用程序用于根据接收的各个文件对文件下载进度进行更新,得到更新后的文件下载进度;那么上述步骤S208,将文件下载进度发送至服务器,包括:将更新后的文件下载进度发送至服务器;更新后的文件下载进度用于触发服务器下载对应的文件。
具体地,客户应用程序根据接收的各个文件,确定已下载文件;根据已下载文件对文件下载进度进行更新,得到更新后的文件下载进度;比如文件A被切分成5个文件,分别是文件A1、文件A2、文件A3、文件A4和文件A5,原始的文件下载进度为文件A1已下载,文件A2、文件A3、文件A4和文件A5未下载,假如此次接收的文件为文件A2、文件A3,说明已下载文件为文件A2、文件A3,则根据已下载文件对原始的文件下载进度进行更新,得到文件A1、文件A2和文件A3已下载,文件A4和文件A5未下载,作为更新后的文件下载进度;接着,客户应用程序将更新后的文件下载进度发送至服务应用程序;服务应用程序将更新后的文件下载进度发送至服务器,通过服务器根据更新后的文件下载进度下载对应的文件,直到文件下载完毕。这样,有利于实时更新和同步文件下载进度,避免了文件下载重复的缺陷。
举例说明,参照图12,服务器中存储有文件信息、计费逻辑信息、验证信息、分片信息;服务应用A此时在前台,具有对应的下载Service组件;用户应用此时在后台,具有对应的客户Service组件;用户应用内部存储中存储有验证信息、状态信息、计费信息等。在用户应用返回文件的最新下载状态信息至服务应用A之后,服务应用A在特定时间唤醒下载Service组件,请求从服务器中获取文件,并接收服务器返回的文件信息和整片文件;唤醒客户应用的客户Service组件,通过下载Service组件将整片文件发送至客户应用的客户Service组件;客户应用的客户Service组件获取验证信息,并根据验证信息对整片文件进行验证;若文件验证通过,则根据该整片文件对文件的状态信息进行更新,得到文件的最新状态,并将文件的最新状态发送至服务应用A的下载Service组件;服务应用A的下载Service组件通过文件的最新状态,请求从服务器中获取下一片文件,并接收服务器返回的整片文件;再次唤醒客户应用的客户Service组件,通过下载Service组件再次将整片文件发送至客户应用的客户Service组件;客户应用的客户Service组件获取验证信息,并根据验证信息再次对整片文件进行验证;若文件验证通过,则根据该整片文件对文件的状态信息进行再次更新,得到文件的最新状态,并将文件的最新状态再次发送至服务应用A的下载Service组件;服务应用A的下载Service组件通过文件的最新状态,再次请求从服务器中获取下一片文件,直到服务器下载完成最后一片文件。
如图13所示,在一个实施例中,提供了另一种文件下载方法。本实施例主要以该方法应用于上述图1中的客户应用程序111来举例说明。参照图13,该文件下载方法具体包括如下步骤:
S1302,接收服务应用程序发送的文件标识;服务应用程序用于接收前台运行触发指令,根据前台运行触发指令进入前台运行状态,若处于前台运行状态,则获取文件下载信息;文件下载信息中携带有文件标识。
S1304,获取与文件标识对应的文件下载进度。
S1306,将文件下载进度发送至服务应用程序;服务应用程序用于将文件下载进度发送至服务器;文件下载进度用于触发服务器下载对应的文件;接收服务器返回的文件。
S1308,接收服务应用程序返回的文件。
需要说明的是,关于上述步骤的具体实施方式已经在上述有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
上述文件下载方法,通过处于后台运行状态的客户应用程序接收处于前台运行状态的服务应用程序发送的文件标识,并获取与文件标识对应的文件下载进度;然后将文件下载进度发送至服务应用程序,通过服务应用程序请求服务器基于文件下载进度下载对应的文件;最后接收服务应用程序返回的文件;实现了在客户应用程序处于后台运行状态下,通过处于前台运行状态的服务应用程序,下载客户应用程序所需下载文件的目的;避免了通过移动终端***提供的API接口下载的文件,很容易被***甚至其他应用程序直接获取到,从而造成文件下载的安全性较低的缺陷,进一步提高了文件下载的安全性;同时,避免了通过移动终端***提供的API接口下载文件的过程很容易被移动终端***中断,导致文件下载成功率较低的缺陷,从而提高了文件下载的成功率和稳定性。此外,通过处于前台运行状态的服务应用程序下载客户应用程序所需下载文件,达到了共享处于前台运行状态的服务应用程序的文件下载功能,以实现其他处于后台运行状态的客户应用程序的文件下载的目的,避免了客户应用程序处于后台运行状态,则无法下载文件的缺陷,进一步提高了文件下载的成功率。
在一个实施例中,本申请的文件下载方法还包括:若对文件验证通过,则根据文件对文件下载进度进行更新,得到更新后的文件下载进度;那么,上述步骤S1306,将文件下载进度发送至服务应用程序,包括:将更新后的文件下载进度发送至服务应用程序;服务应用程序用于将更新后的文件下载进度发送至服务器;更新后的文件下载进度用于触发服务器下载对应的文件。
具体地,在对服务应用程序返回的文件验证通过之后,客户应用程序根据服务应用程序返回的文件,确定已下载文件;根据已下载文件对文件下载进度进行更新,得到更新后的文件下载进度,并将更新后的文件下载进度发送至服务应用程序;服务应用程序将更新后的文件下载进度发送至服务器;服务器根据更新后的文件下载进度下载对应的文件,直到文件下载完毕。这样,有利于实时更新和同步文件下载进度,避免了文件下载重复的缺陷。
如图14,在一个实施例中,提供了又一种文件下载方法,具体包括如下步骤:
S1400,客户应用程序若处于前台运行状态,且检测到当前存在下载任务,则生成文件下载请求,将文件下载请求发送至服务器。
S1402,服务器根据文件下载请求获取对应的文件下载信息,并将文件下载信息发送至处于后台运行状态的服务应用程序。
S1404,服务应用程序将接收的文件下载信息存储至内部数据库中。
S1406,服务应用程序接收前台运行触发指令,根据前台运行触发指令进入前台运行状态。
S1408,服务应用程序若处于前台运行状态,则从内部数据库中获取文件下载信息;文件下载信息中携带有文件标识和客户应用程序标识。
S1410,服务应用程序根据文件标识生成文件下载进度获取请求,将文件下载进度获取请求发送至客户应用程序标识对应的客户应用程序;该客户应用程序处于后台运行状态。
S1412,客户应用程序根据文件下载进度获取请求,获取与文件标识对应的文件下载进度,并将文件下载进度发送至服务应用程序。
S1414,服务应用程序根据文件下载进度,确定待下载文件标识,并将待下载文件标识发送至服务器。
S1416,服务器获取与待下载文件标识对应的待下载文件,将待下载文件分成至少两个分块文件,按照预设下载顺序对各个分块文件进行下载。
S1418,服务应用程序接收服务器返回的分块文件,对分块文件进行验证。
S1420,若分块文件验证通过,服务应用程序根据预设的第一密钥对分块文件进行加密,得到加密文件;将加密文件和预设的第一密钥发送至客户应用程序。
S1422,客户应用程序识别预设的第一密钥对应的密钥标识,将预设的第一密钥对应的密钥标识发送至服务器。
S1424,服务器获取与密钥标识对应的第二密钥,并将第二密钥发送至客户应用程序。
S1426,客户应用程序根据第二密钥对加密文件进行解密,得到分块文件;第二密钥与预设的第一密钥匹配。
S1428,客户应用程序根据分块文件更新文件下载进度,得到更新后的文件下载进度。
S1430,客户应用程序根据更新后的文件下载进度检测文件是否下载完毕,若是,则进入步骤S1432;若否,则跳转至步骤S1408。
S1432,结束下载。
上述文件下载方法,实现了在客户应用程序处于后台运行状态下,通过处于前台运行状态的服务应用程序,下载客户应用程序所需下载文件的目的;避免了通过移动终端***提供的API接口下载的文件,很容易被***甚至其他应用程序直接获取到,从而造成文件下载的安全性较低的缺陷,进一步提高了文件下载的安全性;同时,避免了通过移动终端***提供的API接口下载文件的过程很容易被移动终端***中断,导致文件下载成功率较低的缺陷,从而提高了文件下载的成功率和稳定性。此外,通过处于前台运行状态的服务应用程序下载客户应用程序所需下载文件,达到了共享处于前台运行状态的服务应用程序的文件下载功能,以实现其他处于后台运行状态的客户应用程序的文件下载的目的,避免了客户应用程序处于后台运行状态,则无法下载文件的缺陷,进一步提高了文件下载的成功率。
如图15所示,在一个实施例中,提供了再一种文件下载方法,具体包括如下内容:客户应用处于前台时,需要下载特定文件,则从服务器中直接请求文件,并直接开始文件传输;在这个过程中,客户应用同时向本移动终端上的服务应用通知下载需求;例如,客户应用通过进程间通信了解到本移动终端上有对应的服务应用可供使用,则将需要下载的文件信息(比如文件链接、分片信息、验证信息等)发送给服务应用。当客户应用被切到后台,服务应用被切到前台时,服务应用检查到有客户应用的下载需求,则通过移动终端***提供的进程间通信机制询问客户应用文件的已下载进度,并接收客户应用返回的文件的已下载进度;根据文件的已下载进度,确定待下载的剩余文件,则请求服务器下载剩余文件,并接收服务器返回的剩余文件;将剩余文件发送至客户应用,并请求客户应用更新下载进度,同时继续请求服务器下载剩余文件。在这个过程中,客户应用可以主动向服务应用请求下载的文件,并接收服务应用返回的剩余文件。当服务器返回最后一个剩余文件时,服务应用将最后一个剩余文件发送至客户应用,并通知客户应用文件下载完成。最后,在客户应用被切到前台之后,客户应用接受并合并服务应用协助下载的文件,对文件进行验证,若文件验证通过,则可以直接使用文件。
上述文件下载方法,通过处于前台运行状态的服务应用程序下载客户应用程序所需下载文件,达到了共享处于前台运行状态的服务应用程序的文件下载功能,以实现其他处于后台运行状态的客户应用程序的文件下载的目的,避免了客户应用程序处于后台运行状态,则无法下载文件的缺陷,从而提高了文件下载的成功率;同时避免了通过移动终端***提供的API接口下载文件的过程很容易被移动终端***中断,导致文件下载成功率较低的缺陷,进一步提高了文件下载的成功率和稳定性。
应该理解的是,虽然图2、3、5、6、8、9、10、13、14的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、5、6、8、9、10、13、14中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,图3、5、6、8、10的流程图中的某些步骤的序号与图2的流程图中的某些步骤的序号一致,表示的是图3、5、6、8、10的流程图中该些步骤的具体实现方式按照图2的流程图中的对应步骤的具体实现方式实现,具体本申请不再具体赘述。
如图16所示,在一个实施例中,提供了一种文件下载装置1600,该装置1600包括:指令接收模块1602,信息获取模块1604,标识发送模块1606,下载进度接收模块1608,下载进度发送模块1610以及文件发送模块1612,其中:
指令接收模块1602,用于接收前台运行触发指令,根据前台运行触发指令进入前台运行状态。
信息获取模块1604,用于若处于前台运行状态,则获取文件下载信息;文件下载信息中携带有文件标识和客户应用程序标识。
标识发送模块1606,用于将文件标识发送至客户应用程序标识对应的客户应用程序;客户应用程序用于获取与文件标识对应的文件下载进度。
下载进度接收模块1608,用于接收客户应用程序返回的文件下载进度。
下载进度发送模块1610,用于将文件下载进度发送至服务器;文件下载进度用于触发服务器下载对应的文件。
文件发送模块1612,用于接收服务器返回的文件,将文件发送至客户应用程序。
在一个实施例中,信息获取模块1604还用于从内部数据库中获取文件下载信息;内部数据库中存储有客户应用程序发送的文件下载信息。
在一个实施例中,文件下载装置1600具体还包括:下载信息存储模块。
下载信息存储模块,用于接收客户应用程序发送的文件下载信息;客户应用程序用于若处于前台运行状态,且检测到当前存在下载任务,则生成文件下载请求,将文件下载请求发送至服务器,接收服务器根据文件下载请求返回的文件下载信息;将文件下载信息存储至内部数据库中。
在一个实施例中,信息获取模块1604还用于将预设查询请求发送至客户应用程序;预设查询请求用于触发客户应用程序获取文件下载信息;接收客户应用程序返回的文件下载信息。
在一个实施例中,标识发送模块1608还用于根据文件标识生成文件下载进度获取请求;将文件下载进度获取请求发送至客户应用程序标识对应的客户应用程序;文件下载进度获取请求用于触发客户应用程序获取与文件标识对应的文件下载进度。
在一个实施例中,下载进度发送模块1610还用于根据文件下载进度,确定待下载文件标识;将待下载文件标识发送至服务器;服务器用于获取与待下载文件标识对应的待下载文件,将待下载文件分成至少两个分块文件,按照预设下载顺序对各个分块文件进行下载。
在一个实施例中,文件下载装置1600具体还包括:文件验证模块。
文件验证模块,用于对文件进行验证。
在一个实施例中,文件发送模块1612还用于若文件验证通过,则将文件发送至客户应用程序。
在一个实施例中,文件携带有对应的第一验证码;文件验证模块还用于获取预设的验证码统计指令;根据预设的验证码统计指令对文件进行统计,得到文件的验证码,作为文件的第二验证码;若第一验证码与第二验证码匹配,则确认文件验证通过。
在一个实施例中,文件发送模块1612还用于根据预设的第一密钥对文件进行加密,得到加密文件;将加密文件和预设的第一密钥发送至客户应用程序;客户应用程序用于将预设的第一密钥对应的密钥标识发送至服务器,接收服务器返回的与密钥标识对应的第二密钥,根据第二密钥对加密文件进行解密,得到文件;第二密钥与预设的第一密钥匹配。
在一个实施例中,文件下载装置1600具体还包括:接收模块。
接收模块,用于接收客户应用程序返回的更新后的文件下载进度;客户应用程序用于根据接收的各个文件对文件下载进度进行更新,得到更新后的文件下载进度。
在一个实施例中,下载进度发送模块1610还用于将更新后的文件下载进度发送至服务器;更新后的文件下载进度用于触发服务器下载对应的文件。
关于文件下载装置的具体限定可以参见上文中对于文件下载方法的限定,在此不再赘述。上述文件下载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图17所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种文件下载方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种文件下载方法,包括:
接收前台运行触发指令,根据所述前台运行触发指令进入前台运行状态;
若处于所述前台运行状态,则获取文件下载信息;所述文件下载信息中携带有文件标识和客户应用程序标识;
将所述文件标识发送至所述客户应用程序标识对应的客户应用程序;所述客户应用程序用于获取与所述文件标识对应的文件下载进度;
接收所述客户应用程序返回的所述文件下载进度;
将所述文件下载进度发送至服务器;所述文件下载进度用于触发所述服务器下载对应的文件;
接收所述服务器返回的所述文件,将所述文件发送至所述客户应用程序。
2.根据权利要求1所述的方法,其特征在于,所述获取文件下载信息,包括:
从内部数据库中获取文件下载信息;所述内部数据库中存储有所述客户应用程序发送的所述文件下载信息。
3.根据权利要求2所述的方法,其特征在于,在接收前台运行触发指令,根据所述前台运行触发指令进入前台运行状态之前,还包括:
接收所述客户应用程序发送的所述文件下载信息;所述客户应用程序用于若处于前台运行状态,且检测到当前存在下载任务,则生成文件下载请求,将所述文件下载请求发送至所述服务器,接收所述服务器根据所述文件下载请求返回的所述文件下载信息;
将所述文件下载信息存储至所述内部数据库中。
4.根据权利要求1所述的方法,其特征在于,所述获取文件下载信息,还包括:
将预设查询请求发送至所述客户应用程序;所述预设查询请求用于触发所述客户应用程序获取所述文件下载信息;
接收所述客户应用程序返回的所述文件下载信息。
5.根据权利要求1所述的方法,其特征在于,所述将所述文件标识发送至所述客户应用程序标识对应的客户应用程序,包括:
根据所述文件标识生成文件下载进度获取请求;
将所述文件下载进度获取请求发送至所述客户应用程序标识对应的客户应用程序;所述文件下载进度获取请求用于触发所述客户应用程序获取与所述文件标识对应的文件下载进度。
6.根据权利要求1所述的方法,其特征在于,所述将所述文件下载进度发送至服务器,包括:
根据所述文件下载进度,确定待下载文件标识;
将所述待下载文件标识发送至所述服务器;所述服务器用于获取与所述待下载文件标识对应的待下载文件,将所述待下载文件分成至少两个分块文件,按照预设下载顺序对各个所述分块文件进行下载。
7.根据权利要求1所述的方法,其特征在于,在将所述文件发送至所述客户应用程序之前,还包括:
对所述文件进行验证;
所述将所述文件发送至所述客户应用程序,包括:
若所述文件验证通过,则将所述文件发送至所述客户应用程序。
8.根据权利要求7所述的方法,其特征在于,所述文件携带有对应的第一验证码;
所述对所述文件进行验证,包括:
获取预设的验证码统计指令;
根据所述预设的验证码统计指令对所述文件进行统计,得到所述文件的验证码,作为所述文件的第二验证码;
若所述第一验证码与所述第二验证码匹配,则确认所述文件验证通过。
9.根据权利要求1所述的方法,其特征在于,所述将所述文件发送至所述客户应用程序,包括:
根据预设的第一密钥对所述文件进行加密,得到加密文件;
将所述加密文件和所述预设的第一密钥发送至所述客户应用程序;所述客户应用程序用于将所述预设的第一密钥对应的密钥标识发送至所述服务器,接收所述服务器返回的与所述密钥标识对应的第二密钥,根据所述第二密钥对所述加密文件进行解密,得到所述文件;所述第二密钥与所述预设的第一密钥匹配。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
接收所述客户应用程序返回的更新后的文件下载进度;所述客户应用程序用于根据接收的各个所述文件对所述文件下载进度进行更新,得到更新后的文件下载进度;
所述将所述文件下载进度发送至服务器,包括:
将所述更新后的文件下载进度发送至所述服务器;所述更新后的文件下载进度用于触发所述服务器下载对应的文件。
11.一种文件下载装置,其特征在于,所述装置包括:
指令接收模块,用于接收前台运行触发指令,根据所述前台运行触发指令进入前台运行状态;
信息获取模块,用于若处于所述前台运行状态,则获取文件下载信息;所述文件下载信息中携带有文件标识和客户应用程序标识;
标识发送模块,用于将所述文件标识发送至所述客户应用程序标识对应的客户应用程序;所述客户应用程序用于获取与所述文件标识对应的文件下载进度;
下载进度接收模块,用于接收所述客户应用程序返回的所述文件下载进度;
下载进度发送模块,用于将所述文件下载进度发送至服务器;所述文件下载进度用于触发所述服务器下载对应的文件;
文件发送模块,用于接收所述服务器返回的所述文件,将所述文件发送至所述客户应用程序。
12.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
CN202010129068.5A 2020-02-28 2020-02-28 文件下载方法、装置、计算机可读存储介质和计算机设备 Pending CN113329045A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010129068.5A CN113329045A (zh) 2020-02-28 2020-02-28 文件下载方法、装置、计算机可读存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010129068.5A CN113329045A (zh) 2020-02-28 2020-02-28 文件下载方法、装置、计算机可读存储介质和计算机设备

Publications (1)

Publication Number Publication Date
CN113329045A true CN113329045A (zh) 2021-08-31

Family

ID=77412737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010129068.5A Pending CN113329045A (zh) 2020-02-28 2020-02-28 文件下载方法、装置、计算机可读存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN113329045A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086297A (zh) * 2022-05-30 2022-09-20 一点灵犀信息技术(广州)有限公司 文件处理方法及设备
CN117118970A (zh) * 2023-04-23 2023-11-24 荣耀终端有限公司 文件的下载方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086297A (zh) * 2022-05-30 2022-09-20 一点灵犀信息技术(广州)有限公司 文件处理方法及设备
CN117118970A (zh) * 2023-04-23 2023-11-24 荣耀终端有限公司 文件的下载方法及装置

Similar Documents

Publication Publication Date Title
CN108595970B (zh) 处理组件的配置方法、装置、终端及存储介质
EP3632036B1 (en) Digital certificate application method and device
EP3800909A1 (en) Remote management method, and device
CN112559993B (zh) 身份认证方法、装置、***及电子设备
CN111666565A (zh) 沙箱仿真测试方法、装置、计算机设备和存储介质
CN111666564B (zh) 应用程序安全启动方法、装置、计算机设备和存储介质
CN109474600B (zh) 一种账号绑定方法、***、装置及其设备
CN112073289B (zh) 一种即时通信控制方法及装置
CN111611075A (zh) 虚拟资源请求处理方法、装置、电子设备及存储介质
CN113536250B (zh) 令牌生成方法、登录验证方法及相关设备
CN109118291B (zh) 广告任务推广中用户认证方法、装置和计算机设备
CN105577619B (zh) 一种客户端登录方法、客户端以及***
WO2022073340A1 (zh) 移动终端应用程序安全检测方法、***、终端及存储介质
CN113329045A (zh) 文件下载方法、装置、计算机可读存储介质和计算机设备
CN110647641A (zh) 身份验证方法、装置、计算机设备和存储介质
CN111405016A (zh) 用户信息获取方法及相关设备
CN113329004B (zh) 一种认证方法、***及装置
CN108200075B (zh) 一种身份认证方法、***、终端及存储介质
CN110266641B (zh) 信息读取方法、***、装置和计算机可读存储介质
CN116578297A (zh) H5页面的运行方法、装置、电子设备及存储介质
US20230074627A1 (en) Method and system for detecting forgery of mobile application by using user identifier and signature collection
CN112732676B (zh) 基于区块链的数据迁移方法、装置、设备及存储介质
EP3975015B1 (en) Applet package sending method and device and computer readable medium
CN115567297A (zh) 跨站请求数据处理方法及装置
CN106161365B (zh) 一种数据处理方法、装置及终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40050100

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination