一种版本升级方法及相关装置与流程

文档序号:26938813发布日期:2021-10-12 14:10阅读:74来源:国知局
1.本技术涉及电子
技术领域
:,尤其涉及一种版本升级方法及相关装置。
背景技术
::2.手机的存储空间中包括系统软件空间和用户数据空间,用户数据空间用于存储用户数据,例如视频、音乐、缓存文件等,系统软件空间用于存储手机操作系统的安装数据。此外,用户数据空间首部的元数据存储区用于存储用户数据中的文件编号、位置、创建/修改时间等信息,用户数据空间的用户数据区的所有数据块的块地址都是相对元数据存储区域的起始地址的偏移地址。手机的操作系统在进行版本升级时,相对于手机当前的安装版本,新版本所占存储空间的大小通常会扩大或缩小。手机在首发版本时,通常在系统软件空间内预留一定的空闲空间,用来应对后续版本增大的场景,当新版本扩大的大小超过预留的空间时,即新版本所占存储空间大于当前系统软件空间时,会导致不能升级的问题。3.目前,为解决上述问题,有如下方案。在进行版本升级时,若新版本所占存储空间大于当前系统软件空间,可以缩小用户数据空间,从而释放用户数据空间的部分空间给系统软件空间。然而,上述方案中,缩小用户数据空间需要移动元数据存储区域,即改变元数据存储区域的起始地址,因此,上述方案需要修改用户数据区的所有数据块的块地址,导致了上述方案版本升级十分缓慢。4.综上所述,目前的版本升级技术耗时长。技术实现要素:5.本技术实施例提供了一种版本升级方法及相关装置,能够有效缩减版本升级的时长。6.第一方面,本技术提供了一种版本升级方法,包括:电子设备接收更新信息,更新信息包括操作系统的新版本的系统软件空间的容量;其中,电子设备的存储空间包括系统软件空间和用户数据空间,用户数据空间包括第一用户数据空间和第二用户数据空间,物理空间中第二用户数据空间与系统软件空间相邻,第一用户数据空间包括元数据存储区域和数据区域,元数据存储区域中的元数据用于管理第一用户数据空间和第二用户数据空间中的数据,第二用户数据空间包括第一空间,第一空间的起始地址和第二用户数据空间起始地址相同,第二用户数据空间的第一个数据块为第一用户数据空间的最后一个数据块的下一个数据块;新版本的系统软件空间的容量大于系统软件空间的当前容量,且用户数据空间的数据区域空闲空间大于第一差值时,电子设备将操作系统升级至上述新版本;升级后的系统软件空间包括第一空间,第一差值等于新版本的系统软件空间的容量减去系统软件空间的当前容量,第一空间的容量等于第一差值,升级后第二空间的第一个数据块为第一用户数据空间的最后一个数据块的下一个数据块,第二空间为升级前的第二用户数据空间中除第一空间之外的剩余空间。7.本技术实施例中,用户数据空间包括了第一用户数据空间和第二用户数据空间,第一用户数据空间包括元数据存储区域,用户数据空间中的数据块的块地址为相对元数据存储区域起始地址的偏移地址,且逻辑地址上第二用户数据空间的第一个数据块为第一用户数据空间的最后一个数据块的下一个数据块。电子设备在版本升级过程中,若系统软件空间不足,可以将第二用户数据空间的部分空间划分给系统软件空间。由于在上述版本升级过程中,元数据存储区域起始地址不变,因此,第一用户数据空间中的数据块的块地址也无需改变。实施本技术实施例,能够有效缩减版本升级的时长。8.在一种实现方式中,系统软件空间包括第三空间,第三空间的最后一个数据块为系统软件空间的最后一个数据块,上述电子设备接收更新信息后,还包括:新版本的系统软件空间的容量小于系统软件空间的当前容量时,电子设备将操作系统升级至上述新版本;升级后的第二用户数据空间包括第三空间,第三空间的容量等于系统软件空间的当前容量减去新版本的系统软件空间的容量,升级后第三空间的第一个数据块为第一用户数据空间的最后一个数据块的下一个数据块。9.本技术实施例中,电子设备在版本升级过程中,若系统软件空间有多余的空闲空间,可以将系统软件空间的空闲空间划分给第二用户数据空间。由于在上述版本升级过程中,元数据存储区域起始地址不变,因此,第一用户数据空间中的数据块的块地址也无需改变。实施本技术实施例,能够有效缩减版本升级的时长,提升用户体验。10.在一种实现方式中,第一用户数据空间的数据区域包括第四空间,第四空间不占据物理空间,第四空间的最后一个数据块为第一用户数据空间的最后一个数据块,元数据存储区域包括第一参数,第一参数用于表征第四空间的容量,第四空间的容量小于系统软件空间的当前容量。11.在一种实现方式中,上述电子设备将操作系统升级至新版本前,还包括:电子设备增大第四空间和系统软件空间;增大后的系统软件空间包括第一空间,第四空间增大的容量等于第一空间的容量,第五空间为增大后的第四空间,增大第四空间后第一用户数据空间的最后一个数据块为第五空间的最后一个数据块。12.本技术实施例中,电子设备在版本升级过程中,若系统软件空间不足,可以将第二用户数据空间的第一空间划分给系统软件空间,同时增大第一用户数据空间中的第四空间。第四空间不占据实际物理空间,可以理解为虚拟空间。由于第四空间增大的容量等于第一空间的容量,第二用户数据空间中除第一空间之外的第二空间的数据块相对元数据存储区域的偏移地址不会变化,因此,无需修改第二空间的块地址。可以理解,移动元数据存储区域以及修改用户数据空间的数据块的块地址,会存在丢失全部或部分用户数据的风险。实施本技术实施例,能够进一步缩减版本升级的时长,减少数据丢失的风险,提升了用户体验。13.在一种实现方式中,上述电子设备接收更新信息之后,还包括:电子设备缩小第四空间和系统软件空间;缩小后的系统软件空间不包括第三空间,第四空间缩小的容量等于第三空间的容量,第六空间为缩小后的第四空间,缩小第四空间后第一用户数据空间的最后一个数据块为第六空间最后一个数据块。14.本技术实施例中,电子设备在版本升级过程中,若系统软件空间有多余的空闲空间,可以将系统软件空间的空闲空间划分给第二用户数据空间,同时缩小第一用户数据空间中的第四空间。由于第四空间缩小的容量等于上述空闲空间的容量,原第二用户数据空间中的数据块相对元数据存储区域的偏移地址不会变化,因此,无需修改原第二用户数据空间中的数据块的块地址。实施本技术实施例,能够进一步缩减版本升级的时长,减少数据丢失的风险,提升了用户体验。15.在一种实现方式中,上述电子设备增大第四空间,包括:电子设备修改第一参数为第五空间的容量。16.本技术实施例中,通过修改第一参数可以增大第四空间的容量,第四空间增大的容量等于第一空间的容量,从而保障了第二空间的数据块的块地址不会发生变化。17.在一种实现方式中,上述电子设备缩小第四空间,包括:电子设备修改第一参数为第六空间的容量。18.本技术实施例中,通过修改第一参数可以缩减第四空间的容量,第四空间缩小的容量等于第三空间的容量,从而保障了原第二用户数据空间的数据块的块地址不会发生变化。19.在一种实现方式中,元数据存储区域包括数据项s1至sr,上述s1至sr中的s1至sy用于标识数据区域的数据块的有效性,s1至sr中的sx+1至sy用于标识第四空间的数据块的有效性,s1至sr中的sy+1至sr用于标识第二用户数据空间的数据块的有效性,上述s1至sr中的sy+1至sz用于标识第一空间的数据块的有效性;其中,si等于1表征si标识的数据块为无效块,si等于0表征si表征的数据块为有效块,i为大于零小于等于r的正整数,上述sx+1至sy均等于1,x、y、z和r均为正整数,x大于1,y大于x,z大于y,r大于z。20.在一种实现方式中,上述电子设备增大第四空间后,还包括:电子设备确定上述sy+1至sz均为1,上述sy+1至sz用于表征第四空间的新增数据块的有效性。21.本技术实施例中,电子设备将操作系统升级至新版本之前,数据项sy+1至sz用于标识第一空间的数据块的有效性。电子设备将操作系统升级至新版本前,为保障新的第二用户数据空间中的数据块的块地址不变,电子设备增大第四空间的容量。为保证数据项sy+1至sz与逻辑数据块块的对应关系,电子设备将数据项sy+1至sz均修改为1,用于标识第四空间的新增数据块均为无效数据块。22.在一种实现方式中,第三空间包括a个数据块,上述电子设备缩小第四空间后,还包括:电子设备确定上述sy-a+1至sy均为0,上述sy-a+1至sy用于表征第三空间的数据块的有效性。23.本技术实施例中,电子设备将操作系统升级至新版本之前,数据项sy-a+1至sy用于标识第四空间的数据块均为无效数据块。电子设备将操作系统升级至新版本,并缩小系统软件空间后,为保障原第二用户数据空间中的数据块的块地址不变,电子设备缩小第四空间的容量。为保证数据项sy-a+1至sy与逻辑数据块块的对应关系,电子设备将数据项sy+1至sz均修改为0,用于标识第三空间的数据块均为有效数据块。24.在一种实现方式中,上述更新信息还包括新版本的第二用户数据空间的起始地址和新版本的第二用户数据空间的容量,电子设备的存储空间还包括分区表,分区表中包括第一地址参数、第一容量参数第二容量参数,其中,第一地址参数用于表征第二用户数据空间的起始地址,第一容量参数和第二容量参数分别用于表征系统软件空间和第二用户数据空间的容量。25.在一种实现方式中,上述电子设备将操作系统升级至新版本之前,还包括,电子设备将第一容量参数修改为第一容量,第二容量参数修改为新版本的第二用户数据空间的容量,第一地址参数修改为新版本的第二用户数据空间的起始地址,新版本的第二用户数据空间的起始地址与第二空间的起始地址相同。26.在一种实现方式中,上述电子设备接收更新信息后,还包括:电子设备将第一容量参数修改为第一容量,第二容量参数修改为新版本的第二用户数据空间的容量,第一地址参数修改为新版本的第二用户数据空间的起始地址,新版本的第二用户数据空间的起始地址与第三空间的起始地址相同。27.第二方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器、存储器、触摸屏、一个或多个按键;存储器、触摸屏、上述一个或多个按键与上述一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,上述一个或多个处理器执行计算机指令以执行:28.接收更新信息,更新信息包括操作系统的新版本的系统软件空间的容量;其中,电子设备的存储空间包括系统软件空间和用户数据空间,用户数据空间包括第一用户数据空间和第二用户数据空间,物理空间中第二用户数据空间与系统软件空间相邻,第一用户数据空间包括元数据存储区域和数据区域,元数据存储区域中的元数据用于管理第一用户数据空间和第二用户数据空间中的数据,第二用户数据空间包括第一空间,第一空间的起始地址和第二用户数据空间起始地址相同,第二用户数据空间的第一个数据块为第一用户数据空间的最后一个数据块的下一个数据块;新版本的系统软件空间的容量大于系统软件空间的当前容量,且用户数据空间的数据区域空闲空间大于第一差值时,将操作系统升级至上述新版本;升级后的系统软件空间包括第一空间,第一差值等于新版本的系统软件空间的容量减去系统软件空间的当前容量,第一空间的容量等于第一差值,升级后第二空间的第一个数据块为第一用户数据空间的最后一个数据块的下一个数据块,第二空间为升级前的第二用户数据空间中除第一空间之外的剩余空间。29.在一种实现方式中,系统软件空间包括第三空间,第三空间的最后一个数据块为系统软件空间的最后一个数据块,上述接收更新信息后,处理器还用于:新版本的系统软件空间的容量小于系统软件空间的当前容量时,将操作系统升级至上述新版本;升级后的第二用户数据空间包括第三空间,第三空间的容量等于系统软件空间的当前容量减去新版本的系统软件空间的容量,升级后第三空间的第一个数据块为第一用户数据空间的最后一个数据块的下一个数据块。30.在一种实现方式中,第一用户数据空间的数据区域包括第四空间,第四空间不占据物理空间,第四空间的最后一个数据块为第一用户数据空间的最后一个数据块,元数据存储区域包括第一参数,第一参数用于表征第四空间的容量,第四空间的容量小于系统软件空间的当前容量。31.在一种实现方式中,上述将操作系统升级至新版本前,处理器还用于:增大第四空间和系统软件空间;增大后的系统软件空间包括第一空间,第四空间增大的容量等于第一空间的容量,第五空间为增大后的第四空间,增大第四空间后第一用户数据空间的最后一个数据块为第五空间的最后一个数据块。32.在一种实现方式中,上述接收更新信息之后,处理器还用于:缩小第四空间和系统软件空间;缩小后的系统软件空间不包括第三空间,第四空间缩小的容量等于第三空间的容量,第六空间为缩小后的第四空间,缩小第四空间后第一用户数据空间的最后一个数据块为第六空间最后一个数据块。33.在一种实现方式中,上述增大第四空间,包括:修改第一参数为第五空间的容量。34.在一种实现方式中,上述缩小第四空间,包括:修改第一参数为第六空间的容量。35.在一种实现方式中,元数据存储区域包括数据项s1至sr,上述s1至sr中的s1至sy用于标识数据区域的数据块的有效性,s1至sr中的sx+1至sy用于标识第四空间的数据块的有效性,s1至sr中的sy+1至sr用于标识第二用户数据空间的数据块的有效性,上述s1至sr中的sy+1至sz用于标识第一空间的数据块的有效性;其中,si等于1表征si标识的数据块为无效块,si等于0表征si表征的数据块为有效块,i为大于零小于等于r的正整数,上述sx+1至sy均等于1,x、y、z和r均为正整数,x大于1,y大于x,z大于y,r大于z。36.在一种实现方式中,上述增大第四空间后,处理器还用于:确定上述sy+1至sz均为1,上述sy+1至sz用于表征第四空间的新增数据块的有效性。37.在一种实现方式中,第三空间包括a个数据块,上述缩小第四空间后,处理器还用于:确定上述sy-a+1至sy均为0,上述sy-a+1至sy用于表征第三空间的数据块的有效性。38.在一种实现方式中,上述更新信息还包括新版本的第二用户数据空间的起始地址和新版本的第二用户数据空间的容量,电子设备的存储空间还包括分区表,分区表中包括第一地址参数、第一容量参数第二容量参数,其中,第一地址参数用于表征第二用户数据空间的起始地址,第一容量参数和第二容量参数分别用于表征系统软件空间和第二用户数据空间的容量。39.在一种实现方式中,上述将操作系统升级至新版本之前,处理器还用于:将第一容量参数修改为第一容量,第二容量参数修改为新版本的第二用户数据空间的容量,第一地址参数修改为新版本的第二用户数据空间的起始地址,新版本的第二用户数据空间的起始地址与第二空间的起始地址相同。40.在一种实现方式中,上述接收更新信息后,处理器还用于:将第一容量参数修改为第一容量,第二容量参数修改为新版本的第二用户数据空间的容量,第一地址参数修改为新版本的第二用户数据空间的起始地址,新版本的第二用户数据空间的起始地址与第三空间的起始地址相同。41.第三方面,本技术实施例提供了一种计算机存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行本技术实施例第一方面的任意一种实现方式提供的版本升级方法。42.第四方面,本技术实施例提供了一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行本技术实施例第一方面的任意一种实现方式提供的版本升级方法。43.可以理解地,上述提供的第二方面提供的电子设备、第三方面提供的计算机存储介质,以及第四方面提供的计算机程序产品均用于执行第二方面所提供的版本升级方法,因此,其所能达到的有益效果可参考第一方面所提供的版本升级方法中的有益效果,此处不再赘述。附图说明44.图1为本技术实施例提供的一种电子设备的结构示意图;45.图2为本技术实施例提供的另一种电子设备的结构示意图;46.图3至图5为本技术实施例提供的示例性图形用户界面;47.图6为本技术实施例提供的一种存储空间的结构示意图;48.图7为本技术实施例提供的一种用户数据空间的结构示意图;49.图8为本技术实施例提供的另一种用户数据空间的结构示意图;50.图9为本技术实施例提供的一种版本升级过程中存储空间的结构示意图;51.图10为本技术实施例提供的另一种版本升级过程中存储空间的结构示意图;52.图11为本技术实施例提供的另一种存储空间的结构示意图;53.图12为本技术实施例提供的另一种用户数据空间的结构示意图;54.图13为本技术实施例提供的另一种版本升级过程中存储空间的结构示意图;55.图14为本技术实施例提供的另一种版本升级过程中存储空间的结构示意图;56.图15为本技术实施例提供的一种版本升级方法的流程示意图;57.图16至图17为本技术实施例提供的版本升级的示例性图形用户界面;58.图18为本技术实施例提供的另一种版本升级过程中存储空间的结构示意图;59.图19为本技术实施例提供的版本升级的示例性图形用户界面;60.图20为本技术实施例提供的另一种版本升级过程中存储空间的结构示意图;61.图21为本技术实施例提供的另一种存储空间的结构示意图;62.图22为本技术实施例提供的另一种版本升级方法的流程示意图;63.图23为本技术实施例提供的另一种版本升级过程中存储空间的结构示意图;64.图24为本技术实施例提供的另一种版本升级过程中存储空间的结构示意图。具体实施方式65.下面将结合附图对本技术实施例中的技术方案进行清楚、详尽地描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,“多个”是指两个或多于两个。66.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。67.下面,首先介绍本技术实施例中涉及的电子设备。本技术对提及的电子设备的类型不做具体限定,电子设备100可以为手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、可穿戴设备、膝上型计算机(laptop)等便携式电子设备。便携式电子设备的示例性实施例包括但不限于搭载ios、android、microsoft或者其他操作系统的便携式电子设备。上述便携式电子设备也可以是其他便携式电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本技术其他一些实施例中,电子设备也可以不是便携式电子设备,而是具有触敏表面(例如触控面板)的台式计算机,或者是智能电视机等。68.参见图1,图1示出了本技术实施例提供的示例性电子设备100的结构示意图。69.电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentificationmodule,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。70.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。71.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,存储器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。72.其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。73.npu可以利用进行卷积神经网络(convolutionalneuralnetworks,cnn)处理进行人工智能运算。例如,利用cnn模型做大量的信息识别和信息筛选,可实现情景智能的训练和识别。74.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。75.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integratedcircuit,i2c)接口,集成电路内置音频(inter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,用户标识模块(subscriberidentitymodule,sim)接口,和/或通用串行总线(universalserialbus,usb)接口等。76.i2c接口是一种双向同步串行总线,包括一根串行数据线(serialdataline,sda)和一根串行时钟线(derailclockline,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备100的触摸功能。77.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。78.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。79.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。80.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(cameraserialinterface,csi),显示屏串行接口(displayserialinterface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。81.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。82.usb接口130是符合usb标准规范的接口,具体可以是miniusb接口,microusb接口,usbtypec接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。83.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。84.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。85.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。86.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。87.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。88.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。89.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。90.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocalareanetworks,wlan)(如无线保真(wirelessfidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(globalnavigationsatellitesystem,gnss),调频(frequencymodulation,fm),近距离无线通信技术(nearfieldcommunication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。91.在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(globalsystemformobilecommunications,gsm),通用分组无线服务(generalpacketradioservice,gprs),码分多址接入(codedivisionmultipleaccess,cdma),宽带码分多址(widebandcodedivisionmultipleaccess,wcdma),时分码分多址(time-divisioncodedivisionmultipleaccess,td-scdma),长期演进(longtermevolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(globalpositioningsystem,gps),全球导航卫星系统(globalnavigationsatellitesystem,glonass),北斗卫星导航系统(beidounavigationsatellitesystem,bds),准天顶卫星系统(quasi-zenithsatellitesystem,qzss)和/或星基增强系统(satellitebasedaugmentationsystems,sbas)。92.电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。93.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquidcrystaldisplay,lcd),有机发光二极管(organiclight-emittingdiode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode的,amoled),柔性发光二极管(flexlight-emittingdiode,fled),miniled,microled,micro-oled,量子点发光二极管(quantumdotlightemittingdiodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。94.在本技术的一些实施例中,显示屏194中显示有系统当前输出的界面内容。例如,界面内容为即时通讯应用提供的界面。95.电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。96.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。97.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(chargecoupleddevice,ccd)或互补金属氧化物半导体(complementarymetal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。98.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。99.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpictureexpertsgroup,mpeg)1,mpeg2,mpeg3,mpeg4等。100.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。101.外部存储器接口120可以用于连接外部存储卡,例如microsd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。102.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,ufs)等。103.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。104.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。105.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170a收听音乐,或收听免提通话。106.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。107.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备100可以设置至少一个麦克风170c。在另一些实施例中,电子设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。108.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(openmobileterminalplatform,omtp)标准接口,美国蜂窝电信工业协会(cellulartelecommunicationsindustryassociationoftheusa,ctia)标准接口。109.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。在本技术一些可选的实施例中,压力传感器180a可用于捕获用户手指部位接触显示屏时生成的压力值,并将该压力值传输给处理器,以使得处理器识别用户通过哪个手指部位输入用户操作。110.压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测所述触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。在本技术一些可选的实施例中,压力传感器180a可将检测到的电容值传输给处理器,以使得处理器识别用户通过哪个手指部位(指关节或指肚等)输入用户操作。在本技术一些可选的实施例中,压力传感器180a还可根据检测到的信号计算触摸点的数量,并将计算值传输给处理器,以使得处理器识别用户通过单指或多指输入用户操作。111.陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。112.气压传感器180c用于测量气压。在一些实施例中,电子设备100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。113.磁传感器180d包括霍尔传感器。电子设备100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。114.加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。在本技术一些可选的实施例中,加速度传感器180e可用于捕获用户手指部位接触显示屏时生成的加速度值,并将该加速度值传输给处理器,以使得处理器识别用户通过哪个手指部位输入用户操作。115.距离传感器180f,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180f测距以实现快速对焦。116.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180g检测用户手持电子设备100贴近耳朵通话,以便自动熄灭显示屏达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。117.环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。118.指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。119.温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。120.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作,该触摸触控操作是指用户手部、手肘、触控笔等接触显示屏194的操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。121.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。122.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。123.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。124.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。125.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nanosim卡,microsim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。电子设备100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备100中,不能和电子设备100分离。126.电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明电子设备100的软件结构。127.图2是本技术实施例的电子设备100的软件结构框图。128.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(androidruntime)和系统库,以及内核层。129.应用程序层可以包括一系列应用程序包。130.如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。131.本技术中,应用程序层还可新增浮窗启动组件(floatinglauncher),用于在上述提及的悬浮窗口中作为默认的显示应用,并提供给用户进入其他应用的入口。132.应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。133.如图2所示,应用程序框架层可以包括窗口管理器(windowmanager),内容提供器,视图系统,电话管理器,资源管理器,通知管理器、活动管理器(activitymanager)等。134.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定显示屏,截取显示屏等。本技术中,可基于android原生的phonewindow,扩展出floatingwindow,专门用于显示上述提及的悬浮窗口,以区别于普通的窗口,该窗口具有悬浮显示在系列窗口最顶层的属性。在一些可选的实施例中,该窗口大小可根据实际屏幕的大小,根据最优显示算法,给出合适的值。在一些可能的实施例中,该窗口的宽高比,可默认为常规主流手机的屏幕宽高比。同时,为方便用户关闭退出、隐藏悬浮窗口,可在右上角额外绘制一个关闭按键和一个最小化按键。135.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。136.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。本技术中,可相应增加悬浮窗口上用于关闭、最小化等操作的按键视图,并绑定到上述窗口管理器中的floatingwindow上。137.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。138.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。139.通知管理器使应用程序可以在状态栏207中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在显示屏上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。140.活动管理器用于管理系统里正在运行的activities,包括进程(process)、应用程序、服务(service)、任务(task)信息等。本技术中,可在活动管理器模块中,新增专门用于管理上述悬浮窗口中显示应用activity的活动任务堆栈,以保证悬浮窗口中的应用activity、task不会和屏幕中全屏显示的应用产生冲突。141.本技术中,应用程序框架层还可新增运动探测组件(motiondetector),用于获取到的输入事件进行逻辑判断,识别输入事件的类型。例如,通过输入事件中包括的触摸坐标,触摸操作的时间戳等信息,判断该输入事件为指关节触摸事件或指肚触摸事件等。同时,运动探测组件还可记录输入事件的轨迹,并判定输入事件的手势规律,根据不同的手势,响应不同的操作。142.androidruntime包括核心库和虚拟机。androidruntime负责安卓系统的调度和管理。143.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。144.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。145.系统库可以包括多个功能模块。例如:输入管理器(inputmanager)、输入调度管理器(inputdispatcher)、表面管理器(surfacemanager),媒体库(medialibraries),三维图形处理库(例如:opengles),2d图形引擎(例如:sgl)等。146.输入管理器负责从底层的输入驱动获取事件数据,解析并封装后传给输入调度管理器。147.输入调度管理器用于保管窗口信息,其收到来自输入管理器的输入事件后,会在其保管的窗口中寻找合适的窗口,并将事件派发给此窗口。148.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。149.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。150.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。151.2d图形引擎是2d绘图的绘图引擎。152.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。153.下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。154.当触摸传感器180k接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。155.下面介绍本技术实施例提供的一些操作系统的版本升级的示例性图形用户界面。156.图3示例性示出了电子设备100上的用于展示电子设备100安装的应用程序的示例性用户界面10。157.用户界面10可包括:状态栏201,日历指示符202,天气指示符203,具有常用应用程序图标的托盘204,导航栏205,以及其他应用程序图标。其中:158.状态栏201可包括:移动通信信号(又可称为蜂窝信号)的一个或多个信号强度指示符201a、运营商名称(例如“中国移动”)201b、无线高保真(wirelessfidelity,wi-fi)信号的一个或多个信号强度指示符201c,电池状态指示符201d、时间指示符201e。159.日历指示符202可用于指示当前时间,例如日期、星期几、时分信息等。160.天气指示符203可用于指示天气类型,例如多云转晴、小雨等,还可以用于指示气温等信息。161.具有常用应用程序图标的托盘204可展示:电话图标204a、联系人图标204b、短信图标204c、相机图标204d。162.导航栏205可包括:返回键205a、主屏幕键205b、多任务键205c等系统导航键。当检测到用户点击返回键205a时,电子设备100可显示当前页面的上一个页面。当检测到用户点击主屏幕键205b时,电子设备100可显示主界面。当检测到用户点击多任务键205c时,电子设备100可显示用户最近打开的任务。各导航键的命名还可以为其他,本技术对此不做限制。不限于虚拟按键,导航栏205中的各导航键也可以实现为物理按键。163.其他应用程序图标可例如:互传的图标206、图库的图标207、音乐的图标208、应用的图标209、邮箱的图标210、云共享的图标211、备忘录的图标212、设置的图标213。用户界面10还可包括页面指示符214。其他应用程序图标可分布在多个页面,页面指示符216可用于指示用户当前浏览的是哪一个页面中的应用程序。用户可以左右滑动其他应用程序图标的区域,来浏览其他页面中的应用程序图标。164.在一些实施例中,图3示例性所示的用户界面10可以为主界面(homescreen)。可以理解的是,图3仅仅示例性示出了电子设备100上的用户界面,不应构成对本技术实施例的限定。165.示例性的,如图4所示,用户可点击用户界面10上设置的图标,电子设备100检测到上述用户操作,响应于上述用户操作,电子设备100显示设置的用户界面11。166.用户界面11可包括:状态栏301,导航栏302,应用程序标题栏303,搜索框304,“登录华为账号”条目305,“无线和网络”条目306,“设备连接”条目307,“应用和通知”条目308,“电池”条目309,“显示”条目310,“声音”条目311,“存储”条目312,“安全和隐私”条目313,“用户和账户”条目314,“系统更新”条目315。其中:167.应用程序标题栏303可用于指示当前页面用于展示电子设备100的设置界面。应用程序标题栏303的表现形式可以为文本信息“设置”、图标或其他形式。168.搜索框304可用于根据用户输入的字符,搜索与该字符匹配的设置项。[0169]“登录华为账号”条目305可接收用户操作(例如触摸操作),响应于检测到的该用户操作,电子设备100可以显示登录华为账号的用户界面。[0170]“无线和网络”条目306、“设备连接”条目307、“应用和通知”条目308、“电池”条目309、“显示”条目310、“声音”条目311、“情景智能”条目312、“安全和隐私”条目313以及“用户和账户”条目314中的任意一个条目均可接收用户操作(例如触摸操作),响应于检测到的该用户操作,电子设备100可以显示该条目的设置界面,该条目的设置界面可以包括一或多个设置项。[0171]“系统更新”条目315可接收用户操作(例如触摸操作),响应于检测到的该用户操作,电子设备100可以显示系统更新的设置界面。[0172]示例性的,如图5所示,用户可点击“系统更新”条目315,响应于检测到的上述用户操作,电子设备100显示设置的用户界面12。[0173]用户界面12可包括:状态栏401,应用程序标题栏402,检查更新控件403,“新版本”条目405,“当前版本”条目405。其中:[0174]检查更新控件403可接收用户操作(例如触摸操作),响应于检测到的该用户操作,若当前操作系统的版本不是新版本,电子设备100可以更新当前版本至新版本。[0175]“新版本”条目404可接收用户操作(例如触摸操作),响应于检测到的该用户操作,电子设备100可以显示新版本的详细信息,例如,版本号、该版本优化了那些功能等。[0176]“当前版本”条目405可接收用户操作(例如触摸操作),响应于检测到的该用户操作,电子设备100可以显示当前版本的详细信息。[0177]通常操作系统经过一段时间的使用后,会逐步显现出自身的一些漏洞和缺陷。这些漏洞和缺陷无法满足日益发展的用户需求,因此需要定期或者不定期对软件本身的漏洞和缺陷进行修复和更正。这样就产生了操作系统的新版本,以满足新需求。操作系统的版本升级(versiongoup)是指对操作系统的漏洞进行完善,或者为操作系统添加新的应用功能,使操作系统更加完善好用。[0178]值得注意的是,版本升级的成功离不开硬件的支持,例如,硬件要有足够的存储空间能够容纳新版本的操作系统。[0179]下面介绍电子设备的存储空间布局。电子设备的存储空间中主要包括系统软件空间和用户数据空间。[0180]如图6所示,本技术实施例中,在系统软件空间之前还包括分区表。其中,分区表用于存储存储空间的一些分区参数,包括系统软件空间和用户数据空间的起始地址,以及系统软件空间和用户数据空间的大小。系统软件空间用于存储电子设备安装的操作系统的相关数据。用户数据空间用于存储用户的数据,例如,应用、视频、缓存等文件。例如,系统软件空间和用户数据空间的大小分别为6gb和128gb。[0181]可以理解,电子设备的存储空间可以分为多个区,分区表用于记录上述多个区中的每个区的起始位置和每个区的空间大小。[0182]本技术实施例中,用户数据空间采用新型开源闪存文件系统(flashfriendlyfilesystem,f2fs)。如图7所示,是本技术实施例提供的一种f2fs的结构示意图。f2fs将整个卷切分成大量的段(segments),每个段包括512个连续的块(blocks),每个blocks的大小固定为4kb,每个segments的大小是固定为2mb。每个segment包含一个段摘要块(segmentsummaryblock)元数据结构,描述了segment中的每个block的所有者,即该块所属文件及该块在所属文件内的偏移。一个段摘要块就可以完全存储512个blocks的摘要信息。[0183]用户数据空间主要包括元数据存储区域和数据区域。其中,数据区域用于存储文件和目录结构以及它们的索引数据。元数据存储区域用于存储对数据区域的数据进行管理的信息数据,比如文件唯一编号、位置、创建/修改时间等。这些数据可以被称为元数据(metadata)。元数据存储区域包含如下五部分:超级块(superblock,sb),检查点(checkpoint,cp),段信息表(segmentinformationtable,sit),节点地址表(nodeaddresstable,nat),分段汇总区(segmentsummaryarea,ssa)。[0184]sb描述了文件系统、block和segment有多大、rootnumber(即根目录文件的节点编号(nodenumber),固定值为3),以及给sb、cp、sit、nat、ssa分配了多少空间等信息。[0185]cp包含可写信息,用于存储空闲空间总量、已存储的用户数据总量、下一个将要写入数据的segment的地址以及其他可更改信息等。[0186]sit主要用于跟踪数据区域的数据块是否效(包括每个segment中的有效块个数以及数据块有效性)。每4k大小的sitblcok表示55个2m的segment区域有效情况。若根据sit中的信息,确定一个segment中无有效数据时,就可以回收该segment,或者当该segment中有效数据很少的时候进行清理(cleaning)。[0187]可以理解,若一个数据块已经存储了有效用户数据,或者该数据块为损坏的数据块,则该数据块为无效块,不能被写入新数据;若一个数据块没有存储用户数据且没有被损坏,则该数据块为有效块,可以被写入新数据。[0188]示例性的,如图8所示,若数据区域包含n个数据块d1到dn,则sit中包含数据项s1至sn。其中,如图8所示数据项si用于标识数据块di的有效性,i为大于零小于等于n的正整数。若sit中数据项si等于1,则表明数据块di为无效块;若sit中数据项si等于0,则表明该数据块di为有效块。[0189]需要说明的是,为了便于信息管理,将一个文件存储到用户数据空间时,不仅要存储该文件的内容,还要存储该文件的属性,例如文件的大小、创建时间、该文件内容所存储的数据块的块地址等信息。数据块的块地址指该数据块相对元数据存储区域起始地址的偏移地址。因此,数据区域中存储该文件的数据块有两种,一种数据块用于存储该文件的属性,一种数据块用于存储该文件的内容。[0190]nat记录了数据区域所有节点对应的数据块(为了便于描述,后文中简称为节点块)的块地址表。数据区域存储的每个文件都有唯一的节点编号(nodenumber)和节点块,节点块用于存储该文件的属性。nat中的每一个表项称为natentry,每个natentry包含一个节点编号和该节点编号对应的文件的节点块的块地址。所有节点块的块地址表由nat映射,这意味着每个节点的位置由nat表来转换。每4k的natblcok可以记录455个节点的地址块信息。可以理解,节点块的块地址为相对元数据存储区域起始地址的偏移地址。[0191]ssa中包含存储在数据区域的所有数据和节点块的所有者信息,且记录了所管理的segment中的各个block相对所属文件的节点块的偏移。[0192]需要说明的是,一个数据块大小为4kb,即数据块的长度可以表示为0x1000。若一个数据块相对元数据存储区起始块的块号为0x00009100,则该数据块的块地址为0x009100000。本技术实施例中,为了便于描述,数据块的块地址可以是指相对元数据存储区起始块的偏移块号,也可以是相对元数据存储区起始地址的偏移地址,此处不做具体限定。[0193]电子设备的操作系统在进行版本升级时,相对于手机当前的安装版本,新版本所占存储空间的大小通常会扩大或缩小。如图6所示,电子设备在首发版本时,通常在系统软件空间内预留一定的空闲空间,用来应对后续版本增大的场景,当新版本扩大的大小超过预留的空间时,即新版本所占存储空间大于系统软件空间时,会导致不能升级的问题。目前,为解决上述问题,有如下方案:在进行版本升级时,若新版本所占存储空间大于系统软件空间,可以缩小用户数据空间,从而释放用户数据空间的部分空间给系统软件空间,如图9所示。此外,若新版本所占存储空间小于系统软件空间,也可以缩小系统软件空间,从而释放系统软件空间的部分空间给用户数据空间,如图10所示。[0194]由图9和图10可知,由于元数据存储区域位于用户数据空间的首部,不论是扩大还是缩小用户数据空间,都需要移动元数据存储区域。由于数据区域的数据块的块地址均为相对元数据存储区域起始地址的偏移地址,因此,需要遍历修改nat中记录的所有数据块的块地址。该方案存在如下两种缺陷。[0195]缺陷一:目前,用户数据空间大(例如,128gb、256gb),包含的数据很多。由于缩小或扩大用户数据空间需要修改nat中记录的数据区域所有数据块的块地址,导致上述方案非常耗时。例如,版本升级的耗时可能长达数个个小时。[0196]缺陷二:若用户数据空间中存在关键异常坏块,则挪动元数据及修改所有数据块的块地址,会存在丢失全部或部分用户数据的风险。[0197]为解决上述缺陷,本技术实施例提供了一种版本升级方法。首先,介绍本技术实施例提供的版本升级方法所应用的存储空间的结构。[0198]如图11所示,本技术实施例中,将用户数据空间划分为两个区域,即用户数据空间1和用户数据空间2。物理位置上用户数据空间2位于系统软件空间和用户数据空间1之间,即用户数据空间2与系统软件空间相邻。逻辑位置上用户数据空间2位于用户数据空间1之后,即用户数据空间2的第一个数据块为用户数据空间1的最后一个数据块的下一个数据块。本技术实施例中用户数据空间1和用户数据空间2由一个文件系统统一管理,上层应用只看到一个文件系统,即对上层应用来说只存在一个用户数据空间。用户数据空间1包括元数据存储区域和数据区域,用户数据空间1首部的元数据存储区域统一管理用户数据空间1和用户数据空间2中的用户数据。[0199]本技术实施例中,用户数据空间1也可以被称为第一用户数据空间,用户数据空间2也可以被称为第二用户数据空间,此处不做具体限定。[0200]示例性的,用户数据空间的结构图如图12所示。由图12可知,若用户数据空间1包含数据块d1至dx,则sit中包含与数据块d1至dx分别对应的数据项s1至sx,其中数据项si可以用于标识数据块di是否有效,i为大于零小于等于x的正整数。若用户数据空间2包含数据块dx+1至dn,则sit中包含与数据块dx+1至dn分别对应的数据项sx+1至sn。由图12可知,用户数据空间2逻辑位置位于用户数据空间1之后,用户数据空间1的最后一个数据块的与用户数据空间2的第一个数据块的块地址是连续的。例如,若用户数据空间1的最后一个数据块的块地址为1000块,则用户数据空间2的第一个数据块的块地址为1001块。[0201]针对图11所示的用户数据空间,系统软件空间之前存储的分区表中存储的参数包括系统软件空间、用户数据空间1和用户数据空间2的起始地址,以及系统软件空间、用户数据空间1和用户数据空间2的容量。[0202]本技术实施例提供的版本升级方法中,基于图12所示的用户数据空间结构,在进行版本升级时,若新版本所占存储空间大于系统软件空间,可以缩小用户数据空间2至第二空间,释放用户数据空间2首部的第一空间给系统软件空间,如图13所示。若新版本所占存储空间小于系统软件空间,也可以缩小系统软件空间,释放系统软件空间尾部的第三空间给用户数据空间2,如图14所示。[0203]由图13和图14可知,本技术实施例提供的版本升级方法中,当需要扩大或缩小用户数据空间时,只需扩大或缩小用户数据空间2。而用户数据空间1位置和大小均保持不变,无需移动元数据存储区域,无需修改用户数据空间1中的数据块的偏移地址。因此,通过该方法可以减少版本升级的时长,减少数据丢失的风险。[0204]基于图12所示的用户数据空间结构,图15是本技术实施例提供的一种版本更新方法的示意性流程图。如图15所示,本技术实施例提供的版本更新方法包括但不限于步骤s201至s205。下面对该方法实施例的可能实现方式做进一步的描述。[0205]s201、电子设备接收更新指令,所述更新指令用于指示将操作系统的当前版本更新为新版本。[0206]在本技术的一些实施例中,电子设备接收用户的更新指令之前,接收服务器发送的新版本的更新信息,新版本的更新信息中可以新版本的系统软件空间的容量。[0207]在本技术的一些实施例中,新版本的更新信息中可以包括新版本的系统软件空间的容量、新版本的用户数据空间1的容量、新版本的用户数据空间2的容量、新版本的系统软件空间的起始地址、新版本的用户数据空间1的起始地址和新版本的用户数据空间2的起始地址。[0208]在本技术的一些实施例中,新版本的更新信息中可以包括新版本的版本号。[0209]可以理解,新版本的更新信息可以是指操作系统的新版本的安装包。安装包可以包括新版本安装的所有文件。相对于当前版本,安装包也可以包括新版本安装的所有补丁包,即新版本安装的部分文件。[0210]示例性的,如图16所示,用户点击更新控件403,响应于检测上述用户操作,电子设备更改标题栏的内容为“系统更新中”,并执行步骤s202。[0211]在本技术的一些实施例中,用户通过点击更新控件触发更新指令。[0212]不限于通过用户的手指点击更新控件403触发更新指令,还可以通过其他用户操作触发更新指令。此处不作具体限定。[0213]例如,用户可以通过手势触发更新指令。[0214]具体地,第一用户操作还可以为用户在摄像头的采集范围内做特定手势,例如,上述手势为“通过用户的手比v形”。电子设备100可通过摄像头采集用户输入的手势,将采集到的手势与预存的手势对比,若采集到的手势与预存的手势形状一致,则执行步骤s202。[0215]又例如,用户可以通过语音触发更新指令。[0216]具体地,电子设备100可通过麦克风采集用户输入的语音,如该语音的具体内容为“请升级操作系统”,将采集到的语音的具体内容“请升级操作系统”与预存的语音关键词“升级操作系统”对比,若关键词一致,且语音特征的匹配度超过一定阈值,则执行步骤s202。[0217]在本技术的一些实施例中,用户可以预先设置操作系统的版本自动升级,即当电子设备接收到服务器发送新版本的更新信息后,电子设备执行步骤s202。[0218]s202、电子设备判断新版本的系统软件空间的容量是否大于系统软件空间的当前容量。[0219]可以理解,电子设备下载新版本的更新信息时,可以获知新版本的系统软件空间的容量。[0220]本技术实施例中,“空间的容量”指该空间占据的空间大小。[0221]s203、当新版本的系统软件空间的容量大于系统软件空间的当前容量时,电子设备判断用户数据空间的数据区域的空闲空间总量是否大于第一差值,第一差值为新版本的系统软件空间的容量与系统软件空间的当前容量的差值;若大于则执行步骤s204;若小于等于,则生成第一提示信息,第一提示信息用于提醒用户存储空间不足,系统更新失败。[0222]可以理解,若电子设备确定新版本的系统软件空间的容量大于系统软件空间的当前容量,电子设备可以释放用户数据空间首部的部分空间(即第一空间)给系统软件空间。释放前电子设备需要将上述第一空间中的有效数据移动到除第一空间之外的用户数据空间的剩余数据区域。用户数据空间的剩余数据区域包括用户数据空间2中除第一空间之外的数据区域和用户数据空间1的数据区域。因此,电子设备确定新版本的系统软件空间的容量大于系统软件空间的当前容量后,还要判断除用户数据空间的数据区域的空闲空间总量是否大于等于第一差值,即用户数据空间的数据区域是否有足够的空间可以释放给系统软件空间,以便于电子设备进行系统更新。[0223]在本技术的一些实施例中,电子设备根据第一差值,确定要释放给软件本空间的第一空间,第一空间的容量等于第一差值。[0224]在本技术的一些实施例中,电子设备可以根据cp中记录的空闲空间总量获知用户数据空间的数据区域的空闲空间总量。[0225]在本技术的一些实施例中,第一提示信息可以以文字、图像、动画、语音等形式展现。[0226]示例性的,如图17所示,当上述剩余数据区域的空闲空间总量大于上述第一空间中有效数据所需空间总量时,电子设备显示提示窗口406,提示窗口406中可以包括控件407和第一提示信息。第一提示信息以文字的形式展现,第一提示信息的内容可以包括“存储空间不足,系统更新失败!”。[0227]控件407可接收用户操作(例如触摸操作),响应于检测到的该用户操作,电子设备100可以关闭窗口406。[0228]可以理解,用户获知系统更新失败是存储空间不足后,可以清理存储空间,以便于再次进行系统更新。[0229]也就是说,当新版本的系统软件空间的容量大于系统软件空间的当前容量,且用户数据空间的数据区域的空闲空间总量是否大于第一差值,电子设备执行步骤s204。[0230]s204、电子设备将用户数据空间2首部的第一空间中的有效用户数据移动至剩余数据区域中,第一空间的容量等于第一差值,上述剩余数据区域为除第一空间之外的用户数据空间的剩余数据区域。[0231]在本技术的一些实施例中,电子设备将第一空间中的有效用户数据移动至剩余数据区域中,包括:电子设备根据sit中的信息确定第一数据块,第一数据块是剩余数据区域中的第一个空闲的数据块;电子设备将第一空间的第二数据块的数据写入到第一数据块;电子设备将存储第一数据的数据块的块地址从第二数据块的块地址修改为第一数据块的块地址。[0232]可以理解,电子设备将第二数据块的数据写入到第一数据块,即电子设备根据第一数据块的块地址确定第一数据块的物理地址,并将第二数据块的数据写入到上述物理地址对应的存储位置。[0233]不限于上述将第一空间中的有效用户数据移动至剩余数据区域的实现方式,还可以有其他移动方式,此处不做具体限定。[0234]需要说明的是,上述第二数据块可以是存储文件属性的节点块,也可以是存储文件内容的数据块。[0235]在本技术的一些实施例中,若上述第二数据块是存储文件属性的节点块,上述电子设备将存储第一数据的数据块的块地址从第二数据块的块地址修改为第一数据块的块地址,包括:电子设备根据第二数据块的块地址,在ssa中查询第二数据块中的第一数据的所属文件的第一文件编号;电子设备在nat中查询记录有第一文件编号的第一表项,上述第一表项中记录了第一数据的所属文件的节点块的块地址;由于上述节点块的块地址与第二数据块的块地址相同,电子设备确定第二数据块为节点块;电子设备将第一表项中节点块的块地址修改为第一数据块的块地。[0236]在本技术的一些实施例中,若上述第二数据块可以是存储文件内容的数据块,上述电子设备将存储第一数据的数据块的块地址从第二数据块的块地址修改为第一数据块的块地址,包括:电子设备根据第二数据块的块地址,在ssa中查询第二数据块中的第一数据的所属文件的第一文件编号;电子设备在nat中查询记录有第一文件编号的第一表项,上述第一表项中记录了第一数据的所属文件的节点块的块地址,上述节点块的块地址与第二数据块的块地址不相同,第一数据为文件内容,上述节点块中记录了存储第一数据的数据块的块地址;电子设备将该节点块中存储第一数据的数据块的块地址修改为第一数据块的块地址。[0237]s205、电子设备释放第一空间给系统软件空间。[0238]在本技术的一些实施例中,上述电子设备释放第一空间给系统软件空间,包括:电子设备将分区表中的第一容量参数修改为新版本的系统软件空间的容量,第二容量参数修改为新版本的用户数据空间2的容量,第一地址参数修改为用户数据空间2中的新版本的用户数据空间2的起始地址;新版本的用户数据空间2的起始地址等于第二空间的起始地址,新版本的系统软件空间的容量等于原软件版本的空间容量加上第一空间的容量,新版本的用户数据空间2的容量等于第二空间的容量。第二空间为用户数据空间2中除去第一空间后的剩余空间。分区表中的第一容量参数用于指示系统软件空间的容量,第二容量参数用于指示用户数据空间2的容量,第二地址参数用于指示用户数据空间2的起始地址。[0239]可以理解,通过修改分区表中分区参数,可以更改各分区的起始位置和空间容量。[0240]s206、电子设备修改第二空间中的数据块的块地址,第二空间是用户数据空间2中除第一空间之外的剩余空间。[0241]在本技术的一些实施例中,如图18所示,用户数据空间2包括第一空间和第二空间,第一空间包括用户数据块dx+1至dy,第二空间包括用户数据块dy+1至dn,sit中的数据项sx+1至sy用于标识数据块dx+1至dy的有效性。若软件版本升级所需空间大于当前系统软件空间,版本升级过程中,电子设备可以释放用户数据空间2的第一空间给系统软件空间。释放第一空间给系统软件空间后,电子设备需要修改nat中记录的第二空间中的数据块的块地址,此外,数据项sx+1至sy不再用于指示第一空间中的数据块dx+1至dy的有效性。其中,数据项sx+1应用于指示dy+1的有效性,数据项sx+2应用于指示dy+2的有效性,以此类推。因此,电子设备还需要根据第二空间的数据块的有效性修改相应的sit的数据项。[0242]需要说明的是,电子设备修改第二空间中的数据块的块地址后,如图18所示,数据项sx+1至sn中的前n-y个数据项用于标识第二空间的数据块的有效性,数据项sx+1至sn中的后y-x个数据项处于空闲状态,不再指示数据块的有效性,电子设备可以删除上述后y-x个数据项。[0243]可以理解,用户数据空间中的数据块的块地址都是相对元数据存储区域起始地址的偏移地址,第一空间释放给系统软件空间后,第一空间中的数据块不再属于用户数据空间2。第二空间中的第一个数据块成为用户数据空间2的第一个数据块,逻辑地址上第二空间中的第一个数据块成为用户数据空间1的最后一个数据块的下一个数据块。因此,释放第一空间给系统软件空间后,需要修改nat中记录的第二空间中的数据块的块地址。[0244]可以理解,若第二空间中的第一个数据块存储有数据,该数据的物理存储位置并不发生改变,修改上述第一个数据块的块地址,可以满足释放第一空间后该数据块逻辑位置与物理位置的映射关系。[0245]在本技术的一些实施例中,第一空间包含f个数据块,上述修改nat中记录的第二空间中的数据块的块地址,包括:电子设备在ssa中查询第二空间的第三数据块中的第二数据的所属文件的第二文件编号;电子设备在nat中查询记录有第二文件编号的第二表项,第二表项中记录了第三数据块的所属文件的节点块的块地址;若上述节点块的块地址与第三数据块的块地址相同,则确定第三数据块为节点块,电子设备将第二表项中节点块的块地址向前偏移f块;若上述节点块的块地址与第三数据块的块地址不相同,则上述节点块中记录了存储第二数据的数据块的块地址,电子设备根据上述节点块的块地址查询该节点块,并将该节点块中存储的第二数据的数据块的块地址向前偏移f块。例如,第三数据块的原块地址为相对元数据存储区域起始块偏移1000块,则将第三数据块的块地址修改为1000-f块。[0246]可以理解,电子设备修改nat中记录的第二空间中的数据块的块地址,即遍历修改第二空间内包含有效数据的数据块的块地址。[0247]s207、电子设备将操作系统的当前版本升级为新版本,升级后的系统软件空间包括第一空间。[0248]示例性的,如图19所示,用户点击更新控件403,响应于检测上述用户操作,电子设备更改标题栏的内容为“系统更新中”,并进行版本升级。并在版本升级成功后,显示窗口408,窗口408中包括第二提示信息,第二提示信息的内容可以包括“系统更新成功”。由于本技术实施例所提版本升级方法极大减少了版本升级的时长。图19所示的版本升级过程可能仅需短短数十秒。[0249]在本技术的一些实施例中,步骤s202之后,本技术实施例提供的版本更新方法还可以包括步骤s208至步骤s210。[0250]s208、当新版本的系统软件空间的容量小于系统软件空间的当前容量时,电子设备将操作系统的当前版本升级为新版本。[0251]s209、电子设备释放系统软件空间尾部的第三空间给用户数据空间2。[0252]本技术实施例中,升级后的用户数据空间2包括第三空间,第三空间的容量等于原系统软件空间的容量减去新版本的系统软件空间的容量,升级后所述第三空间的第一个数据块为用户数据空间2的最后一个数据块的下一个数据块。[0253]在本技术的一些实施例中,电子设备释放系统软件空间尾部的第三空间给用户数据空间,包括:电子设备将分区表中的第一容量参数修改为新版本的系统软件空间的容量,第二容量参数修改为新版本的用户数据空间2的容量,第二地址参数修改为新版本的用户数据空间2的起始地址,新版本的用户数据空间2的起始地址等于第三空间的起始地址,新版本的用户数据空间2的容量等于原用户数据空间2的容量加上第三空间的容量。[0254]需要说明的是,由于软件版本的安装数据在系统软件空间中从前到后按顺序写入,第三空间并未存储有效的软件版本安装数据。因此,电子设备可以直接释放系统软件空间尾部的第三空间给用户数据空间,无需清理第三空间中的数据。[0255]本技术实施例中,当新版本的系统软件空间的容量小于系统软件空间的当前容量时,电子设备可以在版本升级后,立刻将空闲的系统软件空间中的空闲空间释放给用户数据空间;电子设备也可以在电子设备可以在版本升级后,且用户数据空间可使用空间不足时,才将空闲的系统软件空间的空闲空间释放给用户数据空间。本技术实施例对此不作具体限定。[0256]s210、电子设备修改第一空间和第二空间中数据块的块地址。[0257]在本技术的一些实施例中,如图20所示,用户数据空间2包括用户数据块dx+1至dy。若软件版本升级所需空间小于当前系统软件空间,版本升级后,可以释放系统软件空间中的第三空间至用户数据空间2。若第三空间中包括数据块dg至dg+a,则新的用户数据空间2将包括dx+1至dy,以及dg至dg+a,且电子需要修改nat中记录的原用户数据空间2中的数据块的块地址,原用户数据空间2包括第一空间和第二空间。[0258]可以理解,电子设备释放系统软件空间中的第三空间至用户数据空间2后,第三空间的第一个块成为扩大后的用户数据空间2的第一个块,逻辑地址上第三空间中的第一个数据成为用户数据空间1的最后一个数据块的下一个数据块。为满足块地址表中块号的连续性,原用户数据空间2中的数据块的偏移地址需要加上第三空间的数据块总量,因此,要修改nat中记录的第一空间和第二空间中的数据块的块地址。例如,如图20所示,第三空间包含a个数据块,用户数据空间2的第一空间的第一个数据块的原块地址为相对元数据存储区域起始块偏移1000块,则将上述第一空间的第一个数据块的块地址修改为1000+a块。[0259]在本技术的一些实施例中,上述修改nat中记录的第一空间和第二空间中的数据块的块地址,可以参考前述实施例中的修改nat中记录的第二空间中的数据块的块地址,此处不再赘述。[0260]在本技术的一些实施例中,如图20所示,用户数据空间2包括第一空间和第二空间,第一空间包括用户数据块dx+1至dy,第二空间包括用户数据块dy+1至dn,sit中的数据项sx+1至sy用于标识数据块dx+1至dy的有效性。电子设备释放第三空间给用户数据空间2后,电子设备需要修改第一空间和第二空间中的数据块的块地址,此外,数据项sx+1至sx+a不再用于指示数据块dx+1至dx+a的有效性,数据项sx+1至sx+a将用于指示第三空间的数据块dg至dg+a的有效性。此外,数据项sx+a+1将用于指示数据块dx+1的有效性,数据项sx+a+2将用于指示数据块dx+2的有效性,以此类推。因此,电子设备还需要根据第一空间和第二空间的数据块的有效性,修改相应的sit的数据项。[0261]可以理解,数据项sn将用于指示数据块dn-a的有效性,在sit中的数据项sn之后还需要增加数据项sn+1至sn+a,数据项sn+1至sn+a用于指示数据块dn-a+1至dn的有效性。[0262]图13所示版本升级方法无需移动元数据存储区域,无需修改用户数据空间1中的数据块的偏移地址,可以减少版本升级的时长,减少数据丢失的风险。但上述方法中需要修改原用户数据空间2中的数据块的块地址。这是由于在逻辑位置上,用户数据空间2和用户数据空间1逻辑位置上是连续的。[0263]因此,图13所示的版本升级方法的耗时依旧有待进一步优化,版本升级过程中依旧有用户数据丢失的风险。为进一步减少版本升级的时长,避免数据丢失的风险,本技术实施例还提供了一种版本升级方法。[0264]首先对方法应用的另一种用户数据空间的结构进行介绍。本技术实施例中在用户数据空间增加了虚拟无效数据区,该虚拟无效数据区是虚拟的逻辑空间,不占据实际的物理空间。虚拟无效数据区中包含虚拟数据块,逻辑地址上虚拟无效数据区在用户数据空间1之后,用户数据空间2之前。例如,如图21所示,用户数据空间1中包含户数据块d1至dx,数据块d1至dx应的块地址分别为d1至dx;虚拟无效数据区包括虚拟数据块dx+1至dy,数据块dx+1至dy对应的块地址分别为dx+1至dy;用户数据空间2中包含户数据块dy+1至dr,数据块dy+1至dr应的块地址分别为dy+1至dr。此外,如图21所示,sit中也会包含与虚拟数据块dx+1至dy相对应的数据项sx+1至sy,数据项sx+1至sy均标识为无效。[0265]本技术实施例中,可以在sb或cp中记录虚拟无效数据区的起始地址和虚拟的空间容量。相应的,修改在sb或cp中记录的虚拟无效数据区的空间容量,可以改变虚拟无效数据区的大小。[0266]需要说明的是,由于虚拟无效数据区内的数据块均被标识无效数据块,因此,虚拟无效数据区不会进行写操作。此外,由于虚拟无效数据区是虚拟的逻辑空间,不占据实际的物理空间,虚拟无效数据区不能存储数据,虚拟无效数据区也不能进行读操作。因此,对上层返回的用户数据已用空间需要减掉虚拟无效数据区的空间大小。本技术实施例中,虚拟无效数据区的初始空间大小通常小于等于系统软件空间的初始大小。[0267]可以理解,虚拟无效数据区是为便于理解而引入的概念,在实际物理空间中并不存在。[0268]基于图21所示的用户数据空间结构,图22是本技术实施例提供的另一种版本更新方法的示意性流程图。如图22所示,本技术实施例提供的版本更新方法包括但不限于步骤s301至s307。下面对该方法实施例的可能实现方式做进一步的描述。[0269]s301、电子设备接收更新指令,所述更新指令用于指示将操作系统的当前版本更新为新版本。[0270]s302、电子设备判断新版本的系统软件空间的容量是否大于系统软件空间的当前容量。[0271]s303、当新版本的系统软件空间的容量大于系统软件空间的当前容量时,电子设备判断用户数据空间的数据区域的空闲空间总量是否大于第一差值,第一差值为新版本的系统软件空间的容量与系统软件空间的当前容量的差值;若大于则执行步骤s204;若小于等于,则生成第一提示信息,第一提示信息用于提醒用户存储空间不足,系统更新失败。[0272]s304、电子设备将用户数据空间2首部的第一空间中的有效用户数据移动至剩余数据区域中,第一空间的容量等于第一差值,上述剩余数据区域为除第一空间之外的用户数据空间的剩余数据区域。[0273]s305、电子设备释放第一空间给系统软件空间。[0274]s306、增大虚拟无效数据区,将用于标识第一空间数据块的有效性的数据项置为无效标识,虚拟无效数据区增大的容量等于第一空间的容量。[0275]在本技术的一些实施例中,如图23所示,用户数据空间2包括第一空间和第二空间,第一空间包括用户数据块dy+1至dz,第二空间包括用户数据块dz+1至dr,sit中的数据项sy+1至sz用于标识数据块dy+1至dz的有效性。若软件版本升级所需空间大于当前系统软件空间,版本升级过程中,电子设备可以释放用户数据空间2的第一空间给系统软件空间。释放第一空间给系统软件空间后,电子设备增大虚拟无效数据区的空间容量,虚拟无效数据区增大的空间容量等于第一空间的容量,第一空间中的数据块dy+1至dz对应的sit数据项sy+1至sz均置为1。数据项sx+1至sy不再用于指示第一空间中的数据块的有效性,数据项sy+1至sz可以用于指示虚拟无效数据区新增数据块的有效性。[0276]可以理解,用户数据空间中的数据块的块地址都是相对元数据存储区域起始地址的偏移地址,第一空间释放给系统软件空间后,第一空间中的数据块不再属于用户数据空间2。第二空间中的第一个数据块成为用户数据空间2的第一个数据块,逻辑地址上第二空间中的第一个数据块成为虚拟无效数据区的最后一个数据块的下一个数据块。为了不改变第二空间的数据块相对元数据存储区域的起始地址的偏移地址,电子设备增大虚拟无效数据区的空间容量,虚拟无效数据区增大的空间容量等于第一空间的容量,即虚拟无效数据区中增加的虚拟数据块总量等于第一空间的数据块总量。这样,可以保证第二空间中的数据块的块地址不会发生变化,电子设备释放第一空间给系统软件空间后,无需修改第二空间中的数据块的块地址。[0277]也就是说,电子设备增大虚拟无效数据区后,确定sy+1至sz均为1,sy+1至sz可以用于表征虚拟无效数据区的新增数据块的有效性。[0278]s307、电子设备将操作系统的当前版本升级为新版本,升级后的系统软件空间包括第一空间。[0279]本技术实施例中,也可以将虚拟无效数据区理解为用户数据空间1的一部分,且虚拟无效数据区的最后一个数据块为用户数据空间1的最后一个数据块,用户数据空间1的容量小于所述系统软件空间的当前容量。[0280]本技术实施例中,虚拟无效数据区也可以称为用户数据空间1尾部的第四空间。[0281]在本技术的一些实施例中,电子设备将操作系统的当前版本更新为新版本前,所述电子设备增大虚拟无效数据区和系统软件空间,增大后的系统软件空间包括第一空间,虚拟无效数据区增大的容量等于第一差值;第五空间为增大后的虚拟无效数据区,增大虚拟无效数据区后用户数据空间1的最后一个数据块为第五空间的最后一个数据块。[0282]在本技术的一些实施例中,增大虚拟无效数据区,即修改元数据存储区域所记录的虚拟无效数据区的空间容量为第五空间的容量。[0283]本技术实施例中,步骤s301至s305的具体实现方式可以参考步骤s201至s205的可选实施例,此处不再赘述。[0284]在本技术的一些实施例中,步骤s302之后,本技术实施例提供的版本更新方法还可以包括步骤s308至步骤s309。[0285]s308、当新版本的系统软件空间的容量小于系统软件空间的当前容量时,电子设备将操作系统的当前版本更新为新版本。[0286]s309、电子设备释放软件版本尾部的第三空间给用户数据空间2,并缩小虚拟虚拟无效数据区,虚拟虚拟无效数据区缩小的容量等于第三空间的容量。[0287]如图24所示,若第三空间包括数据块dg至dg+1,电子设备将sit中虚拟数据块对应的数据项sx+1至sy中的后a项(即sy-a+1至sy)数据项置为有效标识,数据项sy-a+1至sy将用于标识数据块dg至dg+1的有效性。[0288]在本技术的一些实施例中,如图24所示,用户数据空间2包括用户数据块dy+1至dr。若软件版本升级所需空间小于当前系统软件空间,版本升级后,可以释放系统软件空间中的第三空间至用户数据空间2。若第三空间中包括数据块dg至dg+a,则新的用户数据空间2将包括dy+1至dr,以及dg至dg+a。释放系统软件空间中的第三空间至用户数据空间2后,电子设备缩小虚拟无效数据区的空间容量,虚拟无效数据区缩小的空间容量等于第三空间的容量,虚拟无效数据区中的后a个数据块对应的sit数据项sy-a+1至sy均置为0。上述后a个数据块对应的数据项sy-a+1至sy不再用于指示虚拟无效数据区中的数据块的有效性,数据项sy-a+1至sy将用于指示第三空间的数据块的有效性。[0289]可以理解,电子设备释放系统软件空间中的第三空间至用户数据空间2后,第三空间的第一个块成为扩大后的用户数据空间2的第一个块,逻辑地址上第三空间中的第一个数据成为虚拟无效数据区的最后一个数据块的下一个数据块。为了不改变原用户数据空间2的数据块相对元数据存储区域的起始地址的偏移地址,电子设备缩小虚拟无效数据区的空间容量,虚拟无效数据区缩小的空间容量等于第三空间的容量,即虚拟无效数据区中减少的虚拟数据块总量等于第三空间的数据块总量。这样,可以保证原用户数据空间2中的数据块块地址不会发生变化,电子设备释放第三空间给用户数据空间2之后,无需修改原用户数据空间2中的数据块的块地址。原用户数据空间2指释放前的原用户数据空间2。[0290]也就是说,电子设备缩小虚拟无效数据区后,确定sy-a+1至sy均为1,sy-a+1至sy可以用于表征第三空间的数据块的有效性。[0291]本技术实施例中,也可以将虚拟无效数据区理解为用户数据空间1的一部分,且虚拟无效数据区的最后一个数据块为用户数据空间1的最后一个数据块,用户数据空间1的容量小于所述系统软件空间的当前容量。[0292]在本技术的一些实施例中,电子设备接收更新信息之后电子设备缩小虚拟无效数据区和系统软件空间,缩小后的系统软件空间不包括第三空间,虚拟无效数据区缩小的容量等于第三空间的容量;第六空间为缩小后的虚拟无效数据区,缩小虚拟无效数据区后所述第一用户数据空间的最后一个数据块为第六空间最后一个数据块。[0293]在本技术的一些实施例中,缩小虚拟无效数据区,即修改元数据存储区域所记录的虚拟无效数据区的空间容量为第六空间的容量。[0294]综上所述,实施本技术实施例,无需移动元数据存储区域,也无需修改用户数据空间1和用户数据空间2的数据块的偏移地址,极大减少了版本升级的时长以及数据丢失的风险,有效提升了用户体验。[0295]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0296]在本技术实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。[0297]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。[0298]以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1