首页 / 专利库 / 制动系统 / 电子稳定程序 / 一种信息处理方法及电子设备

一种信息处理方法及电子设备

阅读:727发布:2020-05-12

专利汇可以提供一种信息处理方法及电子设备专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种信息处理方法及 电子 设备,其中,该方法包括:基于存储在第一 存储器 上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序;当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备;从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。第一应用程序的运行过程不依赖第一存储器,第一存储器断开或故障均不会影响到第一应用程序的运行,第一应用程序运行更加稳定。,下面是一种信息处理方法及电子设备专利的具体信息内容。

1.一种信息处理方法,包括:
基于存储在第一存储器上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序;
当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备;
从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。
2.根据权利要求1所述的信息处理方法,其中,所述基于存储在第一存储器上的第一程序包构建第一虚拟设备,包括:
基于所述第一程序包和第二程序包构建第一虚拟设备,其中所述第二程序包包含至少一个第二应用程序。
3.根据权利要求2所述的信息处理方法,其中,所述获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备,包括:
启动所述第二应用程序;
所述第二应用程序基于所述第一程序包在电子设备的第二存储器上构建所述第二虚拟设备。
4.根据权利要求3所述的信息处理方法,其中,所述从所述第二虚拟设备启动所述第一应用程序,包括:
所述第二应用程序从所述第二虚拟设备启动所述第一应用程序。
5.根据权利要求3所述的信息处理方法,其中,所述基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备,包括:
在所述电子设备的第二存储器上分配存储空间;
将所述第一程序包复制到所述存储空间;
基于存储在所述存储空间内的所述第一程序包构建所述第二虚拟设备。
6.一种电子设备,包括:
构建模,用于基于存储在第一存储器上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序;
获取模块,用于当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备;
启动模块,用于从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。
7.根据权利要求6所述的电子设备,其中,所述构建模块具体用于:
基于所述第一程序包和第二程序包构建第一虚拟设备,其中所述第二程序包包含至少一个第二应用程序。
8.根据权利要求7所述的电子设备,其中,所述获取模块包括:
启动单元,用于启动所述第二应用程序;
构建单元,用于通过所述第二应用程序基于所述第一程序包在电子设备的第二存储器上构建所述第二虚拟设备。
9.根据权利要求8所述的电子设备,其中,所述启动模块具体用于:
通过所述第二应用程序从所述第二虚拟设备启动所述第一应用程序。
10.根据权利要求8所述的电子设备,其中,所述构建单元具体用于:
在所述电子设备的第二存储器上分配存储空间;
将所述第一程序包复制到所述存储空间;
基于存储在所述存储空间内的所述第一程序包构建所述第二虚拟设备。

说明书全文

一种信息处理方法及电子设备

技术领域

[0001] 本申请涉及电子设备技术领域,特别涉及一种信息处理方法及电子设备。

背景技术

[0002] 通常可扩展固件接口(Extensible Firmware Interface,缩写EFI)应用程序包保存在基板管理控制器(Baseboard Management Controller,缩写BMC)的内嵌式存储器(Embedded Multi Media Card,缩写eMMC)中。运行时,首先BMC挂载EFI应用程序为一个虚拟设备,然后统一可扩展固件接口(英语:Unified Extensible Firmware Interface,缩写UEFI)感知虚拟设备,并从虚拟设备中启动EFI应用程序。EFI应用程序运行过程中需要适时从虚拟设备中读取数据,这样,EFI应用程序运行过程中虚拟设备必须一直保持可用,BMC不能断开。EFI应用程序功能对BMC依赖较大,不灵活,使用功能受限,BMC不稳定可能直接导致EFI应用程序崩溃;而且虚拟设备往往读写速度不快,因此EFI应用程序运行过程中的性能会受到一定影响;BMC保持虚拟设备一直可用会消耗BMC资源,一定程度上给BMC添加了负担。
[0003] 申请内容
[0004] 本申请提供了一种信息处理方法及电子设备,用于解决现有技术中EFI应用程序运行过程中需要从虚拟设备加载数据,BMC不能断开的技术问题,使EFI应用程序运行过程中可不依赖于BMC。
[0005] 为了解决上述技术问题,本申请的实施例采用了如下技术方案:
[0006] 一种信息处理方法,包括:
[0007] 基于存储在第一存储器上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序;
[0008] 当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备;
[0009] 从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。
[0010] 在一些实施例中,所述基于存储在第一存储器上的第一程序包构建第一虚拟设备,包括:
[0011] 基于所述第一程序包和第二程序包构建第一虚拟设备,其中所述第二程序包包含至少一个第二应用程序。
[0012] 在一些实施例中,所述获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备,包括:
[0013] 启动所述第二应用程序;
[0014] 所述第二应用程序基于所述第一程序包在电子设备的第二存储器上构建所述第二虚拟设备。
[0015] 在一些实施例中,所述从所述第二虚拟设备启动所述第一应用程序,包括:
[0016] 所述第二应用程序从所述第二虚拟设备启动所述第一应用程序。
[0017] 在一些实施例中,所述基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备,包括:
[0018] 在所述电子设备的第二存储器上分配存储空间;
[0019] 将所述第一程序包复制到所述存储空间;
[0020] 基于存储在所述存储空间内的所述第一程序包构建所述第二虚拟设备。
[0021] 一种电子设备,包括:
[0022] 构建模,用于基于存储在第一存储器上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序;
[0023] 获取模块,用于当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备;
[0024] 启动模块,用于从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。
[0025] 在一些实施例中,所述构建模块具体用于:
[0026] 基于所述第一程序包和第二程序包构建第一虚拟设备,其中所述第二程序包包含至少一个第二应用程序。
[0027] 在一些实施例中,所述获取模块包括:
[0028] 启动单元,用于启动所述第二应用程序;
[0029] 构建单元,用于通过所述第二应用程序基于所述第一程序包在电子设备的第二存储器上构建所述第二虚拟设备。
[0030] 在一些实施例中,所述启动模块具体用于:
[0031] 通过所述第二应用程序从所述第二虚拟设备启动所述第一应用程序。
[0032] 在一些实施例中,所述构建单元具体用于:
[0033] 在所述电子设备的第二存储器上分配存储空间;
[0034] 将所述第一程序包复制到所述存储空间;
[0035] 基于存储在所述存储空间内的所述第一程序包构建所述第二虚拟设备。
[0036] 本申请实施例的有益效果在于:
[0037] 本申请实施例的信息处理方法,第一程序包存储在第一存储器上,实施过程中,基于第一程序包构建第一虚拟设备,电子设备启动过程中侦测到第一虚拟设备后,从第一虚拟设备获取第一程序包,基于第一程序包在电子设备的第二存储器上构建第二虚拟设备,然后从第二虚拟设备启动第一程序包所包含的第一应用程序。这样,第一应用程序及相对应的数据均存储在第二存储器上,第一应用程序从第二存储器上启动,并从第二存储器上获取相对应的数据,第一应用程序的运行过程不依赖第一存储器,第一存储器断开或故障均不会影响到第一应用程序的运行,第一应用程序运行更加稳定。附图说明
[0038] 图1为本申请实施例的信息处理方法的第一种实施例的流程图
[0039] 图2为本申请实施例的信息处理方法的第二种实施例的流程图;
[0040] 图3为本申请实施例的信息处理方法中基于第一程序包在电子设备的第二存储器上构建第二虚拟设备的方法的流程图;
[0041] 图4为本申请实施例的电子设备的结构框图
[0042] 图5为本申请实施例的电子设备的获取模块的结构框图。
[0043] 附图标记说明:
[0044] 10-构建模块;20-获取模块;21-启动单元;22-构建单元;30-启动模块。

具体实施方式

[0045] 此处参考附图描述本申请的各种方案以及特征。
[0046] 应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
[0047] 包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
[0048] 通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
[0049] 还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
[0050] 当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
[0051] 此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
[0052] 本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
[0053] 本申请实施例提供了一种信息处理方法,包括:
[0054] 基于存储在第一存储器上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序;
[0055] 当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备;
[0056] 从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。
[0057] 第一程序包存储在第一存储器上,实施过程中,基于第一程序包构建第一虚拟设备,电子设备启动过程中侦测到第一虚拟设备后,从第一虚拟设备获取第一程序包,基于第一程序包在电子设备的第二存储器上构建第二虚拟设备,然后从第二虚拟设备启动第一程序包所包含的第一应用程序。这样,第一应用程序及相对应的数据均存储在第二存储器上,第一应用程序从第二存储器上启动,并从第二存储器上获取相对应的数据,启动后第一应用程序的运行过程不依赖第一存储器,第一存储器断开或故障均不会影响到第一应用程序的运行,第一应用程序运行更加稳定。
[0058] 下面结合附图对本申请优选的实施方式进行详细说明。
[0059] 图1为本申请实施例的信息处理方法的流程图,参见图1所示,该信息处理方法包括如下步骤:
[0060] S100,基于存储在第一存储器上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序。
[0061] 其中,所述第一存储器可为电子设备上的存储器,也可为通过例如接口连接在电子设备上的外接存储器。所述第一存储器可以采用各种形式,包括但不限于例如易失性存储器和/或非易失性存储器。该第一程序包可包括一个或多个第一应用程序,该第一应用程序可为例如硬件检测应用程序、硬件驱动应用程序、系统设置应用程序、操作系统引导程序或其他类型的应用程序,此处不做具体限定。在获取到第一存储器上的第一程序包后,可基于第一程序包创建第一虚拟设备镜像文件,之后挂载该第一虚拟设备镜像文件为第一虚拟设备,并启用该第一虚拟设备。第一虚拟设备为基于第一程序包虚拟的逻辑设备,将第一程序包虚拟为第一虚拟设备,以便于接口或其他设备能够快速识别到该第一虚拟设备并获取该第一程序包。。
[0062] S200,当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备。
[0063] 该电子设备可为台式电脑、一体式电脑、笔记本电脑平板电脑、智能手机等,此处不做具体限定。该电子设备启动过程中可基于接口侦测第一虚拟设备,也可基于操作系统侦测第一虚拟设备。在侦测到第一虚拟设备后,能够获取第一程序包,如从第一虚拟设备中提取第一程序包,并将第一程序包复制到第二存储器上。该第二存储器为电子设备上的存储器,该第二存储器也可以采用各种形式,包括但不限于例如易失性存储器和/或非易失性存储器。之后,基于第一程序包在第二存储器上构建第二个虚拟的逻辑设备,这样就将第一程序包存储于第二存储器上,以便于第二虚拟设备能够被快速识别并获取其中的第一程序包。
[0064] S300,从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。
[0065] 该第一应用程序可在引导程序的引导下启动,也可在电子设备的运行状态满足预设条件时启动,或者也可在用户的手动控制下启动。由于第一应用程序本身及相对应的数据均存储在第二存储器内,所以,第一应用程序运行过程中均从第二存储器调用相对应的数据,而无需从第一存储器调用相对应的数据。
[0066] 以该电子设备为笔记本电脑为例,该第一存储器可为基板管理控制器(BMC)上的内嵌式存储器(eMMC),该第一程序包可为可扩展固件接口(EFI)的应用程序包,该第一应用程序为EFI应用程序,如硬件驱动程序、操作系统引导程序等,该第二存储器可为笔记本电脑的内存储器。在电子设备启动过程中,首先,BMC基于存储在eMMC上的第一程序包构建第一虚拟设备;然后,通过例如统一可扩展固定接口(UEFI)侦测该第一虚拟设备,并从该第一虚拟设备获取第一程序包,进而基于该第一程序包在内存储器上创建第二虚拟设备;最后,从内存储器上的第二虚拟设备启动EFI应用程序。由于该EFI应用程序本身及相对应的数据均存储在内存储器上,所以,该EFI应用程序启动后无需在依赖BMC,无需占用BMC资源,有益于降低BMC负载,且BMC运行稳定与否均不会影响到EFI应用程序的运行,使得该EFI应用程序的运行稳定性较高,另外,从内存储器上读取数据的速度要远高于BMC,将EFI应用程序配置为从内存储器上调取相对应的数据,有益于提高该EFI应用程序的运行速度。
[0067] 配合图2所示,在一些实施例中,所述基于存储在第一存储器上的第一程序包构建第一虚拟设备,可包括:
[0068] 基于所述第一程序包和第二程序包构建第一虚拟设备,其中所述第二程序包包含至少一个第二应用程序。
[0069] 其中,该第二应用程序可为加载程序或引导程序,也可如第一应用程序一样,为硬件检测应用程序、硬件驱动应用程序、系统设置应用程序、操作系统引导程序或其他类型的应用程序。第二程序包可存储在第一存储器上,也可存储在其他存储器上,只要在例如BMC等设备构建第一虚拟设备时能够获取到该第二程序包,并将其与第一程序包共同构建为第一虚拟设备即可。电子设备在侦测到第一虚拟设备后,除却可以获取第一程序包外,还可以获取该第二程序包,或者启动该第二程序包中的第二应用程序。
[0070] 在一些实施例中,所述获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备,可包括:
[0071] 启动所述第二应用程序;
[0072] 所述第二应用程序基于所述第一程序包在电子设备的第二存储器上构建所述第二虚拟设备。
[0073] 在具体实施过程中,可通过例如笔记本电脑的BMC基于第一程序包和第二程序包构建第一虚拟设备,笔记本电脑启动过程中UEFI能够侦测到该第一虚拟设备,并启动该第一虚拟设备上的第二程序包中第二应用程序,该第二应用程序可为加载程序,基于第一程序包在电子设备的第二存储器上构建第二虚拟设备的过程可由该第二应用程序执行。也即,第二应用程序启动后,该第二应用程序获取该第一程序包并基于该第一程序包在如笔记本电脑的内存储器上构建第二虚拟设备。这样,无需对第一应用程序或者第一程序包的内容或格式进行修改,使得该信息处理方法可以普遍适用于多种应用程序的加载启动,使其适于推广应用。在一个优选实施例中,该第一程序包可为压缩的程序包,第二应用程序启动之后,首先获取并解压所述第一程序包,然后基于解压后的所述第一程序包在电子设备的第二存储器上构建第二虚拟设备。压缩的程序包占用空间较小,能够降低该第一程序包在第一存储器上占用的存储空间。
[0074] 在一些实施例中,所述从所述第二虚拟设备启动所述第一应用程序,可包括:
[0075] 所述第二应用程序从所述第二虚拟设备启动所述第一应用程序。
[0076] 也即,该第二应用程序在构建第二虚拟设备后,还能够引导第一应用程序启动,而无需该第一应用程序自设引导程序,也无需电子设备的操作系统或者如UEFI等接口来启动该第一应用程序,有益于提高该信息处理方法的实用性。
[0077] 在一些实施例中,该第二程序包可存储在第三存储器上,在启动所述第二应用程序之前,还可包括:
[0078] 基于第二程序包构建第三虚拟设备;
[0079] 侦测所述第三虚拟设备并从所述第三虚拟设备上启动所述第二应用程序。
[0080] 该第三存储器可为不同于所述第一存储器的另一个存储器,例如BMC上的另一个存储器,或电子设备其他位置的存储器。在这种情况下,第二程序包与第一程序包存储在不同位置,基于存储在第一存储器上的第一程序包构建第一虚拟设备的同时、之前或者之后,还基于存储在第三存储器上的第二程序包构建第三虚拟设备。电子设备在获取第一程序包之前,首先侦测该第三虚拟设备并从该第三虚拟设备上启动该第二应用程序,然后该第二应用程序基于所述第一程序包在电子设备的第二存储器上构建所述第二虚拟设备,并且由该第二应用程序从第二虚拟设备启动所述第一应用程序。这样,第二应用程序基于第三存储器运行,相较于基于第一程序包和第二程序共同包构建第一虚拟设备,基于第一程序包和第二程序包分别构建第一虚拟设备和第三虚拟设备,第二应用程序的运行也不依赖于第一存储器,能够进一步降低对第一存储器的依赖程度。
[0081] 配合图3所示,在一些实施例中,所述基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备,包括:
[0082] S201,在所述电子设备的第二存储器上分配存储空间;
[0083] S202,将所述第一程序包复制到所述存储空间;
[0084] S203,基于存储在所述存储空间内的所述第一程序包构建所述第二虚拟设备。
[0085] 仍然以该电子设备为笔记本电脑,该第二存储器为内存储器为例,首先第二应用程序请求笔记本电脑的内存储器分配用于存储第一程序包的存储空间,然后将第一程序包复制到该存储空间,如果该第一程序包为压缩的程序包,则解压该压缩的程序包并获得解压后的第一程序包,在获取到第一程序包之后,可基于第一程序包创建第二虚拟设备镜像文件,然后挂载该第二虚拟设备镜像文件为第二虚拟设备,并在内存储器上注册该第二虚拟设备以形成可识别接口,之后启用该第二虚拟设备即完成该第二虚拟设备的构建过程。
[0086] 该第二虚拟设备可配置为在第一应用程序运行结束后自动从内存储器中删除,以避免占用内存储器空间。该第二虚拟设备还可配置为在内存储器的占用率大于预设阈值时,从该内存储器上删除,这样,在内存储器的占用率较小时,第二虚拟设备保留在内存储器中,以在需要时能够快速启动,在内存储器的占用率较大时,能够从内存储器上删除,避免因占用内存储器的空间而影响例如图像处理程序等需要占用较大内存空间的应用程序的运行。亦或是,在电子设备满足第一预设条件时,将该第二虚拟设备相关数据转存在非易失性存储器中,并在电子设备满足第二预设条件时,将存储在该非易失性存储器中的第二虚拟设备相关数据调用至内存储器中。例如,在电子设备关机、待机、休眠、睡眠等非使用状态情况下,将该第二虚拟设备相关数据转存在如笔记本电脑的硬盘中,当电子设备唤醒或再次启动时,可从硬盘中将该第二虚拟设备相关数据调用至内存储器中,以便于能够快速启动该第一应用程序。
[0087] 本申请实施例还提供了一种电子设备,包括:
[0088] 构建模块10,用于基于存储在第一存储器上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序;
[0089] 获取模块20,用于当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备;
[0090] 启动模块30,用于从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。
[0091] 第一程序包存储在第一存储器上,实施过程中,构建模块10基于第一程序包构建第一虚拟设备,电子设备启动过程中侦测到第一虚拟设备后,获取模块20从第一虚拟设备获取第一程序包,基于第一程序包在电子设备的第二存储器上构建第二虚拟设备,然后启动模块30从第二虚拟设备启动第一程序包所包含的第一应用程序。这样,第一应用程序及相对应的数据均存储在第二存储器上,第一应用程序从第二存储器上启动,并从第二存储器上获取相对应的数据,启动后第一应用程序的运行过程不依赖第一存储器,第一存储器断开或故障均不会影响到第一应用程序的运行,第一应用程序运行更加稳定。
[0092] 下面结合附图对本申请优选的实施方式进行详细说明。
[0093] 图4为本申请实施例的电子设备的结构框图,参见图4所示,该电子设备包括:
[0094] 构建模块10,用于基于存储在第一存储器上的第一程序包构建第一虚拟设备,其中所述第一程序包包含至少一个第一应用程序。
[0095] 其中,所述第一存储器可为电子设备上的存储器,也可为通过例如接口连接在电子设备上的外接存储器。所述第一存储器可以采用各种形式,包括但不限于例如易失性存储器和/或非易失性存储器。该第一程序包可包括一个或多个第一应用程序,该第一应用程序可为例如硬件检测应用程序、硬件驱动应用程序、系统设置应用程序、操作系统引导程序或其他类型的应用程序,此处不做具体限定。在获取到第一存储器上的第一程序包后,可基于第一程序包创建第一虚拟设备镜像文件,之后挂载该第一虚拟设备镜像文件为第一虚拟设备,并启用该第一虚拟设备。第一虚拟设备为基于第一程序包虚拟的逻辑设备,将第一程序包虚拟为第一虚拟设备,以便于接口或其他设备能够快速识别到该第一虚拟设备并获取该第一程序包。
[0096] 获取模块20,用于当在电子设备启动过程中侦测到所述第一虚拟设备后,获取所述第一程序包并基于所述第一程序包在电子设备的第二存储器上构建第二虚拟设备。
[0097] 该电子设备可为台式电脑、一体式电脑、笔记本电脑、平板电脑、智能手机等,此处不做具体限定。该电子设备启动过程中可基于接口侦测第一虚拟设备,也可基于操作系统侦测第一虚拟设备。在侦测到第一虚拟设备后,获取模块20能够获取第一程序包,如从第一虚拟设备中提取第一程序包,并将第一程序包复制到第二存储器上。该第二存储器为电子设备上的存储器,该第二存储器也可以采用各种形式,包括但不限于例如易失性存储器和/或非易失性存储器。之后,基于第一程序包在第二存储器上构建第二个虚拟的逻辑设备,这样就将第一程序包存储于第二存储器上,以便于第二虚拟设备能够被快速识别并获取其中的第一程序包。
[0098] 启动模块30,用于从所述第二虚拟设备启动所述第一应用程序,以从所述第二存储器调用与所述第一应用程序相对应的数据。
[0099] 该第一应用程序可在引导程序的引导下启动,也可在电子设备的运行状态满足预设条件时启动,或者也可在用户的手动控制下启动。由于第一应用程序本身及相对应的数据均存储在第二存储器内,所以,第一应用程序运行过程中均从第二存储器调用相对应的数据,而无需从第一存储器调用相对应的数据。
[0100] 以该电子设备为笔记本电脑为例,该第一存储器可为基板管理控制器(BMC)上的内嵌式存储器(eMMC),该第一程序包可为可扩展固件接口(EFI)的应用程序包,该第一应用程序为EFI应用程序,如硬件驱动程序、操作系统引导程序等,该第二存储器可为笔记本电脑的内存储器。在电子设备启动过程中,首先,BMC基于存储在eMMC上的第一程序包构建第一虚拟设备;然后,通过例如统一可扩展固定接口(UEFI)侦测该第一虚拟设备,并从该第一虚拟设备获取第一程序包,进而基于该第一程序包在内存储器上创建第二虚拟设备;最后,从内存储器上的第二虚拟设备启动EFI应用程序。由于该EFI应用程序本身及相对应的数据均存储在内存储器上,所以,该EFI应用程序启动后无需在依赖BMC,无需占用BMC资源,有益于降低BMC负载,且BMC运行稳定与否均不会影响到EFI应用程序的运行,使得该EFI应用程序的运行稳定性较高,另外,从内存储器上读取数据的速度要远高于BMC,将EFI应用程序配置为从内存储器上调取相对应的数据,有益于提高该EFI应用程序的运行速度。
[0101] 在一些实施例中,所述构建模块10具体用于:
[0102] 基于存储在所述第一存储器上的所述第一程序包和第二程序包构建第一虚拟设备,其中所述第二程序包包含至少一个第二应用程序。
[0103] 其中,该第二应用程序可为加载程序或引导程序,也可如第一应用程序一样,为硬件检测应用程序、硬件驱动应用程序、系统设置应用程序、操作系统引导程序或其他类型的应用程序。第二程序包可存储在第一存储器上,也可存储在其他存储器上,只要在例如BMC等设备构建第一虚拟设备时能够获取到该第二程序包,并将其与第一程序包共同构建为第一虚拟设备即可。电子设备在侦测到第一虚拟设备后,除却可以获取第一程序包外,还可以获取该第二程序包,或者启动该第二程序包中的第二应用程序。
[0104] 配合图5所示,在一些实施例中,所述获取模块20包括:
[0105] 启动单元21,用于启动所述第二应用程序;
[0106] 构建单元22,用于通过所述第二应用程序基于所述第一程序包在电子设备的第二存储器上构建所述第二虚拟设备。
[0107] 在具体实施过程中,可通过例如笔记本电脑的BMC基于第一程序包和第二程序包构建第一虚拟设备,笔记本电脑启动过程中UEFI能够侦测到该第一虚拟设备,并通过启动单元21启动该第一虚拟设备上的第二程序包中第二应用程序,该第二应用程序可为加载程序,基于第一程序包在电子设备的第二存储器上构建第二虚拟设备的过程可由该第二应用程序执行。也即,第二应用程序启动后,构建单元22通过第二应用程序获取该第一程序包并基于该第一程序包在如笔记本电脑的内存储器上构建第二虚拟设备。这样,无需对第一应用程序或者第一程序包的内容或格式进行修改,使得该电子设备可以普遍适用于多种应用程序的加载启动,使其适于推广应用。在一个优选实施例中,该第一程序包可为压缩的程序包,第二应用程序启动之后,首先获取并解压所述第一程序包,然后基于解压后的所述第一程序包在电子设备的第二存储器上构建第二虚拟设备。压缩的程序包占用空间较小,能够降低该第一程序包在第一存储器上占用的存储空间。
[0108] 在一些实施例中,所述启动模块30具体用于:
[0109] 通过所述第二应用程序从所述第二虚拟设备启动所述第一应用程序。
[0110] 也即,该第二应用程序在构建第二虚拟设备后,还能够引导第一应用程序启动,而无需该第一应用程序自设引导程序,也无需电子设备的操作系统或者如UEFI等接口来启动该第一应用程序,有益于提高该电子设备的实用性。
[0111] 在一些实施例中,该第二程序包可存储在第三存储器上;
[0112] 所述构建模块10还用于,基于第二程序包构建第三虚拟设备;
[0113] 所述获取模块20还用于,侦测所述第三虚拟设备并从所述第三虚拟设备上启动所述第二应用程序。
[0114] 该第三存储器可为不同于所述第一存储器的另一个存储器,例如BMC上的另一个存储器,或电子设备其他位置的存储器。在这种情况下,第二程序包与第一程序包存储在不同位置,基于存储在第一存储器上的第一程序包构建第一虚拟设备的同时、之前或者之后,还基于存储在第三存储器上的第二程序包构建第三虚拟设备。电子设备在获取第一程序包之前,首先侦测该第三虚拟设备并从该第三虚拟设备上启动该第二应用程序,然后该第二应用程序基于所述第一程序包在电子设备的第二存储器上构建所述第二虚拟设备,并且由该第二应用程序从第二虚拟设备启动所述第一应用程序。这样,第二应用程序基于第三存储器运行,相较于基于第一程序包和第二程序共同包构建第一虚拟设备,基于第一程序包和第二程序包分别构建第一虚拟设备和第三虚拟设备,第二应用程序的运行也不依赖于第一存储器,能够进一步降低对第一存储器的依赖程度。
[0115] 在一些实施例中,所述构建单元22具体用于:
[0116] 在所述电子设备的第二存储器上分配存储空间;
[0117] 将所述第一程序包复制到所述存储空间;
[0118] 基于存储在所述存储空间内的所述第一程序包构建所述第二虚拟设备。
[0119] 仍然以该电子设备为笔记本电脑,该第二存储器为内存储器为例,首先第二应用程序请求笔记本电脑的内存储器分配用于存储第一程序包的存储空间,然后将第一程序包复制到该存储空间,如果该第一程序包为压缩的程序包,则解压该压缩的程序包并获得解压后的第一程序包,在获取到第一程序包之后,可基于第一程序包创建第二虚拟设备镜像文件,然后挂载该第二虚拟设备镜像文件为第二虚拟设备,并在内存储器上注册该第二虚拟设备以形成可识别接口,之后启用该第二虚拟设备即完成该第二虚拟设备的构建过程。
[0120] 该第二虚拟设备可配置为在第一应用程序运行结束后自动从内存储器中删除,以避免占用内存储器空间。该第二虚拟设备还可配置为在内存储器的占用率大于预设阈值时,从该内存储器上删除,这样,在内存储器的占用率较小时,第二虚拟设备保留在内存储器中,以在需要时能够快速启动,在内存储器的占用率较大时,能够从内存储器上删除,避免因占用内存储器的空间而影响例如图像处理程序等需要占用较大内存空间的应用程序的运行。亦或是,在电子设备满足第一预设条件时,将该第二虚拟设备相关数据转存在非易失性存储器中,并在电子设备满足第二预设条件时,将存储在该非易失性存储器中的第二虚拟设备相关数据调用至内存储器中。例如,在电子设备关机、待机、休眠、睡眠等非使用状态情况下,将该第二虚拟设备相关数据转存在如笔记本电脑的硬盘中,当电子设备唤醒或再次启动时,可从硬盘中将该第二虚拟设备相关数据调用至内存储器中,以便于能够快速启动该第一应用程序。
[0121] 以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈