基于客户端的多元化下载管理方法、终端及介质与流程

文档序号:21478373发布日期:2020-07-14 17:04阅读:166来源:国知局
基于客户端的多元化下载管理方法、终端及介质与流程

本发明属于计算机技术领域,具体涉及基于客户端的多元化下载管理方法、终端及介质。



背景技术:

随着互联网和智能手机的普及,各个软件应用开发公司推出了各式各样不同类型的手机应用。现在大部分手机应用中都包含图片、音频、视频等多种类型的文件,而这些手机应用在开发过程中,需要针对每种类型的文件单独开发该类型文件专门对应的下载器,这样就大大增加了开发的时效性,影响了开发效率。



技术实现要素:

针对现有技术中的缺陷,本发明提供基于客户端的多元化下载管理方法、终端及介质,适用于多种类型文件的下载管理,提高了开发效率。

第一方面,基于客户端的多元化下载管理方法,包括以下步骤:

根据下载请求获取服务器上的下载数据;所述下载数据包括待下载文件的md5值;

创建下载信息对象;所述下载信息对象包括待下载文件的本地存储路径;

比较该本地存储路径下文件的md5值和所述待下载文件的md5值是否相同;

如果不相同,删除本地存储路径下的文件,根据下载信息对象从服务器上下载所述待下载文件;

如果相同,读取本地存储路径下的文件,如果读取失败,根据下载信息对象从服务器上下载所述待下载文件。

优选地,所述下载数据还包括待下载文件的下载链接;

如果待下载文件的类型为图片或视频,所述下载数据还包括待下载文件的显示宽高。

优选地,所述下载信息对象还包括下载需求对象、下载需求对象的枚举类型、所述待下载文件的下载链接、所述待下载文件的md5值和curl下载器代理;

如果待下载文件的类型为图片或视频,所述下载信息对象还包括所述待下载文件的显示宽高。

优选地,所述根据下载信息对象从服务器上下载所述待下载文件具体包括:

在下载信息对象中创建对应的curl下载器代理,curl下载器代理启动新的线程下载所述待下载文件;

将下载信息对象添加到下载管理器中;

当待下载文件下载成功时,回调curl下载器代理,通知下载需求对象已完成下载;

当待下载文件下载错误时,通知下载管理器移除对应的下载信息对象。

优选地,所述curl下载器代理包括curl下载器、下载进度、所述待下载文件的本地存储路径和所述待下载文件的下载链接。

优选地,所述下载管理器包括缓存容器和下载容器;

所述下载容器用于存储正在下载的下载信息对象;当待下载文件下载成功时,移除对应的下载信息对象;

所述缓存容器用于存储暂时不需要下载的下载信息对象。

优选地,该方法在所述curl下载器代理启动新的线程下载所述待下载文件之后,还包括:

curl下载器代理更新待下载文件的下载进度。

第二方面,一种终端,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面所述的方法。

第三方面,一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行第一方面所述的方法。

由上述技术方案可知,本发明提供的基于客户端的多元化下载管理方法、终端及介质,通过多元化下载管理技术,可以把不同类型的文件下载需求加入到下载管理器当中,由下载管理器统一处理下载操作,下载完成之后再通知下载需求对象进行后续操作。这样就可以统一控制下载操作,优化了下载不同文件不同处理的问题,同时加强了下载操作的可控性(如需下载新的文件类型,只要在下载管理器中添加类型控制即可),适用于多种类型文件的下载管理,提高了开发效率。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明实施例一提供的多元化下载管理方法的流程图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

实施例一:

基于客户端的多元化下载管理方法,参见图1,包括以下步骤:

s1:根据下载请求获取服务器上的下载数据;所述下载数据包括待下载文件的md5值;

优选地,所述下载数据还包括待下载文件的下载链接;如果待下载文件的类型为图片或视频,所述下载数据还包括待下载文件的显示宽高。

具体地,待下载文件的下载链接为服务器上配的url。由于图片或视频文件需要按照指定的大小显示在界面上,所以下载数据还包括图片或视频文件的显示宽高。

s2:创建下载信息对象;所述下载信息对象包括待下载文件的本地存储路径;

优选地,所述下载信息对象还包括下载需求对象、下载需求对象的枚举类型、所述待下载文件的下载链接、所述待下载文件的md5值和curl下载器代理;如果待下载文件的类型为图片或视频,所述下载信息对象还包括所述待下载文件的显示宽高。

具体地,下载信息对象包含了下载所需的数据信息、待下载文件的对象指针和curl下载器代理。该方法每次下载文件时,都需要创建一个下载信息对象。下载需求对象是指程序里有下载需求的对象。下载需求对象的枚举类型用于区分各个下载需求对象的类型。待下载文件的下载链接包括待下载文件的本地绝对路径、待下载文件的存储文件夹和存储名称。待下载文件的显示宽高包括待下载文件的实际显示宽度和实际显示高度。下载信息对象还包括下载成功标识,用于标志是否下载成功。

s3:比较该本地存储路径下文件的md5值和所述待下载文件的md5值是否相同;

s4:如果不相同,删除本地存储路径下的文件,根据下载信息对象从服务器上下载所述待下载文件;

具体地,如果本地存储路径下文件的md5值和所述待下载文件的md5值不相同,说明待下载文件和该本地存储路径下的文件不是同一个文件,本地存储路径下的文件可能是旧的文件或错误的文件。此时防止使用本地的旧文件,而忽略了新文件的下载,需要删除本地存储路径下的文件,下载所述待下载文件。

s5:如果相同,读取本地存储路径下的文件,如果读取失败,根据下载信息对象从服务器上下载所述待下载文件。

具体地,如果本地存储路径下文件的md5值和所述待下载文件的md5值相同,说明待下载文件和该本地存储路径下的文件是同一个文件,此时为了节约下载资源,可以从本地存储路径下读取文件,不需要重新下载所述待下载文件,只有在本地读取失败后,才下载所述待下载文件。当本地读取成功时,通知下载需求对象完成下载后的操作。

该方法通过多元化下载管理技术,可以把不同类型的文件下载需求加入到下载管理器当中,由下载管理器统一处理下载操作,下载完成之后再通知下载需求对象进行后续操作。这样就可以统一控制下载操作,优化了下载不同文件不同处理的问题,简化了应用当中的下载操作。同时加强了下载操作的可控性(如需下载新的文件类型,只要在下载管理器中添加类型控制即可),适用于多种类型文件的下载管理,同时也降低了开发时间,提高了开发效率,为开发者带来了极大的便利性。另外该方法还节约了下载文件本地占用的内存资源。

优选地,所述根据下载信息对象从服务器上下载所述待下载文件具体包括:

在下载信息对象中创建对应的curl下载器代理,curl下载器代理启动新的线程下载所述待下载文件;

将下载信息对象添加到下载管理器中;

当待下载文件下载成功时,回调curl下载器代理,通知下载需求对象已完成下载,可以完成下载后的操作。

当待下载文件下载错误时,通知下载管理器移除对应的下载信息对象,表示不再下载该下载信息对象对应的文件,提升了下载效率。

优选地,该方法在所述curl下载器代理启动新的线程下载所述待下载文件之后,还包括:

curl下载器代理更新待下载文件的下载进度。这样,该方法可以给用户实时展示待下载文件的下载进度。

实施例二:

实施例二在实施例一的基础上,具体介绍了curl下载器代理和下载管理器。

1、所述curl下载器代理包括curl下载器、下载进度、所述待下载文件的本地存储路径和所述待下载文件的下载链接。

具体地,curl下载器代理可以实现三个步骤:下载错误的回调步骤、刷新下载进度的回调步骤和下载成功的回调步骤。当需要下载文件时,curl下载器代理会开启一个新的线程开始下载文件。

2、所述下载管理器包括缓存容器和下载容器;

所述下载容器用于存储正在下载的下载信息对象;当待下载文件下载成功时,移除对应的下载信息对象;

所述缓存容器用于存储暂时不需要下载的下载信息对象。

具体地,下载管理器是一个单例管理器,作用是统一管理不同类型文件的下载操作。

下载容器用于存储正在下载的下载信息对象,正在下载的文件对应的下载信息会被存储到这个容器中,当下载完成时,下载管理器会将待下载文件对应的下载信息对象从下载容器中移除。

缓存容器用于存储暂时不需要下载的下载信息对象,比如页面上的图片。当已经加载了一个界面,但是这个界面上有些图片的位置还在可视范围之外时,这样就可以先不加载在可视范围之外的图片。等到在操作过程中移入可视范围内再开始下载。所以在可视范围之外的图片所对应的下载信息对象会先存储到缓存容器中,等到图片移入到可视范围内时,下载管理器把该图片对应的下载信息对象从缓存容器中移除,再添加到下载容器中并开始下载。

本发明实施例所提供的方法,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例三:

一种终端,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述的方法。

应当理解,在本发明实施例中,所称处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。

本发明实施例所提供的终端,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例四:

一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述的方法。

所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本发明实施例所提供的介质,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1