CN110704157A - 一种应用启动方法、相关装置及介质 - Google Patents

一种应用启动方法、相关装置及介质 Download PDF

Info

Publication number
CN110704157A
CN110704157A CN201910868555.0A CN201910868555A CN110704157A CN 110704157 A CN110704157 A CN 110704157A CN 201910868555 A CN201910868555 A CN 201910868555A CN 110704157 A CN110704157 A CN 110704157A
Authority
CN
China
Prior art keywords
virtual machine
application
machine instance
identifier
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910868555.0A
Other languages
English (en)
Other versions
CN110704157B (zh
Inventor
刘新
王志琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN201910868555.0A priority Critical patent/CN110704157B/zh
Publication of CN110704157A publication Critical patent/CN110704157A/zh
Application granted granted Critical
Publication of CN110704157B publication Critical patent/CN110704157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种应用启动方法、相关装置及介质,其中,该方法包括:接收用于启动第一应用的启动指令;响应启动指令,从虚拟机缓存区获取与第一应用对应的第一虚拟机实例,虚拟机缓存区包括于内存中;在第一虚拟机实例中运行第一应用。可见,通过实施该方法,终端设备通过从虚拟机缓存区中获取第一应用对应的第一虚拟机实例,在第一虚拟机实例中运行第一应用,提高了应用启动的速度。

Description

一种应用启动方法、相关装置及介质
技术领域
本申请涉及通信技术领域,尤其涉及一种应用启动方法、相关装置及介质。
背景技术
随着计算机和通信网络的快速发展,手机等终端产品迭代更新速度加快,各类应用程序更是层出不穷。目前终端设备在启动应用时,会为应用创建一个虚拟机实例来运行该应用。在应用进程结束后,终端设备会回收虚拟机实例所占用的内存。再次启动该应用时,终端设备会重新为该应用新建一个虚拟机实例,并在新建的虚拟机实例中运行该应用。可见,每次启动同一个应用时,都会为该应用创建一个虚拟机实例才能启动该应用,这样会导致应用启动的速度变慢。
发明内容
本申请实施例提供了一种应用启动方法、相关装置及介质,有利于提高应用启动速度。
本申请实施例第一方面提供了一种应用启动方法,该方法包括:
接收用于启动第一应用的启动指令;响应启动指令,从虚拟机缓存区获取与第一应用对应的第一虚拟机实例,该虚拟机缓存区包括于内存中;在第一虚拟机实例中运行第一应用。可见,终端设备通过从缓存区直接获取第一应用对应的第一虚拟机实例的方式,不需要每次重新建立虚拟机实例,提高了应用启动的速度。
作为一种可选的实施方式,终端设备响应启动指令,从虚拟机缓存区获取与第一应用对应的第一虚拟机实例,虚拟机缓存区包括于内存中的具体实施方式包括以下步骤:
终端设备响应启动指令,根据预存的应用标识与虚拟机实例标识的对应关系,获取第一应用的标识对应的第一虚拟机实例的标识。根据第一虚拟机的标识在虚拟机缓存区获取第一虚拟机实例。可见,通过预存应用标识与虚拟机实例标识的对应关系的方式,可使终端设备快速找到第一应用的标识对应的第一虚拟机实例的标识。
作为一种可选的实施方式,终端设备接收用于启动第一应用的启动指令之后;若不存在与第一应用的标识对应的第一虚拟机的标识,则创建第一虚拟机实例;建立并存储第一应用的标识和第一虚拟机的标识之间的对应关系;在第一虚拟机实例中运行第一应用,并在运行结束之后,将第一虚拟机实例存储至虚拟机缓存区。基于该可选方式,为未创建虚拟机实例的应用创建虚拟机实例并存放在虚拟机缓存区,有利于应用再次快速启动。
作为一种可选的实施方式,启动终端设备;获取记录的第二虚拟机实例的标识,第二虚拟机实例为上一次关机之前虚拟机缓存区内的虚拟机实例;创建第三虚拟机实例;将第二虚拟机实例存放在虚拟机缓存区。可见,终端设备可以记录关机之前虚拟机缓存区的虚拟机标识,并在重新启动时,自动创建关机之前的虚拟机实例。基于该可选方式,可以恢复上一次关机之前的虚拟机实例。
作为一种可选的实施方式,判断当前剩余内存是否小于第一阈值,剩余内存为除虚拟机缓存区之外的内存;若是,则从虚拟机缓存区中确定第三虚拟机实例;回收虚拟机缓存区中第三虚拟机实例对应的内存;缩小虚拟机缓存区的内存大小。基于该可选方式,终端设备能够灵活地调节缓存区的大小,提高应用在运行时的流畅度。
作为一种可选的实施方式,建立并存储第一虚拟机实例的标识和第一虚拟机实例的内存大小之间的对应关系;回收虚拟机缓存区中第三虚拟机实例对应的内存之后,该方法还包括:
接收第二应用的启动指令;根据预存的应用标识与虚拟机实例标识的对应关系,确定第二应用对应的第三虚拟机实例的标识;根据预存的虚拟机标识与虚拟机实例内存大小之间的对应关系,获取第三虚拟机实例的标识对应的第三虚拟机实例的内存大小;根据第二虚拟机实例的内存大小创建第三虚拟机实例。基于该可选方式,当接收到被回收了虚拟机实例的应用的启动指令时,终端设备能够快速创建虚拟机实例。
本申请实施例第二方面提供了一种应用启动装置,包括:
接收单元,用于接收用于启动第一应用的启动指令;
获取单元,用于从虚拟机缓存区获取与第一应用对应的第一虚拟机实例,虚拟机缓存区包括于内存中;
创建单元,用于当不存在与第一应用的标识对应的第一虚拟机实例的标识时,创建第一虚拟机实例;
处理单元,用于在第一虚拟机实例中运行第一应用。
作为一种可选方式,终端设备响应启动指令,根据预存的应用标识与虚拟机实例标识的对应关系,获取单元还用于获取第一应用的标识对应的第一虚拟机实例的标识。
作为一种可选的实施方式,接收单元接收用于启动第一应用的启动指令,若不存在与第一应用的标识对应的第一虚拟机的标识,则创建第一虚拟机实例之后,创建单元还用于建立并存储第一应用的标识和第一虚拟机的标识之间的对应关系;处理单元还用于将第一虚拟机实例存放于虚拟机缓存区。
作为一种可选的实施方式,启动终端设备,获取单元还用于获取记录的第二虚拟机实例的标识;创建单元还用于创建第二虚拟机实例;处理单元还用于将第二虚拟机实例存放在虚拟机缓存区。
作为一种可选的实施方式,处理单元还用于判断当前剩余内存是否小于第一阈值,剩余内存为除虚拟机缓存区之外的内存;若是,则处理单元还用于从虚拟机缓存区中确定第三虚拟机实例;处理单元还用于回收虚拟机缓存区中第三虚拟机实例对应的内存;处理单元还用于缩小虚拟机缓存区的内存大小。
作为一种可选的实施方式,创建单元还用于建立并存储第一虚拟机实例的标识和第一虚拟机实例的内存大小之间的对应关系;在回收虚拟机缓存区中第三虚拟机实例对应的内存之后,接收单元还用于接收第二应用的启动指令;根据预存的应用标识与虚拟机实例标识的对应关系,处理单元还用于确定第二应用对应的第三虚拟机实例的标识;根据预存的虚拟机标识与虚拟机实例内存大小之间的对应关系,获取单元还用于获取第三虚拟机实例的标识对应的第三虚拟机实例的内存大小;创建单元还用于根据第三虚拟机实例的内存大小创建第三虚拟机实例。
该应用启动装置解决问题的实施方式以及有益效果可以参见上述第一方面任意一种可选的实施方式中的方法以及有益效果,重复之处不再赘述。
本申请实施例第三方面提供了一种终端设备,包括处理器和存储器,处理器和存储器相互连接,其中,存储器用于存储计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行如权利如本申请实施例第一方面所描述的方法。该终端设备解决问题的实施方式以及有益效果可以参见上述第一方面任意一种可选的实施方式中的方法以及有益效果,重复之处不再赘述。
本申请实施例第四方面提供了一种计算机可读存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执行如本申请实施例第一方面所描述的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种终端设备的结构图;
图2是本申请实施例提供的一种应用启动方法的流程示意图;
图3是本申请实施例提供的一种终端设备的内存结构示意图;
图4是本申请实施例提供的一种应用启动方法的流程示意图;
图5是本申请实施例提供的一种终端设备的界面示意图;
图6是本申请实施例提供的一种应用启动方法的流程示意图;
图7是本申请实施例提供的一种应用启动方法的流程示意图;
图8是本申请实施例提供的一种应用启动装置的结构示意图;
图9是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
应理解,本申请实施例的技术方案可具体应用于各类终端设备,终端设备具体可以是指用户用于运行应用程序所使用的终端。终端设备可以可包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(MobileInternetDevices,简称MID)、智能手表、个人数字助理(Personal DigitalAssistant,简称PDA)、手环及智能电视等设备,本申请实施例不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的终端设备的软件系统进行详细介绍。其中,终端设备软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端设备的软件结构。如图1所示,图1是本申请实施例的终端设备的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,内核层和安全操作系统层。
应用程序层可以包括一系列应用程序包。如图1所示,应用程序包可以包括相机,文件分享应用,防病毒应用,图库,通话,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图1所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供终端设备的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。
Android Runtime包括核心库和虚拟机,其中,虚拟机可以是Dalvik虚拟机,Dalvik虚拟机是Android移动设备平台的核心组成部分之一。或者,还可以是windows操作系统上的ubuntu虚拟机等其他虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面进一步对本申请实施例提供的应用启动方法进行介绍。
请参见图2,图2为本申请实施例提供的一种应用启动方法的流程示意图。如图2所示,该应用启动方法可以包括201~203部分。其中:
201、终端设备接收用于启动第一应用的启动指令。
其中,第一应用可以是终端设备上的任一应用,可以是音乐播放器、视频播放器、聊天应用等任一应用,本申请实施例不做限定。
202、终端设备响应该启动指令,从虚拟机缓存区获取与第一应用对应的第一虚拟机实例。
本申请实施例中,在终端设备接收到启动第一应用的启动指令之后,可以从虚拟机缓存区获取与第一应用对应的第一虚拟机实例。其中,虚拟机缓存区包括于终端设备的内存中。
其中,图3为终端设备的内存的结构示意图。如图3所示,虚拟机缓存区包含于内存中,虚拟机缓存区包括一个或多个虚拟机实例,该虚拟机实例可以是Dalvik虚拟机实例,或者可以是其他虚拟机实例。图3虚拟机缓存区包括三个虚拟机实例仅用于示例,并不构成对本申请实施例的限定。
作为一种可选的实施方式,终端设备响应启动指令,从虚拟机缓存区获取与第一应用对应的第一虚拟机实例的具体实施方式包括以下步骤11)~12):
11)终端设备响应启动指令,根据预存的应用标识与虚拟机实例标识的对应关系,获取第一应用的标识对应的第一虚拟机实例的标识。
12)终端设备根据第一虚拟机的标识在虚拟机缓存区获取第一虚拟机实例。
步骤11)~12)中,终端设备在运行应用前可根据预存的应用标识与虚拟机实例标识的对应关系通过第一应用的标识找到第一应用的标识对应的第一虚拟机的标识,再通过第一虚拟机的标识找到第一虚拟机实例。其中,应用标识可以是应用ID等可以唯一标识该应用的信息,本申请实施例不做限定。其中,预存的对应关系包含一个或多个应用标识与虚拟机标识的对应关系,本申请实施例不做限定。
例如,如下表1所示,当前预存的对应关系包括应用1的标识与虚拟机实例1的标识的对应关系,应用2的标识与虚拟机实例2的标识的对应关系,应用3的标识与虚拟机实例3的标识的对应关系和应用4的标识与虚拟机实例4的标识的对应关系。当接收到启动应用1的启动指令后,在预存的应用标识与虚拟机实例标识的对应关系中,确定应用1的标识存在对应的虚拟机实例1的标识;然后在虚拟机缓存区获取应用1虚拟机的标识对应的虚拟机实例1,终端设备在虚拟机实例1中运行应用1。
表1
应用标识 虚拟机实例的标识
应用1的标识 虚拟机实例1的标识
应用2的标识 虚拟机实例2的标识
应用3的标识 虚拟机实例3的标识
应用4的标识 虚拟机实例4的标识
可见,通过预存应用标识与虚拟机实例标识的对应关系的方式,可使终端设备快速找到与第一应用的标识对应的第一虚拟机实例的标识。
203、终端设备在第一虚拟机实例中运行第一应用。
具体地,终端设备将第一应用加载至第一虚拟机实例中进行运行。
可见,通过图2所描述的方法,终端设备通过从缓存区直接获取第一应用对应的第一虚拟机实例的方式,不需要每次重新建立虚拟机实例,提高了应用启动的速度。
请参见图4,图4为本申请实施例提供的一种应用启动方法的流程示意图。如图4所示,该应用启动方法可以包括401~407部分。其中:
401、终端设备接收用于启动第一应用的启动指令。
402、终端设备响应启动指令,根据预存的应用标识与虚拟机实例标识的对应关系,获取第一应用的标识对应的第一虚拟机实例的标识,若获取成功执行步骤403,否则执行步骤405。
作为一种可选的实施方式,第一虚拟机的标识可以为哈希值,在创建第一虚拟机实例的时候,根据智能合约为第一虚拟机实例生成对应的哈希值。可见,通过哈希值的唯一特性可以唯一标识该第一虚拟机实例。
403、终端设备根据第一虚拟机的标识在虚拟机缓存区获取第一虚拟机实例。
404、终端设备在第一虚拟机实例中运行第一应用。
405、终端设备创建第一虚拟机实例。
例如,如下表2所示,当前预存的对应关系包括应用1的标识与虚拟机实例1的标识的对应关系,应用2的标识与虚拟机实例2的标识的对应关系和应用3的标识与虚拟机实例3的标识的对应关系,当接收到启动应用4的启动指令后,在预存的应用标识与虚拟机实例标识的对应关系中,确定应用4的标识不存在对应的虚拟机实例4的标识,则创建应用4的虚拟机实例4并存储应用4与虚拟机实例4的对应关系。
表2
应用标识 虚拟机实例的标识
应用1的标识 虚拟机实例1的标识
应用2的标识 虚拟机实例2的标识
应用3的标识 虚拟机实例3的标识
应用4的标识
406、终端设备建立并存储第一应用的标识和第一虚拟机实例的标识之间的对应关系。
具体的,终端设备建立的对应关系可存储在硬盘等外存中,并且在第一虚拟机实例中运行第一应用结束之后,终端设备将第一虚拟机实例存放于虚拟机缓存区。
作为一种可选的实施方式,建立并存储第一应用的标识和第一虚拟机的标识之间的对应关系之前,具体实施方式还包括以下步骤21)~步骤23):
21)判断第一应用是否为常用应用。
22)若是,则执行建立并存储第一应用的标识和第一虚拟机的标识之间的对应关系的步骤。
可选的,终端设备确定第一应用为常用应用之后,还可以储存第一虚拟机实例的标识与第一虚拟机实例内存大小之间的对应关系,该对应关系可存储在硬盘等外存中。
23)若第一应用不为常用应用,则在第一虚拟机实例中运行第一应用结束后直接回收第一虚拟机实例。
下面对判断第一应用是否为常用应用的三种具体实施方式进行介绍:
方式一,终端设备判断在预设时间内,第一应用启动的实际次数是否超过预设次数;若是,则确定第一应用为常用应用。
其中,预设时间,预设次数可以是由用户预先设定。例如,预设时间可以是1天,3天,5天,7天等,预设次数可以是5次,10次,20次,50次等。
方式二,终端设备判断在预设时间内,第一应用的使用时长是否超过预设时长;若是,则确定第一应用为常用应用。
其中,预设时间,预设时长可以是由用户预先设定,预设时间可以是1天,3天,5天,7天等,预设时长可以是1小时,3小时,5小时,10小时等。
方式三,用户可以预先设置常用应用。
例如,如图5所示,用户通过一个功能键进入常用应用设置界面,该常用应用设置界面包括手机上所有的应用,用户可选择任意一个或多个应用作为常用应用。例如用户选择应用1作为常用应用,当应用1启动时,终端设备确定应用1为常用应用,则创建应用1对应的虚拟机实例1,并存储应用1的标识和虚拟机实例1的标识之间的对应关系。
407、终端设备在第一虚拟机实例中运行所述第一应用,并在运行结束之后,将第一虚拟机实例存储至虚拟机缓存区。
可见,通过图4所描述的方法,终端设备可根据预存的应用标识与虚拟机实例标识的对应关系确定与第一应用的标识对应的第一虚拟机的标识,若不存在与第一应用的标识对应的第一虚拟机的标识,则创建第一虚拟机实例,基于该技术方案,可以为未创建虚拟机实例的应用创建虚拟机实例并存放在虚拟机缓存区,有利于应用再次快速启动。
请参见图6,图6为本申请实施例提供的一种应用启动方法的流程示意图。如图9所示,该应用方法可以包括601~607部分。其中:
601、终端设备接收用于启动第一应用的启动指令。
602、终端设备响应启动指令,从虚拟机缓存区获取与第一应用对应的第一虚拟机实例。
603、终端设备在第一虚拟机实例中运行第一应用。
604、启动终端设备。
本申请实施例中,启动终端设备可以是在电量不足自动关机后启动终端设备,可以是用户关机后启动终端设备,可以是终端设备自动重启,也可以是用户重启终端设备等,本申请实施例不做限定。
本申请实施例中,当启动终端设备时,虚拟机缓存区中所有的虚拟机实例都会被回收。
605、终端设备获取记录的第二虚拟机实例的标识。
在启动终端设备之后,终端设备会在硬盘等外存获取记录的第二虚拟机实例的标识,其中,该第二虚拟机实例为上一次关机之前虚拟机缓存区内的虚拟机实例,该第二虚拟机实例可以是一个或多个虚拟机实例。
606、终端设备创建第二虚拟机实例。
具体的,终端设备在虚拟机缓存区中的获取第二虚拟机实例的标识之后,可以根据预存的应用标识与虚拟机实例标识的对应关系,确定第二虚拟机实例的标识对应的应用的标识。终端设备再根据预存的虚拟机标识与虚拟机实例内存大小之间的对应关系,确定第二虚拟机实例的标识对应的第二虚拟机实例内存大小。根据第二虚拟机实例的标识对应的应用的标识和第二虚拟机的内存大小创建第二虚拟机实例,并将预存的第二虚拟机实例的标识分配给创建的虚拟机实例。
例如,如下表3所示,当前预存的对应关系包括应用1的标识与虚拟机实例1内存大小的对应关系,应用2的标识与虚拟机实例2内存大小的对应关系。终端设备因电量不足自动关机,当终端设备在关机之前,虚拟机缓存区中存在虚拟机实例1。在重新充电并启动终端设备之后,终端设备会记录在终端设备在关机之前,终端设备虚拟机缓存区中的虚拟机实例1的标识;根据预存的应用标识与虚拟机实例标识的对应关系,终端设备确定与虚拟机实例1的标识对应的应用1的标识;终端设备再根据预存的虚拟机标识与虚拟机实例内存大小之间的对应关系确定与虚拟机实例1的标识对应的虚拟机实例1内存大小;最后根据应用1的标识和虚拟机实例1内存大小终端设备重新创建虚拟机实例1,并将预存的虚拟机实例1的标识分配给虚拟机实例1。
表3
应用标识 虚拟机实例内存大小
应用1的标识 虚拟机实例1内存大小
应用2的标识 虚拟机实例2内存大小
607、终端设备将第二虚拟机实例存放在虚拟机缓存区。
可见,通过图6所描述的方法,终端设备可以记录关机之前虚拟机缓存区的虚拟机标识,并在重新启动时,自动创建关机之前的虚拟机实例,基于该可选方式可以恢复上一次关机之前的虚拟机实例。
请参见图7,图7为本申请实施例提供的一种应用启动方法的流程示意图。如图7所示,该应用启动方法可以包括701~711部分。其中:
701、终端设备接收用于启动第一应用的启动指令。
702、终端设备响应该启动指令,根据预存的应用标识与虚拟机实例标识的对应关系,获取第一应用的标识对应的第一虚拟机实例的标识,若获取成功则执行步骤703,否则执行步骤705。
703、终端设备根据第一虚拟机实例的标识在虚拟机缓存区获取第一虚拟机实例。
704、终端设备在第一虚拟机实例中运行第一应用。
705、终端设备则创建第一虚拟机实例。
706、终端设备建立并存储第一应用的标识和第一虚拟机实例的标识之间的对应关系。
707、终端设备在第一虚拟机实例中运行所述第一应用,并在运行结束之后,将第一虚拟机实例存储至虚拟机缓存区。
708、终端设备判断当前剩余内存是否小于第一阈值。
可选的,终端设备可以以预设时间为周期来判断当前剩余内存是否小于第一阈值。
709、若是,终端设备从虚拟机缓存区中确定第三虚拟机实例。
在当前剩余内存小于第一阈值时,终端设备从虚拟机缓存区中确定第三虚拟机。其中,第三虚拟机可以是一个或多个虚拟机实例。
可选的,当运行应用时,出现卡顿,延迟,降速等情况时终端设备从虚拟机缓存区中确定第三虚拟机。例如,可以是在使用视频播放应用时出现画质降低、动画卡顿,可以是在发送文件时出现速度降低,发送文件出现延迟等情况。
下面对如何确定第三虚拟机实例的具体实施方式进行介绍:
方式一,第三虚拟机实例可以是超过预设天数未使用的虚拟机实例。预设天数可以由用户设定,预设天数的值可以是1天,3天,5天,7天,10天等。
方式二,第三虚拟机也可以是虚拟机缓存区中距离上一次启动时间的时间间隔大于预设时长的一个或多个虚拟机实例。
方式三,终端设备确定虚拟机缓存区中的各个虚拟机实例对应的应用;终端设备输出应用列表或者用户通过一个功能键打开应用列表,该应用列表中包括虚拟机缓存区中的各个虚拟机实例对应的应用;接收并确定用户对应用列表中的应用的选择指令,确定选择指令中的应用对应的虚拟机实例为第三虚拟机实例。
710、终端设备回收虚拟机缓存区中第三虚拟机实例对应的内存。
在终端设备确定第三虚拟机实例之后,终端设备回收虚拟机缓存区中的第三虚拟机实例对应的内存。
711、终端设备缩小虚拟机缓存区的内存大小。
其中,缩小虚拟机缓存区的内存大小的值可以是缩小一个固定的内存值,可以是缩小回收的第三虚拟机实例的内存值。其中,固定内存值可以是由用户设定。
其中,可在步骤701~步骤706中任一步骤执行之后,执行步骤707~步骤710,图7所描述的方法仅用于示例,并不构成对本申请实施例的限定。
例如,在终端设备在第一虚拟机实例中运行第一应用之后,检测到剩余内存小于第一阈值时,终端设备确定第三虚拟机实例为虚拟机缓存区超过3天未使用的虚拟机实例1和虚拟机实例2;然后终端设备回收虚拟机缓存区中虚拟机实例1和虚拟机实例2对应的内存,并缩小虚拟机缓存区的内存大小。
可见,通过图7所描述的方法,当出现内存不足的情况时,终端设备能够灵活地调节缓存区的大小,提高应用在运行时的流畅度。
作为一种可选的实施方式,创建第一虚拟机实例之后,具体实施方式还包括:
建立并存储第一虚拟机实例的标识和第一虚拟机实例的内存大小之间的对应关系。
回收虚拟机缓存区中第三虚拟机实例对应的内存之后,具体实施方式还包括以下步骤31)~34):
31)接收第二应用的启动指令。
其中,第二应用为已建立应用标识与虚拟机实例标识的对应关系的应用。
32)根据预存的应用标识与虚拟机实例标识的对应关系,确定第二应用对应的第三虚拟机实例的标识。
33)根据预存的虚拟机标识与虚拟机实例内存大小之间的对应关系,获取第三虚拟机实例的标识对应的第二虚拟机实例的内存大小。
34)根据第三虚拟机实例的内存大小创建第三虚拟机实例。
例如,在应用1第一次启动时,不存在与应用1的标识对应的虚拟机实例的标识,终端设备则创建应用1的虚拟机实例;在创建虚拟机实例之后建立并存储应用1的标识与虚拟机实例1的标识的对应关系以及虚拟机实例1的标识和虚拟机实例1的内存大小之间的对应关系;当在运行过程中出现内存不足的情况下,虚拟机实例1内存被回收,当应用1再次启动时,终端设备通过预存的应用1标识与虚拟机实例标识的对应关系,确定应用1的标识对应的虚拟机实例1的标识,根据虚拟机实例1的内存大小创建虚拟机实例1,并将预先保存的虚拟机实例1的标识分配给创建的虚拟机实例1。
可见,基于该可选方式,当接收到被回收了虚拟机实例的应用的启动指令时,终端设备能够快速创建虚拟机实例。
请参见图8,图8示出了本申请实施例的一种应用启动装置的结构示意图。图8所示的通信装置可以用于执行上述图2、图4、图6和图7中所描述的方法实施例中终端设备的部分或全部功能。图8所示的应用启动装置可以包括接收单元801、获取单元802、创建单元803和处理单元804。其中:
接收单元801,用于接收用于启动第一应用的启动指令;获取单元802,用于从虚拟机缓存区获取与第一应用对应的第一虚拟机实例,虚拟机缓存区包括于内存中;当不存在与第一应用的标识对应的第一虚拟机实例的标识时,创建单元803,用于创建第一虚拟机实例;处理单元804,用于在第一虚拟机实例中运行第一应用。
作为一种可选方式,终端设备响应启动指令,根据预存的应用标识与虚拟机实例标识的对应关系,获取单元802还用于获取第一应用的标识对应的第一虚拟机实例的标识。
作为一种可选的实施方式,接收单元801接收用于启动第一应用的启动指令,若不存在与第一应用的标识对应的第一虚拟机的标识,则创建第一虚拟机实例之后,创建单元803还用于建立并存储第一应用的标识和第一虚拟机的标识之间的对应关系;处理单元804还用于将第一虚拟机实例存放于虚拟机缓存区。
作为一种可选的实施方式,启动终端设备,获取单元802还用于获取记录的第二虚拟机实例的标识;创建单元803还用于创建第二虚拟机实例;处理单元804还用于将第二虚拟机实例存放在虚拟机缓存区。
作为一种可选的实施方式,处理单元804还用于判断当前剩余内存是否小于第一阈值,剩余内存为除虚拟机缓存区之外的内存;若是,则处理单元804还用于从虚拟机缓存区中确定第三虚拟机实例;处理单元804还用于回收虚拟机缓存区中第三虚拟机实例对应的内存;处理单元804还用于缩小虚拟机缓存区的内存大小。
作为一种可选的实施方式,创建单元803还用于建立并存储第一虚拟机实例的标识和第一虚拟机实例的内存大小之间的对应关系;在回收虚拟机缓存区中第三虚拟机实例对应的内存之后,接收单元801还用于接收第二应用的启动指令;根据预存的应用标识与虚拟机实例标识的对应关系,处理单元804还用于确定第二应用对应的第三虚拟机实例的标识;根据预存的虚拟机标识与虚拟机实例内存大小之间的对应关系,获取单元802还用于获取第三虚拟机实例的标识对应的第三虚拟机实例的内存大小;创建单元803还用于根据第三虚拟机实例的内存大小创建第三虚拟机实例。
请参见图9,图9示出了本申请实施例的一种终端设备的结构示意图。该终端设备900包括处理器901、通信接口902和存储器903,其中,终端设备900还可以包括总线904。处理器901、通信接口902和存储器903可以通过总线904相互连接,总线904可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器903用于存储计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行上述图2、图4、图6和图7中所描述的全部或部分方法。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有计算机程序,该计算机程序使得计算机执行上述图2、图4、图6和图7中的全部或部分方法步骤。
上述计算机可读存储介质可以是前述任一实施例上述的终端设备的内部存储单元,例如终端设备的硬盘或内存。上述计算机可读存储介质也可以是上述终端设备的外部存储设备,例如上述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述计算机可读存储介质还可以既包括上述终端设备的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述终端设备所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的服务器和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、终端或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

Claims (10)

1.一种应用启动方法,其特征在于,所述方法包括:
接收用于启动第一应用的启动指令;
响应所述启动指令,从虚拟机缓存区获取与所述第一应用对应的第一虚拟机实例,所述虚拟机缓存区包括于内存中;
在所述第一虚拟机实例中运行所述第一应用。
2.根据权利要求1所述的方法,其特征在于,所述响应所述启动指令,从虚拟机缓存区获取与所述第一应用对应的第一虚拟机实例,包括:
响应所述启动指令,根据预存的应用标识与虚拟机实例标识的对应关系,获取所述第一应用的标识对应的所述第一虚拟机实例的标识;
根据所述第一虚拟机实例的标识在所述虚拟机缓存区获取所述第一虚拟机实例。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若不存在与所述第一应用的标识对应的第一虚拟机实例的标识,则创建所述第一虚拟机实例;
建立并存储所述第一应用的标识和所述第一虚拟机实例的标识之间的对应关系;
在所述第一虚拟机实例中运行所述第一应用,并在运行结束之后,将所述第一虚拟机实例存储至所述虚拟机缓存区。
4.根据权利要求3所述的方法,其特征在于,所述第一虚拟机标识为哈希值,所述创建所述第一虚拟机实例之后,所述建立并存储所述第一应用的标识和所述第一虚拟机实例的标识之间的对应关系之前,所述方法还包括:
根据智能合约为所述第一虚拟机实例生成对应的哈希值。
5.根据权利要求1~4中任意一项所述的方法,其特征在于,所述方法还包括:
启动终端设备;
获取记录的第二虚拟机实例的标识,所述第二虚拟机实例为上一次关机之前所述虚拟机缓存区内的虚拟机实例;
创建所述第二虚拟机实例;
将所述第二虚拟机实例存放在所述虚拟机缓存区。
6.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
判断当前剩余内存是否小于第一阈值,所述剩余内存为除所述虚拟机缓存区之外的内存;
若是,则从所述虚拟机缓存区中确定第三虚拟机实例;
回收所述虚拟机缓存区中所述第三虚拟机实例对应的内存;
缩小所述虚拟机缓存区的内存大小。
7.根据权利要求6所述的方法,其特征在于,所述创建所述第一虚拟机实例之后,所述方法还包括:
建立并存储所述第一虚拟机实例的标识和所述第一虚拟机实例的内存大小之间的对应关系;
所述回收所述虚拟机缓存区中所述第三虚拟机实例对应的内存之后,所述方法还包括:
接收第二应用的启动指令;
根据预存的应用标识与虚拟机实例标识的对应关系,确定所述第二应用对应的所述第三虚拟机实例的标识;
根据预存的虚拟机标识与虚拟机实例内存大小之间的对应关系,获取所述第三虚拟机实例的标识对应的所述第三虚拟机实例的内存大小;
根据所述第三虚拟机实例的内存大小创建所述第三虚拟机实例。
8.一种应用启动装置,其特征在于,包括:
接收单元,用于接收用于启动第一应用的启动指令;
获取单元,用于从虚拟机缓存区获取与所述第一应用对应的第一虚拟机实例,所述虚拟机缓存区包括于内存中;
创建单元,用于当不存在与所述第一应用的标识对应的第一虚拟机实例的标识时,创建所述第一虚拟机实例;
处理单元,用于在所述第一虚拟机实例中运行所述第一应用。
9.一种终端设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1~7任一项所述的方法。
CN201910868555.0A 2019-09-12 2019-09-12 一种应用启动方法、相关装置及介质 Active CN110704157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910868555.0A CN110704157B (zh) 2019-09-12 2019-09-12 一种应用启动方法、相关装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910868555.0A CN110704157B (zh) 2019-09-12 2019-09-12 一种应用启动方法、相关装置及介质

Publications (2)

Publication Number Publication Date
CN110704157A true CN110704157A (zh) 2020-01-17
CN110704157B CN110704157B (zh) 2023-06-30

Family

ID=69195550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910868555.0A Active CN110704157B (zh) 2019-09-12 2019-09-12 一种应用启动方法、相关装置及介质

Country Status (1)

Country Link
CN (1) CN110704157B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022155848A1 (zh) * 2021-01-21 2022-07-28 华为技术有限公司 虚拟机性能优化的方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629941A (zh) * 2012-03-20 2012-08-08 武汉邮电科学研究院 云计算系统中虚拟机镜像缓存的方法
US8701109B1 (en) * 2012-02-06 2014-04-15 Amazon Technologies, Inc. Immortal instance type
CN105511943A (zh) * 2015-12-03 2016-04-20 华为技术有限公司 一种Docker容器运行方法和装置
CN105718280A (zh) * 2015-06-24 2016-06-29 乐视云计算有限公司 一种加速虚拟机io的方法和管理平台
CN106933654A (zh) * 2017-03-17 2017-07-07 中山大学 一种基于缓存的虚拟机启动方法
CN107329802A (zh) * 2017-06-30 2017-11-07 联想(北京)有限公司 一种虚拟机创建方法及电子设备
CN108475201A (zh) * 2016-11-24 2018-08-31 华为技术有限公司 一种虚拟机启动过程中的数据获取方法和云计算系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8701109B1 (en) * 2012-02-06 2014-04-15 Amazon Technologies, Inc. Immortal instance type
CN102629941A (zh) * 2012-03-20 2012-08-08 武汉邮电科学研究院 云计算系统中虚拟机镜像缓存的方法
CN105718280A (zh) * 2015-06-24 2016-06-29 乐视云计算有限公司 一种加速虚拟机io的方法和管理平台
CN105511943A (zh) * 2015-12-03 2016-04-20 华为技术有限公司 一种Docker容器运行方法和装置
CN108475201A (zh) * 2016-11-24 2018-08-31 华为技术有限公司 一种虚拟机启动过程中的数据获取方法和云计算系统
CN106933654A (zh) * 2017-03-17 2017-07-07 中山大学 一种基于缓存的虚拟机启动方法
CN107329802A (zh) * 2017-06-30 2017-11-07 联想(北京)有限公司 一种虚拟机创建方法及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
袁新颜: "基于云计算平台的虚拟实验室设计与实现探究", 《信息安全与技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022155848A1 (zh) * 2021-01-21 2022-07-28 华为技术有限公司 虚拟机性能优化的方法及相关装置

Also Published As

Publication number Publication date
CN110704157B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN107315580B (zh) 用户界面的组件处理方法、装置及设备、可读介质
CN106598655B (zh) 应用程序页面处理方法和装置
US11164278B2 (en) Screen capture method, terminal, and storage medium employing both parent application program and sub-application program
EP3623942A1 (en) Message processing method and apparatus, storage medium, and computer device
US11438453B2 (en) Incoming call alert method and terminal
CN109361948B (zh) 界面管理方法、智能终端及可读存储介质
CN105955770A (zh) 一种应用程序的卸载方法和终端
CN105072461A (zh) 一种数据处理方法和装置
CN109558187B (zh) 一种用户界面渲染方法及装置
CN115017534B (zh) 文件处理权限控制方法、装置及存储介质
CN113836540A (zh) 管理应用权限的方法、设备、存储介质和程序产品
CN114706633A (zh) 预加载方法、电子设备及存储介质
CN113709026B (zh) 即时通信消息的处理方法、设备、存储介质和程序产品
CN112148395A (zh) 页面显示方法、装置、设备及存储介质
CN108762983B (zh) 多媒体数据恢复方法及装置
CN108241515B (zh) 应用快捷方式建立方法及终端
CN110704157B (zh) 一种应用启动方法、相关装置及介质
CN114443189A (zh) 一种图像处理方法和电子设备
CN112416496A (zh) 页面展示方法、装置及存储介质
CN107220081B (zh) 锁屏信息卡片的更新方法、装置及电子设备
CN114461053B (zh) 资源调度方法及相关装置
CN106648671B (zh) 一种应用升级方法及终端
CN108986042A (zh) 贴纸共享方法及装置
CN103618961A (zh) 一种显示视频标题的方法、系统及浏览器
CN109151557B (zh) 视频创建方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant