CN103365682B - 信息处理设备和信息处理方法 - Google Patents
信息处理设备和信息处理方法 Download PDFInfo
- Publication number
- CN103365682B CN103365682B CN201310101444.XA CN201310101444A CN103365682B CN 103365682 B CN103365682 B CN 103365682B CN 201310101444 A CN201310101444 A CN 201310101444A CN 103365682 B CN103365682 B CN 103365682B
- Authority
- CN
- China
- Prior art keywords
- operating system
- content
- additional
- processing device
- equipment
- 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.)
- Active
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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
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
技术领域
本申请涉及信息处理领域,特别涉及信息处理设备和信息处理方法。
背景技术
一般来说,信息处理设备(或者嵌入式设备),例如移动电话或平板计算机,涉及基于固件的图像的使用。通常,在制造时已经安装了与目的地理区域(用于出售/ 分发)相应的或者与设备的另外的识别方面相应的图像文件。换句话说,为了支持预加载图像,制造商一般倾向于在信息处理设备上装载每个国家一个图像。为了创建和维持大量的唯一图像,这变得很昂贵而且很耗时,并且给整个过程增加了相当大的复杂性。
在如上所述的场景中,常规的布置还可以涉及多个分区的使用,其中一个分区用于每个可能的定制选项。由此,这会占据设备上的大量有用空间。
一般地,还需要注意的是,信息处理设备具有本质上完整的OS 图像。编译和构建的处理生成包括所需部分的图像;但是,事实上,设备的变化(尤其是,如上记录的它们的识别方面)通常保证了要提供更多的本质上唯一的修补程序和更新。换句话说,就信息处理设备需要包括唯一专用于设备的一个或多个识别方面的图像或其他部分来说,为了充分支持这样的唯一变化,一个或多个修补程序或更新可能需要通过改变或修改OS 或其功能的方式。因此,为了允许独立元件更新,传统的解决方案是倾向于涉及二进制修补程序或分区/图像碎片。目前,这可以证实是一个非常复杂且代价高的、给予了尽可能大范围可变性的任务。
发明内容
具体地,一方面提供了一种信息处理设备,包括:内容提供单元,将附加操作系统内容提供至所述信息处理设备;划分单元,划分包括所述基础操作系统的至少一个元素的恢复列表;准备单元,准备所述基础操作系统和所述附加操作系统内容中的至少之一,用于操作系统更新;内容吸收单元,访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作系统更新;以及,执行单元,执行所述操作系统更新。
另一方面提供了一种信息处理方法,包括:将附加操作系统内容提供至信息处理设备;划分包括基础操作系统的至少一个元素的恢复列表;准备所述基础操作系统和所述附加操作系统内容中的至少之一,用于操作系统更新;访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作系统更新;以及执行所述操作系统更新。
还一方面提供了一种程序产品,包括:存储介质,包括存储代码,所述程序代码包括:用于将附加操作系统内容提供至信息处理设备的程序代码;用于划分包括基础操作系统的至少一个元素的恢复列表的程序代码;用于准备所述基础操作系统和所述附加操作系统内容中的至少之一用于操作系统更新的程序代码;用于访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作系统更新的程序代码;以及用于执行所述操作系统更新的程序代码。
前述为概要,由此可以包含细节的简化、概括、以及省略;因此,本领域的技术人员将领会到所述概要只是说明性的,并且不以任何形式受限。
为了更好理解地实施例、其它和进一步的特征及其优点,对以下描述结合附图作为参考。本发明的范围将由附加的权利要求书所指出。
附图说明
图1 示出了信息处理设备系统的示例电路。
图2 示出了信息处理设备系统的另一示例电路。
图3 示意性示出了图像安装布置。
图4 示意性示出了图像安装过程。
图5 示意性示出了具有操作系统和应用模块的设备。
图6 示意性示出了具有应用程序包模块的设备。
图7 示意性示出了系统图像启动以准备适应至少一个更新的处理。
图8 示意性示出了操作系统文件恢复处理。
具体实施方式
容易理解的是,如图中所概要描述和说明的实施例的组成,可以以实施例描述之外的不同配置的广泛变化来安排和设计。因此,以下如图中所代表的实施例的更详细的描述不试图限制实施例的范围,如所声称的仅是示例实施例的代表。
贯穿本说明书的关于“一个实施例”或“实施例”(等等)的引用意为与实施例结合描述的特定特征、结构或特性包括在至少一个实施例中。因此,在贯穿本说明书的不同地方出现的“在一个实施例中”或“在实施例中”等不一定都引用相同的实施例。
此外,所描述的特征、结构或特性在一个或多个实施例中可以以任意合适的方式组合。在以下描述中,提供多个特定细节以给出对实施例的完整理解。然而,相关领域的技术人员可以理解的是,多个实施例可以在没有一个或多个特定细节下实行,或者通过其他方法、组成、材料等实行。在其他情况下,为了防止混淆,未详细示出或描述熟知的结构、材料或者操作。以下描述仅是通过例子的方式,并且仅简单地说明特定的示例实施例。
当可以使用多个其他电路、电路系统或者组件时,图1 描述了Win-Tel 型信息处理设备电路、电路系统或者组件的一个实例的框图。图1 所描述的实例可以对应于如由北卡罗来纳州莫里斯维尔的Lenovo(US)有限公司销售的THINKPAD 系列个人计算机的计算系统或其他设备。从本文的描述中显而易见的是,实施例可以包括其他特征或者包括图1 所示的实例的仅一些特征。
图1 的实例包括具有根据制造商(例如,INTEL、AMD、ARM 等)而不同的架构的所谓的芯片集110(一起工作的集成电路或者芯片的组合、芯片组)。芯片集110 的架构包括核和存储控制组120、以及经由直接管理接口(DMI)142 或者链路控制器144 交换信息(例如,数据、信号、命令等)的I/O 控制器集线器150。在图1 中,DMI142 是芯片间的接口(有时被称为“北桥”和“南桥”之间的链路)。核/存储控制组120包括一个或多个处理器122(例如,单核或多核)、以及经由前端总线(FSB)124 交换信息的存储控制器集线器126 ;需要注意的是,核/存储控制组120 的元件可以集成在代替传统的“北桥”风格架构的芯片上。
在图1 中,存储控制器集成器126 与存储器140(例如,为被称为“系统存储器”或者“存储器”的一种RAM 提供支持)通过接口连接。存储控制器集成器126 还包括用于显示设备192(例如,CRT、平板、投影仪等)的LVDS/LDI132。块138 包括可以经由LVDS/LDI132(例如,串行数字视频、HDMI/DVI、显示端口)支持的一些技术。存储控制器集线器126还包括可以支持离散图像136 的高速PCI(PCI-E)接口134。
在图1 中,I/O 集线器控制器150 包括SATA 接口151(例如,用于HDD、SDD180等)、PCI/PCI-E152(例如,用于无线连接182)、USB 接口153(例如,用于如数字转换器、键盘、鼠标、相机、手机、存储器、其他连接设备等的设备184)、网络接口154(例如,LAN)、GPIO接口155、LPC 接口170(用于ASIC171,TPM172,超级I/O173,固件集线器174,BIOS 支持175,以及如ROM177、闪存178 和NVRAM179 之类的各种类型的存储器176)、电源管理接口161、时钟产生器接口162、音频接口163(例如,用于扬声器194)、TCO 接口164、SM/I2C165、以及包括BIOS168 和启动代码190 的SPI 闪存167。I/O 集线器控制器150 可以包括千兆比特以太网支持。
系统在上电时,可以配置为执行如存储在SPI 闪存167 中的用于BIOS168 的启动代码190,之后,在一个或多个操作系统和应用软件(例如,存储在系统存储器140 中)的控制下处理数据。操作系统可以存储在任意的不同位置并且例如根据BIOS168 的指令而被访问。如本文所述,设备可以包括比图1 所示系统中的设备更少或更多的特征。
参考图2,关于智能手机和/ 或平板电路系统200,实例包括具有软件和一个或多个处理器结合在单一芯片210 中的、基于AMD 的系统设计。内部总线等取决于不同的供应商,但是本质上所有外围设备(220)都可以附接到单个芯片210。与图2 所示的电路系统相比,平板电路系统200 可以将处理器、存储控制器、以及I/O 控制器集线器所有都结合在通常称为“片上系统”(SOC)的单个芯片210 上。并且,基于ARM 的系统200 一般不使用SATA、PCI 或者LPC。普通接口例如包括SDIO 和I2C。存在电源管理芯片230,管理如通过与电源(未显示)连接来充电的可再充电电池240 提供的电源,并且在至少一种设计中,单个芯片,例如210,可以用于提供类似BIOS 的功能和DRAM 存储器。
一般,基于ARM 的系统200 包括一个或多个无线收发器,包括但不限于,用于连接到如远程通信网络之类的各种网络和无线基站的WLAN收发器260 和WWAN收发器250。通常地,基于ARM 的系统200 会包括用于数据输入和显示的触摸屏/控制器270。基于ARM 的系统200 通常还包括各种存储设备,例如闪存280 和SDRAM290。
除关于图1 和2 中描述和说明的设备的类型之外,实施例还提供了一种在单个计算系统中包括主要环境(PE)(例如,如Win-Tel 平台之类的传统计算设备平台)和次要环境(SE)(例如,如ANDROID 平台之类的移动设备平台)的混合计算系统。
以下将具体参考图3-8。为了方便更容易的参考,依次从图3 至图8,关于在图3-8中的至少一个在之前的图中出现的至少一个组件或元件,引用数字以100 的倍数增加以表示本质上相似或类似的组件或元件。
可以清楚地理解的是,图3-8 中概括描述和说明的各种装置及进程,和/ 或这些装置的一个或多个独立组件或元件、和/ 或与这些进程相关的一个或多个进程步骤,可以与从本文中描述和说明的一个或多个其他组件、元件和/ 或进程步骤分别使用或者一起使用。因此,尽管本文中广泛地设想、描述和说明各种装置和进程,但可以理解的是,它们仅仅以说明而非限制性的方式而提供,此外可以当作但仅是一个或多个装置或进程可以运行或操作的可能工作环境的例子。
根据至少一个实施例,本文中广泛设想的方法和装置,在制造阶段为信息处理设备(例如,平板计算机或移动电话)提供数量有限的具有共同内容的图像,因此,在设备的第一次启动时可以下载并安装图像唯一内容。据此,通过将设备内容分解、划分或划定为共同的基础内容(base content)和图像唯一内容(image-unique content),从而会显著地减少在制造阶段提供的图像的数目。在制造期间安装基础内容并且第一次启动处理期间收集并安装第一次启动内容。
根据至少一个实施例,作为说明性和非限制性例子的方式,基础内容通常可以共同跨多个区域和语言,而图像唯一(第一次启动)内容是区域特定的和/ 或语言特定的。(在这里,区域特定内容可以是对一个国家特定的或对一组国家特定的。)
根据至少一个实施例,在如移动手机或平板计算机之类的信息处理设备的情景中,在制造过程中预先安装对于不同地理区域(或者设备的其他识别方面)共同的小子集的图像内容,而在如第一次启动时之类的另一时期下载和安装区域特定(或方面特定)内容。这可以使处理变得相当简化,因为所提供的设备的图像内容的很可能70% 到75% 可以是与其他设备的图像内容共同的(而其他根据它们期望的地理区域或其他识别方面是不同的)。例如,共同内容可以包括基本OS 和在跨共享共同语言的不同的区域或国家可使用的语言特定内容。另一方面,区域特定或方面特定的内容可以包括应用程序(“app”),该应用程序可能在一个国家内允许而在另一国家内不允许,或者与其他国家相比时,该应用程序在一个国家内有不同的形式或功能。
图3 示例性示出了根据至少一个实施例的图像安装布置。如图所示,信息处理设备302 包括对于所讨论的设备302 可配置的图像304。同样地,作为说明性和非限制性例子,图像304 可以包括对于设备302 和至少一个其他信息处理设备(例如,将在不同国家或区域销售/ 分发的移动手机或平板计算机)共同的独立的应用程序或者内容306 的其他项目。另一方面,308 表示具有两个部分(即,共同内容部分308a 和唯一内容部分308b)的内容项目。最后,310 表示代表对于单独的设备302 唯一的内容的内容项目,或者代表对于共同方面的设备302 和其他设备(例如,在共同的地理区域期望销售/ 分发的设备)唯一的内容的内容项目。
根据至少一个实施例,设备302 离开工厂时已经安装了包括内容项目306 和部分项目308a 的预先加载的图像。在第一次启动时,或在另一预定的或用户选择的时间,设备302 与自身包括可以由设备下载唯一内容的项目的目录或其他数据库314 的云服务器312交互。之后进行下载,从而可以安装唯一内容项目310 和部分内容项目308b。作为说明性和非限制性例子,云服务器312 能够代表或者关联于连接到设备302 的制造商的“应用商店”(“app store”),并且发起下载唯一内容项目(或者部分内容项目)的调用可以是在第一次启动时自动触发的或者由用户发起的API(应用编程接口)调用。
图4 示例性示出了根据至少一个实施例的图像安装过程。在制造过程中,设备(416)获取基础或共有内容。在设备(418)的第一次启动时期或第一次启动时,或者设备将自动检测设备所处区域,或者用户将指定该区域(例如,从下拉菜单中指定)(420)。在前一种情况下,设备能经由GPS、网络IP 或发射塔的位置/ 方向确定其位置(以及其所处区域)。不管怎样,之后设备可以将该区域连同其他设备数据、MTM(机器类型;即,设备的类型和/或版本)、用户ID 等发送至预加载的云服务器(422)。如进一步所提及地,之后云服务器查阅用于每个MTM/ 区域组合的内容(424)的目录,并且唯一内容被下载和安装在设备(426)上。能够理解的是,由于唯一内容存储在云服务器上或者经由云服务器存储,因而当需要进行内容更新时,可以容易地更新内容而不会要求改变设备或生产线。
根据至少一个实施例的特定工作例子,云服务器通过“应用商店”(“app store”或“app shop”)体现。根据发送给云服务器的数据,“应用商店”决定用于特定MTM/ 区域组合的额外的预加载模块。例如,平板计算机可以在出厂时安装了基本OS,而在第一次启动期间,设备会检测或用户将选择该平板计算机第一次启动的位置(例如,特定国家,如日本)。还可以理解的是,作为选择,用户可以选择平板计算机启动位置不同的地理位置;例如,他/她可以在美国购买并启动平板计算机,但是选择其他国家(例如,日本)作为目的地或居住地国家,以寻找相关的唯一内容。
根据至少一个实施例,内容无需与所提及的设备的特定用户捆绑。但是,在第一次启动时用户会被要求在“应用商店”上注册,从而可以下载奖励或消费者特定的内容作为进一步的“唯一内容”。
根据至少一个实施例,可以理解的是,一旦用户拥有设备,为了产生完整的图像,在本文中假设存在设备制造和云传送的组合。从而假设一些离散的组件可以替换单个整体图像和相关的OS。因此,并且如图5 所示,信息处理设备502 的“共同”区域(或者OS 核)528可以包括核心、DRM(数字版权管理系统)以及对不同设备共同的任何和所有其他组件(例如,启动代码、分区布局和/ 或如加密和企业管理之类的所有权项目)。可互换的第一核模块528a 和第二核模块528b 分别代表不同本版的核,其中,一个包括DRM 代码而另一个不包括。根据所涉及的设备期望的是哪个版本的核,可以安装核模块528a/528b 中的一个或者另一个,但不是都安装。然而,还可以想到的是,可以安装528a/528b 二者,其中然后可以激活设备520 需要或期望的那一个。
另一方面,根据至少一个实施例,额外模块可以由预加载安装区域(PIA)530 和基于云的传送区域532 组成。根据设备的预定地理区域和/ 或其他识别方面,三个区域528/530/532 中的每个区域可以提供组件用于产生当用户购买设备时他/ 她可能期望的内容。
根据至少一个实施例,共同区域(或OS 核)528 包括很多对不同信息处理设备共同的图像。另一方面,对于用户或者区域来说,PIA 区域530 的组件是唯一的。而且,传送至云传送区域532 的云内容可以在第一次启动时传送,不与制造过程捆绑,并通过允许在服务器上定义云内容来提供了灵活性,因而在第一次启动时用户可以获取预定义的程序包。这些程序包可以是基于设备的期望的地理区域和/ 或另外的识别方面。
根据至少一个实施例,可以理解的是,提供了一种模块化设备,能够对与设备的期望的地理区域和/ 或一个或多个其他识别方面关联的设备调整或定制灵活性。在制造过程中,提供了PIA 区域530 和OS 核502。然而,PIA 区域530 配置为包括用于对设备配置期望的地理区域和/ 或一个或多个其他识别方面的额外修补程序。这些修补程序可以在制造过程中提供在设备502 中(例如,在设备的存储库中,该存储库例如在PIA 区域530 中或由PIA区域530 组成),之后在预定时间(例如,在第一次启动时)激活,或者可以在预定时间(例如,在第一次启动时)(从云服务器)下载。(如果需要,设备502 甚至可以包括两种情形,即,在相同或不同预定时间,分别激活在设备中提供的一个或多个修补程序并且从别处[例如,云服务器] 下载一个或多个修补程序)。虽然OS 修补程序具有很多的形式,但是作为说明性和非限制性例子,它们可以包括将给定的应用与设备绑定和/ 或使(在OS 核中的)这样的应用失效的修补程序。
根据至少一个实施例,就本文中描述OS 修补程序来说,可以理解的是,可下载项
目,如“应用商店”中出现的那些,提供了不同任务,因为这些项目是终端用户项目并且可以被安装、移动和修改。换句话说,OS 修补程序和相关项目超出了终端用户的视野或控制,而如应用之类的可下载项目不是,并且,本文中的实施例分别提出了两种类型的组件到了可以对特定的期望的地理区域和/ 或设备的其他识别方面定制或调整信息处理设备的程度。
图6示例性示出了涉及应用和预定义程序包的实施例。如图所示,在制造过程中
可以加载核OS628 和核共同应用634。换句话说,可以从应用商店或云服务器上下载多个
(这里示出了5 个)国家特定或区域特定的程序包636。每个程序包636 可以包括由至少一些设备共享的“强制”(“mandatory”)应用638,以及对一些(例如,基于期望的地理区域的)设备唯一且不由其他设备共享的其他应用640。(根据当前的示例性例子,例如,“强制”应用可以在例如非常广泛定义的地理区域中对一些设备是共同的,或者甚至对所有设备都是共同的。这些可以基于规定标准与核共同应用634 区分,或者在一些情况下不必与核共同应用634 区分,但仅对于它们被提供给设备602 的方式。作为非限制性例子,可以考虑强制应用638 在预定时间点被大量设备需要,需要意识到的是,他们的必要性不可能是永久的本性,而是它们在将来的一些时间点可以轻易地被取代或者与其他应用重新配置。尽管这可以对核共同应用634 有效,但可以想到的是,在核共同应用634 中包含一些应用,这些应用被认为是本质上更持久的,或者在将来的某个时间点被取代或重新配置的可能性很小。如此,可以提供共同应用的层次,其中,在核共同应用634 中可以包括被认为更持久的应用,而强制应用638 中可以包括被认为持久性较小和更易变的应用)。
根据本发明的至少一个实施例,就本文中讨论的地理区域作为代表用于识别设备
并确定提供给设备的内容的参数而言,可以采用设备的一个或多个其他识别方面来替代或
增加设备的一个或多个其他识别方面,来辅助进行该确定。因而,例如,代替识别设备的地理区域,可以通过与地理区域不相关的设备标识符来识别设备。例如,这样的设备标识符可以是MTM(机器类型或型号),其中,呈现特定型号的设备会触发对设备下载或者提供附加的(和/ 或唯一的)图像或者设备操作系统内容。例如,其他设备标识符可以包括与设备相关的序列号、用户或公司。
根据至少一个实施例,就OS 修补程序可以包括在设备中或者下载到设备从而改
变OS 自身的基本组成和功能而言,在本文中设想的配置用于将原始OS 的任何遗漏或改变的组件至少恢复到足够适应OS 或设备其他区域的更新的程度。由上述可以明显得知,系统图像一般可以分为两部分,其中一部分对于大多数或很多特定分布的信息处理设备来说是共同的,而另一部分代表一层分布特定的文件。在第一次启动时,程序能刚好在文件系统被安装来创建一系列到另一分区(例如,PIA 区域,如图5 中在504 表示的分区)中的区域特定的文件的链接之后运行。该程序能够检查恢复列表的存在,以快速退出而在后续的启动阶段中不减慢设备速度,其中,这样的恢复列表包括与适应OS 更新或OTA 修补程序(参见下文)有关的在后续时间中需要被恢复的文件或其部分。该程序还可以处理文件的列表以从系统图像上删除,并且之后创建并行系统图像和共同系统图像的链接。之后文件不会被移除而是被重命名为备份名称,以阻止这些文件的实际安装或使用。
根据至少一个实施例,当应用了如OTA(over-the-air,空中下载)修补程序之类的更新时,修改过的所有文件将被写入文件的列表中,或者需要修正的恢复列表中。(在本文中,“OTA 修补程序”可以被认为是可以由设备提供的特定类型的更新;本文描述的仅是更新的示例性的而非限制性的例子。)在设备进入恢复模式的启动以应用OTA 修补程序或其他更新时,读入恢复列表并移除链接。并且,恢复任意备份文件,使得当应用OTA 修改程序(或者其他更新)时系统分区以类似于基础分区显示。此时,在重新启动时再次出现重新创建链接的过程,以重新定制设备用于分布。因此可以理解的是,贯穿该过程,特定的文件及其相关的动作对于终端用户是隐蔽的,并且仅使用到需要适应OTA 修补程序(或者其他更新)的程度。
相应地,根据至少一个实施例,图7 示例性示出了系统图像启动以准备适应例如OS 更新(例如,OTA 修补程序)的至少一个更新的处理。首先,检查恢复列表(738)。如果列表存在,则退出处理。否则,检测设备中的PIA(740)(例如,图5 中所示的530),如果未找到,则退出处理,如果PIA 确实存在则处理继续。
如此,根据至少一个实施例,重新安装系统(即,从文件系统断开,然后重新连接
到文件系统)并临时允许系统读写(742)。如果日志文件不能被写入,则处理以错误结束(744)。否则,检查例如(但是非必要)在PIA 中是否存在删除文件列表(746)。(删除文件列表,就其本身而言,在实施例中对于用户可以隐藏,或者对用户可见)。如果这样的文件存在,则打开文件用于读取(748)以及,对于每个列出的文件,如果命名的文件存在,则重新命名该文件(例如,命名为“name_orig”)并且然后省略该文件(例如,存档、备份或删除,和/或【例如】写入恢复列表文件)(750)。然后关闭删除文件列表(752)。根据至少一个实施例,“/system”(“/ 系统”)被推入工作栈(754),并且因为只要工作栈不为空,就可以打开“top entry”(“顶部入口”)并检查PIA 文件的状态(756)以查看其是目录还是文件(758)。(需要注意的是,“/system”可以是可以存储OS 和设备特定的应用[ 例如,在制造期间加入的应用] 的位置,并且该位置通常对于用户是只读的位置。另一方面,“/data”(“/ 数据”)是存储终端用户内容的且通常可由终端用户写入的位置。如果是目录,则检查“/system/name”(“/ 系统/ 名称”)是否存在(760);如果不存在,则创建目录以及将名称写入恢复列表文件(762)。如果不是目录,则在存在“/system/file”(“/ 系统/ 文件”)文件(764)时,重新命名该文件为“/system/file_orig”(766)。之后在“pia/system/file”和“/system/file”之间创建符号链接,并将名称(链接到的PIA 中的文件,或者在步骤766 中已重新命名的文件)写入恢复列表(768)。(需要注意的是,如刚才提及的,写入的名称必须仅代表将允许恢复列表找到变化的一些类型的唯一标识符)。如果工作栈不为空,则返回到步骤756(770),否则,关闭恢复列表文件,并且重新安装系统并恢复到只读(772)。
根据本发明的至少一个实施例,且如图8 示例性所示,在恢复期间进行以下处理。检查恢复列表文件的存在(839)。如果复列表文件不存在,则退出处理。否则,重新安装系统并进行尝试读写(841),判断尝试读写是否成功(843),如果尝试失败则在高速缓冲存储器中创建日志文件(845),并且处理以错误结束。当处理继续时,打开恢复列表文件(847)并将文件的每行推入工作栈(849)。之后关闭恢复列表(851)。
根据本发明的至少一个实施例,只要工作栈不为空,则移除栈顶部和stat 文件。
如果移除的文件是目录(855),则移除目录(857);否则,文件断开链接(859)。继续地,如果文件不是目录,则(通过示例性和非限制性例子的方式)检查具有名称“name_orig”的文件是否存在(861);如果存在,则将其重新命名为“name”(863)。本文中所有可能的是,如果工作栈不为空,则返回到步骤853(865),否则,移除恢复列表,重新安装系统并恢复到只读(867)。
根据本发明的至少一个实施例,本文中讨论了一种信息处理设备,能够理解的是,
其可以代表大范围的适用于大范围设置的设备。因而,作为示例性和非限制性例子,这些设备和/ 或设置可以包括移动电话、平板计算机、其他如便携式笔记本电脑之类的便携式计算机、以及如电视之类的家用电器,它们可以包括或合并了信息处理设备和/ 或其中的方面。
本领域技术人员容易理解的是,各个方面可以体现为系统、方法或计算机(设备)程序产品。因此,这些方面可以采用全部硬件的实施例或者软件的实施例的形式,在本文中一般都被称为“电路”、“模块”或者“系统”。而且,这些方面可以采用包含于一个或多个计算机(设备)可读介质的计算机(设备)程序产品的形式,计算机(设备)可读介质上具有计算机(设备)可读程序代码。
可以应用任何一个或多个非信号计算机(设备)可读介质的组合。非信号介质可以是存储介质。存储介质可以是,例如,电子的、磁性的、光学的、电磁的、红外的或半导体系统、装置或设备、或者任何以上适当组合。更多的存储介质的详细例子将包括以下:便携计算机磁盘、硬盘、随机存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM 或闪存存储器)、光纤、便携光盘只读存储器(CD-ROM)、光学存储设备、磁性存储设备、或者任何以上适当组合。
存储介质上包含的程序代码可以用任何适当介质传输,包括但不限于无线、电缆、光缆、RF 等,或者任何以上适当组合。
用于执行操作的程序代码可以用任何一个或多个编程语言的组合编写。程序代码可以全部执行于一台设备上,作为单机软件包部分执行于单个设备上,部分执行于单个设备上、部分执行于另一台设备上,或者全部执行在其它设备上。在某些情况下,设备可以通过任何类型的网络连接,包括局域网(LAN)或广域网(WAN),或者通过其他设备(如通过互联网提供服务商提供的因特网)或通过如USB 连接的硬线连接来连接。
结合附图描述了示出了根据各个实施例的方法、设备和程序产品例子的方面。可以理解的是,通过程序指令可以至少部分实现所示的行为和功能。这些程序指令可以提供给通用计算机、专用计算机、或者生成机器的其他可编程数据处理设备或信息处理设备的处理器,从而,通过设备的处理器执行这些指令以实现特定的功能/ 行为。
程序指令也可以存储在能指示设备以特定方式运行的设备可读介质中,从而存储在设备可读介质中的指令生成包括实现指定功能/ 行为的指令的产品。
程序指令还可以加载到设备上以使得在该设备上执行一系列操作步骤,从而产生设备实施的处理,使得在设备上执行的指令提供用于实现指定功能/ 行为的处理。
以上揭示是以说明和描述为目的而呈现的,并不试图穷举或作为限制。对于本领域的技术人员而言,多种修改或变化是明显的。示意性的实施例是为了解释原理和实际应用而被选择和描述的,并且使本领域的其他普通技术人员理解用于适于特定预期用途的各种修改的各种实施例的揭示。
因此,尽管本文结合附图描述了示意性的实施例,但需要理解的是,这些描述并不是限制性的,并且本领域技术人员在不脱离以上揭示的范围或精神的情况下,可以想到各种其他的变化和修改。
Claims (17)
1.一种信息处理设备,包括:
内容提供单元,将附加操作系统内容提供至所述信息处理设备;其中,所述附加操作系统内容为与所述信息处理设备的地理区域或设备标识符对应的操作系统内容;所述附加操作系统内容为图像唯一内容,所述图像唯一内容是通过将所述信息处理设备的内容分解、划分或划定后,区别于共同的基础内容的部分;
划分单元,划分包括基础操作系统的至少一个元素的恢复列表;
准备单元,准备所述基础操作系统和所述附加操作系统内容中的至少之一,用于操作系统更新;
内容吸收单元,访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作系统更新;以及
执行单元,执行所述操作系统更新;
其中,所述基础操作系统和附加操作系统内容结合形成整体设备操作系统。
2.根据权利要求1所述的信息处理设备,其中,所述附加操作系统内容包括至少一个操作系统修补程序。
3.根据权利要求1所述的信息处理设备,其中,所述操作系统更新包括空中下载操作系统修补程序。
4.根据权利要求1所述的信息处理设备,其中,所述恢复列表与所述附加操作系统内容一起被划分。
5.根据权利要求1所述的信息处理设备,其中,所述恢复列表在正被划分时确保为只读。
6.根据权利要求1所述的信息处理设备,其中,通过授予临时读/写权限来访问所述恢复列表。
7.根据权利要求1所述的信息处理设备,其中,所述操作系统更新包括将所述附加操作系统内容临时恢复为初始状态。
8.根据权利要求7所述的信息处理设备,其中,所述操作系统更新包括临时移除与所述附加操作系统内容相关的至少一个操作系统组件。
9.根据权利要求1所述的信息处理设备,其中,所述基础操作系统内容对于至少一个其他信息处理设备来说是共同的。
10.一种信息处理方法,包括:
将附加操作系统内容提供至信息处理设备;其中,所述附加操作系统内容为与所述信息处理设备的地理区域或设备标识符对应的操作系统内容; 所述附加操作系统内容为图像唯一内容,所述图像唯一内容是通过将所述信息处理设备的内容分解、划分或划定后,区别于共同的基础内容的部分;
划分包括基础操作系统的至少一个元素的恢复列表;
准备所述基础操作系统和所述附加操作系统内容中的至少之一,用于操作系统更新;
访问所述恢复列表并从所述恢复列表吸收内容以准备所述操作系统更新;以及
执行所述操作系统更新;
所述基础操作系统和附加操作系统内容结合形成整体设备操作系统。
11.根据权利要求10所述的方法,其中,所述附加操作系统内容包括至少一个操作系统修补程序。
12.根据权利要求10所述的方法,其中,所述操作系统更新包括空中下载操作系统修补程序。
13.根据权利要求10所述的方法,其中,所述划分包括所述恢复列表与所述附加操作系统内容一起被划分。
14.根据权利要求10所述的方法,还包括所述恢复列表在正被划分时确保为只读。
15.根据权利要求14所述的方法,其中,所述访问包括授予临时读/写权限。
16.根据权利要求10所述的方法,其中,所述执行所述操作系统更新包括将所述附加操作系统内容临时恢复为初始状态。
17.根据权利要求16所述的方法,其中,所述执行所述操作系统更新临时移除与所述附加操作系统内容相关的至少一个操作系统组件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/435,532 | 2012-03-30 | ||
US13/435532 | 2012-03-30 | ||
US13/435,532 US8935688B2 (en) | 2012-03-30 | 2012-03-30 | Methods for facilitating updates at an information handling device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103365682A CN103365682A (zh) | 2013-10-23 |
CN103365682B true CN103365682B (zh) | 2018-01-02 |
Family
ID=49154616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310101444.XA Active CN103365682B (zh) | 2012-03-30 | 2013-03-27 | 信息处理设备和信息处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8935688B2 (zh) |
CN (1) | CN103365682B (zh) |
DE (1) | DE102012110202A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8505003B2 (en) * | 2010-04-28 | 2013-08-06 | Novell, Inc. | System and method for upgrading kernels in cloud computing environments |
US9182970B2 (en) * | 2012-03-30 | 2015-11-10 | Lenovo (Singapore) Pte. Ltd. | Methods for creating device preload via manufacturing and cloud content |
US9934044B2 (en) * | 2012-03-30 | 2018-04-03 | Lenovo (Singapore) Pte. Ltd. | Methods for customizing an operating system at an information handling device |
US8924952B1 (en) * | 2012-06-27 | 2014-12-30 | Amazon Technologies, Inc. | Updating software utilizing multiple partitions |
US9910660B2 (en) * | 2013-08-05 | 2018-03-06 | Harman International Industries, Incorporated | Operating system replacement for in-vehicle computing system |
US9819570B2 (en) * | 2013-10-09 | 2017-11-14 | International Business Machines Corporation | Dynamic symbolic links for referencing in a file system |
CN105897461A (zh) * | 2016-03-23 | 2016-08-24 | 广州视睿电子科技有限公司 | 多系统ota升级方法和多系统设备 |
US10810084B2 (en) * | 2016-04-01 | 2020-10-20 | Intel Corporation | Update failure rebooting and recovery for a smart device |
US11340879B2 (en) * | 2018-08-08 | 2022-05-24 | Apple Inc. | Techniques for dynamically provisioning electronic subscriber identity modules to mobile devices |
US11321071B2 (en) * | 2020-03-06 | 2022-05-03 | Dell Products L.P. | Intelligent device updating |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6367072B1 (en) * | 1998-03-12 | 2002-04-02 | Applica Systems, Inc. | Apparatus and method for identifying and modifying computer operating system components |
US6728833B2 (en) * | 2002-02-28 | 2004-04-27 | International Business Machines Corporation | Upgrading firmware on disks of the raid storage system without deactivating the server |
US20040107199A1 (en) * | 2002-08-22 | 2004-06-03 | Mdt Inc. | Computer application backup method and system |
CN1235149C (zh) * | 2002-09-18 | 2006-01-04 | 宏碁股份有限公司 | 计算机操作系统的恢复方法及装置及生产该系统的方法 |
US7664984B2 (en) * | 2002-10-09 | 2010-02-16 | Xpoint Technologies, Inc. | Method and system for updating a software image |
US8572597B2 (en) * | 2003-06-20 | 2013-10-29 | Samsung Electronics Co., Ltd. | Apparatus and method for performing an over-the-air software update in a dual processor mobile station |
US20050172280A1 (en) * | 2004-01-29 | 2005-08-04 | Ziegler Jeremy R. | System and method for preintegration of updates to an operating system |
US8464241B2 (en) * | 2008-05-20 | 2013-06-11 | Citrix Systems, Inc. | Methods and systems for patching multiple disk images derived from a common base disk image |
GB2465193A (en) * | 2008-11-10 | 2010-05-12 | Symbian Software Ltd | Detecting updated files in a firmware over the air update using CRC values |
US8402553B2 (en) * | 2009-10-30 | 2013-03-19 | International Business Machines Corporation | Updating an operating system of a computer system |
US8612398B2 (en) * | 2010-03-11 | 2013-12-17 | Microsoft Corporation | Clean store for operating system and software recovery |
US9182970B2 (en) * | 2012-03-30 | 2015-11-10 | Lenovo (Singapore) Pte. Ltd. | Methods for creating device preload via manufacturing and cloud content |
US9934044B2 (en) * | 2012-03-30 | 2018-04-03 | Lenovo (Singapore) Pte. Ltd. | Methods for customizing an operating system at an information handling device |
-
2012
- 2012-03-30 US US13/435,532 patent/US8935688B2/en active Active
- 2012-10-25 DE DE102012110202A patent/DE102012110202A1/de active Pending
-
2013
- 2013-03-27 CN CN201310101444.XA patent/CN103365682B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US8935688B2 (en) | 2015-01-13 |
CN103365682A (zh) | 2013-10-23 |
DE102012110202A1 (de) | 2013-10-02 |
US20130263105A1 (en) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103365682B (zh) | 信息处理设备和信息处理方法 | |
CN103067484B (zh) | 一种自动升级应用程序的方法和系统 | |
US9772838B2 (en) | Firmware update discovery and distribution | |
US9110761B2 (en) | Resource data structures for firmware updates | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN103229144B (zh) | 预热软件安装 | |
CN103402194B (zh) | 一种在软件更新时推荐软件的方法及实现该方法的系统 | |
US20140007069A1 (en) | Firmware Update System | |
US20130332916A1 (en) | System and method for updating application archive files | |
CN101924775B (zh) | 一种Android应用构件的透明加载方法及系统 | |
CN106250143A (zh) | 一种可穿戴设备的ota升级方法以及装置 | |
CN103425468B (zh) | 插件式软件集成方法及装置 | |
US20140156784A1 (en) | Method and system for providing an application to an electronic device for enhancing user security | |
EP3001309A1 (en) | Application migration method, device and system for mobile terminal | |
CN103890723A (zh) | 多个应用版本的分发 | |
CN106371874A (zh) | 一种插件数据加载方法及设备 | |
CN1936840A (zh) | 一种不依赖操作系统更新软件数据的计算机系统及方法 | |
CN107832107A (zh) | 系统部署方法、装置、电子设备及存储介质 | |
US20150067668A1 (en) | Installation engine and package format | |
CN103761107B (zh) | 软件包定制的装置及方法 | |
CN106445580A (zh) | 一种带外升级bmc的方法及装置 | |
US20100083244A1 (en) | Methods, apparatuses, and computer program products for repurposing computing devices | |
CN106648724A (zh) | 应用程序的热修复方法及终端 | |
US9934044B2 (en) | Methods for customizing an operating system at an information handling device | |
US9182970B2 (en) | Methods for creating device preload via manufacturing and cloud content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |