专利名称:网络终端设备的版本智能更新方法和装置的利记博彩app
技术领域:
本发明涉及设备升级更新领域,尤其是涉及一种网络终端设备的版本智能更新方法和装置。
背景技术:
网络终端设备在线运行时的生命周期内会面临多次升级、回退等问题。新版本的应用程序、系统文件可能体积庞大,如果网络终端设备数量众多(例如几十万个),则版本的更新不仅会迫使服务器面临网络压力大、下载持续时间耗费过多的缺陷,而且网络终端设备同样会受服务器压力的影响而导致更新过程比较长等问题。现在大多数厂商在版本升级方面使用的方法一般是架设普通的ftp、http升级服务器,通过增加升级服务器来减少版本升级压力,缩短版本升级时间。但是这种版本升级方式下每个设备仍然都是完全升级服务器去下载新的版本程序。如果网络终端设备数量众多,对升级服务器的带宽和服务器处理能力要求就很高,如果要保证升级的及时性,需要投入大量的升级服务器,成本会很高。若不增加升级服务器的数量,则限于服务器并发连接数限制会迫使众多网络终端设备不可能同时连接服务器,很多网络终端设备需要排队等待,把所有本次需要升级的网络终端设备升级结束需要的时间是随着网络终端设备部署的数量的增加线性增长的,时间复杂度接近是O(n)线性函数,而且升级过程将会非常漫长。
发明内容
本发明实施例提供一种网络终端设备的版本智能更新方法和装置,用于以较少的成本缩短网络终端设备的版本更新时间。一方面,本发明实施例提供了一种网络终端设备的版本智能更新方法,该方法包括获取版本更新指令;解析所述版本更新指令以获取版本下载地址;根据所述版本下载地址连接至升级服务器,若连接成功,则利用HTTP或者FTP方式所述升级服务器上下载更新文件的BT种子文件,然后通过BT下载单元完成更新版本的下载;若连接不成功,则通知所述升级服务器无法完成BT种子文件下载并退出升级,由所述升级服务器进行后续处理以保证所述网络终端设备获得BT种子文件;如果所述通过所述BT种子文件无法找到BT下载源,则利用HTTP或者FTP方式从所述升级服务器下载所述更新版本。优选地,本发明实施例中解析所述版本更新指令以获取版本下载地址包括解析所述版本更新指令以获取版本下载地址及更新版本的文件校验码组。优选地,本发明实施例中解析所述版本更新指令以获取版本下载地址及更新版本的文件校验码组之后还包括判断更新版本的文件在本地是否已经存在若不存在,则从升级服务器或者其它网络终端设备上下载全部所述更新版本的文件;若存在,则获取本地文件的文件校验码组,根据更新版本的文件以及本地文件的文件校验码组比对获取差异分界点,复制本地文件中所述差异分界点之前的数据至临时文件,并从升级服务器或者其它网络终端设备上下载所述差异分界点之后的数据至所述临时文件。优选地,本发明实施例的方法还包括通过BT下载单元下载更新版本的同时对外提供文件上传以及下载更新版本完成后持续地对外提供文件上传。优选地,本发明实施例中由所述升级服务器进行后续处理包括升级服务器重新下发所述版本更新指令,或者所述升级服务器加大下发给所述网络终端设备的版本更新指令之间的时间间隔后,再重新下发所述版本更新指令。另一方面,本发明实施例还提供了一种网络终端设备的版本智能更新装置,该装置包括指令获取单元,用于获取版本更新指令;指令解析单元,用于解析所述版本更新指令以获取版本下载地址;连接单元,用于根据所述版本下载地址连接至升级服务器;第一下载单元,用于当所述连接单元连接升级服务器成功时,利用HTTP或者FTP方式从所述升级服务器上下载更新文件的BT种子文件;BT下载单元,用于利用所述BT种子文件通过BT 下载方式完成更新版本的下载;上报单元,用于当所述连接单元连接升级服务器不成功时, 通知所述升级服务器无法完成种子文件下载并退出升级,由所述升级服务器进行后续处理以保证所述网络终端设备获得BT种子文件;第二下载单元,用于当通过所述BT种子文件无法找到BT下载源时,利用HTTP或者FTP方式从所述升级服务器下载所述更新版本。优选地,本发明实施例中的指令解析单元还用于解析所述版本更新指令以获取更新版本的文件校验码组。优选地,本发明实施例还包括判断单元,用于判断更新版本的文件在本地是否已经存在;本地校验获取单元,用于在所述判断单元判断本地已经存在更新版本的文件时,获取本地文件的文件校验码组;比对单元,用于比对更新版本的文件和本地文件的文件校验码组以得到差异分界点;复制单元,用于复制本地文件中所述差异分界点之前的数据至临时文件;所述BT下载单元及所述第二下载单元,用于在所述判断单元判断本地已经存在更新版本的文件时,下载所述差异分界点之后的数据至所述临时文件。优选地,本发明实施例中的BT下载单元还用于在下载更新版本的同时对外提供文件上传以及下载更新版本完成后根据预设策略对外提供文件上传。另一方面,本发明实施例还提供了一种网络终端设备,包括如上所述的版本智能更新装置。本发明实施例中网络终端设备在版本更新升级的时候并不是都直接从服务器下载更新版本文件,大部分网络终端设备是从对等的网络终端设备上利用BT下载的方式获取更新版本,从而缓减了升级服务器的压力,对于升级服务器的配置要求也大为减低,减少了成本,另外由于不需要上万的设备同时连接至升级服务器进行更新版本文件的下载,也可以实现所有网络终端设备同时升级,大幅缩短了版本更新时间。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种网络终端设备的版本智能更新方法的流程示意图;图2为本发明实施例提供的另一种网络终端设备的版本智能更新方法的流程示意图;图3为本发明实施例提供的一种网络终端设备的版本智能更新装置的结构示意图;图4为本发明实施例提供的另一种网络终端设备的版本智能更新装置的结构示意图;图5为本发明实施例提供的一种网络终端设备的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示为本发明实施例提供的一种网络终端设备的版本智能更新方法的流程示意图,本实施例是从网络终端设备侧所作的描述,该方法包括如下步骤SlOl 获取版本更新指令,该版本更新指令既可以是升级服务器下发的,也可以是网络终端设备的服务提供商所在的服务器所下发的。S102:解析版本更新指令以获取版本下载地址,这里的版本下载地址是指升级服务器所在的地址。S103:根据所述版本下载地址连接至升级服务器,若连接成功,则进入步骤S105, 若连接不成功,则进入步骤S104。在本实施例中,网络终端设备可以设定一超时间隔或者一超时次数,在该间隔或者连接次数内如果升级服务器接纳了网络终端设备的请求,就表示连接成功,若网络终端设备没有反应,则表示连接不成功。S104 通知升级服务器无法完成BT种子文件下载并退出升级。在本实施例中,升级服务器在收到网络终端设备上报的无法下载BT种子文件的通知后,会执行预定操作来保证所述网络终端设备获得BT种子文件。在本实施例中,该预定操作比如可以为重新下发所述版本更新指令,或者加大下发给所述网络终端设备的版本更新指令之间的时间间隔后,再重新下发所述版本更新指令。S105 利用HTTP或者FTP方式从升级服务器上下载更新文件的BT种子文件。S106 判断一段时间内通过上述BT种子文件是否无法找到BT下载源,若是,则进入步骤S107,否则进入步骤S108。S107 利用HTTP或者FTP方式从升级服务器下载更新版本。有些网络终端设备可能启动更新较晚,此时已经没有设备为该更新版本做种了, 因此当其在一段时间内通过上述BT种子文件是否无法找到BT下载源时,为了保证正常升级,还可以通过HTTP或者FTP方式从升级服务器下载更新版本。S108 通过BT下载单元完成更新版本的下载。作为本发明的一个实施例,在通过BT下载单元下载更新版本的同时还可以对外提供文件上传以及下载更新版本完成后可以根据预设策略对外提供文件上传,这里的预设策略可以控制下载更新版本完成后对外提供文件上传的持续时间,该预设策略比如可以为在接到升级服务器发出的关闭上传功能前都持续地对外提供文件上传;在下载完成后一设定时间段内对外提供文件上传;或者由升级服务器决定关闭大多数网络终端设备的上传功能,而保留一小部分网络终端设备提供文件上传功能等。本发明实施例中网络终端设备在版本更新升级的时候并不是都直接从服务器下载更新版本文件,大部分网络终端设备是从对等的网络终端设备上利用BT下载的方式获取更新版本,从而缓减了升级服务器的压力,对于升级服务器的配置要求也大为减低,减少了成本,另外由于不需要上万的设备同时连接至升级服务器进行更新版本文件的下载,也可以实现所有网络终端设备同时升级,大幅缩短了版本更新时间。如图2所示为本发明实施例提供的另一种网络终端设备的版本智能更新方法的流程示意图,该方法包括如下步骤S201 获取版本更新指令,该版本更新指令既可以是升级服务器下发的,也可以是网络终端设备的服务提供商所在的服务器所下发的。S202 解析版本更新指令以获取版本下载地址及更新版本的文件校验码组。文件校验码是指将文件以块为单位进行划分,通过某种字符串校验算法(MD5、CHECKSUM、DES、 CRC-8、CRC-16、CRC-32等)对文件的每块(Ik或者业等)数据生成校验结果,而文件校验码组是指大量的文件校验码连接到一起组成的序列,每个元素是一个文件校验码,从而文件校验码组可以用于校验整个文件。S203 判断更新版本的文件在本地是否已经存在,若不存在,则进入步骤S204,若存在,则进入步骤S205。需要指出的是,在本发明实施例中所指的本地已经存在更新版本的文件是指本地存在与该更新版本的文件标识相同的文件,并不代表本地存在的文件内容和更新版本的文件内容相同。S204 从升级服务器或者其它网络终端设备上下载全部所述更新版本的文件。该步骤具体可以参见图1实施例中所对应的步骤S103-S107,在此不再赘述。S205 获取本地文件的文件校验码组。S206:根据更新版本的文件以及本地文件的文件校验码组比对获取差异分界点。 这里的差异分界点是指新版本的应用程序或系统文件下载时,通过对比服务器端版本和本地文件版本的文件校验码组,找出两个文件校验码(文件头除外)第一个不一样的位置, 该位置就叫做差异分界点。可见,通过这个差异分界点可就以反应出新版本的文件和本地文件的相似程度。S207 复制本地文件中差异分界点之前的数据至临时文件。为了减少需要下载的文件量,可以直接将本地文件中差异分界点之前的数据复制至临时文件中,然后只需下载差异分界点之后的数据即可。S208:从升级服务器或者其它网络终端设备上下载所述差异分界点之后的数据至所述临时文件。该步骤具体也可以参见图1实施例中所对应的步骤S103-S107,和步骤S204 所不同的是,本步骤中只需下载差异分界点之后的数据,而无需下载所有的数据。当通过步骤S208下载完所有数据后,可以将临时文件中的更新版本的文件替换本地文件,以完成新版本的更新。
本发明实施例中网络终端设备在版本更新升级的时候并不是都直接从服务器下载更新版本文件,大部分网络终端设备是从对等的网络终端设备上利用BT下载的方式获取更新版本,从而缓减了升级服务器的压力,对于升级服务器的配置要求也大为减低,减少了成本,另外由于不需要上万的设备同时连接至升级服务器进行更新版本文件的下载,也可以实现所有网络终端设备同时升级,大幅缩短了版本更新时间。如图3所示为本发明实施例提供的一种网络终端设备的版本智能更新装置的结构示意图,该装置包括指令获取单元310、指令解析单元320、连接单元330、第一下载单元 340, BT下载单元350、上报单元360和第二下载单元370。指令获取单元310用于获取版本更新指令,该版本更新指令既可以是升级服务器下发的,也可以是网络终端设备的服务提供商所在的服务器所下发的。指令解析单元320用于解析指令获取单元310所获取的版本更新指令以获取版本下载地址。这里的版本下载地址是指升级服务器所在的地址。连接单元330用于根据版本下载地址连接至升级服务器。第一下载单元340用于当连接单元330连接升级服务器成功时,利用HTTP或者 FTP方式从升级服务器上下载更新文件的BT种子文件,而上报单元360用于当连接单元 330连接升级服务器不成功时,通知升级服务器无法完成种子文件下载并退出升级,由升级服务器进行后续处理以保证所述网络终端设备获得BT种子文件。在本实施例中,网络终端设备可以设定一超时间隔或者一超时次数,在该间隔或者连接次数内如果升级服务器接纳了网络终端设备的请求,就表示连接成功,若网络终端设备没有反应,则表示连接不成功。在本实施例中,升级服务器在收到网络终端设备上报的无法下载BT种子文件的通知后,会执行预定操作来保证所述网络终端设备获得BT种子文件。在本实施例中,该预定操作比如可以为重新下发所述版本更新指令,或者加大下发给所述网络终端设备的版本更新指令之间的时间间隔后,再重新下发所述版本更新指令。BT下载单元350用于利用BT种子文件通过BT下载方式完成更新版本的下载。作为本发明的一个实施例,BT下载单元350在下载更新版本的同时还可以对外提供文件上传以及下载更新版本完成后可以持续地对外提供文件上传。第二下载单元370用于当通过所述BT种子文件无法找到BT下载源时,利用HTTP 或者FTP方式从所述升级服务器下载所述更新版本。本发明实施例中网络终端设备在版本更新升级的时候并不是都直接从服务器下载更新版本文件,大部分网络终端设备是从对等的网络终端设备上利用BT下载的方式获取更新版本,从而缓减了升级服务器的压力,对于升级服务器的配置要求也大为减低,减少了成本,另外由于不需要上万的设备同时连接至升级服务器进行更新版本文件的下载,也可以实现所有网络终端设备同时升级,大幅缩短了版本更新时间。如图4所示为本发明实施例提供的另一种网络终端设备的版本智能更新装置的结构示意图,该装置包括指令获取单元410、指令解析单元420、连接单元430、第一下载单元440、BT下载单元450、上报单元460、第二下载单元470、判断单元480、本地校验获取单元490、比对单元500和复制单元510。指令获取单元410用于获取版本更新指令。
指令解析单元420用于解析版本更新指令以以获取更新版本下载地址以及更新版本的文件校验码组。判断单元480在指令解析单元420解析版本更新指令后,判断更新版本的文件在本地是否已经存在。本地校验获取单元490用于在判断单元480判断本地已经存在更新版本的文件时,获取本地文件的文件校验码组。比对单元500用于比对更新版本的文件和本地文件的文件校验码组以得到差异分界点。复制单元510用于复制本地文件中所述差异分界点之前的数据至临时文件。连接单元430用于当判断单元480判断本地没有更新版本的文件时,或者当复制单元510将差异分界点之前的数据至临时文件之后,连接升级服务器。第一下载单元440、BT下载单元450、上报单元460以及第二下载单元470和图3 对应实施例中的相应单元相类似,在此不再赘述。本发明实施例中网络终端设备在版本更新升级的时候并不是都直接从服务器下载更新版本文件,大部分网络终端设备是从对等的网络终端设备上利用BT下载的方式获取更新版本,从而缓减了升级服务器的压力,对于升级服务器的配置要求也大为减低,减少了成本,另外由于不需要上万的设备同时连接至升级服务器进行更新版本文件的下载,也可以实现所有网络终端设备同时升级,大幅缩短了版本更新时间。如图5所示为本发明实施例提供的一种网络终端设备的结构示意图,该网络终端设备600包括如上所述的版本智能更新装置601,该网络终端设备600比如可以为家庭基站等终端设备。对于版本智能更新装置601可以参见前述的描述,在此不再赘述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网络终端设备的版本智能更新方法,其特征在于,所述方法包括 获取版本更新指令;解析所述版本更新指令以获取版本下载地址;根据所述版本下载地址连接至升级服务器,若连接成功,则利用HTTP或者FTP方式从所述升级服务器上下载更新文件的BT种子文件,然后通过BT下载单元完成更新版本的下载;若连接不成功,则通知所述升级服务器无法完成BT种子文件下载并退出升级,由所述升级服务器进行后续处理以保证所述网络终端设备获得BT种子文件;如果所述通过所述BT种子文件无法找到BT下载源,则利用HTTP或者FTP方式从所述升级服务器下载所述更新版本。
2.如权利要求1所述的版本智能更新方法,其特征在于,所述解析所述版本更新指令以获取版本下载地址包括解析所述版本更新指令以获取版本下载地址及更新版本的文件校验码组。
3.如权利要求2所述的版本智能更新方法,其特征在于,所述解析所述版本更新指令以获取版本下载地址及更新版本的文件校验码组之后还包括判断更新版本的文件在本地是否已经存在若不存在,则从升级服务器或者其它网络终端设备上下载全部所述更新版本的文件; 若存在,则获取本地文件的文件校验码组,根据更新版本的文件以及本地文件的文件校验码组比对获取差异分界点,复制本地文件中所述差异分界点之前的数据至临时文件, 并从升级服务器或者其它网络终端设备上下载所述差异分界点之后的数据至所述临时文件。
4.如权利要求1所述的版本智能更新方法,其特征在于,所述方法还包括通过BT下载单元下载更新版本的同时对外提供文件上传以及下载更新版本完成后持续地对外提供文件上传。
5.如权利要求1所述的版本智能更新方法,其特征在于,所述由所述升级服务器进行后续处理包括升级服务器重新下发所述版本更新指令,或者所述升级服务器加大下发给所述网络终端设备的版本更新指令之间的时间间隔后,再重新下发所述版本更新指令。
6.一种网络终端设备的版本智能更新装置,其特征在于,包括 指令获取单元,用于获取版本更新指令;指令解析单元,用于解析所述版本更新指令以获取版本下载地址; 连接单元,用于根据所述版本下载地址连接至升级服务器;第一下载单元,用于当所述连接单元连接升级服务器成功时,利用HTTP或者FTP方式从所述升级服务器上下载更新文件的BT种子文件;BT下载单元,用于利用所述BT种子文件通过BT下载方式完成更新版本的下载; 上报单元,用于当所述连接单元连接升级服务器不成功时,通知所述升级服务器无法完成种子文件下载并退出升级,由所述升级服务器进行后续处理以保证所述网络终端设备获得BT种子文件;第二下载单元,用于当通过所述BT种子文件无法找到BT下载源时,利用HTTP或者FTP 方式从所述升级服务器下载所述更新版本。
7.如权利要求6所述的版本智能更新装置,其特征在于,所述指令解析单元还用于解析所述版本更新指令以获取更新版本的文件校验码组。
8.如权利要求7所述的版本智能更新装置,其特征在于,还包括 判断单元,用于判断更新版本的文件在本地是否已经存在;本地校验获取单元,用于在所述判断单元判断本地已经存在更新版本的文件时,获取本地文件的文件校验码组;比对单元,用于比对更新版本的文件和本地文件的文件校验码组以得到差异分界点; 复制单元,用于复制本地文件中所述差异分界点之前的数据至临时文件; 所述BT下载单元及所述第二下载单元,用于在所述判断单元判断本地已经存在更新版本的文件时,下载所述差异分界点之后的数据至所述临时文件。
9.如权利要求6所述的版本智能更新装置,其特征在于,所述BT下载单元还用于在下载更新版本的同时对外提供文件上传以及下载更新版本完成后根据预设策略对外提供文件上传。
10.一种网络终端设备,其特征在于,包括如权利要求6-9任一所述的版本智能更新装置。
全文摘要
本发明实施例提供了一种网络终端设备的版本智能更新方法和装置,方法包括获取版本更新指令;解析版本更新指令以获取版本下载地址;根据版本下载地址连接至升级服务器,若连接成功,则利用HTTP或者FTP方式从升级服务器上下载更新文件的BT种子文件,然后通过BT下载单元完成更新版本的下载;若连接不成功,则通知升级服务器无法完成BT种子文件下载并退出升级;如果通过所述BT种子文件无法找到BT下载源,则利用HTTP或者FTP方式从所述升级服务器下载所述更新版本。本发明可以缓减了升级服务器的压力,减少成本,另外由于不需要上万的设备同时连接至升级服务器,也可以实现所有网络终端设备同时升级,大幅缩短了版本更新时间。
文档编号H04L29/08GK102377821SQ20111031442
公开日2012年3月14日 申请日期2011年10月17日 优先权日2011年10月17日
发明者郭感应, 陈振旺 申请人:邦讯技术股份有限公司