CN1936844A - 用于更新软件的方法和系统 - Google Patents
用于更新软件的方法和系统 Download PDFInfo
- Publication number
- CN1936844A CN1936844A CNA2006101595151A CN200610159515A CN1936844A CN 1936844 A CN1936844 A CN 1936844A CN A2006101595151 A CNA2006101595151 A CN A2006101595151A CN 200610159515 A CN200610159515 A CN 200610159515A CN 1936844 A CN1936844 A CN 1936844A
- Authority
- CN
- China
- Prior art keywords
- relevant
- information
- component software
- change
- redaction
- 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
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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
技术领域
根据本发明的方法和系统涉及更新软件,尤其涉及更新在具有有限存储器的设备中的软件。
背景技术
正在快速地开发诸如移动通信终端、个人数字助理(PDA)、和视窗(Windows)CE设备之类的各种便携式终端。各种各样的功能由于数字融合而在最近会聚于便携式终端,而且型号改变周期变得更短。因此,非常有可能把错误制造的便携式终端分发到市场。此外,在完全开发了便携式终端之后,会发行升级软件以提供附加功能。
虽然向便携式终端提供了自动软件更新功能,但是因为大多数便携式终端不具有足够的存储量,所以难以开发更新系统,而且软件升级功能由于缺少存储器而导致不能被正确使用。
图1A、1B、和1C说明了使用相关技术的软件更新方法的存储器内容转换处理。参见图1A,在非易失性存储器100中安装了两个软件组件,应用程序App.1 110和应用程序App.2 120。参见图1B,将应用程序App.1 110转换为备份文件App.1.bck110b,并且下载和存储应用程序App.1 110n。参见图1C,将应用程序App.2 120转换为备份文件App.2.bck120b,并且下载和存储应用程序App.2 120n。因此,自动地更新这两个软件组件。
如上所述,相关技术的软件更新方法需要为这两个软件组件的大小两倍的存储器,这是因为将现有文件存储为它的备份文件并且接收新的文件。当由于外界因素导致软件更新停止时,相关技术的软件更新方法用于恢复系统。然而,相关技术的方法具有这样的缺点,即该自动更新功能在其存储器不是软件组件的大小两倍的设备中不进行操作。这样的缺点在具有有限存储器的便携式终端中是致命的。
此外,大多数便携式终端没有解决由动态加载所引起的版本不兼容的问题。详细地说,当更新资源A以及使用该资源A的应用程序B时,存储在随机存取存储器(RAM)中的应用程序B的先前版本使用已更新的资源A直到设备被重新启动为止,这导致版本不兼容。
发明内容
本发明提供了一种用于自动更新具有有限存储器的设备中的软件组件、恢复当停止更新时出现的更新错误、以及克服在资源和应用程序之间的不兼容性的方法和系统,以及存储执行该方法的程序的计算机可读记录介质。
根据本发明的一个方面,提供了一种更新安装在连接到服务器的设备中的软件组件的软件更新方法,该方法包含:执行从服务器下载新版本的组件以及用新版本的组件覆写要更新的组件的更新事务处理,同时管理有关该事务处理的状态信息和有关组件的状态信息。
该事务处理的执行可以包含:通过将有关该事务处理的状态信息记录为“开始”来开始该事务处理;通过将有关该要更新的组件的状态信息改为“下载”、将有关该组件的先前信息改为有关该组件的当前信息、从服务器下载该组件的新版本、删除该组件、并且存储该组件的新版本,来下载该组件;通过将有关该组件的状态信息改为“更新”、并且将有关该组件的当前信息改为有关该组件的新版本的新信息来更新该组件;通过将有关该组件的状态信息改为“完成”来完成该组件的更新;以及通过将有关该事务处理的状态信息改为“结束”来结束该事务处理。
先前信息、当前信息、以及新信息可以进一步包含有关该组件的版本的信息。
该方法还可以包含:将有关安装在设备中的组件的当前版本信息和存储在服务器中的组件版本信息进行比较,以确定要更新的组件。
该方法还可以包含:如果确定有多个组件要更新,则在事务处理的开始和结束之间下载、更新、和完成多个组件中的每一个。
根据本发明的另一个方面,提供了一种更新安装在连接到服务器的设备中的应用程序以及由该应用程序所使用的资源的软件更新方法,该方法包含:从服务器下载应用程序的新版本并且更新该应用程序;以及从服务器下载资源的新版本,重新启动该设备,且然后将有关该资源的当前信息改为有关该资源的新版本的信息。
根据本发明的另一个方面,提供了一种更新安装在连接到服务器的设备中的应用程序以及由该应用程序所使用的资源的软件更新方法,该方法包含:通过将有关事务处理的状态信息记录为“开始”来开始事务处理;通过从服务器下载应用程序的新版本来更新该应用程序;将有关该资源的状态信息改为“下载”,将有关该资源的先前信息改为有关该资源的当前信息,以及从服务器下载资源的新版本;以及将有关该资源的状态信息改为“待决”。
该方法还可以包含:在重新启动该设备的时候,将有关“待决”资源的当前信息改为有关该资源新版本的信息,以及将有关该资源的状态信息改为“完成”;以及通过将有关该事务处理的状态信息改为“结束”来结束该事务处理。
该方法还可以包含:删除该资源的先前版本。
根据本发明的另一个方面,提供了一种更新安装在连接到服务器的设备中的软件组件的软件更新方法,该方法包含:确定软件更新是否在事务处理结束之前停止了;以及如果事务处理停止了,则通过检查有关组件的状态信息来确定停止更新的组件,并且根据有关停止更新的组件的状态信息来执行在停止更新之后的至少一个处理,来恢复该事务处理。
如果有关事务处理的状态信息为“开始”,则确定该软件更新可被停止。
该事务处理的恢复还可以包含:如果没有有关停止更新的组件的状态信息,则将有关该组件的状态信息改为“下载”,将有关该组件的先前信息改为有关该组件的当前信息,从服务器下载该组件的新版本,用已下载组件的新版本覆写该组件,将有关该组件的状态信息改为“更新”,将有关该组件的当前信息改为有关该组件的新版本的新信息,以及将有关该组件的状态信息改为“完成”;如果有关停止更新的组件的状态信息为“下载”,则将有关该组件的先前信息改为有关该组件的当前信息,从服务器下载组件的新版本,用该组件的新版本覆写该组件,将有关该组件的状态信息改为“更新”,将有关该组件的当前信息改为有关该组件的新信息,以及将该状态信息改为“完成”;如果有关停止更新的组件的状态信息为“更新”,则将有关该组件的当前信息改为有关该组件的新信息,并且将有关该组件的状态信息改为“完成”;以及如果有关停止更新的组件的状态信息为“待决”,则将有关该组件的当前信息改为有关该组件的新信息,并且将有关该组件的状态信息改为“完成”。
该方法还可以包含:将有关安装在设备中的组件的当前版本信息和存储在服务器中的组件版本进行比较,并且确定要更新的组件;以及如果除了停止更新的组件之外还有要更新的组件,则将有关该要更新的组件的状态信息改为“下载”,将有关该要更新的组件的先前信息改变当前信息,从服务器下载组件的新版本,用已下载组件的新版本覆写该要更新的组件,将有关该要更新的组件的状态信息改为“更新”,将有关该要更新的组件的当前信息改为新信息,以及将有关该要更新的组件的状态信息改为“完成”。
根据本发明的另一方面,提供了一种用于更新安装在其中的软件组件的软件更新系统,该系统包含:网络连接单元,从服务器下载组件的新版本;非易失性存储器,存储多个软件组件、包含有关每个组件的更新信息的配置信息、以及更新引擎,其中该更新引擎使用配置信息将该组件更新为已下载的组件;随机存取存储器(RAM),暂时存储组件和更新引擎;以及处理器,将组件和更新引擎加载到RAM中并且执行它们。
附图说明
通过参考附图对本发明的示范性实施例进行详细描述,本发明的上述及其它方面将变成更为明显,其中:
图1A、1B、和1C说明了使用相关技术的软件更新方法的存储器内容转换处理;
图2A和2B是说明根据本发明的示范性实施例的软件更新方法的流程图;
图3是说明根据本发明的示范性实施例更新多个软件组件的方法的流程图;
图4A、4B、4C、4D、4E、和4F说明了使用根据本发明示范性实施例的软件更新方法的存储器内容改变处理;
图5是说明根据本发明的示范性实施例更新应用程序和资源的方法的流程图;
图6是说明根据本发明的示范性实施例、当更新应用程序和资源二者时的系统重新启动方法;
图7A、7B、7C、7D、7E、和7F说明根据本发明的示范性实施例、当更新应用程序和资源二者时的存储器内容改变处理;
图8A和8B是说明根据本发明的示范性实施例的软件更新错误恢复机制的流程图;以及
图9是根据本发明示范性实施例的软件更新系统的框图。
具体实施方式
在下文中,将参考附图对本发明的示范性实施例进行详细描述。
图2A是说明根据本发明的示范性实施例的软件更新方法的流程图。参见图2A,在管理有关更新事务处理的状态信息和有关组件的状态信息的同时,从服务器下载组件的新版本(S43),并且用该组件的已下载新版本覆写要更新的组件(S44)以更新软件组件。根据更新事务处理的状态改变有关更新事务处理的状态信息,以及根据组件的状态改变有关组件的状态信息,由此根据组件的状态更新或者不更新该组件。
图2B是说明根据本发明的示范性实施例的软件更新方法的流程图。参见图2B,有关更新事务处理的状态信息和有关软件组件的信息用于更新这些软件组件,并且被存储在组件配置数据库(DB)中。组件配置DB可以包含:指示更新事务处理的开始和结束的、有关更新事务处理的状态信息,组件标识符,有关当前安装的组件的版本以及记录在存储器中的组件的存储器地址的当前信息,有关组件更新的当前状态的组件状态信息,有关在组件被更新之前的版本和地址的先前信息等。有关更新事务处理的状态信息可以是“开始”或者“结束”。有关组件的状态信息可以是“下载”、“更新”、“完成”等。
在更新开始之前,将有关更新事务处理的状态信息设置为“开始”,并且开始该软件更新事务处理(S30)。
将与有关要更新的组件的状态信息相对应的项目改为“下载”(S41),以及将有关组件的先前信息改为有关当前安装的组件的当前信息(S42)。可以通过在组件配置DB上读取当前信息来获得该当前信息。通过网络从服务器下载组件的新版本(S43),从存储器中删除当前安装的组件,以及存储该组件的新下载版本(S44)。用新文件覆写现有文件而没有构造该现有文件的备份文件,由此有效地在具有有限存储器的设备上更新软件。
在存储了已下载的组件之后,将有关该组件的状态信息改为“更新”(S45),并且将有关该组件的当前信息改为有关该组件的新版本的信息(S46)。详细而言,将已下载组件的版本和存储器地址记录在组件配置DB上的当前信息的项目中。在更新了组件之后,将有关该组件的状态信息改为指示更新完成的“完成”(S47),并且将有关更新事务处理的状态信息改为指示更新事务处理成功结束的“结束”(S70)。
当软件更新出人意外地停止时,就出现了软件更新错误。为了恢复该错误,保持有关该更新事务处理的状态信息并且根据处理改变有关组件的状态信息。在当前示范性实施例中,有关更新事务处理的状态信息可以是“开始”或者“结束”。有关组件的状态信息可以是“下载”、“更新”、或者“完成”等。
图3是说明根据本发明的示范性实施例、更新多个软件组件的方法的流程图。参见图3,通过经由与服务器的通信、将有关安装在设备中的组件的当前版本信息与存储在服务器中的组件版本进行比较,来确定要更新的组件(S10)。
如果确定存在要更新的组件,则开始更新事务处理(S30)。根据图2B所述的处理更新组件之一(S41到S47)。如果确定有多个要更新的组件,即如果确定有其它要更新的组件(S60),则重复进行操作S41到S47。如果确定不存在要更新的组件,则结束该更新事务处理(S70)。
图4A、4B、4C、4D、4E、和4F说明了依据根据本发明示范性实施例的软件更新方法的存储器内容的改变。非易失性存储器401最初包括三个软件组件App.1(未示出)、App.2 420、和App.3 430。有关这些软件组件的配置信息被记录在组件配置DB,即配置(Config)DB402中。配置信息可以包括事务处理状态信息PackageCommit440、组件标识符COMP450、当前版本信息VER460、状态信息STATE470、先前版本信息PREVIOUS480等。
参见图4A,作为事务处理状态信息的PackageCommit440被设置为“否”(S30)。这不是事务处理开始了但还没有提交(commit)。作为更新对象的软件组件App.1的状态信息470改为“下载”(S41),将先前版本信息480改为当前版本信息460即1.0(S42),删除软件组件App.1的先前版本,并且下载和存储软件组件App.1的新版本,即NEW App.1 410n(S43和S44)。
参见图4B,将软件组件App.1的状态信息470改为“更新”(S45),并且将当前版本信息460改为新下载的组件的版本1.1(S46)。
参见图4C,将软件组件App.1的状态信息470改为“完成”(S47)以指示成功地完成了软件组件App.1的更新。
参见图4D、4E、和4F,与软件组件App.1类似地更新软件组件App.2 420。参见图4D,将软件组件App.2 420的状态信息470改为“下载”(S41),将先前版本信息480改为当前版本信息460即2.0(S42),删除软件组件App.2的先前版本,并且下载和存储软件组件NEW App.2 420n的新版本(S43和S44)。参见图4E,将软件组件App.2的状态信息470改为“更新”(S51),并且将当前版本信息460改为新下载的组件的版本2.1(S52)。参见图4F,将软件组件App.2的状态信息470改为“完成”(S53)以指示成功地完成了更新,并且将PackageCommit440设置为“是”(S54)。这意指提交(commit)和结束了更新事务处理。
图5是说明根据本发明的示范性实施例更新应用程序和资源的方法的流程图。不同于应用程序,由应用程序使用的资源是只有当必要时在下载到RAM的组件。在当前示范性实施例中,有关事务处理的状态信息是“开始”或者“结束”,而且有关组件的状态信息是“下载”、“更新”、“完成”、“待决”等。
将有关事务处理的状态信息记录为“开始”来开始该事务处理(S30),通过网络从服务器下载应用程序的新版本以便使用图2B所述的方法更新该应用程序(操作41到47)。
将有关资源的状态信息改为“下载”(S51),将有关资源的先前信息改为有关当前存储资源的当前信息(S52),并且从服务器下载资源的新版本并且存储该资源的新版本(S53)。将有关该资源的状态信息改为“待决”(S54)以完成该更新处理而不用删除现有文件并且结束该事务处理。如果像应用程序更新那样删除现有资源,则加载到RAM中并在其中执行的现有应用程序可以使用资源的新版本,这导致在应用程序和资源之间的不兼容。
图6是说明根据本发明的示范性实施例、当更新应用程序和资源二者时的系统重新启动方法。当重新启动,如果有关资源更新的状态信息是“待决”,则系统认识到更新处理完成了但没有在系统重新启动之前结束事务处理(S55)。
在这方面,将有关其状态信息为“待决”的资源(组件)的当前信息改为有关新版本资源的信息(S56),以便在系统重新启动时加载到存储器中并在其中执行的新版本应用程序可以使用新版本的资源。将有关资源的状态信息改为“完成”以指示资源更新结束了(S57),并且将有关事务处理的状态信息改为“结束”以提交该事务处理(S70)。在这时候,可以删除资源的先前版本(S81)。
图7A、7B、7C、7D、7E、和7F说明根据本发明的示范性实施例、当更新应用程序和资源二者时的存储器内容改变处理。
非易失性存储器401最初包括两个软件组件,即应用程序App.1(未示出)和由该应用程序使用的资源Res.1 720。有关这些软件组件的配置信息存储在组件配置DB,即配置(Config)DB402上。配置信息可以包括事务处理状态信息PackageCommit440、组件标识符COMP450、当前版本信息VER460、状态信息STATE470、先前版本信息PREVIOUS480等。
图7A、7B、和7C说明了更新应用程序App.1的处理。参见图7A,作为事务处理状态信息的PackageCommit440被设置为“否”(S30)。这意指事务处理开始。将组件App.1的状态信息470改为“下载”(S41),将先前版本信息480改为当前版本信息460即1.0(S42),删除组件App.1的先前版本,并且下载和存储组件NEW App.1 710n的新版本(S43和S44)。参见图7B,将组件App.1的状态信息470改为“更新”(S45),并且将当前版本信息460改为新下载组件的版本1.1(S46)。参见图7C,将组件App.1的状态信息470改为“完成”(S47)以指示成功地完成了组件App.1的更新。
图7D、7E、和7F说明了更新组件Res.1 720的处理。参见图7D,将该组件Res.1 720的状态信息470改为“下载”(S51),将先前版本信息480改为当前版本信息460即1.0(S42),在保持组件Res.1 720的先前版本的同时,下载并存储新组件New Res.1 720n的新版本(S53)。参见图7E,将组件Res.1的状态信息470改为“待决”(S54)。在系统重新启动之后执行图7F所述的处理。将“待决”组件Res.1的当前版本信息460改为新下载组件New Res.1 720n的版本1.1(S56)。将“待决”组件Res.1的状态信息470改为“完成”以指示成功地完成了组件Res.1的更新(S57)。将PackageCommit440设置为“是”(S70),并且删除资源720的先前版本(S81)。
图8A和8B是说明根据本发明的示范性实施例的软件更新错误恢复机制的流程图。参见图8A和8B,基于事务处理的状态信息确定软件更新是否停止了。如果有关事务处理的状态信息为“开始”,则确定软件更新停止了(S20)。
如果更新事务处理停止了(S21),则检查有关组件的状态信息以确定停止更新的组件,并且根据有关停止更新的组件的状态信息恢复该更新事务处理(S22)。因为根据每个操作更新有关每个组件的状态信息,所以可以通过执行在停止更新的组件的当前状态之后的操作恢复该更新事务处理。
如果没有有关停止更新的组件的状态信息,则其可以是值“空”。因为更新没有开始但是事务处理停止了,所以重新执行组件的更新处理(S41到S47)。
如果有关停止更新的组件的状态信息是“下载”,则确定在删除了组件文件的先前版本或者下载了新组件文件时,组件的更新失败了。因此,执行改变先前版本信息的处理(S42到S47)。
如果有关停止更新的组件的状态信息为“更新”,则因为成功了下载和存储了组件的新版本,所以将有关该组件的先前信息改为有关该组件新版本的信息(S46),并且将有关该组件的状态信息改为“完成”(S47)。
如果有关停止更新的组件的状态信息为“完成”,则因为成功地完成了组件的更新,所以确定是否有未被更新的组件(S60),并且更新该组件。
如果有关停止更新的组件的状态信息为“待决”,则由于在下载了资源之后或者在正常终止该系统之后重新启动该系统时,由于系统崩溃而导致停止组件的更新。将有关该组件的当前信息改为有关新版本资源的信息(S46),并且将有关该资源的状态信息改为“完成”(S47)。
在恢复了停止更新的组件之后,确定是否有未被更新的组件(S60)。在完全更新了所有未被更新的组件之后,将有关事务处理的状态信息改为“结束”以结束该事务处理(S70)。
图9是根据本发明示范性实施例的软件更新系统的框图。参见图9,软件更新系统包含非易失性存储器910、处理器920、RAM930、和网络连接单元,并且通过网络连接单元940连接到服务器950。
非易失性存储器910包含多个软件组件911、包括有关每个组件更新的信息的配置信息912、以及使用配置信息912执行软件更新的更新引擎913。组件配置信息912包括有关更新事务处理的状态信息、组件标识符、以及有关每个组件的先前信息、当前信息和状态信息。软件更新系统还包含暂时存储组件911和更新引擎913的RAM930,和用于从服务器950下载组件新版本的网络连接单元940。
处理器930将软件组件911和更新引擎913加载到RAM930中并且执行它们。更新引擎913是这样的程序,其通过将通过网络连接单元940下载的新版本组件存储到非易失性存储器910中并且改变配置信息912来执行组件更新。
更新引擎913将有关要被更新组件的状态信息改为“下载”,将有关该组件的先前信息改为有关该组件的当前信息,删除该组件以存储该组件的新版本,将有关该组件的状态信息改为“更新”,将有关该组件的当前信息改为有关该组件新版本的信息,该有关该组件的状态信息改为“完成”以执行该组件更新。
当要更新的组件包括应用程序和由该应用程序使用的资源时,更新引擎913首先更新该应用程序,通过网络连接单元940从服务器950下载资源的新版本而没有删除该现在的资源,并且将有关该资源的状态信息改为“待决”。在重新启动系统900时,更新引擎913将有关该“待决”资源的当前信息改为有关该资源新版本的信息,并且将有关该资源的状态信息改为“完成”,由此完成资源的更新。
在启动系统900时,更新引擎913基于非易失性存储器910中的配置信息912确定组件更新是否停止了。如果确定组件更新停止了,则更新引擎913基于有关组件的状态信息检查停止更新的组件,并且根据有关该组件的状态信息执行在组件更新停止之后的处理,由此恢复在组件更新中出现的错误。
本发明还可以体现为计算机可读记录介质上的计算机可读代码。
如上所述,本发明可以在诸如具有有限存储器的便携式终端之类的设备中有效地更新软件和恢复更新错误,并且解决了根据软件更新而导致的在应用程序和资源之间的版本不兼容性。
虽然已经参考其中的示范性实施例特别示出和描述了这发明,但是本领域的技术人员应当理解:可以在其中进行各种形式和细节的改变而没有背离由所付权利要求所定义的本发明的精神和范围。
本申请要求在韩国知识产权局提交的韩国专利申请第10-2005-0088691号、申请日为2005年09月23日的优先权,这里引用其整个公开内容作为参考。
Claims (27)
1、一种更新安装在连接到服务器的设备中的软件组件的方法,该方法包含:
执行从服务器下载软件组件的新版本以及用该软件组件的新版本覆写要更新的软件组件的当前版本的更新事务处理,同时管理有关该更新事务处理的状态信息以及有关软件组件的状态信息。
2、如权利要求1所述的方法,其中所述执行更新事务处理包含:
根据更新事务处理的处理改变有关该更新事务处理的状态信息;
根据要被更新软件组件的处理改变有关该软件组件的状态信息;以及
根据有关该软件组件的状态信息更新该软件组件。
3、如权利要求1所述的方法,其中所述执行更新事务处理包含:
通过将有关该更新事务处理的状态信息记录为“开始”来启动该更新事务处理;
通过将有关该软件组件的状态信息改为“下载”、将有关该软件组件的先前信息改为有关该软件组件的当前信息、从服务器下载该软件组件的新版本、删除该软件组件的当前版本、以及存储该软件组件的新版本来下载该软件组件的新版本;
通过将有关该软件组件的状态信息改为“更新”、并且将有关该软件组件的当前信息改为有关该软件组件新版本的新信息,来更新该软件组件;
通过将有关该软件组件的状态信息改为“完成”来完成该软件组件的更新;以及
通过将有关该更新事务处理的状态信息改为“结束”来结束该事务处理。
4、如权利要求3所述的方法,其中,先前信息、当前信息、以及新信息还包含有关该软件组件版本的信息。
5、如权利要求4所述的方法,其中,先前信息、当前信息、以及新信息还包含该软件组件的存储器地址。
6、如权利要求4所述的方法,还包含:将有关安装在设备中的软件组件的当前版本信息和存储在服务器中的软件组件版本信息进行比较,以确定要更新的软件组件。
7、如权利要求6所述的方法,还包含:如果确定有多个软件组件要被更新,则在更新事务处理的开始和结束之间下载、更新、和完成该多个软件组件中的每一个。
8、一种更新安装在连接到服务器的设备中的应用程序以及由该应用程序使用的资源的方法,该方法包含:
从服务器下载该应用程序的新版本并且更新该应用程序;以及
从服务器下载资源的新版本,重新启动该设备,且然后将有关该资源的当前信息改变为有关该资源的新版本的信息。
9、一种更新安装在连接到服务器的设备中的应用程序以及由该应用程序所使用的资源的方法,该方法包含:
通过将有关事务处理的状态信息记录为“开始”来开始事务处理;
通过从服务器下载应用程序的新版本来更新该应用程序;
将有关该资源的状态信息改为“下载”,将有关该资源的先前信息改为有关该资源的当前信息,以及从服务器下载该资源的新版本;以及
将有关该资源的状态信息改为“待决”。
10、如权利要求9所述的方法,还包含:
在重新启动该设备的时候,将有关“待决”资源的当前信息改为有关该资源的新版本的信息,以及将有关该资源的状态信息改为“完成”;以及
通过将有关该事务处理的状态信息改为“结束”来结束该事务处理。
11、如权利要求10所述的方法,还包含:删除资源的先前版本。
12、如权利要求11所述的方法,其中所述应用程序的更新包含:
将有关该应用程序的状态信息改为“下载”,将有关该应用程序的先前信息改为有关该应用程序的当前信息,从服务器下载该应用程序的新版本,以及用该应用程序的新版本覆写该应用程序的当前版本;
将有关该应用程序的状态信息改为“更新”,以及将有关该应用程序的当前信息改为有关该应用程序新版本的信息;以及
将有关该应用程序的状态信息改为“完成”。
13、如权利要求12所述的方法,其中,先前信息、当前信息、有关资源新版本的信息、以及有关应用程序新版本的信息包含有关相应应用程序的版本信息。
14、如权利要求13所述的方法,其中,先前信息、当前信息、有关资源新版本的信息、以及有关应用程序新版本的信息还包含相应应用程序的存储器地址。
15、一种更新安装在连接到服务器的设备中的软件组件的方法,该方法包含:
确定软件更新是否在事务处理结束之前停止了;以及
如果事务处理停止了,则通过检查有关软件组件的状态信息来确定停止更新的软件组件并且根据有关停止更新的软件组件的状态信息来执行在更新停止之后的至少一个处理来恢复该事务处理。
16、如权利要求15所述的方法,其中,如果有关事务处理的状态信息为“开始”,则确定该软件更新停止了。
17、如权利要求15所述的方法,其中事务处理的恢复还包含:
如果没有有关停止更新的软件组件的状态信息,则将有关该软件组件的状态信息改为“下载”,将有关该软件组件的先前信息改为有关该软件组件的当前信息,从服务器下载该软件组件的新版本,用软件组件的新版本覆写该软件组件的当前版本,将有关该软件组件的状态信息改为“更新”,将有关该软件组件的当前信息改为有关该软件组件新版本的新信息,以及将有关该软件组件的状态信息改为“完成”;
如果有关停止更新的软件组件的状态信息为“下载”,则将有关该软件组件的先前信息改为有关该软件组件的当前信息,从服务器下载该软件组件的新版本,用该软件组件的新版本覆写该软件组件的当前版本,将有关该软件组件的状态信息改为“更新”,将有关该软件组件的当前信息改为有关该软件组件的新信息,以及将该状态信息改为“完成”;
如果有关停止更新的软件组件的状态信息为“更新”,则将有关该软件组件的当前信息改为有关该软件组件的新信息,并且将有关该软件组件的状态信息改为“完成”;以及
如果有关停止更新的软件组件的状态信息为“待决”,则将有关该软件组件的当前信息改为有关该软件组件的新信息,并且将有关该软件组件的状态信息改为“完成”。
18、如权利要求17所述的方法,其中,先前信息、当前信息、以及新信息包含有关该软件组件版本的信息。
19、如权利要求18所述的方法,其中,先前信息、当前信息、以及新信息还包含该软件组件的存储器地址。
20、如权利要求18所述的方法,还包含:
将有关安装在设备中的软件组件的当前版本信息和存储在服务器中的软件组件版本进行比较,以及确定要更新的软件组件;以及
如果除了停止更新的软件组件之外还有要更新的软件组件,则将有关该要更新的软件组件的状态信息改为“下载”,将有关该要更新的软件组件的先前信息改为当前信息,从服务器下载该要更新的软件组件的新版本,用要更新的软件的新版本覆写该要更新的软件组件的当前版本,将有关该要更新的软件组件的状态信息改为“更新”,将有关该要更新的软件组件的当前信息改为新信息,以及将有关该要更新的软件组件的状态信息改为“完成”。
21、如权利要求20所述的方法,还包含:通过将有关该事务处理的状态信息改为“结束”来结束该事务处理。
22、一种其中包含有用于执行软件更新方法的计算机程序的计算机可读介质,其中该软件更新方法更新安装在连接到服务器的设备中的应用程序以及由该应用程序使用的资源,该方法包含:
从服务器下载该应用程序的新版本并且更新该应用程序;以及
从服务器下载资源的新版本,重新启动该设备,且然后将有关该资源的当前信息改变为有关该资源的新版本的信息。
23、一种用于更新安装在设备中的软件组件的软件更新系统,该系统包含:
网络连接单元,用于从服务器下载软件组件的新版本;
非易失性存储器,用于存储多个软件组件、包括有关每个软件组件的更新信息的配置信息、以及更新引擎,其中该更新引擎使用配置信息将该软件组件更新为该软件组件的新版本;
随机存取存储器(RAM),用于暂时存储软件组件和更新引擎;以及
处理器,用于将软件组件和更新引擎加载到RAM中,并且执行该软件组件和更新引擎。
24、如权利要求23所述的系统,其中,所述配置信息包含有关更新事务处理的状态信息、软件组件标识符、软件组件先前信息、软件组件当前信息、和软件组件状态信息。
25、如权利要求24所述的系统,其中,所述更新引擎将有关要被更新的软件组件的状态信息改为“下载”,将有关该要被更新的软件组件的先前信息改为当前信息,用软件组件的新版本覆写该要被更新的软件组件,将有关该要被更新的软件组件的状态信息改为“更新”,将有关该要被更新的软件组件的当前信息改为有关该软件组件的新版本的信息,并且将该要被更新的软件组件的状态信息改为“完成”。
26、如权利要求25所述的系统,其中,如果要更新应用程序和由该应用程序所使用的资源,则更新引擎更新该应用程序,通过网络连接单元从服务器下载资源的新版本而没有删除该资源,并且将有关该资源的状态信息改为“待决”,
在重新启动该设备时,更新引擎将有关该“待决”资源的当前信息改为有关该资源的新版本的信息,并且将有关该资源的状态信息改为“完成”。
27、如权利要求25所述的系统,其中,在启动设备时,所述更新引擎基于配置信息确定软件组件更新是否停止了,如果确定软件组件更新停止了,则基于有关该软件组件的状态信息检查更新停止了的软件组件,并且根据有关更新停止了的软件组件的状态信息来执行在软件组件更新停止之后的至少一个处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR88691/05 | 2005-09-23 | ||
KR1020050088691A KR20070034239A (ko) | 2005-09-23 | 2005-09-23 | 소프트웨어 업데이트 방법 및 시스템과 그 방법을 기록한컴퓨터 판독 가능한 기록매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1936844A true CN1936844A (zh) | 2007-03-28 |
Family
ID=37025228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101595151A Pending CN1936844A (zh) | 2005-09-23 | 2006-09-25 | 用于更新软件的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070074201A1 (zh) |
EP (1) | EP1770512A3 (zh) |
KR (1) | KR20070034239A (zh) |
CN (1) | CN1936844A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009121264A1 (zh) * | 2008-04-03 | 2009-10-08 | 深圳华为通信技术有限公司 | 一种组件安装的处理方法、系统和装置 |
CN101706727A (zh) * | 2009-11-19 | 2010-05-12 | 中兴通讯股份有限公司 | 升级方法及装置 |
CN101807149A (zh) * | 2009-02-18 | 2010-08-18 | 联咏科技股份有限公司 | 可安全复原的固件更新方法及其嵌入式电子装置 |
WO2010148742A1 (zh) * | 2009-06-23 | 2010-12-29 | 中兴通讯股份有限公司 | 软件在线升级的方法、装置及系统 |
CN101377744B (zh) * | 2008-09-24 | 2012-02-15 | 华为终端有限公司 | 一种终端设备软件升级恢复方法及装置 |
CN102456152A (zh) * | 2010-11-01 | 2012-05-16 | 上海华虹Nec电子有限公司 | Rfid系统的电子标签的电源产生电路 |
CN101782855B (zh) * | 2009-01-15 | 2013-03-20 | 华为技术有限公司 | 一种按配置删除软件的方法和设备 |
CN103186401A (zh) * | 2011-12-31 | 2013-07-03 | 北京新媒传信科技有限公司 | 一种软件系统及其配置更新方法 |
CN103294566A (zh) * | 2012-01-06 | 2013-09-11 | 株式会社理光 | 信息处理装置、信息处理方法和信息处理程序 |
CN103777976A (zh) * | 2012-10-25 | 2014-05-07 | 海尔集团公司 | 单片机及其在线升级方法和在线升级装置 |
CN104137065A (zh) * | 2011-11-28 | 2014-11-05 | 韦斯技术有限公司 | 在客户端设备上使用可扩展标记语言(xml)配置文件部署和更新应用和驱动 |
CN104881311A (zh) * | 2015-05-28 | 2015-09-02 | 南京南瑞继保电气有限公司 | 一种版本兼容的判断方法及装置 |
CN107368328A (zh) * | 2016-05-11 | 2017-11-21 | 现代自动车株式会社 | 用于提供软件更新的系统和方法 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080088877A1 (en) * | 2006-10-16 | 2008-04-17 | Michael Cacenco | System and Method for Updating Reference to a Data-Source In a Component-Based Application |
KR20080112914A (ko) * | 2007-06-22 | 2008-12-26 | 삼성전자주식회사 | 이벤트 메시지 수신 방법, 이벤트 메시지 전송 방법,피제어 장치 및 제어 포인트 |
US7857222B2 (en) * | 2007-08-16 | 2010-12-28 | Hand Held Products, Inc. | Data collection system having EIR terminal interface node |
US9323519B2 (en) * | 2007-08-31 | 2016-04-26 | Red Hat, Inc. | Packaging an application |
US8606765B2 (en) | 2007-11-30 | 2013-12-10 | Red Hat, Inc. | Systems and methods for updating software appliances |
US8924920B2 (en) | 2008-02-29 | 2014-12-30 | Red Hat, Inc. | Providing a software appliance based on a role |
US8935687B2 (en) | 2008-02-29 | 2015-01-13 | Red Hat, Inc. | Incrementally updating a software appliance |
US8458658B2 (en) * | 2008-02-29 | 2013-06-04 | Red Hat, Inc. | Methods and systems for dynamically building a software appliance |
US9092243B2 (en) | 2008-05-28 | 2015-07-28 | Red Hat, Inc. | Managing a software appliance |
US10657466B2 (en) | 2008-05-29 | 2020-05-19 | Red Hat, Inc. | Building custom appliances in a cloud-based network |
US8868721B2 (en) * | 2008-05-29 | 2014-10-21 | Red Hat, Inc. | Software appliance management using broadcast data |
US8943496B2 (en) * | 2008-05-30 | 2015-01-27 | Red Hat, Inc. | Providing a hosted appliance and migrating the appliance to an on-premise environment |
US9032367B2 (en) | 2008-05-30 | 2015-05-12 | Red Hat, Inc. | Providing a demo appliance and migrating the demo appliance to a production appliance |
US9210173B2 (en) * | 2008-11-26 | 2015-12-08 | Red Hat, Inc. | Securing appliances for use in a cloud computing environment |
US8504443B2 (en) * | 2009-08-31 | 2013-08-06 | Red Hat, Inc. | Methods and systems for pricing software infrastructure for a cloud computing environment |
US9497092B2 (en) * | 2009-12-08 | 2016-11-15 | Hand Held Products, Inc. | Remote device management interface |
US8533701B2 (en) * | 2010-03-15 | 2013-09-10 | Microsoft Corporation | Virtual machine image update service |
JP5392203B2 (ja) * | 2010-08-19 | 2014-01-22 | 株式会社リコー | 情報処理装置、情報処理システム、インストール支援方法、及びインストール支援プログラム |
CN101969384B (zh) * | 2010-10-11 | 2012-07-25 | 北京星网锐捷网络技术有限公司 | 针对主备主控板切换的兼容性判断方法、装置及网络设备 |
CN102281160A (zh) * | 2011-09-15 | 2011-12-14 | 苏州阔地网络科技有限公司 | 一种功能自动升级的方法、系统及服务器 |
US9286052B1 (en) * | 2011-09-15 | 2016-03-15 | Emc Corporation | Upgrading software on a pair of nodes in a clustered environment |
US8621123B2 (en) | 2011-10-06 | 2013-12-31 | Honeywell International Inc. | Device management using virtual interfaces |
US8539123B2 (en) | 2011-10-06 | 2013-09-17 | Honeywell International, Inc. | Device management using a dedicated management interface |
US20130139139A1 (en) | 2011-11-28 | 2013-05-30 | Wyse Technology Inc. | Automatic updating of an application or a driver on a client device using a deployment configuration file |
US8612516B2 (en) * | 2011-11-28 | 2013-12-17 | Wyse Technology Inc. | Deployment of a driver or an application on a client device having a write-filter |
US9213806B2 (en) * | 2012-11-08 | 2015-12-15 | Bank Of America Corporation | Managing and providing access to applications in an application-store module |
CN103440166A (zh) * | 2013-08-30 | 2013-12-11 | 西安电子科技大学 | 一种从远程组件仓库按需下载的软件现场组装系统 |
US9201933B2 (en) * | 2014-04-01 | 2015-12-01 | BizDox, LLC | Systems and methods for documenting, analyzing, and supporting information technology infrastructure |
KR102261815B1 (ko) * | 2014-10-30 | 2021-06-07 | 삼성전자주식회사 | 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
US9652218B2 (en) * | 2015-06-17 | 2017-05-16 | International Business Machines Corporation | Feature exploitation evaluator |
CN105119944B (zh) * | 2015-09-23 | 2019-01-18 | 北京金山安全软件有限公司 | 一种应用的启动方法和相关装置 |
KR102422226B1 (ko) * | 2017-11-28 | 2022-07-15 | 엘지전자 주식회사 | 공기조화시스템의 중앙제어장치 및 그의 소프트웨어 업데이트 방법 |
KR102116813B1 (ko) | 2018-06-22 | 2020-05-29 | 주식회사 티맥스 소프트 | 분산 환경 시스템에서의 어플리케이션 무중단 배포 시 불필요한 리소스 인식 및 해제 방안 |
KR102116814B1 (ko) | 2018-06-22 | 2020-05-29 | 주식회사 티맥스 소프트 | 어플리케이션 무중단 배포 시 응용 프로그램 버전 정합성을 위한 방법 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 |
CN110955441B (zh) | 2018-09-27 | 2021-11-26 | 华为技术有限公司 | 一种算法的更新方法及装置 |
CN109343881A (zh) * | 2018-10-11 | 2019-02-15 | 珠海格力电器股份有限公司 | 固件升级更新方法、装置和空调 |
CN117270914B (zh) * | 2023-11-17 | 2024-04-16 | 西安第六镜网络科技有限公司 | 一种终端设备的系统升级方法、装置、设备和介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301708B1 (en) * | 1998-11-12 | 2001-10-09 | Hewlett-Packard Company | Software installation process using abstract data and program files |
US6397355B1 (en) * | 1999-03-29 | 2002-05-28 | International Business Machines Corporation | System, method, and program for automatic error detection while utilizing a software state machine for carrying out the process flow of a software program |
US6598225B1 (en) * | 1999-03-29 | 2003-07-22 | International Business Machines Corporation | System, method, and program for utilizing a software state machine carrying out the process flow of a software program |
US6457122B1 (en) * | 1999-06-18 | 2002-09-24 | Phoenix Technologies Ltd. | Fault tolerant process for the delivery of programs to writeable storage device utilizing pre-operating system software/firmware |
-
2005
- 2005-09-23 KR KR1020050088691A patent/KR20070034239A/ko not_active Application Discontinuation
-
2006
- 2006-08-22 US US11/507,471 patent/US20070074201A1/en not_active Abandoned
- 2006-09-06 EP EP06120167A patent/EP1770512A3/en not_active Withdrawn
- 2006-09-25 CN CNA2006101595151A patent/CN1936844A/zh active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252759B (zh) * | 2008-04-03 | 2011-12-21 | 华为终端有限公司 | 一种组件安装的处理方法、系统和装置 |
WO2009121264A1 (zh) * | 2008-04-03 | 2009-10-08 | 深圳华为通信技术有限公司 | 一种组件安装的处理方法、系统和装置 |
CN101377744B (zh) * | 2008-09-24 | 2012-02-15 | 华为终端有限公司 | 一种终端设备软件升级恢复方法及装置 |
CN101782855B (zh) * | 2009-01-15 | 2013-03-20 | 华为技术有限公司 | 一种按配置删除软件的方法和设备 |
CN101807149B (zh) * | 2009-02-18 | 2013-08-21 | 联咏科技股份有限公司 | 可安全复原的固件更新方法及其嵌入式电子装置 |
CN101807149A (zh) * | 2009-02-18 | 2010-08-18 | 联咏科技股份有限公司 | 可安全复原的固件更新方法及其嵌入式电子装置 |
WO2010148742A1 (zh) * | 2009-06-23 | 2010-12-29 | 中兴通讯股份有限公司 | 软件在线升级的方法、装置及系统 |
WO2010148725A1 (zh) * | 2009-11-19 | 2010-12-29 | 中兴通讯股份有限公司 | 升级方法及系统 |
CN101706727A (zh) * | 2009-11-19 | 2010-05-12 | 中兴通讯股份有限公司 | 升级方法及装置 |
CN102456152B (zh) * | 2010-11-01 | 2013-12-18 | 上海华虹Nec电子有限公司 | Rfid系统的电子标签的电源产生电路 |
CN102456152A (zh) * | 2010-11-01 | 2012-05-16 | 上海华虹Nec电子有限公司 | Rfid系统的电子标签的电源产生电路 |
CN104137065A (zh) * | 2011-11-28 | 2014-11-05 | 韦斯技术有限公司 | 在客户端设备上使用可扩展标记语言(xml)配置文件部署和更新应用和驱动 |
CN103186401B (zh) * | 2011-12-31 | 2016-04-20 | 北京新媒传信科技有限公司 | 一种软件系统及其配置更新方法 |
CN103186401A (zh) * | 2011-12-31 | 2013-07-03 | 北京新媒传信科技有限公司 | 一种软件系统及其配置更新方法 |
CN103294566A (zh) * | 2012-01-06 | 2013-09-11 | 株式会社理光 | 信息处理装置、信息处理方法和信息处理程序 |
CN103294566B (zh) * | 2012-01-06 | 2016-03-30 | 株式会社理光 | 信息处理装置、信息处理方法和信息处理程序 |
CN103777976A (zh) * | 2012-10-25 | 2014-05-07 | 海尔集团公司 | 单片机及其在线升级方法和在线升级装置 |
CN103777976B (zh) * | 2012-10-25 | 2018-06-22 | 海尔集团公司 | 单片机及其在线升级方法和在线升级装置 |
CN104881311A (zh) * | 2015-05-28 | 2015-09-02 | 南京南瑞继保电气有限公司 | 一种版本兼容的判断方法及装置 |
CN104881311B (zh) * | 2015-05-28 | 2018-06-08 | 南京南瑞继保电气有限公司 | 一种版本兼容的判断方法及装置 |
CN107368328A (zh) * | 2016-05-11 | 2017-11-21 | 现代自动车株式会社 | 用于提供软件更新的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1770512A2 (en) | 2007-04-04 |
EP1770512A3 (en) | 2009-01-21 |
KR20070034239A (ko) | 2007-03-28 |
US20070074201A1 (en) | 2007-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1936844A (zh) | 用于更新软件的方法和系统 | |
WO2017067448A1 (zh) | 一种无线固件升级方法、系统及计算机存储介质 | |
US7089550B2 (en) | Method and system for performing SW upgrade in a real-time system | |
CN102147747B (zh) | 增强的升级路径的系统和方法 | |
CN103530150A (zh) | 一种Linux操作系统远程更新的方法 | |
CN111656325A (zh) | 在按时间排序的日志结构化键-值存储系统中从故障快速恢复 | |
CN113760234B (zh) | 一种软件开发方法和系统 | |
CN115061713A (zh) | 升级电子设备的方法及装置 | |
CN102520957A (zh) | 一种嵌入式系统的软件分离设计的方法 | |
CN112416394A (zh) | 一种服务升级方法、装置、存储介质及电子设备 | |
CN111338661A (zh) | 应用程序反向升级boot的方法及存储介质 | |
CN115080076A (zh) | 一种云手机软件管理方法 | |
CN113377385A (zh) | 客户端自动部署方法及装置 | |
CN111656331B (zh) | 在系统中的垃圾收集处理期间从故障中恢复的方法和装置 | |
CN113590179A (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN111857744A (zh) | 一种超融合系统的安装方法、系统、设备以及介质 | |
CN106886420B (zh) | 一种程序代码管理装置、方法及程序代码管理器 | |
CN117130987B (zh) | 一种大规模无人机集群的飞控管理方法 | |
KR100545095B1 (ko) | 무선통신단말기 소프트웨어 업그레이드 방법 | |
CN118540220A (zh) | 物联网终端的远程升级方法及系统 | |
CN115658120B (zh) | 微电脑通用的ota升级方法 | |
CN118012475A (zh) | 一种双cpu双系统程序升级方法 | |
CN114296760A (zh) | 系统升级方法、装置、电子设备和可读存储介质 | |
CN115994744A (zh) | 智能决策管理系统、运营任务发布方法、设备和存储介质 | |
CN118708207A (zh) | 一种Kubernetes集群版本自动升级方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |