一种安卓系统中的用户数据镜像加载方法、装置及终端的制作方法_2

文档序号:9471255阅读:来源:国知局
证能够将该userdata.1mg下载到任一终端中。本发明实施例提供的userdata.1mg加载方案,尤其适用于同一型号(即配置相同)但容量不同的终端。
[0037]图1示出了本发明实施例提供的一种安卓系统中的用户数据镜像的加载方法的流程示意图,如图1所示,该流程可以包括:
[0038]步骤11:获取预先生成的分区表、用户数据镜像和非用户数据镜像;非用户数据镜像至少包括系统镜像和根文件镜像。
[0039]步骤12:根据分区表将非用户数据镜像分别加载到终端的指定目录下。
[0040]步骤13:根据终端可用存储空间的总容量和加载非用户数据镜像所占用的存储空间容量,计算终端的剩余容量。
[0041]步骤14:根据剩余容量将分区表中预设的用户数据分区容量修改为与剩余容量相同的大小。
[0042]步骤15:将预先生成的用户数据镜像的大小扩容到与修改后的分区表中的用户数据分区容量相同的大小,并根据修改后的分区表将扩容后的用户数据镜像加载到终端的指定目录下。其中,扩容后的用户数据镜像与预先生成的用户数据镜像中包含有相同的用户数据。
[0043]可选的,在步骤13之后、步骤14之前,判断剩余容量是否大于分区表中所设置的用户数据分区容量;在步骤14中,在剩余容量大于分区表中所设置的用户数据分区容量时,根据剩余容量将分区表中预设的用户数据分区容量修改为与剩余容量相同的大小。
[0044]可选的,在上述步骤中,如果剩余容量等于用户数据分区容量,则直接将预先生成的用户数据镜像加载到终端的指定目录下;如果剩余容量小于用户数据分区容量,则输出操作失败信息。
[0045]可选的,在上述步骤中,进一步判断修改后的分区表中的用户数据分区容量的大小是否大于预先生成的用户数据镜像的大小;在修改后的分区表中的用户数据分区容量的大小大于预先生成的用户数据镜像的大小时,将预先生成的用户数据镜像的大小扩容到与修改后的分区表中的用户数据分区容量相同的大小,并将扩容后的用户数据镜像加载到终端的指定目录下。
[0046]可选的,在上述步骤中,如果修改后的分区表中的用户数据分区容量的大小等于预先生成的用户数据镜像的大小,则直接将预先生成的用户数据镜像加载到终端的指定目录下;如果修改后的分区表中的用户数据分区容量的大小小于预先生成的用户数据镜像的大小,则输出操作失败信息。
[0047]可选的,在上述步骤中,通过如下步骤生成分区表:按照由先到后的顺序,依次将非用户数据镜像对应的各分区、以及用户数据镜像对应的用户数据分区进行排列,将各分区的排列顺序作为各分区对应的镜像的加载顺序;并分别设置各分区的起始扇区地址和结束扇区地址。
[0048]可选的,在上述步骤中,通过如下方式获取分区表中预设的用户数据分区容量:获取分区表中所设置的用户数据分区的起始扇区地址和结束扇区地址;将由起始扇区地址到结束扇区地址中所包含的全部存储空间,作为分区表中预设的用户数据分区容量。
[0049]可选的,在上述步骤13中,获取终端的可用存储空间的起始扇区地址和结束扇区地址;将由起始扇区地址到结束扇区地址中所包含的全部存储空间,作为剩余容量。
[0050]可选的,在上述步骤14中,将分区表中所设置的用户数据分区的结束扇区地址修改为终端的可用存储空间的结束扇区地址。
[0051]可选的,在上述步骤15中,根据修改后的分区表中的用户数据分区容量的大小与用户数据镜像的大小之间的差值、以及终端中的存储块的大小,计算需要被填充到用户数据镜像中的可用存储块的个数m;其中,终端的存储空间由未被数据占用的可用存储块和已被数据占用的已用存储块组成,且各存储块的大小相同;按照预设顺序,将m个可用存储块确定为已被用户数据占用的已用存储块,并将所有的已被用户数据占用的已用存储块的总大小,作为扩容后的用户数据镜像的大小。
[0052]下面以采用安卓系统的智能手机为例对本发明实施例进行详细描述。
[0053]在本发明实施例中,可以本发明实施例提供的方法预先生成用户数据镜像(userdata.1mg)和分区表,还可以按照现有技术提供的方法预先生成根文件镜像(ramdisk.1mg)、系统镜像(system, img)及其他非用户数据镜像。并利用本发明实施例提供的分区表中所设置的加载顺序,依次加载ramdisk.1mg、system.1mg以及userdata.1mg,或者还可以依次加载ramdisk.1mg、其它非用户数据镜像、system, img以及userdata.1mg。
[0054]本发明实施例可以提供一种预先生成userdata.1mg的方法,可以将userdata.1mg所占的容量设置为一个较小的值,然后在手机开机的时候,自动侦测手机的存储空间的容量,由于存储空间的容量会被记录在存储器的固件中,因此本发明实施例可以通过软件的方法获取到手机存储空间的实际容量,针对不同容量的手机,实现userdata.1mg的自动无损扩容。这样,就可以实现对同一型号但不同存储容量的终端,使用同一版本的userdata.1mg,而且经过自动扩容后,userdata.1mg中预置的文件内容,不会丢失;从而简化了开发复杂度、节省了开发及维护资源。
[0055]本发明实施例可以提供一种预先生成分区表的方法,按照由先到后的顺序,依次将非用户数据镜像对应的各分区、以及用户数据镜像对应的用户数据分区进行排列,并将各分区的排列顺序作为各分区对应的镜像的加载顺序;并分别设置各分区的起始扇区地址和结束扇区地址。这样,本发明实施例中的分区表中包含有系统需要的各个分区信息,用于记录各个分区的名称或标识、加载顺序,起始扇区地址和结束扇区地址等,比如系统(system)分区的起始扇区地址和结束扇区地址。
[0056]基于本发明实施例提供的上述分区表和userdata.1mg的生成方法,本发明实施例提供的userdata.1mg加载流程可以主要包含两个方案,一为分区表中userdata分区的调整方案,另一为文件系统中userdata.1mg的无损扩容方案。下面就两个方案进行详细描述:
[0057]为了描述方便,在本发明实施例中可将用户数据分区简称为userdata分区,将用户数据镜像简称为userdata.1mg。需要说明的是,在本发明实施例中,仅以非用户数据镜像为system, img和ramdisk.1mg为例进行举例描述,当然在实际中,非用户数据镜像还可以包括其它镜像,这里不再一一赘述。
[0058]图2示出了本发明实施例提供的分区表中userdata分区的调整方案的流程示意图,如图2上述,该流程可以包括:
[0059]步骤21:在开机过程中,获取终端的剩余容量和分区表中所预设的用户数据分区容量。
[0060]其中,上述剩余容量是指在已加载非用户数据镜像(即根文件镜像和系统镜像)之后,终端当前的可用存储空间容量。
[0061]具体实现时,首先,本发明可以通过如下方式获取分区表中所预设的用户数据分区容量:获取上述分区表中所设置的用户数据分区的起始扇区地址和结束扇区地址;将由上述起始扇区地址到上述结束扇区地址中所包含的全部存储空间,作为上述分区表中所设置的用户数据分区容量。然后,本发明可以通过如下方式获取终端的剩余容量:获取终端的可用存储空间的起始扇区地址和结束扇区地址;将由上述起始扇区地址到上述结束扇区地址中所包含的全部存储空间,作为上述剩余容量。
[0062]步骤22:检测是否需要修改分区表中userdata分区的大小,如果需要,则继续执行步骤23 ;如果不需要,则执行步骤24。
[0063]具体实现时,分区表中设置有每个分区的起始位置(即通过起始扇区地址进行标记)和结束位置(即通过结束扇区地址进行标记),并判断分区表中的userdata分区的结束位置与手机的剩余存储空间的结束位置是否相同,如果相同,则认为不需要修改分区表中userdata分区的大小,并执行步骤24 ;如果分区表中的userdata分区的结束位置小于手机的剩余存储空间的结束位置,则认为需要修改分区表中userdata分区的大小,并执行步骤23。
[0064]需要说明的是,在本发明实施例中,由于在预先生成userdata.1mg时,将userdata.1mg所占的容量设置为一个较小的值(也就是说,将userdata.1mg的大小设置的比较小),以使userdata.1mg能够被下载到任一终端中。因此,在实际中,如果userdata.1mg已经被下载到
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1