CN107402773A - 分布式软件更新方法 - Google Patents
分布式软件更新方法 Download PDFInfo
- Publication number
- CN107402773A CN107402773A CN201610330905.4A CN201610330905A CN107402773A CN 107402773 A CN107402773 A CN 107402773A CN 201610330905 A CN201610330905 A CN 201610330905A CN 107402773 A CN107402773 A CN 107402773A
- Authority
- CN
- China
- Prior art keywords
- new file
- download
- renewal
- inventory
- point
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种分布式软件更新方法,包括:于系统提供商服务器产生更新清单与可供该更新清单进行验证的数字签名,更新清单包括多个更新文件的项目与每个更新文件存在的多个下载点;于系统提供商服务器通过一因特网传送更新清单与数字签名至电子装置;于电子装置根据数字签名验证更新清单是否正确;若验证更新清单为正确,于电子装置将每个更新文件的项目连接至对应的至少一下载点,且在所连接的下载点同时下载对应的更新文件;以及若验证更新清单为不正确,于电子装置放弃更新清单。其可避免一电子装置更新到不正确(或非官方)的服务器所提供的更新清单,以确保更新清单中的数据是正确的,并可以缩短下载更新文件的时间。
Description
技术领域
本发明关于一种软件更新方法,且特别是一种可同时在多个软件更新服务器(OTA Server)中下载更新文件的分布式软件更新方法。
背景技术
更新电子装置(如智能手机、平板计算机、计算机等)中的软件,可以对电子装置的运作效率、稳定性等状态进行调整。现有的软件更新方案,其为通过空中下载技术(Over-The-Air,OTA),即电子装置通过一因特网连接软件更新服务器(OTA Server),以检查是否需要更新电子装置中的软件。电子装置的软件版本升级与漏洞修补皆可通过软件更新服务器,进行大量且实时的软件升级作业。然而,软件为特定厂商开发,故电子设备只能向特定厂商的软件更新服务器下载软件的更新文件,容易造成短时间大量同时下载,影响电子装置更新速度。而若某个软件更新服务器故障,亦将造成电子装置无法更新特定的软件。
因此,若电子装置可同时在多个软件更新服务器之间下载文件,将可缩短下载更新文件的时间。此外,若特定软件的更新文件可由多个软件更新服务器下载,将可避免单一软件更新服务器故障,造成电子装置无法更新特定的软件的问题。
发明内容
本发明于一方面提供一种分布式软件更新方法,适用于一软件更新系统。软件更新系统具有一系统提供商服务器与至少一电子装置。分布式软件更新方法包括如下步骤:于系统提供商服务器产生一更新清单与一可供更新清单进行验证的数字签名,更新清单包括多个更新文件的项目与每个更新文件存在的多个下载点;于系统提供商服务器通过一因特网传送更新清单与数字签名至电子装置;于电子装置根据数字签名验证更新清单是否正确;若验证更新清单为正确,于电子装置将每个更新文件的项目连接至对应的至少一下载点,且在所连接的下载点同时下载对应的更新文件;以及若验证更新清单为不正确,于电子装置放弃更新清单。
优选地,多个更新文件的项目具有一优先级,每个更新文件的项目分成多个子项目,于电子装置将每个更新文件的项目连接至对应的至少一个下载点的步骤中,还包括:根据优先级依序选择更新文件的项目;以及于所选择的更新文件的项目判断对应的多个下载点中是否有未被连接的至少一个下载点,若是,将所选择的更新文件的多个子项目分别连接至对应的多个下载点中未被连接的某一个下载点。
优选地,于所选择的更新文件的项目判断对应的多个下载点中是否有未被连接的至少一个下载点的步骤中,若否,将所选择的更新文件的多个子项目分别连接至对应的多个下载点其中之一。
优选地,于电子装置将每个更新文件的项目连接至对应的至少一个下载点的步骤中,还包括:询问每个下载点的超载状况;以及将具有至少一个未超载的下载点的更新文件连接至某一个未超载的下载点。
优选地,于电子装置同时至所连接的下载点下载对应的更新文件的步骤中,还包括:于下载对应的更新文件的过程中,若所连接的下载点无法下载时,纪录目前下载对应的更新文件的进度,并改以连接至对应的其他下载点续传更新文件。
优选地,于电子装置同时至所连接的下载点下载对应的更新文件的步骤后,还包括:于系统提供商服务器产生异动的更新清单与一可供异动的更新清单进行验证的异动数字签名,其中异动的更新清单包括新增的更新文件的项目与新增的更新文件存在的多个下载点;于系统提供商服务器通过因特网传送异动的更新清单与异动数字签名至电子装置;于电子装置根据异动数字签名验证异动的更新清单是否正确;若验证异动的更新清单为正确,于电子装置将新增的更新文件的项目连接至对应的多个下载点其中之一,且至所连接的下载点下载新增的更新文件;以及若验证异动的更新清单为不正确,于电子装置放弃异动的更新清单。
优选地,于电子装置同时至所连接的下载点下载对应的更新文件的步骤后,还包括:于系统提供商服务器产生异动的更新清单与一可供异动的更新清单进行验证的异动数字签名,其中异动的更新清单包括某一个更新文件的调整的多个下载点;于系统提供商服务器通过因特网传送异动的更新清单与异动数字签名至电子装置;于电子装置根据异动数字签名验证异动的更新清单是否正确;若验证异动的更新清单为正确,于电子装置根据异动的更新清单调整某个更新文件的多个下载点,且至所连接的下载点下载某一个更新文件;以及若验证异动的更新清单为不正确,于电子装置放弃异动的更新清单。
优选地,若调整某一个更新文件的多个下载点代表新增某一个更新文件的下载点,于电子装置将新增的下载点加入至某一个更新文件的多个下载点之中。
优选地,若调整某一个更新文件的多个下载点代表删除某一个更新文件的下载点,判断删除的下载点是否正在下载某一个更新文件,若是,纪录目前下载某一个更新文件的进度,并改以连接至对应的其他下载点以续传某一个更新文件,若否,删除某一个更新文件的下载点。
优选地,于电子装置改以连接至对应的其他下载点的步骤中,还包括:侦测对应的其他下载点之中是否有未超载的至少一个下载点;若是,改以连接至未超载的某一个下载点以续传某一个更新文件;若否,停止连接至其他下载点。
综上所述,本发明实施例所提供的分布式软件更新方法,其可避免电子装置更新到不正确(或非官方)的服务器所提供的更新清单,以确保更新清单中的数据没有被窜改。此外,电子装置可同时在多个下载点下载软件的更新文件,以缩短下载更新文件的时间。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,但是此等说明与说明书附图仅是用来说明本发明,而非对本发明的权利范围作任何的限制。
附图说明
图1是本发明实施例提供的软件更新系统的示意图。
图2是本发明实施例提供的分布式软件更新方法的流程图。
图3A是本发明实施例提供的数字签名的产生方法的流程图。
图3B是本发明实施例提供的更新清单的验证方法的流程图。
图4A是本发明实施例提供的每个更新文件的项目连接至对应的至少一个下载点的流程图。
图4B是图4A的电子装置至多个下载点下载更新文件的示意图。
图5A是本发明另一实施例提供的每个更新文件的项目连接至对应的至少一个下载点的流程图。
图5B是图5A的电子装置至多个下载点下载更新文件的示意图。
图6A是本发明实施例提供的系统提供商服务器重新传送异动的更新清单至电子装置的流程图。
图6B是本发明实施例提供的系统提供商服务器重新传送异动的更新清单至电子装置的流程图。
图7是图6B的调整某个更新文件的多个下载点的流程图。
具体实施方式
在下文将参看说明书附图更充分的描述各种例示性实施例,在说明书附图中展示一些例示性实施例。然而,本发明概念可能以许多不同形式来体现,且不应解释为限于本文中所阐述的例示性实施例。确切而言,提供此等例示性实施例使得本发明将为详尽且完整,且将向熟习此项技术的技术人员充分传达本发明概念的范畴。在诸附图中,可为了清楚而夸示层及区的大小及相对大小。类似数字始终指示类似组件。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件或信号等,但此等组件或信号不应受此等术语限制。此等术语乃用以区分一组件与另一组件,或者一信号与另一信号。另外,如本文中所使用,术语「或」视实际情况可能包括相关联的列出项目中的任一个或者多个的所有组合。
本发明实施例所提供的分布式软件更新方法,其在电子装置接收到更新清单时通过一数字签名来验证更新清单以确保更新清单中的数据没有被窜改。而在更新清单中,多个更新文件有各自的多个下载点,使得电子装置同时在多个下载点下载更新文件,以缩短下载更新文件的时间。另外,电子装置亦可根据更新清单选择排序在先的多个下载点下载软件的部分更新文件,以同时下载同一个软件的不同部分。而即使某个更新文件的下载点故障,电子装置也能到其他的下载点下载上述更新文件。此外,若更新文件的项目或下载点有异动,也可以通过系统提供商服务器重新传送异动的更新清单至电子装置,以提供电子装置最新的更新清单。以下将进一步介绍本发明公开的分布式软件更新方法。
首先,请参考图1,其显示本发明实施例提供的软件更新系统的示意图。如图1所示,软件更新系统100具有一系统提供商服务器110与至少一个电子装置120(在本实施例仅显示1个)。系统提供商服务器110为用来检查是否有需要更新的软件,并在有需要更新软件时制作更新清单,以提供电子装置120进行软件的更新。而电子装置120则根据更新清单同时到多个下载点下载不同的更新文件,以分布式的方式下载不同的更新文件。在本实施例中,系统提供商服务器110例如为某一家电信业者的服务器,而电子装置120为搭配此家电信业者的电子装置。而电子装置120可为智能手机、平板计算机、笔记本电脑或其他需要更新软件的电子装置,本发明对此不作限制。
请同时参考图2与图1,图2显示本发明实施例提供的分布式软件更新方法的流程图。当系统提供商服务器110检查到需要更新的软件时,将产生一更新清单LST与可供更新清单LST进行验证的数字签名DS(步骤S210)。更新清单LST包括多个更新文件的项目与每个更新文件存在的多个下载点。举例来说,更新清单LST如下表一所示:
表一
由表一可知,更新清单LST具有2个更新文件A及B,更新文件A有3个下载点1、2及4,更新文件B有3个下载点2、3及4。因此,更新文件A可至下载点1、2及4其中至少一个下载点进行下载,例如,仅在下载点1进行下载、在下载点1及2同时下载,或在下载点1、2及4同时下载。同理,更新文件B可至下载点2-4其中至少一个下载点进行下载。在本实施例中,上述下载点1-4分别代表不同的软件更新服务器(OTA Server),以提供下载对应的更新文件。
关于数字签名DS的产生方法可参考图3A,系统提供商服务器11产生更新清单LST后,将通过一哈希函数F(x)转换更新清单LST成为一哈希值HV,接着再将哈希值HV与一私钥(private key)SK通过一加解密函数E(x)加密而产生专属于更新清单LST的数字签名DS,进而可提供更新清单LST进行验证。而有关数字签名的产生方法亦可通过其他方式产生,本发明对此不作限制。
在产生更新清单LST与数字签名DS(即步骤S210)后,系统提供商服务器110将通过一因特网传送更新清单LST与数字签名DS至电子装置120,以告知电子装置120有软件需要更新(步骤S220)。
电子装置120包括一处理器122与储存组件124。处理器122电连接储存组件124。处理器122是为电子装置120的主要运算中心,用以执行各项分析、运算及控制,具体可为中央处理器、微控制器或嵌入式控制器等处理芯片。储存组件124储存有多个软件,以提供处理器122执行所需的软件。而在电子装置120接收到更新清单LST与数字签名DS(即步骤S220)后,电子装置120的处理器122将根据数字签名DS验证更新清单LST是否正确(步骤S230),以避免更新清单LST被窜改而下载到不正确(或非官方)的更新文件。
关于更新清单LST的验证方法可参考图3B,电子装置120的处理器122将通过哈希函数F(x)转换更新清单LST成为一哈希值HV。而电子装置120的处理器122亦将数字签名DS与对应于上述私钥SK的一公钥(PublicKey)PK通过加解密函数E(x)解密而还原为对应于哈希值HV的一检验值CV。此时,处理器122将判断哈希值HV与检验值CV是否相同。若相同,代表更新清单LST验证成功,处理器122将判断更新清单LST中的数据为正确;反之,若不同,代表更新清单LST验证失败,处理器122将判断更新清单LST中的数据为不正确。而有关更新清单LST的验证方法亦可通过其他方式产生,本发明对此不作限制。
因此,若更新清单LST验证失败,表示更新清单LST中的数据为不正确,电子装置120的处理器122将放弃此更新清单LST(步骤S255),以避免至错误的下载点下载例如带有病毒特征的更新文件。
而若更新清单LST验证成功,表示更新清单LST为系统提供商服务器110所制作的更新文件,更新清单LST中的数据是正确的。此时,电子装置120的处理器122将每个更新文件的项目连接至对应的至少一个下载点(步骤S240),接着,在所连接的下载点同时下载对应的更新文件(步骤S250)。下载方式例如前述表一所说明的例子。
更进一步来说,请同参考图4A,其显示本发明实施例提供的每个更新文件的项目连接至对应的一个至多个下载点的流程图。在本实施例中,多个更新文件的项目具有一优先级,且每个更新文件的项目分成多个子项目,如下表二所示。
表二
由表二可知,更新清单LST具有2个更新文件A及B,且分别被切割成多个子项目,例如,更新文件A切割成2个子项目a1及a2,并且有3个对应的下载点1、2及4。更新文件B切割成3个子项目b1、b2及b3,并且有3个对应的下载点2、3及4。
故在电子装置120的处理器122验证更新清单LST为正确(即步骤S230)之后,处理器122将根据优先级依序选择更新文件的项目,以从具有优先级较高的更新文件开始下载(步骤S241)。接着,处理器122将在所选择的更新文件的项目判断对应的多个下载点中是否有未被连接的至少一下载点,以寻找目前尚未被电子装置120下载更新文件的下载点(步骤S243)。若对应的多个下载点中有未被连接的至少一下载点,处理器122将所选择的更新文件的多个子项目分别连接至对应的多个下载点中未被连接的某个下载点,以根据子项目于所连接的下载点下载部分的更新文件(步骤S245)。反之,若对应的多个下载点皆已被其他更新文件的项目连接,处理器122将所选择的更新文件的多个子项目分别连接至对应的多个下载点其中之一,以根据子项目于所连接的下载点下载部分的更新文件(步骤S247)。
承接表二的例子来做说明,并请同时参考图4B。更新文件A与更新文件B具有优先级,且更新文件A的优先级高于更新文件B。处理器122首先将根据优先级选择更新文件A,接着将判断更新文件A对应的多个下载点1、2及4中是否有未被连接的下载点。由于更新文件A具有最高的优先级,故对应的下载点1、2及4没有被其他更新文件连接,电子装置120的处理器122遂将更新文件A的子项目a1及a2分别连接至下载点1、2、4中未被连接的下载点,在本实施例分别为下载点1及2,以下载子项目a1及a2。接着,处理器122将判断优先级次高的更新文件B对应的下载点2、3及4中尚未被连接的下载点,在本实施例分别为下载点3及4,处理器122遂将更新文件B的子项目b1及b2分别连接至下载点3与4,以下载子项目b1及b2。由于更新文件B对应的下载点2、3及4都已经被连接,子项目b3则可连接下载点2、3及4中任一个,本实施例连接下载点2。
在其他实施例中,请同参考图5A,其显示本发明另一实施例提供的每个更新文件的项目连接至对应的多个下载点其中之一的流程图。如图5A所示,在电子装置120的处理器122验证更新清单LST为正确(即步骤S230)之后,将进行步骤S240a。在步骤S240a中,处理器122将询问每个下载点的超载状况,以判断所询问的下载点是否已超载而无法提供下载(步骤S242)。接着,处理器122将具有未超载的至少一个下载点的更新文件连接至对应的某个下载点,而超载的下载点则停止提供之后的更新文件下载。直到超载的下载点转换成未超载的下载点,才会开始提供更新文件下载(步骤S244)。
承接表一的例子来做说明,并请同时参考图5B。在电子装置120的处理器122验证更新清单LST为正确之后,处理器122将询问下载点1-4的超载状况。此时,若处理器122判断出下载点1及2超载,以及下载点3及4未超载。处理器122将具有未超载的下载点4的更新文件A连接至下载点4,以及将具有未超载的下载点3及4的更新文件B连接至下载点3及4其中之一,在本实施例为下载点3。而若处理器122判断出下载点1、2及4超载,以及下载点3未超载。处理器122将具有未超载的下载点3的更新文件B连接至下载点3,且停止将更新文件A连接至超载的下载点1、2及4其中之一。直到超载的下载点1、2及4其中之一转换成未超载的下载点,处理器122才会将更新文件A连接至未超载的下载点,在本实施例为下载点4。
在步骤S240或S240a之后,处理器122将同时至所连接的下载点下载对应的更新文件(步骤S250)。以图4B的例子来说,处理器122将更新文件A连接至下载点1及2,更新文件B连接至下载点2、3及4,并同时至下载点1及2下载更新文件A的子项目a1及a2,与下载点2、3及4下载更新文件B的子项目b1、b2及b3。再以图5B的例子来说,处理器122将更新文件A连接至下载点4以及更新文件B连接至下载点3,并同时至下载点4下载更新文件A与下载点3下载更新文件B。在下载完更新文件A与更新文件B之后,处理器122将进一步更新储存在储存组件124中对应的软件,以完成软件更新。
由上述可知,本发明实施例所提供的分布式软件更新方法,其可避免电子装置更新到不正确(或非官方)的服务器所提供的更新清单,以确保更新清单中的数据是正确的。此外,电子装置可同时在多个下载点下载软件的更新文件,以缩短下载更新文件的时间。另外,电子装置亦可根据更新清单选择排序在先的多个下载点下载软件的部分更新文件,以同时下载同一个软件的不同部分。
而电子装置120的处理器122在下载对应的更新文件(即步骤S250)的过程中,若所连接的下载点无法下载时,处理器122将纪录目前下载对应的更新文件的进度,并改以连接至对应的其他下载点续传更新文件。以图4B的例子来说,若所连接的下载点1无法下载更新文件A的子项目a1时,处理器122将记录目前下载更新文件A的子项目a1的进度,并改以连接至对应的其他下载点(即下载点2及4)尝试续传更新子项目a1。此外,处理器122同时至所连接的下载点下载对应的更新文件的步骤(及步骤S250)后,若更新清单LST有异动(例如,某个下载点故障、新增更新文件或新增更新文件的下载点等异动)时,系统提供商服务器110重新传送被异动过的更新清单LST至电子装置120。
请同时参考图6A,其显示本发明实施例提供的系统提供商服务器重新传送异动的更新清单至电子装置的流程图。更进一步来说,系统提供商服务器110产生异动的更新清单LST1与一可供异动的更新清单LST1进行验证的异动数字签名DS1(步骤S310)。异动的更新清单LST1包括新增的更新文件的项目与新增的更新文件存在的多个下载点。举例来说,更新清单LST1如下表三所示:
表三
由表三可知,异动的更新清单LST1包括新增的更新文件C与新增的更新文件C存在的多个下载点3-4。而有关异动数字签名DS1的产生方法大致上与图3A的数字签名DS的产生方法相同,本领域技术人员可由图3A的数字签名DS的产生方法推得异动数字签名DS1的产生方法,故在此不再赘述。
在产生异动的更新清单LST1与异动数字签名DS1(即步骤S310)后,系统提供商服务器110将通过一因特网传送异动的更新清单LST1与异动数字签名DS1至电子装置120,以告知电子装置120需要调整更新清单LST(步骤S320)。
在电子装置120接收到异动的更新清单LST1与异动数字签名DS1(即步骤S320)后,电子装置120的处理器122将根据异动数字签名DS1验证异动的更新清单LST1是否正确,以避免异动的更新清单LST1被窜改而调整为不正确的更新文件的项目与下载点(步骤S330)。有关异动的更新清单LST1的验证方法大致上与图3B的更新清单LST的验证方法相同,本领域技术人员可由图3B的更新清单LST的验证方法推得异动的更新清单LST1的验证方法,故在此不再赘述。
因此,若异动的更新清单LST1验证失败,表示异动的更新清单LST1中的数据不正确。电子装置120的处理器122将放弃此异动的更新清单LST1,以避免更新为不正确的更新文件的项目与下载点(步骤S355)。
而若异动的更新清单LST1验证成功,表示异动的更新清单LST1为系统提供商服务器110所制作,异动的更新清单LST1中的数据是正确的。此时,处理器122将新增的更新文件的项目连接至对应的多个下载点其中之一(步骤S340)。以表一与表二的例子来作说明,处理器122将新增更新文件C的项目连接至对应的下载点3-4其中之一。接下来,处理器122将至所连接的下载点(例如下载点4)下载新增的更新文件C(步骤S350)。
请同时参考图6B,其显示本发明另一实施例提供的系统提供商服务器重新传送异动的更新清单至电子装置的流程图。相较于图6A的异动的更新清单LST1包括新增的更新文件的项目与新增的更新文件存在的多个下载点。图6B的异动的更新清单LST2不同的地方在于,包括某个更新文件的调整的多个下载点。举例来说,异动的更新清单LST2如下表四所示:
表四
由表四可知,相较于表一的更新清单LST,异动的更新清单LST2为新增更新文件B的下载点1。
再举例来说,异动的更新清单LST3如下表五所示:
表五
由表五可知,相较于表一的更新清单LST,异动的更新清单LST3为删除更新文件A的下载点1。
因此,若异动的更新清单(如异动的更新清单LST2或LST3)验证成功,于电子装置120的处理器122将根据异动的更新清单调整某个更新文件的多个下载点,且至所连接的下载点下载某个更新文件(步骤S440);而若异动的更新清单验证失败,处理器122将放弃异动的更新清单(步骤S450)。
更进一步来说,若调整某个更新文件的下载点代表新增某个更新文件的下载点,如表四所示,处理器122将新增的下载点加入至上述更新文件对应的多个下载点之中。以表四的例子来作说明,表四的异动的更新清单LST2为新增更新文件B的下载点1,处理器122将新增的下载点1加入至更新文件B对应的多个下载点之中。此时,更新文件B将由3个下载点变成4个下载点,分别为下载点1-4。而处理器122将至当下所连接的下载点继续下载所需的更新文件。
请同时参考图7。若调整某个更新文件的下载点代表删除某个更新文件的下载点,如表五所示,处理器122将判断删除的下载点是否正在下载某个更新文件(步骤S442)。若删除的下载点正在下载某个更新文件,处理器122将纪录目前下载上述更新文件的进度,并改以连接至对应的其他下载点以续传上述更新文件(步骤S444);而若删除的下载点没有在下载更新文件,处理器122将直接删除上述需删除的下载点(步骤S446)。以表五的例子来作说明,表五的异动的更新清单LST3为删除更新文件A的下载点1,处理器122将判断删除的下载点1是否正在下载更新文件A。此时,若下载点1正在下载更新文件A,处理器122将纪录目前下载更新文件A的进度,并改以连接至对应的其他下载点2或4以续传更新文件A。而若下载点1没有在下载更新文件A,处理器122将直接删除下载点1。
更进一步来说,在电子装置120的处理器122改以连接至对应的其他下载点的过程中(即步骤S444),处理器122可以侦测对应的其他下载点之中是否有未超载的至少一下载点。若有未超载的至少一下载点,处理器122将改以连接至未超载的某个下载点以续传所需的更新文件。而若对应的其他下载点皆超载,处理器122将暂时停止连接至超载的下载点,直到超载的下载点转换成未超载的下载点,才会开始改以连接至对应的某个下载点以续传所需的更新文件。而同样以表五的例子来作说明,若未超载的下载点为下载点4,处理器122将改以连接至下载点以续传所需的更新文件A。而若没有未超载的下载点(即下载点2及4皆为超载),处理器122将暂时停止连接至超载的下载点2及4,直到超载的下载点2及4其中之一转换成未超载的下载点,才会开始改以连接至未超载的下载点(在本实施例为下载点4),以续传所需的更新文件A。
故由上述可知,若更新清单有异动(例如,某个下载点故障、新增更新文件或新增更新文件的下载点等异动),系统提供商服务器110可重新传送异动的更新清单至电子装置120,以在不影响电子装置120目前的更新状态下,提供电子装置120最新的更新清单。
以上所述,仅为本发明最佳的具体实施例,而本发明的特征并不局限于此,任何本领域技术人员在本发明的领域内,可轻易思及的变化或修饰,皆可涵盖在以下本案的专利范围。
Claims (10)
1.一种分布式软件更新方法,适用于一软件更新系统,该软件更新系统具有一系统提供商服务器与至少一电子装置,其特征在于,该分布式软件更新方法包括:
于该系统提供商服务器产生一更新清单与一可供该更新清单进行验证的数字签名,其中该更新清单包括多个更新文件的项目与每一该更新文件存在的多个下载点;
于该系统提供商服务器通过一因特网传送该更新清单与该数字签名至该电子装置;
于该电子装置根据该数字签名验证该更新清单是否正确;
其中,若验证该更新清单为正确,于该电子装置将每一该更新文件的项目连接至对应的至少一该下载点,且在所连接的该下载点同时下载对应的该更新文件;以及
其中,若验证该更新清单为不正确,于该电子装置放弃该更新清单。
2.如权利要求1所述的分布式软件更新方法,其特征在于,该多个更新文件的项目具有一优先级,每一该更新文件的项目分成多个子项目,于该电子装置将每一该更新文件的项目连接至对应的至少一该下载点的步骤中,还包括:
根据该优先级依序选择该更新文件的项目;以及
于所选择的该更新文件的项目判断对应的该多个下载点中是否有未被连接的至少一下载点,若是,将所选择的该更新文件的该多个子项目分别连接至对应的该多个下载点中未被连接的某一该下载点。
3.如权利要求2所述的分布式软件更新方法,其特征在于,于所选择的该更新文件的项目判断对应的该多个下载点中是否有未被连接的至少一下载点的步骤中,若否,将所选择的该更新文件的该多个子项目分别连接至对应的该多个下载点其中之一。
4.如权利要求1所述的分布式软件更新方法,其特征在于,于该电子装置将每一该更新文件的项目连接至对应的至少一该下载点的步骤中,还包括:
询问每一该下载点的超载状况;以及
将具有至少一未超载的该下载点的该更新文件连接至某一未超载的该下载点。
5.如权利要求1所述的分布式软件更新方法,其特征在于,于该电子装置同时至所连接的该下载点下载对应的该更新文件的步骤中,还包括:
于下载对应的该更新文件的过程中,若所连接的该下载点无法下载时,纪录目前下载对应的该更新文件的进度,并改以连接至对应的其他该下载点续传该更新文件。
6.如权利要求1所述的分布式软件更新方法,其特征在于,于该电子装置同时至所连接的该下载点下载对应的该更新文件的步骤后,还包括:
于该系统提供商服务器产生异动的该更新清单与一可供异动的该更新清单进行验证的异动数字签名,其中异动的该更新清单包括新增的该更新文件的项目与新增的该更新文件存在的多个下载点;
于该系统提供商服务器通过该因特网传送异动的该更新清单与该异动数字签名至该电子装置;
于该电子装置根据该异动数字签名验证异动的该更新清单是否正确;
其中,若验证异动的该更新清单为正确,于该电子装置将新增的该更新文件的项目连接至对应的该多个下载点其中之一,且至所连接的该下载点下载新增的该更新文件;以及
其中,若验证异动的该更新清单为不正确,于该电子装置放弃异动的该更新清单。
7.如权利要求1所述的分布式软件更新方法,其特征在于,于该电子装置同时至所连接的该下载点下载对应的该更新文件的步骤后,还包括:
于该系统提供商服务器产生异动的该更新清单与一可供异动的该更新清单进行验证的异动数字签名,其中异动的该更新清单包括某一该更新文件的调整的该多个下载点;
于该系统提供商服务器通过该因特网传送异动的该更新清单与该异动数字签名至该电子装置;
于该电子装置根据该异动数字签名验证异动的该更新清单是否正确;
其中,若验证异动的该更新清单为正确,于该电子装置根据异动的该更新清单调整某一该更新文件的该多个下载点,且至所连接的该下载点下载某一该更新文件;以及
其中,若验证异动的该更新清单为不正确,于该电子装置放弃异动的该更新清单。
8.如权利要求7所述的分布式软件更新方法,其特征在于,若调整某一该更新文件的该多个下载点代表新增某一该更新文件的该下载点,于该电子装置将新增的该下载点加入至某一该更新文件的该多个下载点之中。
9.如权利要求7所述的分布式软件更新方法,其特征在于,若调整某一该更新文件的该多个下载点代表删除某一该更新文件的该下载点,判断删除的该下载点是否正在下载某一该更新文件,若是,纪录目前下载某一该更新文件的进度,并改以连接至对应的其他该下载点以续传某一该更新文件,若否,删除某一该更新文件的该下载点。
10.如权利要求9所述的分布式软件更新方法,其特征在于,于该电子装置改以连接至对应的其他该下载点的步骤中,还包括:
侦测对应的其他该下载点之中是否有未超载的至少一下载点;
若是,改以连接至未超载的某一该下载点以续传某一该更新文件;以及
若否,停止连接至其他该下载点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610330905.4A CN107402773A (zh) | 2016-05-18 | 2016-05-18 | 分布式软件更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610330905.4A CN107402773A (zh) | 2016-05-18 | 2016-05-18 | 分布式软件更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107402773A true CN107402773A (zh) | 2017-11-28 |
Family
ID=60394263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610330905.4A Pending CN107402773A (zh) | 2016-05-18 | 2016-05-18 | 分布式软件更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402773A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256511A (zh) * | 2020-10-23 | 2021-01-22 | 新晃县顺泰电子有限公司 | 一种usb测试电路、方法及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040210752A1 (en) * | 2003-02-11 | 2004-10-21 | Rao Bindu Rama | Electronic device supporting multiple update agents |
CN1852101A (zh) * | 2005-08-10 | 2006-10-25 | 华为技术有限公司 | 一种并行下载方法和终端 |
CN101872309A (zh) * | 2010-01-15 | 2010-10-27 | 腾讯科技(深圳)有限公司 | 一种软件安装包下载方法、系统及客户端 |
CN102055785A (zh) * | 2009-11-09 | 2011-05-11 | 杭州华三通信技术有限公司 | 分布式系统的在线升级方法、分布式系统及设备 |
CN103763354A (zh) * | 2014-01-06 | 2014-04-30 | 北京奇虎科技有限公司 | 一种升级数据下载的方法及装置 |
-
2016
- 2016-05-18 CN CN201610330905.4A patent/CN107402773A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040210752A1 (en) * | 2003-02-11 | 2004-10-21 | Rao Bindu Rama | Electronic device supporting multiple update agents |
CN1852101A (zh) * | 2005-08-10 | 2006-10-25 | 华为技术有限公司 | 一种并行下载方法和终端 |
CN102055785A (zh) * | 2009-11-09 | 2011-05-11 | 杭州华三通信技术有限公司 | 分布式系统的在线升级方法、分布式系统及设备 |
CN101872309A (zh) * | 2010-01-15 | 2010-10-27 | 腾讯科技(深圳)有限公司 | 一种软件安装包下载方法、系统及客户端 |
CN103763354A (zh) * | 2014-01-06 | 2014-04-30 | 北京奇虎科技有限公司 | 一种升级数据下载的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256511A (zh) * | 2020-10-23 | 2021-01-22 | 新晃县顺泰电子有限公司 | 一种usb测试电路、方法及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2408063C2 (ru) | Архитектура системы распространения обновлений и способ распространения программного обеспечения | |
US8055496B2 (en) | Ensuring product correctness in a multilingual environment | |
US7080372B1 (en) | System and method for managing system configuration across a network | |
US9383993B2 (en) | Enterprise wide software version recommendation | |
JP5055410B2 (ja) | 装置管理システム及びそのシステムにおける装置管理命令スケジューリング方法 | |
CN106878334A (zh) | 云的自动化部署系统和方法 | |
US9009694B2 (en) | Pre-verification and sequencing of patches | |
EP2501100A1 (en) | Quarantine network system and quarantine client | |
CN107483627A (zh) | 一种文件分发、下载方法、分发服务器、客户端及系统 | |
US20070101342A1 (en) | Automated device driver management | |
US20160266885A1 (en) | Intelligent mobile application update | |
CN105577381B (zh) | 虚拟化下的证书管理方法和装置 | |
MXPA04006784A (es) | Deteccion y correccion automatica de programas de archivos vulnerables. | |
KR101893518B1 (ko) | 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법 | |
CN105653329A (zh) | 一种应用管理的方法、装置及系统 | |
CN103034512A (zh) | 更新程序的方法和装置 | |
CN105279436B (zh) | 软件更新方法及系统 | |
KR20160122254A (ko) | 소프트웨어 애플리케이션의 세트의 구축 방법 | |
WO2018033094A1 (zh) | 富通信套件发布平台、版本更新方法及系统、移动终端 | |
CN109857423A (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
CN104765609B (zh) | 软件关联资源推荐方法、获取方法及相应的装置 | |
JP2018060395A (ja) | 情報処理装置、情報処理システム及びプログラム | |
CN105704241A (zh) | 一种客户端程序更新方法及系统、业务平台 | |
CN107402773A (zh) | 分布式软件更新方法 | |
US11327740B2 (en) | Method and device for managing aircraft equipment software configurations |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171128 |
|
WD01 | Invention patent application deemed withdrawn after publication |