CN110377293B - 一种下载方法、终端及存储介质 - Google Patents
一种下载方法、终端及存储介质 Download PDFInfo
- Publication number
- CN110377293B CN110377293B CN201910661521.4A CN201910661521A CN110377293B CN 110377293 B CN110377293 B CN 110377293B CN 201910661521 A CN201910661521 A CN 201910661521A CN 110377293 B CN110377293 B CN 110377293B
- Authority
- CN
- China
- Prior art keywords
- downloading
- downloader
- download
- proxy software
- control instruction
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Abstract
本发明实施例涉及软件技术领域,公开了一种下载方法、终端及存储介质。本申请的部分实施例中,下载方法包括:获取下载控制指令;通过代理软件,将下载控制指令传输至系统下载器;其中,下载控制指令用于指示系统下载器执行开始下载文件、暂停下载文件和继续下载文件中的任一任务;代理软件与系统下载器的进程相同。该实现中,能够实现暂停下载的功能。
Description
技术领域
本发明实施例涉及软件技术领域,特别涉及一种下载方法、终端及存储介质。
背景技术
在安卓手机中下载文件时,有多种方法,比如使用系统自带的下载器,使用软件自定义的下载器,或者引用第三方的下载器。它们各有各的优缺点。系统自带的下载器相对较稳定,但太依赖系统,对应的功能不统一。自己定义的下载器一般来说功能足够,但会花费太多的工时。引用第三方的下载器可以弥补自己定义的时间成本方面的不足。
然而,发明人发现现有技术中至少存在如下问题:系统自带的下载器往往不具备暂停下载的功能。非系统的下载器(软件自定义的下载器或第三方的下载器)可以暂停下载,但后台服务的限制越来越多,使得非系统下载器的使用收到影响。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施方式的目的在于提供一种下载方法、终端及存储介质,使得能够实现下载暂停功能。
为解决上述技术问题,本发明的实施方式提供了一种下载方法,包括以下步骤:获取下载控制指令;通过代理软件,将下载控制指令传输至系统下载器;其中,下载控制指令用于指示系统下载器执行开始下载文件、暂停下载文件和继续下载文件中的任一任务;代理软件与系统下载器的进程相同。
本发明的实施方式还提供了一种终端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述实施方式提及的下载方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的下载方法。
本发明实施方式相对于现有技术而言,由系统下载器进行文件下载,保证了下载的稳定性和下载速度。在系统下载器和应用程序之间增设代理软件,由于代理软件和系统下载器的进程相同,系统下载器可以根据下载控制指令的指示,启动文件的下载进程,或者暂停正在进行的文件的下载进程,实现了暂停下载和继续下载的功能。
另外,所述下载控制指令用于指示所述系统下载器下载文件;在所述通过代理软件,将所述下载控制指令传输至系统下载器之前,所述下载方法还包括:根据对所述系统下载器的写权限的检测结果,判断是否具有写权限;若判断结果为具有写权限,提示用户具备暂停下载功能;执行所述通过代理软件,将所述下载控制指令传输至系统下载器的步骤。
另外,所述下载控制指令用于指示所述系统下载器暂停下载文件,或,继续下载文件;在所述通过代理软件,将所述下载控制指令传输至系统下载器之前,所述下载方法还包括:确定安装有所述代理软件。
另外,若判断结果为不具有写权限,所述下载方法还包括:提示用户不具备暂停下载功能若判断结果为具有写权限。该实现中,可以避免用户重复下载文件,减少了用户工作量,减少了文件所在服务器的负担。
另外,在所述根据对所述系统下载器的写权限的检测结果,判断是否具有写权限之前,所述下载方法还包括:判断是否安装有代理软件;若确定是,通过所述代理软件,传输更改状态指令至所述系统下载器;其中,所述更改状态指令指示更改所述系统下载器的数据库中的控制字段的数值和状态字段的数值;若确定不是,调用所述系统下载器的接口,传输所述更改状态指令至所述系统下载器;判断所述系统下载器的数据库中的控制字段的数值和状态字段的数值是否更改成功;若确定是,确定检测结果指示对所述系统下载器具有写权限;若确定不是,确定检测结果指示对所述系统下载器不具有写权限。该实现中,能够确定是否具备系统下载器的写权限。
另外,在所述通过所述代理软件,将所述下载控制指令传输至系统下载器之前,所述下载方法还包括:若确定当前未安装所述代理软件,或者,确定当前安装的所述代理软件的版本低于指定版本,判断是否有静默安装权限;若确定是,采用静默安装的方式安装所述代理软件;若确定不是,采用普通安装的方式安装所述代理软件。该实现中,提高了代理软件的安装的灵活性。
另外,所述代理软件的处理逻辑包括:响应于所述下载控制指令,判断发送所述下载控制指令的应用程序是否具有使用权限;若确定是,调用所述系统下载器的接口,将所述下载控制指令转发至所述系统下载器;若确定不是,不转发所述下载控制指令。该实现中,提高了终端的安全性能。
另外,判断是否安装有所述代理软件的过程包括:读取系统安装列表;若所述系统安装列表中包括所述代理软件的标识信息,确定判断结果指示安装有所述代理软件;若所述系统安装列表中不包括所述代理软件的标识信息,确定判断结果指示未安装所述代理软件。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明的第一实施方式的下载方法的流程图;
图2是本发明的第一实施方式的代理软件的处理逻辑示意图;
图3是本发明的第二实施方式的下载方法的流程图;
图4是本发明的第三实施方式的下载方法的流程图;
图5是本发明的第三实施方式的终端的架构示意图;
图6是本发明的第四实施方式的下载装置的结构示意图;
图7是本发明的第五实施方式的终端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种下载方法,应用于终端,例如,手机、平板电脑等。如图1所示,下载方法包括以下步骤:
步骤101:获取下载控制指令。
具体地说,用户通过终端的应用程序的操作界面,触发各种任务。终端的应用程序根据终端触发的任务,生成下载控制指令。
在一个例子中,用户可以通过终端的应用程序的操作界面,如应用商店,触发某一文件的下载任务。终端的应用程序根据用户触发的文件的下载任务,生成指示系统下载器开始下载该文件的下载控制指令。当用户需要暂停下载时,触发暂停下载文件的任务。终端的应用程序在接收到该任务后,生成指示系统下载器暂停下载文件的下载控制指令。当用户需要继续下载时,触发继续下载的任务。终端的应用程序在接收到继续下载的任务后,生成指示系统下载器继续下载该文件的下载控制指令。
步骤102:通过代理软件,将下载控制指令传输至系统下载器。
具体地说,下载控制指令用于指示系统下载器执行开始下载文件、暂停下载文件和继续下载文件中的任一任务。代理软件与系统下载器的进程相同。其中,系统下载器响应于下载控制指令,更改文件的下载目录下的状态字段的数值和控制字段的数值,以使下载器根据变更后的状态字段和控制字段的数值,改变下载状态,执行开始下载文件,或者暂停下载文件,或者继续下载文件的任务。
例如,在控制字段中,数值1表示暂停下载,数值0表示允许下载。若下载控制指令指示暂停下载文件,则将文件的下载目录下的控制字段的值更新为1,若下载控制指令指示继续下载文件,则将文件的下载目录下的控制字段的值更新为0。在状态字段中,190表示即将下载,193表示暂停下载,若下载控制指令指示暂停下载文件,则将文件的下载目录下的状态字段的值更新为193,若下载控制指令指示继续下载文件,则将文件的下载目录下的状态字段的值更新为190。系统下载器根据文件的下载目录下的控制字段和状态字段确定该文件当前的下载状态。
发明人在研究现有技术的过程中,发现:在安卓(Android)M版本之前,因系统下载器的功能有限(不具备暂停下载、继续下载、重新下载、多线程下载等功能),所以开发者倾向于使用非系统下载器,自己定义下载逻辑。但下载是个耗时的任务,所以必然放到后台服务里。
然而,在Android M版本之后,Android系统对低耗电模式进行了优化,使得Android系统对应用,尤其是后台服务的限制越来越多,例如:暂停访问网络、忽略唤醒锁(wake locks)、标准定时服务(Alarm Manager)闹铃,如定时指令(setExact()和setWindow()),推迟到下一维护时段、不执行Wi-Fi扫描、不允许运行同步适配器和不允许运行日程(JobScheduler)等。在这种情况下,非系统下载器的使用会受到影响,而系统下载器因为是系统的重要组件,处于白名单,因而不受影响。
如果直接使用系统下载器,用户已经习惯了的非系统下载器所带来的便利功能(暂停下载、继续下载等)就没有了。这对应用来说是一个巨大的用户体验替代成本,很可能导致一部分用户的流失。如果继续使用非系统下载器,文件在后台下载不稳定,下载速度变慢,且容易下载失败,同样可能造成用户流失。发明人发现,系统下载器无法暂停下载是因为系统下载器没有明确的接口来支持暂停和继续下载,导致没有足够的时间来实现相应功能,其原因如表1所示。
表1
从技术上来看,第三方应用程序可以通过下载提供商(Download Provider)给系统下载器添加用于支持暂停和继续下载的接口,达到让下载暂停和继续下载的功能。不过效果并不稳定,暂停效果还行,但暂停后,恢复下载会有很长的延时或者无效。原因在于系统下载器内部还会判断下载状态,处于个别状态下的下载任务才能正常恢复下载。因此,第三方应用程序还需要通过Download Provider插入相应的下载状态。然而,下载状态对外是只读的。针对这一状况,主要有以下两种解决方案:
方案1:对系统下载器做些小更改,至少让第三方程序(应用程序),如应用商店,可以写入下载相关的状态。
优点:改动小,第三方程序可提前判断系统是否支持写入状态。如果不支持可做些其它预处理。比如提示用户不能暂停,或者,不让用户知道可以暂停。
缺点:系统下载器处于多个分支上,需要提交到各个分支。会出现有的版本支持,有的版本不支持的情况,尤其是已经出货的版本,如果不升级系统将永远无法支持。
方案2:不改动系统下载器,更改第三方程序(如应用商店)的进程,让其与系统下载器运行在同一进程,这样也可以写入下载状态。
优点:不改动系统的系统下载器。
缺点:由于系统下载器的进程里没有静默安装的权限,即使在自己的终端上,也不能静默安装。而且,因为改进程会用到不同的签名,这导致无法升级。另外,因为签名原因,应用商店无法安装到其它手机上。
方案2中提到,使用与系统下载器一样的进程,可以实现暂停和继续下载,而且这点已经试验证实。故发明人想到,可以增加一个单独的软件(代理软件),代理软件的进程与系统进程一致,由代理软件将下载控制指令发送至系统下载器,使得系统下载器根据下载控制指令更改系统中的下载状态。
值得一提的是,由系统下载器进行文件下载,保证了下载的稳定性和下载速度。在系统下载器和应用程序之间增设代理软件,由于代理软件和系统下载器的进程相同,系统下载器可以根据下载控制指令的指示,启动文件的下载进程,或者暂停正在进行的文件的下载进程,更改数据库中该文件的下载目录的对应的控制字段的数值和状态字段的数值,实现了暂停下载和继续下载的功能。除此之外,相对于通过更改应用程序的进程,使系统下载器执行相应的指令的方式,本实施方式中,更改的是代理软件的进程,未更改应用程序的进程,所以不影响应用程序的其它功能。相对于更改系统下载器的代码,使其具有下载暂停功能的方式,本实施方式中,未更改系统源码,不影响系统,代码也方便维护。即使在已出货的旧终端的系统版本上,也能有效果。
在一个例子中,代理软件的进程名称被配置为系统下载器的进程名称,代理软件的分享标识信息被配置为系统下载器的分享标识信息,代理软件的签名被配置为系统下载器的签名。在代理软件与系统下载器使用相同的签名文件签名后,代理软件和系统下载器在在同一个进程中运行,权限和资源完全共享。因此,代理软件可以修改系统下载器中的下载状态。
在一个例子中,代理软件的处理逻辑如图2所示,包括:
步骤201:接收下载控制指令。
具体地说,代理软件可以监听自身的接口,接收下载控制指令。
步骤202:判断发送下载控制指令的应用程序是否具有使用权限。
具体地说,若判断结果为是,执行步骤203,否则,执行步骤204。
步骤203:调用系统下载器的接口,将下载控制指令转发至系统下载器。时候结束流程。
步骤204:不转发下载控制指令。
值得一提的是,代理软件不处理不具有权限的应用程序的下载控制指令,增加了外部恶意篡改下载状态的难度,提高了终端的系统的安全性。
在一个例子中,终端在通过代理软件,将下载控制指令传输至系统下载器之前,例如,在启动应用软件的过程中,对自身的系统进行检测,判断是否需要安装代理软件。具体地说,若确定当前未安装代理软件,或者,确定当前安装的代理软件的版本低于指定版本,判断是否有静默安装权限;若确定是,采用静默安装的方式安装代理软件;若确定不是,采用普通安装的方式安装代理软件。其中,静默安装是指安装时无需任何用户干预,直接按默认设置安装,普通安装是指用户手动选择是否安装。
需要说明的是,代理软件可以以插件的形式存在,可以直接安装到终端上。本实施方式中,在开启应用程序(如应用商店)时,安装代理软件,本领域技术人员可以理解,实际应用中,代理软件还可以采用其他安装方式安装,例如,提前预装,空中下载技术(Over-the-Air Technology,OTA)升级安装。
在一个例子中,判断是否安装有代理软件的过程包括:读取系统安装列表;若系统安装列表中包括代理软件的标识信息,确定判断结果指示安装有代理软件;若系统安装列表中不包括代理软件的标识信息,确定判断结果指示未安装代理软件。
需要说明的是,本领域技术人员可以理解,实际应用中,还可以通过其他方式检测是否安装有代理软件,本实施方式仅为举例说明。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的下载方法,由系统下载器进行文件下载,保证了下载的稳定性和下载速度。在系统下载器和应用程序之间增设代理软件,由于代理软件和系统下载器的进程相同,系统下载器可以根据下载控制指令的指示,启动文件的下载进程,或者暂停正在进行的文件的下载进程,更改数据库中该文件的下载目录的对应的控制字段的数值和状态字段的数值,实现了暂停下载和继续下载的功能。除此之外,相对于通过更改应用程序的进程,使系统下载器执行相应的指令的方式,本实施方式中,更改的是代理软件的进程,未更改应用程序的进程,所以不影响应用程序的其它功能。相对于更改系统下载器的代码,使其具有下载暂停功能的方式,本实施方式中,未更改系统源码,不影响系统,代码也方便维护。即使在已出货的旧终端的系统版本上,也能有效果。
本发明的第二实施方式涉及一种下载方法。本实施方式是在第一实施方式的基础上做了进一步改进,具体改进之处为:当下载控制指令指示系统下载器下载文件时,在步骤102:通过代理软件,将下载控制指令传输至系统下载器之前,增加了相关的判断步骤。
具体的说,如图3所示,在本实施方式中,包含步骤301至步骤307,其中,步骤301和步骤305分别与第一实施方式中的步骤101和步骤102大致相同,此处不再赘述。下面主要介绍不同之处:
步骤301:获取下载控制指令。
步骤302:根据对系统下载器的写权限的检测结果,判断是否具有写权限。
具体地说,若确定具有写权限,则执行步骤303,否则,执行步骤307。
在一个例子中,终端通过尝试更改系统下载器内部的数据库的对应的控制字段的数值和状态字段的数值的方式,对是否具有系统下载器的写权限进行检测。具体地说,终端判断是否安装有代理软件;若确定是,通过代理软件,传输更改状态指令至系统下载器;其中,更改状态指令指示更改系统下载器的数据库中的控制字段的数值和状态字段的数值;若确定不是,调用系统下载器的接口,传输更改状态指令至系统下载器;判断系统下载器的数据库中的控制字段的数值和状态字段的数值是否更改成功;若确定是,确定检测结果指示对系统下载器具有写权限;若确定不是,确定检测结果指示对系统下载器不具有写权限。
在一个例子中,终端可以根据代理软件是否安装成功,判断是否具有系统下载器的写权限。具体地说,终端若确定代理软件安装成功,则认为具有系统下载器的写权限,若确定代理软件安装失败,则认为不具有系统下载器的写权限。
需要说明的是,本实施方式仅为举例说明,实际应用中,也可以通过其他方式检测当前是否具有系统下载器的控制字段和状态字段的写权限。
步骤303:提示用户具备暂停下载功能。
具体地说,若具有系统下载器的写权限,说明可以对系统下载器的数据库中的文件的下载目录中的控制字段和状态字段进行修改,可以暂停下载。
步骤304:判断是否安装有代理软件。
具体地说,若确定安装有代理软件,则执行步骤305,否则,执行步骤306。
步骤305:通过代理软件,将下载控制指令传输至系统下载器。之后结束流程。
步骤306:调用系统下载器的接口,传输下载控制指令至系统下载器。之后结束流程。
具体地说,根据第一实施方式的描述可知,基于当前的可更改系统下载器的控制字段和状态字段的方式,若应用程序具有系统下载器的写权限,但未监测到代理软件,说明该终端的系统下载器的开发人员,基于方案1提及的方式,对系统下载器的代码进行了修改。因此,应用程序可以通过调用系统下载器的接口,更改系统下载器的数据库中的控制字段和状态字段。
需要说明的是,本领域技术人员可以理解,实际应用中,终端的系统的开发人员也可以通过其他方式,使应用程序具有系统下载器的写权限,因此,当应用程序具有系统下载器的写权限,但未监测到代理软件时,也可以根据开发人员选择的其他方式,传输下载控制指令至系统下载器。
需要说明的是,本领域技术人员可以理解,步骤304和步骤306不是必须执行的步骤,也可以有选择地执行步骤304和步骤306,即,若开发人员确定未通过其他方式获取系统下载器的写权限,当终端的应用程序具有系统下载器的写权限时,可以直接调用代理软件转发下载控制指令。
步骤307:提示用户不具有暂停下载功能。
具体地说,终端可以通过弹跳窗的形式,提示用户相关信息,也可以通过其他方式提示用户,此处不一一列举。
需要说明的是,实际应用中,也可以在确定不具有系统下载器的写权限时,提示用户支持取消下载,不支持暂停下载,例如,只提供取消下载控件,不提供暂停下载控件,本实施方式不限制在不具有写权限的情况下终端执行的操作。
需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。
与现有技术相比,本实施方式中提供的下载方法,终端在应用程序开启下载任务时,先判断应用程序是否具有系统下载器的写权限,在确定具有写权限的状态下,提示用户应用程序具有暂停下载功能,在不具有写权限的状态下,提示用户不具有暂停下载功能,避免用户下载过程中需要暂停下载时才发现不具有暂停下载功能,导致下载无效或重复下载任务的情况,使得用户可以更合理地安排下载文件的时间。
本发明的第三实施方式涉及一种下载方法,本实施方式是在第一实施方式的基础上做了进一步改进,具体改进之处为:当下载控制指令指示系统下载器暂停下载文件,或,继续下载文件时,在步骤102:通过代理软件,将下载控制指令传输至系统下载器之前,增加了相关的判断步骤。
具体的说,如图4所示,在本实施方式中,包含步骤401至步骤404,其中,步骤401和步骤403分别与第一实施方式中的步骤101和步骤102大致相同,此处不再赘述。下面主要介绍不同之处:
步骤401:获取下载控制指令。
步骤402:判断是否安装有代理软件。
具体地说,若确定安装有代理软件,执行步骤403,否则,执行步骤404。
在一个例子中,在文件下载开始时,先判断是否具有系统下载器的写权限,若确定是,提示用户可暂停下载,若确定不是,不提示可暂停,提示可取消下载。因此,当下载控制指令指示暂停下载文件或继续下载文件时,说明应用程序具有系统下载器的写权限。
步骤403:通过代理软件,将下载控制指令传输至系统下载器。之后结束流程。
步骤404:调用系统下载器的接口,传输下载控制指令至系统下载器。
具体地说,根据第一实施方式的描述可知,基于当前的可更改系统下载器的控制字段和状态字段的方式,若应用程序具有系统下载器的写权限,但未监测到代理软件,说明该终端的系统下载器的开发人员,基于方案1提及的方式,对系统下载器的代码进行了修改。因此,应用程序可以通过调用系统下载器的接口,更改系统下载器的数据库中的控制字段和状态字段。
需要说明的是,本领域技术人员可以理解,实际应用中,终端的系统的开发人员也可以通过其他方式,使应用程序具有系统下载器的写权限,因此,当应用程序具有系统下载器的写权限,但未监测到代理软件时,也可以根据开发人员选择的其他方式,传输下载控制指令至系统下载器。
在一个例子中,终端的架构示意图如图5所示,包括系统下载器501、代理软件502和应用程序503。其中,系统下载器501为终端的系统自带的下载器。代理软件502是为实现本实施方式提及的下载方法,在终端中部署的软件。在代理软件502生成的时候,将代理软件502进程名称(process)和分享标识信息(shared User Id)与系统下载器501写成一致,其后用与系统下载器501相同的签名文件签名后,代理软件502就运行在系统下载器501所在进程中,权限和资源完全共享。应用程序503指第三方软件,如应用商店。应用商店在安装代理软件时,可以静默安装或普通安装。如果终端上从未安装过该代理软件插件,那么应用商店会尝试安装。静默安装当然是非常友好的方式。除了安装代理软件以外,应用商店就是调用本实施方式提及的下载方法的调用者。应用商店通过执行本实施方式提及的下载方法,更改系统下载器内部数据库的对应的控制字段的数值和状态字段的数值,如表2所示。
表2
字段 | 暂停 | 继续 |
控制字段(control) | 1 | 0 |
状态字段(Status) | 193 | 190 |
其中,控制字段主要表示当前下载的受控状态,当数值等于0时,表示允许下载;当数值等于1时表示将其暂停;状态字段主要表示当前下载所表现出来的更详细的状态,当数值等于190时,表示即将下载,当数值等于193时,表示被用户暂停了。除此之外,还有其它的值,此处不一一列举。
与现有技术相比,本实施方式提及的下载方法,可以在用户希望下载暂停或继续下载的时候,通过调用代理软件,或者系统下载器的接口,更改文件的下载目录的相关状态,从而实现暂停下载文件或继续下载文件的功能。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第四实施方式涉及一种下载装置,如图6所示,包括:获取模块601和控制模块602;获取模块601用于获取下载控制指令;控制模块602用于通过代理软件,将下载控制指令传输至系统下载器;其中,下载控制指令用于指示系统下载器开始下载文件,或,暂停下载文件,或,继续下载文件;代理软件与系统下载器的进程相同。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明的第五实施方式涉及一种终端,如图7所示,包括:至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702;其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器701能够执行上述实施方式提及的下载方法。
该终端包括:一个或多个处理器701以及存储器702,图5中以一个处理器701为例。处理器701、存储器702可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器701通过运行存储在存储器702中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述下载方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器702中,当被一个或者多个处理器701执行时,执行上述任意方法实施方式中的下载方法。
上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。
本发明的第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种下载方法,其特征在于,包括:
获取下载控制指令;
通过代理软件,将所述下载控制指令传输至系统下载器;其中,所述下载控制指令用于更改文件的下载目录下的状态字段的数值和控制字段的数值,以使下载器根据变更后的状态字段和控制字段的数值,改变下载状态,执行开始下载文件,或者暂停下载文件,或者继续下载文件的任务;所述代理软件与系统下载器的进程相同。
2.根据权利要求1所述的下载方法,其特征在于,所述下载控制指令用于指示所述系统下载器下载文件;
在所述通过代理软件,将所述下载控制指令传输至系统下载器之前,所述下载方法还包括:
根据对所述系统下载器的写权限的检测结果,判断是否具有写权限;
若判断结果为具有写权限,提示用户具备暂停下载功能;执行所述通过代理软件,将所述下载控制指令传输至系统下载器的步骤。
3.根据权利要求1所述的下载方法,其特征在于,所述下载控制指令用于指示所述系统下载器暂停下载文件,或,继续下载文件;
在所述通过代理软件,将所述下载控制指令传输至系统下载器之前,所述下载方法还包括:
确定安装有所述代理软件。
4.根据权利要求2所述的下载方法,其特征在于,若判断结果为不具有写权限,所述下载方法还包括:
提示用户不具备暂停下载功能若判断结果为具有写权限。
5.根据权利要求2所述的下载方法,其特征在于,在所述根据对所述系统下载器的写权限的检测结果,判断是否具有写权限之前,所述下载方法还包括:
判断是否安装有代理软件;
若确定是,通过所述代理软件,传输更改状态指令至所述系统下载器;其中,所述更改状态指令指示更改所述系统下载器的数据库中的控制字段的数值和状态字段的数值;
若确定不是,调用所述系统下载器的接口,传输所述更改状态指令至所述系统下载器;
判断所述系统下载器的数据库中的控制字段的数值和状态字段的数值是否更改成功;
若确定是,确定检测结果指示对所述系统下载器具有写权限;
若确定不是,确定检测结果指示对所述系统下载器不具有写权限。
6.根据权利要求1至5中任一项所述的下载方法,其特征在于,在所述通过所述代理软件,将所述下载控制指令传输至系统下载器之前,所述下载方法还包括:
若确定当前未安装所述代理软件,或者,确定当前安装的所述代理软件的版本低于指定版本,判断是否有静默安装权限;
若确定是,采用静默安装的方式安装所述代理软件;
若确定不是,采用普通安装的方式安装所述代理软件。
7.根据权利要求1至5中任一项所述的下载方法,其特征在于,所述代理软件的处理逻辑包括:
响应于所述下载控制指令,判断发送所述下载控制指令的应用程序是否具有使用权限;
若确定是,调用所述系统下载器的接口,将所述下载控制指令转发至所述系统下载器;
若确定不是,不转发所述下载控制指令。
8.根据权利要求1至5中任一项所述的下载方法,其特征在于,判断是否安装有所述代理软件的过程包括:
读取系统安装列表;
若所述系统安装列表中包括所述代理软件的标识信息,确定判断结果指示安装有所述代理软件;
若所述系统安装列表中不包括所述代理软件的标识信息,确定判断结果指示未安装所述代理软件。
9.一种终端,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一项所述的下载方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910661521.4A CN110377293B (zh) | 2019-07-22 | 2019-07-22 | 一种下载方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910661521.4A CN110377293B (zh) | 2019-07-22 | 2019-07-22 | 一种下载方法、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377293A CN110377293A (zh) | 2019-10-25 |
CN110377293B true CN110377293B (zh) | 2023-07-07 |
Family
ID=68254692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910661521.4A Active CN110377293B (zh) | 2019-07-22 | 2019-07-22 | 一种下载方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377293B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142900A (zh) * | 2019-12-17 | 2020-05-12 | 深圳市优必选科技股份有限公司 | 程序更新方法、装置及终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9146721B1 (en) * | 2014-05-30 | 2015-09-29 | Vmware, Inc. | Installation of a software agent via an existing template agent |
CN108270786A (zh) * | 2018-01-16 | 2018-07-10 | 广东欧珀移动通信有限公司 | 应用程序的权限管理方法、装置、存储介质及智能终端 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040210479A1 (en) * | 1996-10-25 | 2004-10-21 | Ipf, Inc. | Internet-based brand marketing communication instrumentation network for deploying, installing and remotely programming brand-building server-side driven multi-mode virtual kiosks on the World Wide Web (WWW), and methods of brand marketing communication between brand marketers and consumers using the same |
US7216173B2 (en) * | 2001-06-12 | 2007-05-08 | Varian Medical Systems Technologies, Inc. | Virtual private network software system |
US8225312B2 (en) * | 2005-08-12 | 2012-07-17 | Sony Corporation | Method and apparatus for downloading software updates |
US8930310B2 (en) * | 2007-11-27 | 2015-01-06 | The Boeing Company | Proxy server for distributing aircraft software parts |
JP5379520B2 (ja) * | 2009-02-27 | 2013-12-25 | サイエンスパーク株式会社 | ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム |
CN102117243A (zh) * | 2010-12-29 | 2011-07-06 | 杭州晟元芯片技术有限公司 | 一种在Flash存储器中高效的使用软件断点调试的方法 |
CN102955723B (zh) * | 2011-08-19 | 2015-11-04 | 中国科学院微电子研究所 | 一种硬件自动测试方法及系统 |
CN107135249B (zh) * | 2017-04-06 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 数据下载方法及装置 |
WO2019032040A1 (en) * | 2017-08-07 | 2019-02-14 | Zmijewski Peter Marek | SYSTEM AND METHOD FOR ACCESSING DIGITAL CONTENT ON A PERSONAL COMPUTER |
CN109871226B (zh) * | 2019-02-25 | 2022-05-17 | 深圳前海达闼云端智能科技有限公司 | 下载器的配置方法、装置、介质及电子设备 |
-
2019
- 2019-07-22 CN CN201910661521.4A patent/CN110377293B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9146721B1 (en) * | 2014-05-30 | 2015-09-29 | Vmware, Inc. | Installation of a software agent via an existing template agent |
CN108270786A (zh) * | 2018-01-16 | 2018-07-10 | 广东欧珀移动通信有限公司 | 应用程序的权限管理方法、装置、存储介质及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110377293A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9690561B2 (en) | Preinstalled application management method for mobile terminal and mobile terminal | |
CN105955782B (zh) | 应用程序运行控制的方法及装置 | |
CN109379337B (zh) | 一种安卓平台下应用进程的保活方法 | |
CN107809324B (zh) | 一种车载自动诊断系统设备及其升级方法 | |
EP1584007B1 (en) | System to automatically process components on a device | |
US9710288B2 (en) | Method and device for loading application program | |
WO2019037374A1 (zh) | 用于安卓应用主进程唤醒的方法、存储介质、设备及系统 | |
US20100011443A1 (en) | Method for preventing the spreading of malware via the use of a data security device | |
CN103810416A (zh) | 一种软件安装或卸载方法及装置 | |
CN105975320B (zh) | 一种第三方应用禁止安装的方法、装置以及终端 | |
CN102279912A (zh) | 客户端程序监控方法、装置及客户端 | |
CN110543321A (zh) | Ota升级方法、装置、终端以及计算机可读存储介质 | |
CN105468422A (zh) | 操作系统优化的方法及系统 | |
EP2849113B1 (en) | Software distribution system and software distribution method | |
CN110377293B (zh) | 一种下载方法、终端及存储介质 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
CN108459868A (zh) | 一种软件启动方法、装置、终端和存储介质 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN112685063B (zh) | 特征库更新方法、装置、网络设备及可读存储介质 | |
CN113721959A (zh) | 一种信息处理方法、装置及电子设备 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
CN112166411A (zh) | 设备控制方法、系统及控制终端 | |
CN112835597A (zh) | 升级方法、装置、服务器、终端和存储介质 | |
CN101706727B (zh) | 升级方法及装置 | |
US20140237489A1 (en) | Application implementation method and device |
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 |