CN112698884A - 程序启动方法、装置、系统、设备及存储介质 - Google Patents
程序启动方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112698884A CN112698884A CN202011615102.6A CN202011615102A CN112698884A CN 112698884 A CN112698884 A CN 112698884A CN 202011615102 A CN202011615102 A CN 202011615102A CN 112698884 A CN112698884 A CN 112698884A
- Authority
- CN
- China
- Prior art keywords
- program
- target
- target program
- data
- version
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000009434 installation Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开关于一种程序启动方法、装置、系统、设备及存储介质,以至少解决在宿主程序的程序包的版本更新和/或目标程序的程序包的版本更新后,用户通过后台启动该目标程序出现提示异常或直接退出该目标程序的问题。该方法包括:响应于检测到的启动指令,确定目标数据包的版本已更新;启动指令用于触发从后台启动目标程序;目标数据包包括目标程序的数据和目标程序的宿主程序的数据;目标程序的运行无需执行安装操作;解析目标数据包得到目标程序的数据和宿主程序的数据;加载目标程序的数据以及宿主程序的数据中目标程序所对应的数据,并启动目标程序。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种程序启动方法、装置、系统、设备及存储介质。
背景技术
目标程序是可以在宿主程序中打开,并独立运行的一种全新的互联网应用形态。用户不用关心目标程序的安装问题,目标程序可以通过宿主程序启动并独立运行。
目前,终端设备通过宿主程序启动并独立运行目标程序之后,响应于切换指令,将目标程序切换至后台运行,在宿主程序的程序包的版本已更新和/或目标程序的程序包的版本已更新后,终端设备响应于启动指令,通过后台启动目标程序的过程中往往出现提示异常和/或直接退出该目标程序的问题。
发明内容
本公开提供一种程序启动方法、装置、系统、设备及存储介质,以至少解决在宿主程序的程序包的版本已更新和/或目标程序的程序包的版本已更新后,从后台启动目标程序的过程中出现提示异常和/或直接退出该目标程序的问题。
本公开的技术方案如下:
本公开的第一方面,本公开实施例提供一种程序启动方法,该方法包括:响应于检测到的启动指令,确定目标数据包的版本已更新;启动指令用于触发从后台启动目标程序;所述目标数据包包括目标程序的数据和目标程序的宿主程序的数据;目标程序的运行无需执行安装操作;解析目标数据包得到目标程序的数据和宿主程序的数据;加载目标程序的数据以及宿主程序的数据中目标程序所对应的数据,并启动目标程序。
本公开所提供的程序启动方法,在从后台启动目标程序的过程中,在确定目标数据包版本(如:宿主程序的程序包版本或目标程序的程序包)已更新的情况下,解析目标数据包更新版本,得到目标程序(如:小程序)的数据以及宿主程序的数据,并加载该目标程序的数据以及宿主程序的数据中目标程序对应数据,采用加载的数据启动目标程序。由于目标程序是通过宿主程序的数据中目标程序对应的数据(如:目标程序所对应的基础库)运行在宿主程序以及计算机设备中的,基础库封装了宿主程序的功能,因此以更新后的目标数据包中的目标程序的数据启动目标程序可以解决在宿主程序的程序包的版本已更新和/或目标程序的程序包的版本已更新后,从后台启动目标程序的过程中出现提示异常和/或直接退出该目标程序的问题。
在一种可能的实现方式中,上述确定目标数据包版本已更新,包括:在获取到目标数据包的版本更新标识的情况下,确定目标数据包版本已更新。
在另一种可能的实现方式中,上述获取到目标数据包的版本更新标识,包括:从计算机设备中的应用程序管理器获取到所述目标数据包的版本更新标识,或者,从所述目标数据包的服务器获取到所述目标数据包的版本更新标识;目标数据包的已更新版本来源于该服务器。
在另一种可能的实现方式中,上述确定目标数据包版本已更新,包括:获取目标程序的主进程的创建时间以及目标数据包的更新时间;在创建时间早于更新时间的情况下,确定目标数据包版本已更新。
在另一种可能的实现方式中,上述目标程序的数据包括:目标程序的程序包、目标程序的网络视图组件或目标程序的分页显示控件中的至少一种;目标程序所对应的宿主程序的数据包括:目标程序对应的基础库和/或目标程序的解释器。
在另一种可能的实现方式中,上述计算机设备包括第一存储区域和第二存储区域;上述确定目标数据包版本已更新,包括:确定第一存储区域存储的目标数据包版本已更新;上述加载目标程序的数据以及目标程序所对应的宿主程序的数据,并启动目标程序,包括:将目标程序的数据以及目标程序所对应的宿主程序的数据加载至第二存储区域,并启动目标程序。
根据本公开的第二方面,本公开实施例提供一种程序启动装置,该装置包括:确定模块,被配置为响应于检测到的启动指令,确定目标数据包版本已更新;所述启动指令用于触发从后台启动目标程序;所述目标数据包包括所述目标程序的数据和所述目标程序的宿主程序的数据;所述目标程序的运行无需执行安装操作;解析模块,被配置为解析所述目标数据包得到所述目标程序的数据和所述宿主程序的数据;启动模块,被配置为加载所述目标程序的数据以及所述宿主程序的数据中所述目标程序所对应的数据,并启动所述目标程序。
可选的,确定模块具体被配置为:在获取到所述目标数据包的版本更新标识的情况下,确定目标数据包版本已更新。
可选的,程序启动装置还包括获取模块,所述获取模块被配置为:从所述计算机设备中的应用程序管理器获取到所述目标数据包的版本更新标识,或者,从所述目标数据包的服务器获取到所述目标数据包的版本更新标识;所述目标数据包的已更新版本来源于所述服务器。
可选的,获取模块被配置为:获取所述目标程序的主进程的创建时间以及所述目标数据包的更新时间;所述确定模块,具体被配置为在所述创建时间早于所述更新时间的情况下,确定所述目标数据包版本已更新。
可选的,上述目标程序的数据包括:目标程序的程序包、目标程序的网络视图组件或目标程序的分页显示控件中的至少一种;目标程序所对应的宿主程序的数据包括:目标程序对应的基础库和/或所述目标程序的解释器。
可选的,该装置包括第一存储区域和第二存储区域;确定模块具体被配置为:确定第一存储区域存储的目标数据包版本已更新;启动模块具体被配置为:将目标程序的数据以及目标程序所对应的宿主程序的数据加载至第二存储区域,并启动目标程序。
根据本公开的第三方面,提供一种计算机设备,包括:处理器;用于存储处理器可执行指令的存储器。其中,处理器被配置为执行所述指令,以实现上述第一方面的任一种可能的实现方式所示的程序启动方法。
根据本公开的第四方面,提供一种计算机可读存储介质,当该存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行如第一方面任一种可能的实现方式所示的程序启动方法。
根据本公开的第五方面,提供一种计算机程序产品,可直接加载到计算机设备的内部存储器中,并含有软件代码,该计算机程序经由计算机设备载入并执行后能够实现第一方面任一种可能的实现方式所示的程序启动方法。
根据本公开的第六方面,提供一种系统,包括终端设备和/或服务器。终端设备能够执行如第一方面的任一种可能的实现方式所示的程序启动方法。
上述提供的任一种程序启动装置、系统、计算机设备、计算机可读存储介质或计算机程序产品用于执行上文所提供的对应的方法,都能够至少解决在宿主程序的程序包的版本和/或目标程序的程序包的版本已更新后,从后台启动目标程序的过程中出现提示异常和/或直接退出该目标程序的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的本公开所适用的系统的结构的示意图;
图2是根据一示例性实施例示出的一种程序启动方法的流程示意图;
图3是根据一示例性实施例示出的一种程序启动装置的框图;
图4是根据一示例性实施例示出的一种计算机设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,在本公开的实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开实施例中,“至少一个”是指一个或多个。“多个”是指两个或两个以上。
在本公开实施例中,“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
首先,对本公开实施例的应用场景进行介绍。
本公开实施例的程序启动方法可以应用于目标程序的启动场景中。目标程序的启动步骤包括:
阶段一:获取目标程序的程序包以及执行该目标程序的加载步骤阶段。
在一个例子中,阶段一包括:获取目标程序的程序包、执行该目标程序的数据的加载步骤(例如:目标程序的程序包加载、解释器加载、基础库加载、网络视图组件加载或分页显示控件加载等)、显示启动窗口、创建应用进程等。
阶段二:采用加载数据启动目标程序阶段。
在一个例子中,阶段二包括:创建应用对象、启动主进程、创建主活动、渲染视图、执行布局(如:onLayout)、执行绘制(如:onDraw)等。
当前,计算机设备通过宿主程序启动并独立运行目标程序之后,响应于切换指令,将目标程序切换至后台运行,在宿主程序的程序包的版本已更新和/或目标程序的程序包的版本已更新后,计算机设备响应于启动指令,通过后台启动目标程序的过程中往往出现提示异常和/或直接退出该目标程序的问题。而当计算机设备通过宿主程序启动目标程序的过程中,并不会出现上述问题。通过测试发现,在宿主程序的程序包的版本已更新和/或目标程序的程序包的版本已更新后,通过后台启动目标程序会直接略过上述阶段一从上述阶段二开始执行。
为了解决上述问题,本公开实施例提供一种程序启动方法,计算机设备检测到用于触发从后台启动目标程序的启动指令的情况下,计算机设备若确定目标数据包版本已更新,则执行上述阶段一的步骤,其中,目标数据包包括目标程序的程序包以及目标程序的宿主程序的程序包。之后,计算机设备再执行上述阶段二的步骤以启动该目标程序。这样,以至少解决在宿主程序的程序包的版本和/或目标程序的程序包的版本已更新后,从后台启动目标程序的过程中出现提示异常和/或直接退出该目标程序的问题。
接下来,对本公开实施例的实施环境进行介绍。
如图1所示是可适用于本公开实施例的系统架构图,图1所示系统中包括服务器10-1和至少一个终端设备10-2(图1中以一个终端设备10-2为例进行说明)。服务器10-1与终端设备10-2通过网络进行通信。
服务器10-1可以为一台服务器,或者,也可以为由多台服务器组成的服务器集群,本公开对此不做限定。
终端设备10-2包括但不限于智能移动终端、智能家居设备、可穿戴式设备、智能医疗设备、个人计算机(personal computer,PC)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、个人数字助理(personal digital assistant,PDA)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能音箱等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等,本公开对此不做限定。
本公开实施例中服务器10-1中包括宿主程序的最新版本的程序包和目标程序的最新版本的程序包,终端设备10-2中包括宿主程序的程序包以及目标程序的程序包。目标程序依托宿主程序在终端设备10-2上运行,目标程序运行的环境是宿主程序提供的。终端设备10-2可以向服务器10-1获取宿主程序的最新版本的程序包以及目标程序的最新版本的程序包。
可以理解的是,本公开实施例中宿主程序的程序包与目标程序的程序包可以集成在一个数据包(如:上述目标数据包)中,也可以分开为两个程序包,本公开对此不进行限定。下面实施例均以宿主程序的程序包与目标程序的程序包均包括在目标数据包中为例进行说明。
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在一个实施例中,终端设备在运行宿主程序的过程中,启动目标程序,之后,终端设备响应于用户的操作将目标程序切换至后台,在目标程序在后台运行过程中,终端设备更新了存储的目标数据包,在该场景下本公开实施例提供一种程序启动方法,如图2所示,图2是根据一示例性实施例示出的一种程序启动方法的流程示意图,以该方法应用于图1中的终端设备为例进行说明,图2所示的方法可以包括以下步骤:
S100:终端设备响应于检测到的启动指令,确定目标数据包版本已更新;该启动指令用于触发从后台启动该目标程序;目标数据包包括目标程序的数据和目标程序的宿主程序的数据;目标程序的运行无需执行安装操作。
目标程序可以是介于传统的超文本标记语言(hyper text markup language,HTML)页面和应用(application,APP)之间的应用形态。目标程序需要依附于宿主程序运行,目标程序可以实现支付功能、游戏功能、播放音乐功能、通讯功能等。本公开对此不进行限定。目标程序是指待启动的目标程序。
其中,目标数据包可以存储在终端设备的第一存储区域中,第一存储区域可以是宿主程序的安装目录所指示的存储区域,例如,第一存储区域可以是终端设备的硬盘等存储区域。
在一种可能的实现方式中,终端设备获取目标数据包的版本更新标识,在获取到版本更新标识的情况下,确定目标数据包版本已更新。
可以理解的是,终端设备可以从计算机设备中的应用程序管理器获取到目标数据包的版本更新标识,或者,从目标数据包的服务器获取到目标数据包的版本更新标识;目标数据包的已更新版本来源于该服务器。
在一个例子中,计算机设备通过系统命令(例如:安卓调试桥(android debugbridge,adb)命令)获取目标程序的当前运行的版本,并通过应用程序管理器获取存储的目标数据包的版本,在获取的两个版本不一致的情况下,得到目标数据包的版本更新标识。
在另一种可能的实现方式中,终端设备获取目标程序的主进程的创建时间以及目标数据包的更新时间,在目标程序的主进程的创建时间早于目标数据包的更新时间的情况下,确定目标数据包版本已更新。
示例性的,终端设备获取的目标程序的主进程的创建时间为2020年11月20日16:45,而终端设备获取目标数据包的更新时间为2020年11月20日16:50,终端设备确定目标数据包版本已更新。
S101:终端设备解析目标数据包得到目标程序的数据和宿主程序的数据。
目标程序的数据包括:目标程序的程序包、目标程序的网络视图组件或目标程序的分页显示控件中的至少一种;宿主程序的数据包括:目标程序对应的基础库和/或所述目标程序的解释器。
在一个例子中,终端设备从目标数据包中获取目标程序的程序包、获取执行目标程序的启动过程中所继承的宿主程序的程序包中的信息(例如:目标程序对应的基础库等)。
S102:终端设备加载目标程序的数据以及宿主程序的数据中目标程序所对应的数据,并启动目标程序。
在一种可能的实现方式中,终端设备将目标程序的程序包、目标程序对应的基础库、目标程序的解释器、目标程序的网络视图组件或目标程序的分页显示控件等数据加载至第二存储区域,并启动目标程序。
需要说明的是,终端设备可以采用不同的加载步骤加载上述目标程序的数据,例如:采用目标程序的程序包加载步骤加载目标程序的程序包,采用基础库加载步骤加载目标程序所对应的基础库,采用解释器加载步骤加载解释器,采用网络视图组件加载步骤初始化网络视图组件等;下面对终端设备采用的不同加载步骤进行说明:
目标程序的程序包加载步骤是终端设备从第一存储区域中读取目标程序的程序包至终端设备的第二存储区域(如:终端设备的内存)中。目标程序的程序包可以包括目标程序的网页代码以及目标程序的逻辑代码,目标程序的网页代码用于实现目标程序的用户界面,目标程序的逻辑代码用于实现目标程序的业务逻辑。
基础库加载步骤用于加载基础库,目标程序是通过基础库运行在宿主程序以及终端设备中的,基础库封装了宿主程序和终端设备的能力,并提供给目标程序使用。一般来说,基础库会被提前内置在宿主程序中。基础库可被注入到视图层线程和逻辑层线程中运行:在视图层线程中,其提供各类组件来组建页面的元素;在逻辑层线程中,其提供各种应用程序接口(application programming interface,API)来处理各种元素。终端设备在基础库被调用前或被调用过程中从宿主程序的程序包或终端设备的程序包中读取至终端设备的第二存储区域。
解释器加载步骤用于加载解释器,解释器用于解析和执行代码信息,比如解析和执行目标程序包的代码信息和基础库的代码信息。可选地,目标程序包的代码信息和基础库的代码信息可通过JavaScript编写,该解释器可为JavaScript解释器。目标程序包运行步骤是指通过解释器运行目标程序包的代码信息和基础库的代码信息。比如,可将基础库的pageView.js与目标程序网页代码运行在一个JavaScript解释器中,共同实现目标程序的用户界面;可将基础库的waService.js与目标程序逻辑代码运行在一个JavaScript解释器中,共同实现目标程序的业务逻辑。
网络视图组件加载步骤用于初始化网络视图组件,网络视图组件用于实现目标程序页面的显示和渲染,比如WebView。分页显示控件加载步骤用于初始化分页显示控件,分页显示控件用于实现目标程序界面的分页显示,比如PageView。
在一种可能的实现方式中,终端设备获取上述不同的加载步骤之间的依赖关系,根据获取的依赖关系执行上述加载步骤,将目标程序的数据加载至第二存储区域。
在一个例子中,假设,上述加载步骤包括步骤A和步骤B。步骤A的执行需要依赖步骤B的执行结果,那么,终端设备在执行了步骤A之后再执行步骤A。
对于没有依赖关系的加载步骤本公开实施例对其执行顺序不进行限定,终端设备也可以并发同时执行没有依赖关系的加载步骤。
可以理解的是,在执行上述加载步骤中的至少一个加载步骤之前终端设备可以判断是否在目标数据包版本更新之后,更新了该加载步骤所加载的数据,若是,则执行该加载步骤,若否,则无需执行该加载步骤。
终端设备执行完上述加载步骤之后,采用加载的目标程序的程序包、解释器、基础库、网络视图组件或分页显示控件启动目标程序。
在一个例子中,终端设备通过解释器运行目标程序的程序包和基础库的代码信息(该过程包括创建应用对象、启动目标程序的主进程、创建主活动等),然后根据加载的分页显示控件进行初始化,当分页显示控件初始化完成时,利用加载的网络视图组件和分页显示控件渲染目标程序的页面,以启动目标程序。
本公开实施例中,终端设备在从后台启动目标程序的过程中,在确定目标数据包的版本(如:宿主程序的程序包的版本或目标程序的程序包的版本)已更新的情况下,解析目标数据包的更新版本,得到目标程序(如:小程序)的数据以及宿主程序的数据,并加载该目标程序的数据以及宿主程序的数据中目标程序对应数据,采用加载的数据启动目标程序。由于目标程序是通过宿主程序的数据中目标程序对应的数据(如:目标程序所对应的基础库)运行在宿主程序以及计算机设备中的,基础库封装了宿主程序的功能,因此以更新后的目标数据包中的目标程序的数据启动目标程序可以解决在宿主程序的程序包的版本已更新和/或目标程序的程序包的版本已更新后,从后台启动目标程序的过程中出现提示异常和/或直接退出该目标程序的问题。
上述主要从方法的角度对本公开实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的方法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对终端设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图3是根据一示例性实施例示出的一种程序启动装置的框图。参照图3,该程序启动装置30包括确定模块301、解析模块302和启动模块303。其中:确定模块301,被配置为响应于检测到的启动指令,确定目标数据包版本已更新;所述启动指令用于触发从后台启动目标程序;所述目标数据包包括所述目标程序的数据和所述目标程序的宿主程序的数据;所述目标程序的运行无需执行安装操作;例如,结合图2,确定模块301可以用于执行S100。解析模块302,被配置为解析所述目标数据包得到所述目标程序的数据和所述宿主程序的数据。例如,结合图2,获取模块302可以用于执行S101。启动模块303,被配置为加载所述目标程序的数据以及所述宿主程序的数据中所述目标程序所对应的数据,并启动所述目标程序。例如,结合图2,启动模块303可以用于执行S102。
可选的,确定模块301具体被配置为:在获取到所述目标数据包的版本更新标识的情况下,确定目标数据包版本已更新。
可选的,程序启动装置30还包括获取模块304,获取模块304被配置为:从所述计算机设备中的应用程序管理器获取到所述目标数据包的版本更新标识,或者,从所述目标数据包的服务器获取到所述目标数据包的版本更新标识;所述目标数据包的已更新版本来源于所述服务器。
可选的,获取模块304被配置为:获取所述目标程序的主进程的创建时间以及所述目标数据包的更新时间;确定模块301,具体被配置为在所述创建时间早于所述更新时间的情况下,确定所述目标数据包版本已更新。
可选的,目标程序的数据包括:所述目标程序的程序包、所述目标程序的网络视图组件或所述目标程序的分页显示控件中的至少一种;所述目标程序所对应的宿主程序的数据包括:所述目标程序对应的基础库和/或所述目标程序的解释器。
可选的,程序启动装置30包括第一存储区域和第二存储区域;确定模块301具体被配置为:确定第一存储区域存储的目标数据包版本已更新;启动模块303具体被配置为:将目标程序的数据以及所述目标程序所对应的宿主程序的数据加载至所述第二存储区域,并启动所述目标程序。
关于上述实施例中的程序启动装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。此外,上述提供的任一种程序启动装置的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
图4是根据一示例性实施例示出的一种计算机设备的框图。如图4所示,计算机设备40包括但不限于:处理器401、存储器402、显示器403、输入单元404、接口单元405和电源406等。
其中,上述的处理器401,用于存储上述处理器可执行指令的存储器。可以理解,上述处理器401被配置为执行上述图2所示实施例中任一步骤。
需要说明的是,本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,计算机设备可以包括比图4所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器401是计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。处理器401可包括一个或多个处理单元;可选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及各种数据。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能单元所需的应用程序(比如获取单元、收发单元或合并单元等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
显示器403用于显示由用户输入的信息或提供给用户的信息。显示器403可包括显示面板,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight-Emitting Diode,OLED)等形式来配置显示面板。
输入单元404可以包括图形处理器(Graphics Processing Unit,GPU),图形处理器对在目标程序捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或目标程序的图像数据进行处理。处理后的图像帧可以显示在显示器403上。经图形处理器处理后的图像帧可以存储在存储器402(或其它存储介质)中。
接口单元405为外部装置与计算机设备400连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有获取模块的装置的端口、音频输入/输出(I/O)端口、目标程序I/O端口、耳机端口等等。接口单元405可以用于接收来自外部装置的输入(例如,数据信息等)并且将接收到的输入传输到计算机设备400内的一个或多个元件或者可以用于在计算机设备400和外部装置之间传输数据。
电源406(比如电池)可以用于为各个部件供电,可选的,电源406可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在示例性实施例中,本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器402,上述指令可由计算机设备400的处理器401执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在一个示例中,参见图3,上述确定模块301、获取模块302、加载模块303和启动模块304均可以由图4中的处理器401调用存储器402中存储的计算机程序实现。
在示例性实施例中,本公开实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由计算机设备400的处理器401执行以完成上述方法。
需要说明的是,上述存储介质中的指令或计算机程序产品中的一条或多条指令被处理器401执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
在示例性实施例中,本公开实施例还提供了一种系统,包括终端设备和/或服务器。终端设备能够执行上述程序启动方法中终端设备所执行的动作,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种程序启动方法,其特征在于,应用于计算机设备,所述方法包括:
响应于检测到的启动指令,确定目标数据包版本已更新;所述启动指令用于触发从后台启动目标程序;所述目标数据包包括所述目标程序的数据和所述目标程序的宿主程序的数据;所述目标程序的运行无需执行安装操作;
解析所述目标数据包得到所述目标程序的数据和所述宿主程序的数据;
加载所述目标程序的数据和所述宿主程序的数据中所述目标程序所对应的数据,并启动所述目标程序。
2.根据权利要求1所述的方法,其特征在于,所述确定目标数据包版本已更新,包括:
在获取到所述目标数据包的版本更新标识的情况下,确定目标数据包版本已更新。
3.根据权利要求2所述的方法,其特征在于,所述获取到所述目标数据包的版本更新标识,包括:
从所述计算机设备中的应用程序管理器获取到所述目标数据包的版本更新标识,或者,从所述目标数据包的服务器获取到所述目标数据包的版本更新标识;所述目标数据包的已更新版本来源于所述服务器。
4.根据权利要求1所述的方法,其特征在于,所述确定目标数据包版本已更新,包括:
获取所述目标程序的主进程的创建时间以及所述目标数据包的更新时间;在所述创建时间早于所述更新时间的情况下,确定所述目标数据包版本已更新。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述目标程序的数据包括:所述目标程序的程序包、所述目标程序的网络视图组件或所述目标程序的分页显示控件中的至少一种;
所述目标程序所对应的宿主程序的数据包括:所述目标程序对应的基础库和/或所述目标程序的解释器。
6.一种程序启动装置,其特征在于,所述装置包括:
确定模块,被配置为响应于检测到的启动指令,确定目标数据包版本已更新;所述启动指令用于触发从后台启动目标程序;所述目标数据包包括所述目标程序的数据和所述目标程序的宿主程序的数据;所述目标程序的运行无需执行安装操作;
解析模块,被配置为解析所述目标数据包得到所述目标程序的数据和所述宿主程序的数据;
启动模块,被配置为加载所述目标程序的数据以及所述宿主程序的数据中所述目标程序所对应的数据,并启动所述目标程序。
7.一种计算机程序产品,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的方法。
8.一种计算机设备,其特征在于,包括:
处理器和用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述可执行指令,以实现如权利要求1-5任一项所述方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由计算机设备的处理器执行时,使得所述计算机设备能够执行如权利要求1-5任一项所述的方法。
10.一种程序启动系统,其特征在于,所述系统包括终端设备和/或服务器;所述终端设备能够执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011615102.6A CN112698884A (zh) | 2020-12-30 | 2020-12-30 | 程序启动方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011615102.6A CN112698884A (zh) | 2020-12-30 | 2020-12-30 | 程序启动方法、装置、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112698884A true CN112698884A (zh) | 2021-04-23 |
Family
ID=75512778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011615102.6A Pending CN112698884A (zh) | 2020-12-30 | 2020-12-30 | 程序启动方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698884A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113805957A (zh) * | 2021-08-13 | 2021-12-17 | 广东省安心加科技有限公司 | 边缘端程序动态加载方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160132344A1 (en) * | 2014-11-07 | 2016-05-12 | Roku, Inc. | System and method for fast starting an application |
CN108536464A (zh) * | 2018-04-26 | 2018-09-14 | 北京奇艺世纪科技有限公司 | 一种应用程序的热修复方法及装置 |
CN110659057A (zh) * | 2019-09-24 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 应用程序热更新方法、装置、存储介质及计算机设备 |
CN111026462A (zh) * | 2019-12-10 | 2020-04-17 | 百度在线网络技术(北京)有限公司 | 小程序控制方法、装置、设备和介质 |
CN111198730A (zh) * | 2018-10-30 | 2020-05-26 | 广州腾讯科技有限公司 | 子应用程序启动的方法、装置、终端及计算机存储介质 |
CN111399938A (zh) * | 2020-03-11 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 小程序的冷启动方法、装置、计算机设备和存储介质 |
CN111488167A (zh) * | 2020-05-07 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 一种小程序的更新方法、装置、设备和计算机可读介质 |
CN111679842A (zh) * | 2019-03-11 | 2020-09-18 | 阿里巴巴集团控股有限公司 | 应用程序热更新处理方法、装置及系统 |
-
2020
- 2020-12-30 CN CN202011615102.6A patent/CN112698884A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160132344A1 (en) * | 2014-11-07 | 2016-05-12 | Roku, Inc. | System and method for fast starting an application |
CN108536464A (zh) * | 2018-04-26 | 2018-09-14 | 北京奇艺世纪科技有限公司 | 一种应用程序的热修复方法及装置 |
CN111198730A (zh) * | 2018-10-30 | 2020-05-26 | 广州腾讯科技有限公司 | 子应用程序启动的方法、装置、终端及计算机存储介质 |
CN111679842A (zh) * | 2019-03-11 | 2020-09-18 | 阿里巴巴集团控股有限公司 | 应用程序热更新处理方法、装置及系统 |
CN110659057A (zh) * | 2019-09-24 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 应用程序热更新方法、装置、存储介质及计算机设备 |
CN111026462A (zh) * | 2019-12-10 | 2020-04-17 | 百度在线网络技术(北京)有限公司 | 小程序控制方法、装置、设备和介质 |
CN111399938A (zh) * | 2020-03-11 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 小程序的冷启动方法、装置、计算机设备和存储介质 |
CN111488167A (zh) * | 2020-05-07 | 2020-08-04 | 支付宝(杭州)信息技术有限公司 | 一种小程序的更新方法、装置、设备和计算机可读介质 |
Non-Patent Citations (3)
Title |
---|
M先生2333: ""微信小程序之更新管理器wx.getUpdateManager()"", Retrieved from the Internet <URL:《https://www.jianshu.com/p/1ce7e4da5f6f》> * |
S筱潇S四维SMILE: ""微信小程序自动检测更新新版本"", pages 1, Retrieved from the Internet <URL:《https://blog.csdn.net/qq_29483485/article/details/108338123》> * |
子非鱼: ""小程序是否有强制更新机制?希望在下次冷启动之前能主动检查更新"", pages 1 - 2, Retrieved from the Internet <URL:"https://developers.weixin.qq.com/community/develop/doc/00004a64b142f812fd5938f8152000?highLine=%25E5%25B0%258F%25E7%25A8%258B%25E5%25BA%258F%25E6%2598%25AF%25E5%2590%25A6%25E6%259C%2589%25E5%25BC%25BA%25E5%2588%25B6%25E6%259B%25B4%25E6%2596%25B0%25E6%259C%25BA%25E5%2588%25B6%25EF%25BC%259F%25E5%25B8%258C%25E6%259C%259B%25E5%259C%25A8%25E4%25B8%258B%25E6%25AC%25A1%25E5%2586%25B7%25E5%2590%25AF%25E5%258A%25A8%25E4%25B9%258B%25E5%2589%258D%25E8%2583%25BD%25E4%25B8%25BB%25E5%258A%25A8%25E6%25A3%2580%25E6%259F%25A5%25E6%259B%25B4%25E6%2596%25B0"> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113805957A (zh) * | 2021-08-13 | 2021-12-17 | 广东省安心加科技有限公司 | 边缘端程序动态加载方法及装置 |
CN113805957B (zh) * | 2021-08-13 | 2024-02-13 | 广东省安心加科技有限公司 | 边缘端程序动态加载方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8490070B2 (en) | Unified mobile platform | |
CN109408136B (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN102053871B (zh) | 一种应用程序图像的显示方法和装置 | |
CN109308241B (zh) | 监听应用程序启动流程方法、装置、终端设备和存储介质 | |
CN111459586B (zh) | 远程协助方法、装置、存储介质及终端 | |
US20180063670A1 (en) | Background management of mobile applications | |
CN110874217A (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN110990105A (zh) | 界面显示方法、装置、电子设备及存储介质 | |
US9158521B2 (en) | Automatic provisioning of a software platform to a device ecosystem | |
CN111026490B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN110413347B (zh) | 应用程序中广告的处理方法、装置、存储介质及终端 | |
CN110955499B (zh) | 处理器核心配置方法、装置、终端及存储介质 | |
CN110865863B (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN111026491A (zh) | 界面显示方法、装置、电子设备、服务器及存储介质 | |
CN113268286B (zh) | 一种应用启动方法、装置、投影设备及存储介质 | |
CN112579048A (zh) | 小程序集成方法、装置、电子设备及存储介质 | |
WO2022199335A1 (zh) | 服务器部件固件升级的控制方法、装置、设备及存储介质 | |
CN111078325A (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN114443189B (zh) | 一种图像处理方法和电子设备 | |
CN112698884A (zh) | 程序启动方法、装置、系统、设备及存储介质 | |
CN114327087A (zh) | 输入事件处理方法、装置、电子设备和存储介质 | |
CN112256354B (zh) | 应用启动方法、装置、存储介质及电子设备 | |
CN111104183B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN112313620A (zh) | 安卓系统启动的方法、装置、设备及存储介质 | |
CN111552531B (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 |