一种EMMC自适应调节方法、存储介质及终端设备与流程

文档序号:17474414发布日期:2019-04-20 06:01阅读:306来源:国知局
一种EMMC自适应调节方法、存储介质及终端设备与流程

本发明涉及软件技术领域,特别涉及一种emmc自适应调节方法、存储介质及终端设备。



背景技术:

android系统作为当今智能设备的主流操作系统之一,由于其开源性,市场占有率越来越大,影响范围愈来愈广,且随着android智能设备的不断进步与发展,用户对android智能设备的要求也千差万别。设备厂商基于对于不同产品的定位,针对一个系列的产品,往往会配置不同大小的emmc,来满足不同用户的需求,以往针对不同的emmc配置,需要软件配置不同的分区表,这就需要通过不同的软件来适配emmc,这就加大了产品软件开发和维护的成本。

因而现有技术还有待改进和提高。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的不足,提供一种emmc自适应调节方法、存储介质及终端设备,以解决现有针对不同的emmc配置,需要软件配置不同的分区表,从而使产品软件开发和维护的成本增高的问题。

为了解决上述技术问题,本发明所采用的技术方案如下:

一种emmc自适应调节方法,其包括:

当终端设备启动时,获取其自身配置的emmc的第一容量,并将所述第一容量与预设的分区表中所有分区的第二容量进行比较;

当所述第一容量大于第二容量时,根据emmc的第一容量对用户逻辑分区进行重分配,以对emmc进行自适应调节。

所述emmc自适应调节方法,其中,所述当终端设备启动时,获取其自身配置的emmc的第一容量,并将所述第一容量与预设的分区表中所有分区的第二容量进行比较具体包括:

当终端设备启动时,检测所述emmc自适应的执行状态;

当所述执行状态为未执行时,获取其自身配置的emmc的第一容量,并将所述第一容量与预设的分区表中所有分区的第二容量进行比较。

所述emmc自适应调节方法,其中,所述当终端设备启动时,获取其自身配置的emmc的第一容量,并将所述第一容量与预设的分区表中所有分区的第二容量进行比较具体包括:

当终端设备启动时,获取其自身配置的emmc的第一容量以及预设的分区表;

提取所述分区表内各分区的第三容量,并根据所述第三容量计算所有分区的容量和以使得第二容量;

将所述第一容量与所述第二容量进行比较。

所述emmc自适应调节方法,其中,所述当所述第一容量大于第二容量时,根据emmc的第一容量对用户逻辑分区进行重分配,以对emmc进行自适应调节具体包括:

当所述第一容量大于第二容量时,读取所述预设的分区表中除用户逻辑分区外的所有分区的第四容量;

计算所述第一容量与第四容量的容量差,并将所述容量差设置为所述用户逻辑分区的容量,以对所述用户逻辑分区进行重分配。

所述emmc自适应调节方法,其中,所述当所述第一容量大于第二容量时,读取所述预设的分区表中除用户逻辑分区外的所有分区的第四容量具体包括:

当所述第一容量大于第二容量时,获取所述用户逻辑分区中存储的所有用户分区数据;

备份获取到的用户分区数据,并读取所述预设的分区表中除用户逻辑分区外的所有分区的第四容量。

所述emmc自适应调节方法,其中,所述计算所述第一容量与第四容量的容量差,并将所述容量差设置为所述用户逻辑分区的容量,以对所述用户逻辑分区进行重分配具体包括:

计算所述第一容量与第四容量的容量差,并将所述容量差设置为所述用户逻辑分区的容量;

根据所述容量差对所述用户逻辑分区进行重分配,并将所述用户分区数据还原至重分配后的用户逻辑分区。

所述emmc自适应调节方法,其中,所述当所述第一容量大于第二容量时,根据emmc的第一容量对用户逻辑分区进行重分配,以对emmc进行自适应调节之后还包括:

将所述emmc的执行状态设置为已执行。

所述emmc自适应调节方法,其中,所述方法还包括:

当所述第一容量小于等于所述第二容量值,跳过emmc自适应过程,并将所述emmc的执行状态设置为已执行。

一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任意一项所述的一种emmc自适应调节方法中的步骤。

一种应用服务器,其中,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上任意一项所述的一种emmc自适应调节方法中的步骤。

有益效果:与现有技术相比,本发明提供了一种emmc自适应调节方法、存储介质及终端设备,所述方法包括:当终端设备启动时,获取其自身配置的emmc的第一容量,并将所述第一容量与预设的分区表中所有分区的第二容量进行比较;当所述第一容量大于第二容量时,根据emmc的第一容量对用户逻辑分区进行重分配,以对emmc进行自适应调节。本发明针对同一个系列产品配置不同容量的emmc时,软件只需配置一个分区表,在终端设备启动时,检测emmc的配置,然后动态调整用户空间,来满足不同容量的emmc配置,以达到一款软件适配一个系列产品配置不同emmc,降低软件开发维护的成本。

附图说明

图1为本发明提供的emmc自适应调节方法较佳实施例的流程图。

图2为本发明提供的emmc自适应调节方法中步骤s100较佳实施例的流程图。

图3为本发明提供的emmc自适应调节方法中步骤s100较佳实施例的另一流程图。

图4为本发明提供的emmc自适应调节方法中步骤s200较佳实施例的流程图。

图5为本发明提供的终端设备较佳实施例的结构原理图。

具体实施方式

本发明提供一种emmc自适应调节方法、存储介质及终端设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

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

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

下面结合附图,通过对实施例的描述,对发明内容作进一步说明。

请参照图1,图1为本发明提供的emmc自适应调节方法较佳实施例的流程图。所述方法包括:

s100、当终端设备启动时,获取其自身配置的emmc的第一容量,并将所述第一容量与预设的分区表中所有分区的第二容量进行比较。

具体地,目标设备在出厂时便预先配置了不同emmc容量大小,这样,当目标终端设备开机启动时,通过识别并获取目标设备emmc的容量大小,即可获取到所述终端设备自身所配置的emmc的第一容量;本实施例中,设备厂商针对一个系列的产品,为了满足不同客户的需求,会对产品的硬件配置做一些区分,其中主要是emmc的大小,例如,某型号设备分别有32g、64g、128g等,针对这些配置,软件可以默认用一个分区表,即所述预设的分区表,通常的,使用容量最小的emmc来做分区表。接下来,再将所述第一容量与预设的分区表中所有分区的第二容量进行比较。

进一步,如图2所示,所述当终端设备启动时,获取其自身配置的emmc的第一容量,并将所述第一容量与预设的分区表中所有分区的第二容量进行比较具体包括:

s101、当终端设备启动时,检测所述emmc自适应的执行状态;

s102、当所述执行状态为未执行时,获取其自身配置的emmc的第一容量,并将所述容量与预设的分区表中所有分区的第二容量进行比较。

具体地,所述执行状态代表终端设备是否执行过自适应的操作,如果当所述执行状态为执行过,则直接开机起来;相反的,当所述执行状态为未执行时,获取其自身配置的emmc的第一容量,并将所述容量与预设的分区表中所有分区的第二容量进行比较。

本实施例中,在boot阶段,首先通过一个flag(是否执行过emmc自适应操作标识)来确认是否执行过emmc自适应的操作,如果执行过,则直接开机起来,否则,当执行完emmc自适应操作后再修改当前的flag状态,从而可以避免下一步系统重启到boot阶段再次检测emmc大小,提高系统的工作效率。这样,当系统重启后,在boot阶段,检测到flag已经执行过emmc自适应操作,则可以直接执行正常开机流程。

进一步,如图3所示,所述当终端设备启动时,获取其自身配置的emmc的第一容量,并将所述第一容量与预设的分区表中所有分区的第二容量进行比较具体包括:

s103、当终端设备启动时,获取其自身配置的emmc的第一容量以及预设的分区表;

s104、提取所述分区表内各分区的第三容量,并根据所述第三容量计算所有分区的容量和以使得第二容量;

s105、将所述第一容量与所述第二容量进行比较。

具体地,所述预设的分区表包括了用户逻辑分区以及其他分区如boot/recovery/system/vendor/系统用户不可用分区,因此将每个分区的大小设置为第三容量,通过提取所述分区表内各分区的第三容量,并根据所述第三容量计算所有分区的容量和,以使得到第二容量,也就是说,所述第二容量为各第三容量的的和,从而再将所述第一容量与所述第二容量进行比较。

s200、当所述第一容量大于第二容量时,根据emmc的第一容量对用户逻辑分区进行重分配,以对emmc进行自适应调节。

如图4所示,所述当所述第一容量大于第二容量时,根据emmc的第一容量对用户逻辑分区进行重分配,以对emmc进行自适应调节具体包括:

s201、当所述第一容量大于第二容量时,读取所述预设的分区表中除用户逻辑分区外的所有分区的第四容量;

具体地,所述第四容量为所述预设的分区表中除用户逻辑分区外的所有分区的容量,从而所述当所述第一容量大于第二容量时,读取所述预设的分区表中除用户逻辑分区外的所有分区的第四容量具体包括:

当所述第一容量大于第二容量时,获取所述用户逻辑分区中存储的所有用户分区数据;

备份获取到的用户分区数据,并读取所述预设的分区表中除用户逻辑分区外的所有分区的第四容量。

具体地,当所述第一容量大于第二容量时,则执行命令boot-recoveryrecoveryoptimize使得系统进入客制化recovery模式,在androidrecovery源代码中,增加对optimize参数的处理函数optimize_storage(),在optimize_storage()中,依次执行显示优化分区ui以及进度;挂载用户逻辑分区,备份用户逻辑分区数据到另外一个分区中;然后格式化用户逻辑分区。进一步,再读取所述预设的分区表中除用户逻辑分区外的所有分区的第四容量。

s202、计算所述第一容量与第四容量的容量差,并将所述容量差设置为所述用户逻辑分区的容量,以对所述用户逻辑分区进行重分配。

具体地,本发明通过软件内置一个基于产品配置的最小emmc的分区表,然后在开机boot启动阶段通过一系列的逻辑判断和客制化的androidrecovery模式,来实现动态适配不同emmc大小配置,从而达到一个软件包同时支持一个系列产品不同emmc大小配置,减少产品适配不同emmc大小的软件开发周期,降低软件开发和维护的成本的目的。从而所述计算所述第一容量与第四容量的容量差,并将所述容量差设置为所述用户逻辑分区的容量,以对所述用户逻辑分区进行重分配具体包括:

计算所述第一容量与第四容量的容量差,并将所述容量差设置为所述用户逻辑分区的容量;

根据所述容量差对所述用户逻辑分区进行重分配,并将所述用户分区数据还原至重分配后的用户逻辑分区。

具体地,通过将第一容量与第四容量的容量差设置为所述用户逻辑分区的容量,再将前年备份的用户分区数据还原到重新分配的用户逻辑分袂中,并删除备份的数据。

进一步,所述当所述第一容量大于第二容量时,根据emmc的第一容量对用户逻辑分区进行重分配,以对emmc进行自适应调节之后还包括:

将所述emmc的执行状态设置为已执行。

具体地,在完成emmc自适应操作之后,还需要将所述emmc的执行状态设置为已执行,并修改与其相对应的flag,接下来,再重新启动系统,并退出客制化的recoveryoptimize模式。

进一步,当所述第一容量小于等于所述第二容量值,跳过emmc自适应过程,并将所述emmc的执行状态设置为已执行。这样,可以避免在下一次系统重启到boot阶段再次检测emmc大小,当系统重启后,在boot阶段,通过检测到flag已经执行过emmc自适应操作,便可以直接执行正常开机流程,提高系统的工作效率。

本发明还提供了一种终端设备,如图5所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communicationsinterface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。

此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。

存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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