CN108121572A - 一种web应用启动方法及装置 - Google Patents
一种web应用启动方法及装置 Download PDFInfo
- Publication number
- CN108121572A CN108121572A CN201611069075.0A CN201611069075A CN108121572A CN 108121572 A CN108121572 A CN 108121572A CN 201611069075 A CN201611069075 A CN 201611069075A CN 108121572 A CN108121572 A CN 108121572A
- Authority
- CN
- China
- Prior art keywords
- web page
- web
- web applications
- pool
- suspended state
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Abstract
本发明公开了一种web应用启动方法及装置,用以解决现有技术中存在的web应用启动速度慢的问题。该方法包括:接收到用于启动web应用的启动指令时,获取用于加载web页面的第一进程;其中,所述第一进程处于挂起状态且未加载过任何web应用的web页面,所述启动指令携带所述web应用的web页面标识;将所述web页面标识发送给所述第一进程,以使得所述第一进程加载所述web页面标识对应的web页面。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种web应用启动方法及装置。
背景技术
在移动操作系统中,web应用的启动速度是决定用户体验好坏的一个重要衡量指标,较好的应用启动体验应该是无闪屏、无黑屏、无白屏等现象。
安卓(Android)平台为了加速应用启动速度,在应用启动时,先通过分叉函数fork从虚拟机复制出来的一个进程,然后启动该进程,进程启动也就是该进程对应用所涉及到的各个线程进行初始化,例如用户界面(英文:User Interface,简称:UI)线程、渲染(Render)线程、输入输出(IO)线程。上述方式,虽然能够确保在应用启动无需再加载一些共有的资源,例如framework.jar等,但是启动应用的进程的时候,该应用的进程还是需要对各个应用中通用的各个线程进行初始化,例如用户界面(英文:User Interface,简称:UI)线程、渲染(Render)线程、输入输出(IO)线程等,从而消耗大量时间,降低了应用启动速度。
发明内容
本发明实施例提供一种web应用启动方法及装置,用以解决现有技术中存在的web应用启动速度慢的问题。
第一方面,本发明实施例提供了一种web应用启动方法,该方法包括:终端接收到用于启动web应用的启动指令时,获取用于加载web页面的第一进程。其中,所述第一进程处于挂起状态且未加载过任何web应用的web页面,所述启动指令携带所述web应用的web页面标识。在接收web应用的启动指令前,该第一进程已执行启动,启动时已执行了不同web应用所通用的各个线程的初始化,该第一线程在执行完启动后又被执行暂停。不同web应用所通用的各个线程包括UI线程、Render线程、IO线程等。终端在获取用于加载web页面的第一进程后,将所述web页面标识发送给所述第一进程,从而所述第一进程在接收到所述web页面标识后,加载所述web页面标识对应的web页面。
通过本发明实施例提供的web应用启动方案,通过预先创建处于挂起状态且未加载过任何web应用的web页面的进程,由于在进程创建过程中已经执行了不同web应用所通用的各个线程的初始化,因此在web应用启动时,避免了进程再初始化各个线程,从而减少了web应用的启动时间。
在一种可能的设计中,获取用于加载web页面的第一进程,可以通过如下方式实现:从进程池获取第一进程ID,并获取所述第一进程ID对应的第一进程。其中,进程池中包括所述第一进程ID在内的一个或多个进程的ID,所述一个或多个进程均为处于挂起状态且未加载过任何web应用的web页面的进程。
通过上述设计,预先建立进程池,在进程池中获取进程ID,从而获取进程,在维护以及获取起来更方便,获取速度更快。
本发明实施例中,从进程池获取第一进程ID,即将进程池中的第一进程ID从进程池中取出来,并获取该取出第一进程ID对应的第一进程。
在一种可能的设计中,在启动指令中还携带所述web应用所属的应用类型标识,从而在获取用于加载web页面的第一进程时,可以通过如下方式实现:从所述应用类型标识对应的进程池获取第一进程ID,并获取所述第一进程ID对应的第一进程。不用的应用类型分别对应一个进程池,进程池中存储的进程ID对应的进程在创建时,预先加载属于所述进程池对应的应用类型的应用所通用的资源。通用资源包括通用的各个线程等。
在一种可能的设计中,所述第一进程可以通过如下方式创建:
通过分叉函数创建第一进程;
为所述第一进程分配进程ID,并调用进程启动函数启动所述第一进程;
在所述第一进程启动后,暂停启动后的所述第一进程,以使得所述第一进程处于挂起状态;并
将所述第一进程的进程ID存储到所述进程池中。
其中,调用进程启动函数启动所述第一进程过程中,即执行了不同web应用所通用的各个线程的初始化。
在一种可能的设计中,所述将所述应用的页面标识发送给所述第一进程后,所述方法还可以包括:创建第二进程,并将创建的第二进程的进程ID存储到所述进程池中,所述第二进程处于挂起状态且未加载过任何web应用的web页面。
通过上述设计,在每次使用进程池中进程ID对应的进程后,然后再创建一个进程,并将该进程的ID存储在进程池,从而保证进程池中至少有一个用于加载web应用的web页面的进程对应的进程ID。
在一种可能的设计中,所述获取用于加载web页面的第一进程后,所述将所述web页面标识发送给所述第一进程之前,所述方法还包括:将所述第一进程的状态由挂起状态修改为运行状态,以使得所述第一进程能够接收到所述web页面标识。通过上述设计,获取用于加载web页面的第一进程后,修改所述第一进程的状态,使得所述第一进程运行起来加载web页面。
第二方面,本发明实施例还提供了一种web应用启动装置,包括:
接收模块,用于接收用于启动web应用的启动指令;
获取模块,用于在所述接收模块接收到所述启动指令时,获取用于加载web页面的第一进程;其中,所述第一进程处于挂起状态且未加载过任何web应用的web页面,所述启动指令携带所述web应用的web页面标识;
发送模块,用于将所述web页面标识发送给所述第一进程,以使得所述第一进程加载所述web页面标识对应的web页面。
在一种可能的设计中,所述获取模块,具体用于:
从进程池获取第一进程ID,并获取所述第一进程ID对应的第一进程,所述进程池中包括一个或多个进程的ID,所述一个或多个进程均为处于挂起状态且未加载过任何web应用的web页面的进程。
在一种可能的设计中,所述装置还可以包括:
创建模块,用于通过通过如下方式创建所述第一进程:
通过分叉函数创建第一进程;
为所述第一进程分配进程ID,并调用进程启动函数启动所述第一进程;
在所述第一进程启动后,暂停启动后的所述第一进程,以使得所述第一进程处于挂起状态;并
将所述第一进程的进程ID存储到所述进程池中。
在一种可能的设计中,所述创建模块,还用于在所述发送模块将所述应用的页面标识发送给所述第一进程后,创建第二进程,并将创建的第二进程的进程ID存储到所述进程池中,所述第二进程处于挂起状态且未加载过任何web应用的web页面。
在一种可能的设计中,所述装置还可以包括:
修改模块,用于在所述获取模块获取用于加载web页面的第一进程后,所述将所述web页面标识发送给所述第一进程之前,将所述第一进程的状态由挂起状态修改为运行状态,以使得所述第一进程能够接收到所述web页面标识。
第三方面,本发明实施例还提供了一种终端,该终端包括处理器和存储器,所述存储器用于存储软件程序,所述处理器用于读取所述存储器中存储的软件程序并实现第一方面或上述第一方面的任意一种设计提供的方法。该电子设备可以是移动终端、计算机等等。
第四方面,本发明实施例中还提供一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现第一方面或上述第一方面的任意一种设计提供的方法。
附图说明
图1为本发明实施例提供的终端设备示意图;
图2为本发明实施例提供的一种web应用启动方法流程图;
图3为本发明实施例提供的进程创建方法流程图;
图4为本发明实施例提供的另一种web应用启动方法流程图;
图5为本发明实施例提供的web应用启动装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明实施例提供一种web应用启动方法及装置,用以解决现有技术中存在的应用启动速度慢的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
以下,对本申请中的部分用语进行解释说明,以便与本领域技术人员理解。
应用的进程:是程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程:是进程的一个实体,是CPU调度和分派的基本单位。线程是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,比如程序计数器、寄存器和栈,但是一个线程可与同属一个进程的其他的线程共享进程所拥有的全部资源。
进程的挂起状态:是指进程在启动执行后被暂停执行。挂起状态的进程是被从存储器中读入到系统中的。
多个,是指两个或两个以上。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本发明实施例的web应用启动装置可使用各种电子设备进行实施,该电子设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、平板电脑、个人数字助理、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机,等等。但该电子设备优选为智能移动终端,下面以智能移动终端为例对本发明实施例提供的方案进行具体描述。
参考图1所示,为本发明实施例应用的终端的硬件结构示意图。如图1所示,终端100包括显示设备110、处理器120以及存储器130。存储器130一般包括内存和外存,内存可以为随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。存储器130用于存储计算机程序和其他数据131,该计算机程序包括操作系统程序133和应用程序132等,其他数据131可包括操作系统程序133或应用程序132被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据,而本发明实施例中的进程池是运行应用程序后产生的数据。计算机程序和其他数据通常被存储到外存上,处理器120在执行处理或调用数据前会将计算机程序或其他数据131从外存加载到内存。本发明实施例中的进程池可以存储在外存或内存上,当存储在外存上时,处理器120在需要获取进程池包括的进程ID时,需要将该进程池包括的进程ID先从外存加载到内存。
处理器120用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器120读取操作系统程序133从而在该终端100上运行操作系统以及实现操作系统的各种功能,或处理器120读取一种或多种应用程序132,从而在该终端100上运行应用。处理器120可以包括一个或多个通用处理器,还可包括一个或多个DSP(Digital Signal Processor,数字信号处理器),用于执行相关操作,以实现本发明实施例所提供的技术方案。
操作系统程序133中包含了可实现本发明实施例提供的web应用启动方法的计算机程序,从而使得处理器120读取到该操作系统程序133并运行该操作系统后,该操作系统可具备本发明实施例提供的在后台启动web应用的进程的功能。具体的,该操作系统可以向上层的应用开放在后台启动web应用的进程的调用接口,处理器120从存储器130中读取应用程序132并在后台运行用于加载web应用的web页面的进程。
终端100还可以包括输入设备140,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与终端100的用户设置以及功能控制有关的信号输入等。具体地,本发明实施例中,该输入设备140可以包括触控面板141。触控面板141,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板141上或在触控面板141的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板141可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器120,并能接收处理器120发来的命令并加以执行。例如,用户在触控面板141上用手指单击一张应用图标,触摸检测装置检测到此次单击带来的这个信号(启动指令),然后将该信号传送给触摸控制器,触摸控制器再将这个信号转换成坐标发送给处理器120,处理器120根据该坐标和该信号的类型(单击或双击)确定对该图片所执行的操作(如应用启动),然后,确定执行该操作所需要占用的内存空间,若需要占用的内存空间小于空闲内存,则将该应用启动后的界面全屏显示在显示设备包括的显示面板111上,从而实现应用启动。
触控面板141可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了触控面板141,输入设备140还可以包括其他输入设备142,其他输入设备142可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示设备110,包括的显示面板111,用于显示由用户输入的信息或提供给用户的信息以及终端设备100的各种菜单界面等,在本发明实施例中主要用于显示终端100中安装的应用的图标。可选的,显示面板111可以采用液晶显示器(英文:Liquid CrystalDisplay,简称:LCD)或OLED(英文:Organic Light-Emitting Diode,简称:有机发光二极管)等形式来配置显示面板111。在其他一些实施例中,触控面板141可覆盖显示面板111上,形成触摸显示屏。
除以上之外,终端100还可以包括用于给其他模块供电的电源150以及用于拍摄照片或视频的摄像头160。终端100还可以包括一个或多个传感器170,例如加速度传感器、光传感器等。终端100还可以包括无线射频(Radio Frequency,RF)电路180,用于与无线网络设备进行网络通信,还可以包括WiFi模块190,用于与其他设备进行WiFi通信。
本发明实施例提供的启动应用的方法可以实现在图1所示的操作系统程序133中。具体的,如图2所示,本发明实施例提供的web应用启动方法,包括:
S201,接收web应用的启动指令时,获取用于加载web页面的第一进程。
其中,所述第一进程处于挂起状态且未加载过任何web应用的web页面,所述启动指令携带所述web应用的web页面标识。
其中,第一进程处于挂起状态,为在接收web应用的启动指令前,该第一进程已执行启动,启动时已执行了不同web应用所通用的各个线程的初始化,该第一线程在执行完启动后又被执行暂停。不同web应用所通用的各个线程包括UI线程、Render线程、IO线程等。
S202,将所述web页面标识发送给所述第一进程,以使得所述第一进程加载所述web页面标识对应的web页面。
其中,web页面标识可以是统一资源定位符(英文:Uniform Resoure Locator,简称:URL)。
终端预先可以维护一个进程池,终端在进行系统初始化时,会创建至少一个进程,该进程并没有加载过任何web应用的web页面,并使得该进程处于挂起状态,然后再将该至少一个进程的ID存储到进程池中。当启动一个web应用后,从进程池中取出一个进程ID,然后通过该进程ID对应的进程加载该web应用的web页面,从而终端会再创建一个进程,并将进程的ID存储在进程池中,以待后续启动web应用时使用。
通过本发明实施例提供的web应用启动方案,通过预先创建处于挂起状态且未加载过任何web应用的web页面的进程,由于在进程创建过程中已经执行了不同web应用所通用的各个线程的初始化,因此在web应用启动时,避免了进程再初始化各个线程,从而减少了web应用的启动时间。
可选地,终端可以对不同的web应用根据应用所属的应用类型进行划分,终端在进行系统初始化时,预先创建每个应用类型对应的进程池,针对每个进程池会创建进程,针对不同应用类型创建进程,并将进程的ID保存在该应用类型对应的进程池中。针对一种应用类型创建的进程,该进程在创建后启动时,会加载该应用类型对应的各个应用所通用的资源,加载后将该进程挂起。从而能够加载更多通用的资源,进一步提升应用的启动速度。
应用类型可以包括:视频播放类、聊天类、浏览器类、游戏类、音乐类等等。
基于上述应用根据应用类型的划分,其中,启动指令中还携带所述web应用所属的应用类型标识,在步骤S201获取用于加载web页面的第一进程时,具体可以通过如下方式实现:获取启动指令中携带的应用类型标识,从所述应用类型标识对应的进程池获取第一进程ID,并获取所述第一进程ID对应的第一进程。所述应用类型标识对应的进程池中包括的进程ID对应的进程,在创建时加载了同属于所述应用类型标识所标识的应用类型的各个应用通用的资源,并且该进程处于挂起状态且未加载过任何web应用的web页面。
可选地,下面为了方便描述处于挂起状态且未加载过任何web应用的web页面的进程的创建方式,本发明实施例的后续描述中将处于挂起状态且未加载过任何web应用的web页面的进程统称为shell。shell具体可以通过如下方式创建,如图3所示:
S301,通过分叉函数创建shell。
其中,分叉函数为fork函数。如果fork函数返回值为0,则确定shell创建成功,若fork函数返回值不为0,则确定shell创建失败。
S302,设置进程环境。具体的,为所述shell分配进程ID,并初始化进程名称。
S303,调用进程启动函数启动所述第一进程。
其中,进程启动函数具体可以为sysexec()函数。在调用进程启动函数启动所述shell,具体是通过调度sysexec()函数来调用shell对应的程序代码,在调度sysexec()函数来调用shell对应的程序代码过程中,实现了shell的各个线程的初始化。
S304,在所述shell启动后,暂停启动后的所述shell,以使得所述第一进程处于挂起状态。
S305,将所述shell的进程ID存储到所述进程池中。
通过上述方式维护的进程池,当有web应用启动时,电子设备判断进程池中是否包括处于挂起状态的进程的进程ID,若包括,则获取该进程ID对应的进程,并将该web应用的web页面标识发送给该进程ID对应的进程,然后该进程ID对应的进程加载所述web页面标识对应的web页面。
具体的,参见图4所示,为web应用启动方法的流程图。
S401,接收到启动web应用的启动指令,执行S402。其中,启动指令中携带所述web应用的页面的URL。启动指令中还可以携带应用名称(APPID)。
S402,判断进程池中是否包括处于挂起状态的进程的进程ID,若是,执行S403,若否,执行S406。
S403,获取所述进程ID对应的shell,执行S404。
需要说明的是,在从进程池中获取进程ID,即将进程ID从进程池中取出,从而从进程池中将该进程ID删除。
S404,将所述URL发送给所述进程ID对应的shell,执行S405。
在将所述URL以及应用名称发送给所述进程ID对应的shell,具体通过SendAction(pid,URL)函数将所述URL发送给所述进程ID(pid)对应的shell。
S405,shell接收到URL后,加载所述URL对应的web页面。
shell在加载所述URL对应的web页面时,具体可以通过执行onaction函数加载web页面。
S406,创建一个shell,执行S407。
S407,将所述URL发送给创建的shell,执行S408。
S408,创建的shell接收到URL后,加载所述URL对应的web页面。
可选地,在执行步骤S404将所述应用的页面标识发送给所述第一进程后,所述方法还可以包括:再创建一个shell,并将创建的shell的进程ID存储到所述进程池中。所述shell处于挂起状态且未加载过任何web应用的web页面。
可选地,在执行步骤S403获取所述进程ID对应的shell后,在步骤S404将所述web页面标识发送给所述第一进程之前,将所述第一进程的状态由挂起状态修改为运行状态,以使得所述第一进程能够接收到所述web页面标识。从而第一进程能够用来加载web页面标识对应的web页面。
基于与上述方法实施例同样的发明构思,本发明实施例还提供了一种web应用启动装置,如图5所示,包括:
接收模块501,用于接收用于启动web应用的启动指令。
获取模块502,用于在所述接收模块501接收到所述启动指令时,获取用于加载web页面的第一进程;其中,所述第一进程处于挂起状态且未加载过任何web应用的web页面,所述启动指令携带所述web应用的web页面标识。
发送模块503,用于将所述web页面标识发送给所述第一进程,以使得所述第一进程加载所述web页面标识对应的web页面。
在一种可能的设计中,所述获取模块502,具体用于:
从进程池获取第一进程ID,并获取所述第一进程ID对应的第一进程,所述进程池中包括一个或多个进程的ID,所述一个或多个进程均为处于挂起状态且未加载过任何web应用的web页面的进程。
在一种可能的设计中,所述装置还可以包括:
创建模块504,用于通过通过如下方式创建所述第一进程:
A1,通过分叉函数创建第一进程;
A2,为所述第一进程分配进程ID,并调用进程启动函数启动所述第一进程;
A3,在所述第一进程启动后,暂停启动后的所述第一进程,以使得所述第一进程处于挂起状态;
A4,将所述第一进程的进程ID存储到所述进程池中。
在一种可能的设计中,所述创建模块504,还用于在所述发送模块503将所述应用的页面标识发送给所述第一进程后,创建第二进程,并将创建的第二进程的进程ID存储到所述进程池中,所述第二进程处于挂起状态且未加载过任何web应用的web页面。
在一种可能的设计中,所述装置还可以包括:
修改模块505,用于在所述获取模块502获取用于加载web页面的第一进程后,在所述发送模块503将所述web页面标识发送给所述第一进程之前,对所述第一进程的状态由挂起状态进行修改,以使得所述第一进程能够接收到所述web页面标识。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,一种终端设备等)或处理器(例如图1所示的处理器120)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种web应用启动方法,其特征在于,包括:
接收到用于启动web应用的启动指令时,获取用于加载web页面的第一进程;其中,所述第一进程处于挂起状态且未加载过任何web应用的web页面,所述启动指令携带所述web应用的web页面标识;
将所述web页面标识发送给所述第一进程,以使得所述第一进程加载所述web页面标识对应的web页面。
2.如权利要求1所述的方法,其特征在于,获取用于加载web页面的第一进程,包括:
从进程池获取第一进程ID,并获取所述第一进程ID对应的第一进程,所述进程池中包括一个或多个进程的ID,所述一个或多个进程均为处于挂起状态且未加载过任何web应用的web页面的进程。
3.如权利要求2所述的方法,其特征在于,所述第一进程通过如下方式创建:
通过分叉函数创建第一进程;
为所述第一进程分配进程ID,并调用进程启动函数启动所述第一进程;
在所述第一进程启动后,暂停启动后的所述第一进程,以使得所述第一进程处于挂起状态;并
将所述第一进程的进程ID存储到所述进程池中。
4.如权利要求2或3所述的方法,其特征在于,所述将所述应用的页面标识发送给所述第一进程后,所述方法还包括:
创建第二进程,并将创建的第二进程的进程ID存储到所述进程池中,所述第二进程处于挂起状态且未加载过任何web应用的web页面。
5.如权利要求1至4任一项所述的方法,其特征在于,所述获取用于加载web页面的第一进程后,所述将所述web页面标识发送给所述第一进程之前,所述方法还包括:
将所述第一进程的状态由挂起状态修改为运行状态,以使得所述第一进程能够接收到所述web页面标识。
6.一种web应用启动装置,其特征在于,包括:
接收模块,用于接收用于启动web应用的启动指令;
获取模块,用于在所述接收模块接收到所述启动指令时,获取用于加载web页面的第一进程;其中,所述第一进程处于挂起状态且未加载过任何web应用的web页面,所述启动指令携带所述web应用的web页面标识;
发送模块,用于将所述web页面标识发送给所述第一进程,以使得所述第一进程加载所述web页面标识对应的web页面。
7.如权利要求6所述的装置,其特征在于,所述获取模块,具体用于:
从进程池获取第一进程ID,并获取所述第一进程ID对应的第一进程,所述进程池中包括一个或多个进程的ID,所述一个或多个进程均为处于挂起状态且未加载过任何web应用的web页面的进程。
8.如权利要求7所述的装置,其特征在于,还包括:
创建模块,用于通过通过如下方式创建所述第一进程:
通过分叉函数创建第一进程;
为所述第一进程分配进程ID,并调用进程启动函数启动所述第一进程;
在所述第一进程启动后,暂停启动后的所述第一进程,以使得所述第一进程处于挂起状态;并
将所述第一进程的进程ID存储到所述进程池中。
9.如权利要求7或8所述的装置,其特征在于,所述创建模块,还用于在所述发送模块将所述应用的页面标识发送给所述第一进程后,创建第二进程,并将创建的第二进程的进程ID存储到所述进程池中,所述第二进程处于挂起状态且未加载过任何web应用的web页面。
10.如权利要求6至9任一项所述的装置,其特征在于,还包括:
修改模块,用于在所述获取模块获取用于加载web页面的第一进程后,所述将所述web页面标识发送给所述第一进程之前,将所述第一进程的状态由挂起状态修改为运行状态,以使得所述第一进程能够接收到所述web页面标识。
11.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器用于存储软件程序,所述处理器用于读取所述存储器中存储的软件程序并执行权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611069075.0A CN108121572B (zh) | 2016-11-28 | 2016-11-28 | 一种web应用启动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611069075.0A CN108121572B (zh) | 2016-11-28 | 2016-11-28 | 一种web应用启动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121572A true CN108121572A (zh) | 2018-06-05 |
CN108121572B CN108121572B (zh) | 2021-02-12 |
Family
ID=62225427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611069075.0A Active CN108121572B (zh) | 2016-11-28 | 2016-11-28 | 一种web应用启动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121572B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347894A (zh) * | 2018-08-10 | 2019-02-15 | 锐捷网络股份有限公司 | 管理FastCGI进程的方法、管理器、设备及介质 |
CN110139060A (zh) * | 2019-04-02 | 2019-08-16 | 视联动力信息技术股份有限公司 | 一种视频会议的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080114875A1 (en) * | 2006-10-25 | 2008-05-15 | Paul Anastas | Methods and apparatus for real user monitoring |
US20120304082A1 (en) * | 2011-05-27 | 2012-11-29 | Patten Michael J | Travel Log for Manipulation of Content |
CN102999384A (zh) * | 2011-09-12 | 2013-03-27 | 微软公司 | 在挂起状态和执行状态下管理进程 |
CN103345405A (zh) * | 2013-06-09 | 2013-10-09 | 贝壳网际(北京)安全技术有限公司 | 应用程序的启动方法、装置和客户端 |
CN104077151A (zh) * | 2013-03-26 | 2014-10-01 | 联想(北京)有限公司 | 快速启动网络应用的方法和电子设备 |
CN104461632A (zh) * | 2014-12-09 | 2015-03-25 | 东软集团股份有限公司 | 一种Web App加载方法及装置 |
CN104750553A (zh) * | 2013-12-30 | 2015-07-01 | 广州华多网络科技有限公司 | 应用运行方法和装置 |
US9158844B1 (en) * | 2004-01-27 | 2015-10-13 | United Services Automobile Association | System and method of managing internet browser navigation |
-
2016
- 2016-11-28 CN CN201611069075.0A patent/CN108121572B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158844B1 (en) * | 2004-01-27 | 2015-10-13 | United Services Automobile Association | System and method of managing internet browser navigation |
US20080114875A1 (en) * | 2006-10-25 | 2008-05-15 | Paul Anastas | Methods and apparatus for real user monitoring |
US20120304082A1 (en) * | 2011-05-27 | 2012-11-29 | Patten Michael J | Travel Log for Manipulation of Content |
CN102999384A (zh) * | 2011-09-12 | 2013-03-27 | 微软公司 | 在挂起状态和执行状态下管理进程 |
CN104077151A (zh) * | 2013-03-26 | 2014-10-01 | 联想(北京)有限公司 | 快速启动网络应用的方法和电子设备 |
CN103345405A (zh) * | 2013-06-09 | 2013-10-09 | 贝壳网际(北京)安全技术有限公司 | 应用程序的启动方法、装置和客户端 |
CN104750553A (zh) * | 2013-12-30 | 2015-07-01 | 广州华多网络科技有限公司 | 应用运行方法和装置 |
CN104461632A (zh) * | 2014-12-09 | 2015-03-25 | 东软集团股份有限公司 | 一种Web App加载方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347894A (zh) * | 2018-08-10 | 2019-02-15 | 锐捷网络股份有限公司 | 管理FastCGI进程的方法、管理器、设备及介质 |
CN110139060A (zh) * | 2019-04-02 | 2019-08-16 | 视联动力信息技术股份有限公司 | 一种视频会议的方法和装置 |
CN110139060B (zh) * | 2019-04-02 | 2021-10-19 | 视联动力信息技术股份有限公司 | 一种视频会议的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108121572B (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9575652B2 (en) | Instantiable gesture objects | |
US9152529B2 (en) | Systems and methods for dynamically altering a user interface based on user interface actions | |
US20130181953A1 (en) | Stylus computing environment | |
US20150067555A1 (en) | Method for configuring screen and electronic device thereof | |
CN104298427A (zh) | 结果界面显示方法和装置 | |
CN107577415B (zh) | 触摸操作响应方法及装置 | |
CN104850296B (zh) | 显示页面内容的方法及装置 | |
CN104808942A (zh) | 用于web页面的触摸事件处理 | |
CN103914320B (zh) | 一种显示方法和电子设备 | |
CN101960485A (zh) | 多情境图形处理 | |
CN107220077B (zh) | 应用启动的管控方法和管控设备 | |
EP3405881A1 (en) | Cross application digital ink repository | |
CN109726067A (zh) | 一种进程监控方法以及客户端设备 | |
EP2754036A1 (en) | Scenario based animation library | |
CN114995629B (zh) | 振动方法和振动装置 | |
CN104951287A (zh) | 一种生成网页的方法及装置 | |
US10168898B2 (en) | Supporting different event models using a single input source | |
CN108121572A (zh) | 一种web应用启动方法及装置 | |
US20110258555A1 (en) | Systems and methods for interface management | |
EP3014426B1 (en) | Self-revealing symbolic gestures | |
CN108984212A (zh) | 一种关闭进程的方法以及电子设备 | |
CN113485600A (zh) | 歌单的分享方法、装置和电子设备 | |
CN109471708B (zh) | 一种任务处理方法、装置及系统 | |
CN104461636B (zh) | 一种皮肤资源加载方法及电子设备 | |
CN108509223A (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 |