本发明专利技术公开了一种多源多线程的软件升级方法及系统,其中的方法包括:收集待升级软件的当前版本信息;计算得出优质资源服务器排行列表;计算版本差异,列出差异文件清单,通知排行列表中前N个资源服务器准备不同的差分文件;为N个资源服务器分别分配下载线程,从此分别下载相应的差分文件到客户端;下载完成后,合并当前版本文件和差分文件,进行本地应用升级。本发明专利技术中,客户端多线程启动,服务器端计算最佳资源服务器排行,供给客户端多线程下载,减少了下载时长;实现了抗灾性能,一旦监听到下载异常,立即将线程转移至其他资源服务器继续下载,保证了下载成功率;动态版本差异计算,异步生成,减少冗余文件下载,进一步提升了下载速度。
【技术实现步骤摘要】
本专利技术涉及通信
,尤其涉及一种多源多线程的软件升级方法及系统。
技术介绍
随着软件行业和Internet网络发展的日新月异,软件产品的生命周期也在不断缩短,软件的在线升级功能应运而生。目前,越来越多的软件支持在线升级功能,这一功能增加了软件的扩展性和灵活性,提高了软件的生命周期,也扩大了移动终端的应用市场。显然,在这个生活节奏不断加快的时代,应用软件响应的时间越快,越能提升用户的使用体验。在应用商城这款软件上,体现得尤为显著;其中APP下载或更新的快慢,往往能够决定用户的使用选择,从而影响应用商城的生存前景。目前,软件升级方法的主要过程为:在联网的情况下,客户端软件中的升级引擎检测远程服务器中是否存在对应的软件升级包,如果存在,则将软件升级包下载到本地,然后调用客户端软件中的安装引擎,将软件升级包中的内容更新到本地。现有技术中的软件升级方法主要存在以下问题:每次客户端仅随意选择一个服务器进行升级包下载,而对并未考虑此服务器的负载情况和当前网络连接情况,下载速度慢,产生的冗余文件较多,且无抗灾方案。
技术实现思路
本专利技术的主要目的在于提出一种多源多线程的软件升级方法及系统,克服现有技术存在的下载速度慢、可靠性差的缺陷。为实现上述目的,本专利技术提供了一种多源多线程的软件升级方法,包括步骤:收集待升级软件的当前版本信息;计算得出优质资源服务器排行列表;计算待升级软件的当前版本与最新版本的版本差异,列出差异文件清单,通知优质资源服务器排行列表中前N个资源服务器分别准备不同的差分文件,所述NS I ;为所述N个资源服务器分别分配下载线程,从所述N个资源服务器分别下载相应的差分文件到客户端;在所述差分文件下载完成后,合并待升级软件的当前版本文件和差分文件,进行本地应用升级。优选地,所述方法中还包括:在各个下载线程的下载过程中,实时监听各下载线程的进度;当有下载线程出现异常时,请求优质资源服务器排行列表中的其他资源服务器准备相应的差分文件,将出现异常的下载线程转移至此资源服务器继续下载。优选地,所述计算优质资源服务器排行列表的方法为:根据各资源服务器的负载情况以及各资源服务器与客户端的网络连接情况。优选地,所述为N个资源服务器分别分配下载线程的步骤进一步包括:根据其优质排名为每个资源服务器计算相应的权重,再按照权重为每个资源服务器分配不同数量的下载线程。优选地,所述方法中,采用异步通知方式通知优质资源服务器排行列表中排名靠前的N个资源服务器分别准备不同的差分文件。相应地,本专利技术还提供了一种软件升级系统,包括:客户端、监听服务器和多个资源服务器;所述客户端进一步包括:信息收集单元,用于收集待升级软件的当前版本信息并通知监听服务器;差分文件下载单元,用于为优质资源服务器排行列表中前N个资源服务器分别分配下载线程,从所述N个资源服务器分别下载对应的差分文件;本地升级单元,用于在差分文件下载完毕后合并待升级软件的现有版本文件和差分文件,进行本地应用升级;所述监听服务器进一步包括:优质服务器排行单元,用于计算得出优质资源服务器排行列表;差异计算单元,用于计算出待升级软件的当前版本与最新版本的版本差异,列出差异文件清单;文件准备通知单元,用于在升级初始时刻,按照差异文件清单通知优质资源服务器排行列表中前N个资源服务器分别准备差分文件;服务器信息返回单元,用于将优质资源服务器排行列表中前M个资源服务器信息返回至客户端,并通知客户端开始下载,所述M彡N ;所述资源服务器,用于在接收到监听服务器的通知时准备相应的差分文件,供客户端下载。优选地,所述客户端还包括:线程监听单元;所述线程监听单元,用于实时监听各下载线程的进度,当发现有下载线程出现异常时通知监听服务器,以请求排名位于第N+1至第M之间的新的资源服务器准备对应的差分文件;所述差分文件下载单元,还用于在有下载线程出现异常时,将该下载线程转移至新的资源服务器继续下载对应的差分文件;所述文件准备通知单元,还用于在收到线程监听单元的请求时,通知相应的资源服务器准备对应的差分文件。优选地,所述优质服务器排行单元进一步包括:资源服务器信息采集模块,用于获取各资源服务器的负载情况以及各资源服务器与客户端的网络连接情况;排名计算模块,用于根据各资源服务器的负载情况以及各资源服务器与客户端的网络连接情况,计算出优质资源服务器排行列表。优选地,所述差分文件下载单元进一步包括:权重计算模块,用于根据其优质排名为每个资源服务器计算相应的权重;线程分配模块,用于按照权重大小为每个资源服务器分配不同数量的下载线程。优选地,所述文件准备通知单元,用于采用异步通知方式通知前N个资源服务器分别准备差分文件。本专利技术提出的方案,具有以下有益效果:I)客户端多线程启动,服务器端计算最佳资源服务器排行,供给客户端多线程下载,减少了下载时长;2)实现了抗灾性能,客户端一旦监听到有下载异常,立即将线程转移至其他资源服务器继续下载,保证了下载成功率,大大提升了用户体验;3)动态版本差异计算,异步生成,减少冗余文件下载,进一步提升了下载速度。【附图说明】图1为实现本专利技术各个实施例的移动终端的硬件结构示意图;图2为如图1所示的移动终端的无线通信系统示意图;图3为本专利技术第一实施例中软件升级方法流程图;图4为本专利技术第二实施例中软件升级方法流程图;图5为本专利技术第三实施例中软件升级系统结构图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。【具体实施方式】应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。现在将参考附图描述实现本专利技术各个实施例的移动终端。在后续的描述中,使用用于表示组件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身并没有特定的意义。因此,〃模块〃与〃部件〃可以混合地使用。移动终端可以以各种形式来实施。例如,本专利技术中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的组件之外,根据本专利技术的实施方式的构造也能够应用于固定类型的终端。图1为实现本专利技术各个实施例的移动终端的硬件结构示意图。移动终端100可以包括无线通信单元110、A/V (音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的组件。无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生本文档来自技高网...
【技术保护点】
一种多源多线程的软件升级方法,其特征在于,该方法包括步骤:收集待升级软件的当前版本信息;计算得出优质资源服务器排行列表;计算待升级软件的当前版本与最新版本的版本差异,列出差异文件清单,通知优质资源服务器排行列表中前N个资源服务器分别准备不同的差分文件,所述N≥1;为所述N个资源服务器分别分配下载线程,从所述N个资源服务器分别下载相应的差分文件到客户端;在所述差分文件下载完成后,合并待升级软件的当前版本文件和差分文件,进行本地应用升级。
【技术特征摘要】
【专利技术属性】
技术研发人员:邹炜,
申请(专利权)人:努比亚技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。