终端设备从多系统至单系统的升级方法及装置与流程

文档序号:12271003阅读:212来源:国知局
终端设备从多系统至单系统的升级方法及装置与流程

本发明涉及计算机技术领域,具体而言,本发明涉及一种终端设备从多系统至单系统的升级方法,及一种终端设备从多系统至单系统的升级装置。



背景技术:

随着时代的发展,各种终端设备已成为人们生活中必不可少的工具,各种功能强大的终端操作系统及终端应用程序不断涌现,为用户带来了更加便捷的体验。然而,随着用户的使用需求不断的提高,出现了同一终端设备中根据不同的用户需求提供不同运行环境的解决方案,如设置特定用户在特定的受限运行环境下使用终端设备,或为同一用户在终端设备中的不同使用场景设置不同的运行环境。但是,随着用户的使用需求不断的变化,若用户已不再需要在同一终端设备中运行不同的运行环境时,现有技术,仅能将多系统的终端设备的各系统进行升级,无法将多系统的终端设备升级至单系统,用户仅可通过终端设备产商的指定售后服务机构进行单系统恢复的操作,但是,通过上述实现终端设备中运行单系统的方式,实现过程较为复杂,不但增加了用户的实现成本,且耗费用户的大量时间,从而降低了用户的使用体验。

因此,亟待需要一种将终端设备中的多操作系统升级为单操作系统的解决方案。



技术实现要素:

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明的实施例提出了一种终端设备从多系统至单系统的升级方法,包括:

在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表;

删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区;

提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区。

优选地,多系统中已划分的分区包括以下一种或多种分区:

各系统日志文件分区;各系统配置文件分区;各系统根文件系统分区;各系统boot分区;各系统system分区;各系统用户数据分区;各系统缓存分区。

优选地,提取系统升级包中与单系统的各个分区对应镜像文件数据,包括以下至少一种情形:

提取boot分区对应镜像文件中的系统内核数据和根文件系统数据,并写入单系统中对应的boot分区;

提取system分区对应系统镜像文件数据,并写入单系统中对应的system分区。

优选地,提取系统升级包中与单系统的各个分区对应镜像文件数据,包括:

从系统升级包中提取单系统的各个分区的镜像文件数据的位置标识信息;

根据各个分区的镜像文件数据的位置标识信息,从系统升级包中提取单系统的各个分区的镜像文件数据。

优选地,提取系统升级包中与单系统的各个分区对应镜像文件数据的步骤之后,还包括:

判断已提取的与单系统的各个分区对应镜像文件数据是否需要进行压缩处理;

若判断需要进行压缩处理,将镜像文件数据写入其对应的单系统的分区的步骤,包括:

对已提取的与单系统的各个分区对应镜像文件数据以预定压缩方式进行压缩处理,并对各压缩数据的起始位置和终止位置进行标识;

根据起始位置和终止位置的标识信息,提取各个分区对应镜像文件压缩数据;

将提取到的各个分区对应镜像文件压缩数据以预定压缩方式对应的解压方式进行解压,并将解压后的镜像文件数据写入其对应的单系统的分区。

可选地,该方法还包括:

将已获取的单系统的系统升级包存储至预定的隐藏分区中,预定的隐藏分区在删除多系统中已划分的分区时不被删除。

本发明的另一实施例提出了一种终端设备从多系统至单系统的升级装置,包括:

获取模块,用于在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表;

删除及分区模块,用于删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区;

提取及写入模块,用于提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区。

优选地,多系统中已划分的分区包括以下一种或多种分区:

各系统日志文件分区;各系统配置文件分区;各系统根文件系统分区;各系统boot分区;各系统system分区;各系统用户数据分区;各系统缓存分区。

优选地,提取及写入模块用于

提取boot分区对应镜像文件中的系统内核数据和根文件系统数据,并写入单系统中对应的boot分区;和/或

提取及写入模块用于提取system分区对应系统镜像文件数据,并写入单系统中对应的system分区。

优选地,提取及写入模块,包括:

第一提取单元,用于从系统升级包中提取单系统的各个分区的镜像文件数据的位置标识信息;

第二提取单元,用于根据各个分区的镜像文件数据的位置标识信息,从系统升级包中提取单系统的各个分区的镜像文件数据。

本发明的实施例中,提出了一种终端设备从多系统至单系统的升级方案,在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表,删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区,实现了对终端设备已划分的多系统的分区进行删除,并按照单系统的分区表进行重新分区,解决了现有技术在系统升级过程中无法改变终端设备中系统分区的问题,为实现将多系统的终端设备升级至单系统提供了必要的前提保障;提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区,实现了将多系统的终端设备升级至单系统,解决了现有技术中无法将多系统的终端设备升级至单系统的问题,进一步地,提高了用户的使用体验。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明中一个实施例的终端设备从多系统至单系统的升级方法的流程图;

图2为本发明中一个优选实施例的终端设备从多系统至单系统的升级过程流程图;

图3为本发明中另一实施例的多系统至单系统的升级装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

图1为本发明中一个实施例的终端设备从多系统至单系统的升级方法的流程图。

本发明的实施例中,各步骤所执行的内容概述如下:步骤S110:在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表;步骤S120:删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区;步骤S130:提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区。

本发明的实施例中,提出了一种终端设备从多系统至单系统的升级方法,在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表,删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区,实现了对终端设备已划分的多系统的分区进行删除,并按照单系统的分区表进行重新分区,解决了现有技术在系统升级过程中无法改变终端设备中系统分区的问题,为实现将多系统的终端设备升级至单系统提供了必要的前提保障;提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区,实现了将多系统的终端设备升级至单系统,解决了现有技术中无法将多系统的终端设备升级至单系统的问题,进一步地,提高了用户的使用体验。以下针对各个步骤的具体实现做进一步的说明:

步骤S110:在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表。

例如,在运行多系统的终端设备A中,当用户通过终端设备A的人机交互界面,点击多系统至单系统的升级按钮时,可检测到终端设备A从多系统至单系统的升级指令,随后向终端设备A系统升级服务对应的服务器发送升级请求,并接收服务器下发的单系统的系统升级包,其中,单系统的系统升级包中包括系统的镜像文件,并获取单系统的分区表;其中,单系统的分区表可以通过系统升级服务对应的服务器单独下发的方式来获取,也可以将分区表打包至单系统的系统升级包中与镜像文件一并获取,在此不做限定。

需要说明的是,本领域技术人员可以理解,镜像文件与rar、ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个操作系统、游戏等。镜像文件还可以进一步扩展,在镜像文件中可以包含更多的信息,比如说系统文件、引导文件、分区表信息等,这样镜像文件就可以包含一个分区甚至是一块硬盘的所有信息。本发明的实施例中,镜像文件可包括单系统的系统文件、引导文件和分区表信息等。

步骤S120:删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区。

具体地,删除多系统终端设备中已划分的各分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区。

其中,多系统中已划分的分区包括以下一种或多种分区:

各系统日志文件分区;各系统配置文件分区;各系统根文件系统分区;各系统boot分区;各系统system分区;各系统用户数据分区;各系统缓存分区。

例如,在运行多系统运行环境的终端设备A中,检测到终端设备A从多系统至单系统的升级指令时,获取单系统的系统升级包的镜像文件,并从该系统升级包中获取单系统的分区表,若单系统的系统类型为Android系统时,单系统的分区表中可包括用于存储系统内核的boot分区、用于存储系统文件的system分区、用于存储系统缓存的cache分区、用于存储恢复文件的recovery分区和用于存储用户数据的userdata分区等分区;随后,删除多系统终端设备中已划分的各分区,如各系统配置文件分区、各系统根文件系统分区、各系统boot分区、各系统system分区、各系统用户数据分区、各系统缓存分区等分区,并根据获取到的单Android系统的分区表,终端设备进行重新分区,以划分成单Android系统的多个分区,如boot分区、system分区、cache分区、recovery分区和userdata分区等分区。

需要说明的是,本领域技术人员可以了解到,在多系统的终端设备中,若终端设备中的多系统中包括Android系统时,可通过Android系统提供的fastboot工具,对终端设备进行重新分区,它是Android SDK中提供的一种开发工具,支持通过USB线将手头的镜像文件更新/烧录到Android设备中;fastboot是Google定义的一种传输协议,它工作在Android设备与PC机两端;本发明的实施例中,对终端设备进行删除已有分区,以及对终端设备进行重新分区的方式可以有多种实现方式,在此不做限定。

步骤S130:提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区。

其中,提取系统升级包中与单系统的各个分区对应镜像文件数据,包括以下至少一种情形:

1)提取boot分区对应镜像文件中的系统内核数据和根文件系统数据,并写入单系统中对应的boot分区;

2)提取system分区对应系统镜像文件数据,并写入单系统中对应的system分区。

例如,在运行多系统运行环境的终端设备A中,检测到终端设备A从多系统至单系统的升级指令时,获取到单系统的Android系统升级包的镜像文件,删除多系统终端设备A中已划分的分区,并根据单Android系统的分区表对终端设备A进行重新分区,以及对单系统的Android系统升级包的镜像文件进行相应的解压,并打开终端设备A中重新划分Android系统的各分区,如图2中的步骤1;随后,顺序提取Android系统升级包中与Android系统的各个分区对应镜像文件数据,并将提取的镜像文件数据写入其对应的Android系统的分区。

优选地,在步骤S130中提取系统升级包中与单系统的各个分区对应镜像文件数据的步骤进一步包括步骤S131和步骤S132;步骤S131:从系统升级包中提取单系统的各个分区的镜像文件数据的位置标识信息;步骤S132:根据各个分区的镜像文件数据的位置标识信息,从系统升级包中提取单系统的各个分区的镜像文件数据。

例如,在运行多系统运行环境的终端设备A中,在对终端设备A升级到单系统的过程中,在对单系统的Android系统升级包的镜像文件进行相应的解压,并打开终端设备A中重新划分Android系统的各分区后,从Android系统升级包中顺序提取Android系统的各个分区的镜像文件数据的位置标识信息,如提取Android系统的boot分区的系统内核数据和根文件系统数据的镜像文件数据的起始位置标识信息,如“boot-001”,及终止位置标识信息,如“boot-500”,如图2中的步骤2;随后,根据各个分区的镜像文件数据的位置标识信息,从Android系统升级包镜像文件中提取Android系统的各个分区的镜像文件数据,如根据boot分区的镜像文件数据的位置标识信息,从Android系统升级包的镜像文件中提取起始位置从“boot-001”至终止位置为“boot-500”中的Android系统的boot分区的镜像文件数据。

优选地,在步骤S132提取系统升级包中与单系统的各个分区对应镜像文件数据的步骤之后,还包括步骤S133;步骤S133:判断已提取的与单系统的各个分区对应镜像文件数据是否需要进行压缩处理。

其中,若判断需要进行压缩处理,步骤S130中将镜像文件数据写入其对应的单系统的分区的步骤,进一步包括步骤S134、步骤S135和步骤S136;步骤S134:对已提取的与单系统的各个分区对应镜像文件数据以预定压缩方式进行压缩处理,并对各压缩数据的起始位置和终止位置进行标识;步骤S135:根据起始位置和终止位置的标识信息,提取各个分区对应镜像文件压缩数据;步骤S136:将提取到的各个分区对应镜像文件压缩数据以预定压缩方式对应的解压方式进行解压,并将解压后的镜像文件数据写入其对应的单系统的分区。

例如,接上例,判断已提取的与单Android系统的各个分区对应镜像文件数据是否需要进行压缩处理,如从Android系统升级包的镜像文件中提取boot分区的镜像文件数据之后,判断提取boot分区的镜像文件数据是否需要进行压缩处理;若需要进行压缩处理,则对已提取的与单Android系统的各个分区对应镜像文件数据以预定压缩方式进行压缩处理,并对各压缩数据的起始位置和终止位置进行标识,如对已提取boot分区的镜像文件数据以预定稀疏镜像的压缩方式进行压缩处理,将boot分区的镜像文件中删除字节为重复的0表示的数据,同时,对压缩处理后的boot分区的镜像文件数据的起始位置和终止位置进行标识,如起始位置为“boot-001”,终止位置为“boot-270”,如图2中的步骤3;随后,根据起始位置和终止位置的标识信息,提取各个分区对应镜像文件压缩数据,如根据boot分区的镜像文件数据的起始位置和终止位置的标识信息,提取从Android系统升级包的镜像文件中提取起始位置为“boot-001”至终止位置为“boot-270”的boot分区的镜像文件数据,如图2中的4.1步骤;随后,将提取到的各个分区对应镜像文件压缩数据以预定压缩方式对应的解压方式进行解压,如以预定稀疏镜像的压缩方式对应的解压方式对提取到的各个分区对应镜像文件进行解压处理,并将解压后的镜像文件数据写入其对应的单Android系统的分区,如将提取到的boot分区对应镜像文件压缩数据以预定稀疏镜像的压缩方式对应的解压方式进行解压处理,如图2中的步骤5,并将解压后的镜像文件数据写入其对应的重新划分的单Android系统的boot分区,如图2中的6步骤;若判断提取的分区的镜像文件数据不需要进行压缩处理,则读取该分区的镜像文件数据,如图2中的步骤4.2,随后将读取的该分区的镜像文件数据写入其对应的单Android系统的分区,如图2中的步骤6;当一个分区的镜像文件数据写入其对应的单Android系统的分区后,如图2中所示,顺序进行下一个分区的镜像文件读写操作,再次进入图2中的步骤2,直至所有分区的镜像文件写入其对应的单Android系统的分区,则完成将多系统的终端设备A至单Android系统的升级操作,如图2中的步骤8。

需要说明的是,本领域技术人员可以了解到,在UNIX文件操作中,文件位移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将延长该文件,并在文件中构成一个空洞。位于文件中但没有写过的字节都被设为0。如果offset比文件的当前长度更大,下一个写操作就会把文件“撑大(extend)”在文件里创造“空洞(hole)”。没有被实际写入文件的所有字节由重复的0表示(不停地填充0)。空洞是否占用硬盘空间是由文件系统(file system)决定的。因此,若本发明实施例中的单Android系统的升级包镜像文件中存在字节为重复的0表示的数据时,则需要采用预定的压缩方式对各分区表对应的镜像文件进行压缩处理。

在一优选实施例中,该方法还包括步骤S140;步骤S140:将已获取的单系统的系统升级包存储至预定的隐藏分区中,预定的隐藏分区在删除多系统中已划分的分区时不被删除。

例如,在运行多系统运行环境的终端设备A中,在对终端设备A升级到单Android系统的过程中,将已获取的单Android系统的系统升级包的镜像文件存储至预定的隐藏分区中,预定的隐藏分区在删除多系统中已划分的多系统的分区时不被删除,完成对终端设备A重新划分单Android系统的各个分区后,从预定的隐藏分区中获取单Android系统的系统升级包的镜像文件进行升级操作。

通过本实施例,避免了在删除多系统中已划分的分区时将已获取的单系统的系统升级包删除的情况,使得多系统的终端设备能够升级至单系统,为终端设备从多系统升级至单系统提供了重要的前提保障。

图3为本发明中另一实施例的多系统至单系统的升级装置的结构示意图。

本发明的实施例中,各模块所执行的内容概述如下:获取模块310用于在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表;删除及分区模块320用于删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区;提取及写入模块330用于提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区。

本发明的实施例中,提出了一种终端设备从多系统至单系统的升级装置,在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表,删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区,实现了对终端设备已划分的多系统的分区进行删除,并按照单系统的分区表进行重新分区,解决了现有技术在系统升级过程中无法改变终端设备中系统分区的问题,为实现将多系统的终端设备升级至单系统提供了必要的前提保障;提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区,实现了将多系统的终端设备升级至单系统,解决了现有技术中无法将多系统的终端设备升级至单系统的问题,进一步地,提高了用户的使用体验。以下针对各个模块的具体实现做进一步的说明:

获取模块310用于在多系统运行环境中检测到从多系统至单系统的升级指令时,获取单系统的系统升级包及单系统的分区表。

例如,在运行多系统的终端设备A中,当用户通过终端设备A的人机交互界面,点击多系统至单系统的升级按钮时,获取模块310可检测到终端设备A从多系统至单系统的升级指令,随后向终端设备A系统升级服务对应的服务器发送升级请求,并接收服务器下发的单系统的系统升级包,其中,单系统的系统升级包中包括系统的镜像文件,并获取单系统的分区表;其中,单系统的分区表可以通过系统升级服务对应的服务器单独下发的方式来获取,也可以将分区表打包至单系统的系统升级包中与镜像文件一并获取,在此不做限定。

需要说明的是,本领域技术人员可以理解,镜像文件与rar、ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个操作系统、游戏等。镜像文件还可以进一步扩展,在镜像文件中可以包含更多的信息,比如说系统文件、引导文件、分区表信息等,这样镜像文件就可以包含一个分区甚至是一块硬盘的所有信息。本发明的实施例中,镜像文件可包括单系统的系统文件、引导文件和分区表信息等。

删除及分区模块320用于删除多系统中已划分的分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区。

具体地,删除多系统终端设备中已划分的各分区,并根据单系统的分区表对终端设备进行重新分区,以划分成单系统的多个分区。

其中,多系统中已划分的分区包括以下一种或多种分区:

各系统日志文件分区;各系统配置文件分区;各系统根文件系统分区;各系统boot分区;各系统system分区;各系统用户数据分区;各系统缓存分区。

例如,在运行多系统运行环境的终端设备A中,获取模块310检测到终端设备A从多系统至单系统的升级指令时,获取单系统的系统升级包的镜像文件,并从该系统升级包中获取单系统的分区表,若单系统的系统类型为Android系统时,单系统的分区表中可包括用于存储系统内核的boot分区、用于存储系统文件的system分区、用于存储系统缓存的cache分区、用于存储恢复文件的recovery分区和用于存储用户数据的userdata分区等分区;随后,删除及分区模块320删除多系统终端设备中已划分的各分区,如各系统配置文件分区、各系统根文件系统分区、各系统boot分区、各系统system分区、各系统用户数据分区、各系统缓存分区等分区,并根据获取到的单Android系统的分区表,终端设备进行重新分区,以划分成单Android系统的多个分区,如boot分区、system分区、cache分区、recovery分区和userdata分区等分区。

需要说明的是,本领域技术人员可以了解到,在多系统的终端设备中,若终端设备中的多系统中包括Android系统时,可通过Android系统提供的fastboot工具,对终端设备进行重新分区,它是Android SDK中提供的一种开发工具,支持通过USB线将手头的镜像文件更新/烧录到Android设备中;fastboot是Google定义的一种传输协议,它工作在Android设备与PC机两端;本发明的实施例中,对终端设备进行删除已有分区,以及对终端设备进行重新分区的方式可以有多种实现方式,在此不做限定。

提取及写入模块330用于提取系统升级包中与单系统的各个分区对应镜像文件数据,并将镜像文件数据写入其对应的单系统的分区。

其中,提取及写入模块330用于提取boot分区对应镜像文件中的系统内核数据和根文件系统数据,并写入单系统中对应的boot分区;和/或

提取及写入模块330用于提取system分区对应系统镜像文件数据,并写入单系统中对应的system分区。

例如,在运行多系统运行环境的终端设备A中,获取模块310检测到终端设备A从多系统至单系统的升级指令时,获取到单系统的Android系统升级包的镜像文件,删除及分区模块320删除多系统终端设备A中已划分的分区,并根据单Android系统的分区表对终端设备A进行重新分区,以及对单系统的Android系统升级包的镜像文件进行相应的解压,并打开终端设备A中重新划分Android系统的各分区;随后,提取及写入模块330顺序提取Android系统升级包中与Android系统的各个分区对应镜像文件数据,并将提取的镜像文件数据写入其对应的Android系统的分区。

优选地,提取及写入模块330进一步包括第一提取单元和第二提取单元;第一提取单元用于从系统升级包中提取单系统的各个分区的镜像文件数据的位置标识信息;第二提取单元用于根据各个分区的镜像文件数据的位置标识信息,从系统升级包中提取单系统的各个分区的镜像文件数据。

例如,在运行多系统运行环境的终端设备A中,在对终端设备A升级到单系统的过程中,在对单系统的Android系统升级包的镜像文件进行相应的解压,并打开终端设备A中重新划分Android系统的各分区后,第一提取单元从Android系统升级包中顺序提取Android系统的各个分区的镜像文件数据的位置标识信息,如提取Android系统的boot分区的系统内核数据和根文件系统数据的镜像文件数据的起始位置标识信息,如“boot-001”,及终止位置标识信息,如“boot-500”;随后,第二提取单元根据各个分区的镜像文件数据的位置标识信息,从Android系统升级包镜像文件中提取Android系统的各个分区的镜像文件数据,如根据boot分区的镜像文件数据的位置标识信息,从Android系统升级包的镜像文件中提取起始位置从“boot-001”至终止位置为“boot-500”中的Android系统的boot分区的镜像文件数据。

优选地,提取及写入模块330还包括判断单元;判断单元用于判断已提取的与单系统的各个分区对应镜像文件数据是否需要进行压缩处理。

其中,若判断需要进行压缩处理,提取及写入模块330进一步包括压缩单元、第三提取单元和解压单元;压缩单元用于对已提取的与单系统的各个分区对应镜像文件数据以预定压缩方式进行压缩处理,并对各压缩数据的起始位置和终止位置进行标识;第三提取单元用于根据起始位置和终止位置的标识信息,提取各个分区对应镜像文件压缩数据;解压单元用于将提取到的各个分区对应镜像文件压缩数据以预定压缩方式对应的解压方式进行解压,并将解压后的镜像文件数据写入其对应的单系统的分区。

例如,接上例,判断单元判断已提取的与单Android系统的各个分区对应镜像文件数据是否需要进行压缩处理,如从Android系统升级包的镜像文件中提取boot分区的镜像文件数据之后,判断单元判断提取boot分区的镜像文件数据是否需要进行压缩处理;若需要进行压缩处理,则压缩单元对已提取的与单Android系统的各个分区对应镜像文件数据以预定压缩方式进行压缩处理,并对各压缩数据的起始位置和终止位置进行标识,如对已提取boot分区的镜像文件数据以预定稀疏镜像的压缩方式进行压缩处理,将boot分区的镜像文件中删除字节为重复的0表示的数据,同时,对压缩处理后的boot分区的镜像文件数据的起始位置和终止位置进行标识,如起始位置为“boot-001”,终止位置为“boot-270”;随后,第三提取单元根据起始位置和终止位置的标识信息,提取各个分区对应镜像文件压缩数据,如根据boot分区的镜像文件数据的起始位置和终止位置的标识信息,提取从Android系统升级包的镜像文件中提取起始位置为“boot-001”至终止位置为“boot-270”的boot分区的镜像文件数据;随后,解压单元将提取到的各个分区对应镜像文件压缩数据以预定压缩方式对应的解压方式进行解压,如以预定稀疏镜像的压缩方式对应的解压方式对提取到的各个分区对应镜像文件进行解压处理,并将解压后的镜像文件数据写入其对应的单Android系统的分区,如将提取到的boot分区对应镜像文件压缩数据以预定稀疏镜像的压缩方式对应的解压方式进行解压处理,并将解压后的镜像文件数据写入其对应的重新划分的单Android系统的boot分区;若判断提取的分区的镜像文件数据不需要进行压缩处理,则读取该分区的镜像文件数据,随后将读取的该分区的镜像文件数据写入其对应的单Android系统的分区;当一个分区的镜像文件数据写入其对应的单Android系统的分区后,提取及写入模块330顺序进行下一个分区的镜像文件读写操作,从Android系统升级包中顺序提取Android系统的下一个分区的镜像文件数据的位置标识信息,直至所有分区的镜像文件写入其对应的单Android系统的分区,则完成将多系统的终端设备A至单Android系统的升级操作。

需要说明的是,本领域技术人员可以了解到,在UNIX文件操作中,文件位移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将延长该文件,并在文件中构成一个空洞。位于文件中但没有写过的字节都被设为0。如果offset比文件的当前长度更大,下一个写操作就会把文件“撑大(extend)”在文件里创造“空洞(hole)”。没有被实际写入文件的所有字节由重复的0表示(不停地填充0)。空洞是否占用硬盘空间是由文件系统(file system)决定的。因此,若本发明实施例中的单Android系统的升级包镜像文件中存在字节为重复的0表示的数据时,则需要采用预定的压缩方式对各分区表对应的镜像文件进行压缩处理。

在一优选实施例中,该装置还包括存储模块;存储模块用于将已获取的单系统的系统升级包存储至预定的隐藏分区中,预定的隐藏分区在删除多系统中已划分的分区时不被删除。

例如,在运行多系统运行环境的终端设备A中,在对终端设备A升级到单Android系统的过程中,存储模块将已获取的单Android系统的系统升级包的镜像文件存储至预定的隐藏分区中,预定的隐藏分区在删除多系统中已划分的多系统的分区时不被删除,完成对终端设备A重新划分单Android系统的各个分区后,从预定的隐藏分区中获取单Android系统的系统升级包的镜像文件进行升级操作。

通过本实施例,避免了在删除多系统中已划分的分区时将已获取的单系统的系统升级包删除的情况,使得多系统的终端设备能够升级至单系统,为终端设备从多系统升级至单系统提供了重要的前提保障。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1