CN111198721A - 应用程序运行方法和装置 - Google Patents
应用程序运行方法和装置 Download PDFInfo
- Publication number
- CN111198721A CN111198721A CN201811279726.8A CN201811279726A CN111198721A CN 111198721 A CN111198721 A CN 111198721A CN 201811279726 A CN201811279726 A CN 201811279726A CN 111198721 A CN111198721 A CN 111198721A
- Authority
- CN
- China
- Prior art keywords
- data packet
- application program
- application
- program data
- environment
- 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 48
- 238000004806 packaging method and process Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 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
- 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/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
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
技术领域
本发明涉及计算机领域,具体而言,涉及一种应用程序运行方法和装置。
背景技术
在相关技术中,在运行Spring Cloud微服务编写的应用程序的过程中,若是运行环境并未部署Spring Cloud的生态环境,则无法运行Spring Cloud微服务编写的应用程序。此时,需要手动对Spring Cloud微服务编写的应用程序的源代码进行修改,将应用程序调整成在传统服务环境中可以运行的应用程序,然后运行调整后的应用程序。
然而,若是采用上述方法,由于需要手动的对Spring Cloud微服务编写的应用程序的源代码进行调整,从而造成运行应用程序的步骤复杂,效率低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种应用程序运行方法和装置,以至少解决相关技术中存在的运行应用程序的步骤复杂,效率低的技术问题。
根据本发明实施例的一个方面,提供了一种应用程序运行方法,包括:在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,获取用于生成上述第一应用程序数据包的源代码,其中,上述第一应用程序数据包为按照目标运行环境的格式对上述源代码进行封装所得到的数据包;按照上述当前运行环境的格式对上述源代码进行封装,得到第二应用程序数据包;在上述当前运行环境中运行上述第二应用程序数据包。
根据本发明实施例的另一方面,还提供了一种应用程序运行装置,包括:获取单元,用于在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,获取用于生成上述第一应用程序数据包的源代码,其中,上述第一应用程序数据包为按照目标运行环境的格式对上述源代码进行封装所得到的数据包;封装单元,用于按照上述当前运行环境的格式对上述源代码进行封装,得到第二应用程序数据包;第一运行单元,用于在上述当前运行环境中运行上述第二应用程序数据包。
在本发明实施例中,采用了在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,获取用于生成上述第一应用程序数据包的源代码;按照上述当前运行环境的格式对上述源代码进行封装,得到第二应用程序数据包;在上述当前运行环境中运行上述第二应用程序数据包的方法。在上述方法中,由于在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,会自动获取生成第一应用程序数据包的源代码,并根据当前运行环境的格式对源代码进行封装,得到第二应用程序数据包,从而可以运行第二应用程序数据包,避免了在第一应用程序包在当前运行环境无法运行的情况下,需要手动修改第一应用程序包的情况,提高了运行应用程序的效率,进而解决了相关技术中存在的运行应用程序的步骤复杂,效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的应用程序运行方法的流程示意图;
图2是根据本发明实施例的另一种可选的应用程序运行方法的流程示意图;
图3是根据本发明实施例的一种可选的应用程序运行装置的结构示意图;
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种应用程序运行方法,可选地,作为一种可选的实施方式,如图1所示,上述应用程序运行方法包括:
S102,在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,获取用于生成第一应用程序数据包的源代码,其中,第一应用程序数据包为按照目标运行环境的格式对源代码进行封装所得到的数据包;
S104,按照当前运行环境的格式对源代码进行封装,得到第二应用程序数据包;
S106在当前运行环境中运行第二应用程序数据包。
可选地,上述应用程序运行方法可以但不限于应用于搭建有当前运行环境的终端上,例如手机、平板电脑、笔记本电脑、PC机等终端上。上述应用程序运行方法可以但不限于应用于需要运行应用程序的过程中,例如,对应用程序进行测试的过程中,或者使用应用程序的过程中。上述使用应用程序的过程可以但不限于为使用应用程序观看视频、听音乐、转账、即时通信的过程等等。
以将上述应用程序运行方法应用到PC机上对应用程序进行测试为例进行说明。PC机上运行有当前运行环境。在获取到第一应用程序数据包时,由于第一应用程序数据包与目标运行环境的格式对应,因此,第一应用程序数据包可以在目标运行环境中运行而不能在当前运行环境中运行。此时,自动获取到源代码,然后根据当前运行环境的格式对源代码进行封装,得到第二应用程序数据包。由于第二应用程序数据包与当前运行环境的格式对应,因此,可以在当前运行环境中运行。
通过上述方法,由于在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,会自动获取生成第一应用程序数据包的源代码,并根据当前运行环境的格式对源代码进行封装,得到第二应用程序数据包,并运行第二应用程序数据包,从而避免了在第一应用程序包在当前运行环境无法运行的情况下,需要手动修改第一应用程序包的情况,提高了运行应用程序的效率。
可选地,当前运行环境与目标运行环境具备不同的环境标识,用于标识不同的格式。上述环境标识可以但不限于使用任意字符表示。例如,使用1来表示当前运行环境,使用2来表示目标运行环境。预先建立不同的环境与格式的对应关系,在生成第二应用程序数据包时,获取到当前运行环境的环境标识,根据环境标识,获取当前运行环境的格式,并根据当前运行环境的格式对源代码进行封装,得到可以在当前运行环境运行的第二应用程序数据包。
可选地,上述目标运行环境可以但不限于为包含Spring Cloud框架的环境,上述当前运行环境可以但不限于为不包含Spring Cloud框架的环境。继续结合对应用程序进行测试的过程进行说明。
如图2所示,在获取到源代码以后,通过步骤S202,获取到对源代码以SpringCloud的格式进行封装得到的第一应用程序数据包,然后通过步骤S204判断第一应用程序数据包在当前不包含Spring Cloud框架的环境中是否能够正常运行。由于当前运行环境不包含Spring Cloud框架,且第一应用程序数据包是按照Spring Cloud的封装格式封装得到的,因此,第一应用程序数据包无法正常运行,***报错。在此情况下,通过步骤S206自动获取源代码,且通过步骤S208根据当前运行环境的环境格式,即不包含Spring Cloud框架的环境的环境格式,对源代码进行封装,封装得到第二应用程序数据包。通过步骤S210运行第二应用程序数据包进行测试过程,然后结束。若是在判断第一应用程序数据包是否正常运行时,得到第一应用程序数据包能够正常运行,则说明当前环境具备Spring Cloud框架。此时,通过步骤S212直接运行第一应用程序数据包,完成对应用程序的测试。
通过本实施例,通过在当前运行环境无法运行第一应用程序数据包时,按照当前运行环境的格式对源代码进行封装,得到第二应用程序数据包;在当前运行环境中运行第二应用程序数据包,从而可以避免在第一应用程序包在当前运行环境无法运行的情况下,需要手动修改第一应用程序包的情况,实现了自动根据源代码封装在当前环境可以运行的第二应用程序数据包的效果,提高了运行应用程序的效率。
作为一种可选的实施方案,获取用于生成第一应用程序数据包的源代码包括:
S1,删除第一应用程序数据包;
S2,从源代码数据库中下载源代码。
可选地,继续结合上述目标运行环境为包含Spring Cloud框架的环境,上述当前运行环境为不包含Spring Cloud框架的环境。继续结合对应用程序进行测试的过程进行说明。
上述源代码数据库中保存有预先编写的源代码。下载源代码,通过Spring Cloud的格式对源代码进行封装,得到第一应用程序数据包。在不包含Spring Cloud框架的环境中运行第一应用程序数据包时,由于运行环境不兼容,因此,无法正常运行第一应用程序数据包,无法完成对应用程序的测试。此时,自动删除第一应用程序数据包,重新从源代码数据库下载源代码,并按照不包含Spring Cloud框架的环境格式对源代码进行封装,得到第二应用程序数据包,从而可以在不包含Spring Cloud框架的环境中运行第二应用程序数据包,完成对应用程序的测试。
由于第一应用程序数据包与第二应用程序数据包的命名有可能相同。因此,在第一应用程序数据包无法正常运行的情况下,需要删除第一应用程序数据包,然后下载源代码封装第二应用程序数据包,从而运行第二应用程序包。实现了提高运行应用程序的效率的效果。
作为一种可选的实施方案,在获取用于生成第一应用程序数据包的源代码之前,还包括:
S1,检测在当前运行环境中用于启动第一应用程序数据包的时长;
S2,在检测到时长大于第一阈值的情况下,确定第一应用程序数据包无法正常运行。
可选地,若是第一应用程序数据包与当前运行环境不兼容,则无法正常运行。此时,需要判断第一应用程序数据包是否能够正常运行。判断条件可以为启动第一应用程序数据包的时长是否大于第一阈值,或者***是否报错。在启动第一应用程序数据包的时长大于第一阈值或者***报错的情况下,确定第一应用程序数据包无法正常运行。
例如,以判断条件为***报错为例,在运行第一应用程序数据包时,由于第一应用程序数据包与当前运行环境不兼容,因此,***报错,第一应用程序数据包无法正常运行。在***报错后,自动终止第一应用程序数据包,并从源代码数据库中下载用于封装成第一应用数据包的源代码,然后对源代码以当前运行环境进行封装,得到第二应用程序数据包。
通过本实施例,通过在检测到当前运行环境中的启冬第一应用程序数据包的时长大于第一阈值的情况下,确定第一应用程序数据包无法正常运行并获取源代码封装第二应用程序数据包,完成对第二应用程序数据包的启动,实现了提高运行应用程序的效率的效果。
作为一种可选的实施方案,在检测在当前运行环境中用于启动第一应用程序数据包的时长之后,还包括:
S1,在检测到时长小于等于第一阈值的情况下,确定与目标运行环境相匹配的应用客户端和应用服务器;
S2,在目标运行环境中运行第一应用程序数据包,以控制应用客户端与应用服务器执行与第一应用程序数据包对应的应用服务。
可选地,上述应用客户端可以但不限于为EurekaClient,上述应用服务器可以但不限于为EurekaServer。若检测到启动第一应用程序数据包的时长小于了第一阈值,则表示第一应用程序数据包可以正常运行。此时,通过feign组件调用EurekaClient与EurekaServer来完成服务的注册与发现,调用已经注册的服务。例如,若是对第一应用程序数据包进行测试,则通过feign组件调用EurekaClient与EurekaServer来调用相关的功能对第一应用程序数据包进行测试。
通过本实施例,通过在检测到启动第一应用程序数据包的时长小于第一阈值的情况下,通过控制应用客户端与应用服务器执行第一应用程序数据包对应的应用服务,从而可以高效地运行第一应用程序数据包,提高了运行应用程序的效率。
作为一种可选的实施方案,在当前运行环境中运行第二应用程序数据包包括:
S1,确定与当前运行环境相匹配的接口地址;
S2,在当前运行环境中运行第二应用程序数据包,以通过接口地址调用与第二应用程序数据包对应的应用服务。
例如,在对第一应用程序数据包进行测试时,由于第一应用程序数据包与当前运行环境不兼容,无法运行,则根据当前运行环境的格式对源代码进行封装,得到第二应用程序数据包,通过feign组件调用接口地址来完成对第二应用程序数据包的测试。
通过本实施例,通过确定与当前运行环境匹配的接口地址,并通过接口地址调用与第二应用程序数据包对应的应用服务,从而可以保证在第一应用程序无法运行的情况下,运行对源代码进行封装得到的第二应用程序数据包,提高了运行应用程序的效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述应用程序运行方法的应用程序运行装置。如图3所示,该装置包括:
(1)获取单元302,用于在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,获取用于生成第一应用程序数据包的源代码,其中,第一应用程序数据包为按照目标运行环境的格式对源代码进行封装所得到的数据包;
(2)封装单元304,用于按照当前运行环境的格式对源代码进行封装,得到第二应用程序数据包;
(3)第一运行单元306,用于在当前运行环境中运行第二应用程序数据包。
可选地,上述应用程序运行装置可以但不限于应用于搭建有当前运行环境的终端上,例如手机、平板电脑、笔记本电脑、PC机等终端上。
以将上述应用程序运行装置应用到PC机上对应用程序进行测试为例进行说明。PC机上运行有当前运行环境。在获取到第一应用程序数据包时,由于第一应用程序数据包与目标运行环境的格式对应,因此,第一应用程序数据包可以在目标运行环境中运行而不能在当前运行环境中运行。此时,自动获取到源代码,然后根据当前运行环境的格式对源代码进行封装,得到第二应用程序数据包。由于第二应用程序数据包与当前运行环境的格式对应,因此,可以在当前运行环境中运行。
通过上述方法,由于在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,会自动获取生成第一应用程序数据包的源代码,并根据当前运行环境的格式对源代码进行封装,得到第二应用程序数据包,并运行第二应用程序数据包,从而避免了在第一应用程序包在当前运行环境无法运行的情况下,需要手动修改第一应用程序包的情况,提高了运行应用程序的效率。
可选地,当前运行环境与目标运行环境具备不同的环境标识,用于标识不同的格式。上述环境标识可以但不限于使用任意字符表示。例如,使用1来表示当前运行环境,使用2来表示目标运行环境。预先建立不同的环境与格式的对应关系,在生成第二应用程序数据包时,获取到当前运行环境的环境标识,根据环境标识,获取当前运行环境的格式,并根据当前运行环境的格式对源代码进行封装,得到可以在当前运行环境运行的第二应用程序数据包。
可选地,上述目标运行环境可以但不限于为包含Spring Cloud框架的环境,上述当前运行环境可以但不限于为不包含Spring Cloud框架的环境。继续结合对应用程序进行测试的过程进行说明。
如图2所示,在获取到源代码以后,通过步骤S202,获取到对源代码以SpringCloud的格式进行封装得到的第一应用程序数据包,然后通过步骤S204判断第一应用程序数据包在当前不包含Spring Cloud框架的环境中是否能够正常运行。由于当前运行环境不包含Spring Cloud框架,且第一应用程序数据包是按照Spring Cloud的封装格式封装得到的,因此,第一应用程序数据包无法正常运行,***报错。在此情况下,通过步骤S206自动获取源代码,且通过步骤S208根据当前运行环境的环境格式,即不包含Spring Cloud框架的环境的环境格式,对源代码进行封装,封装得到第二应用程序数据包。通过步骤S210运行第二应用程序数据包进行测试过程,然后结束。若是在判断第一应用程序数据包是否正常运行时,得到第一应用程序数据包能够正常运行,则说明当前环境具备Spring Cloud框架。此时,通过步骤S212直接运行第一应用程序数据包,完成对应用程序的测试。
通过本实施例,通过在当前运行环境无法运行第一应用程序数据包时,按照当前运行环境的格式对源代码进行封装,得到第二应用程序数据包;在当前运行环境中运行第二应用程序数据包,从而可以避免在第一应用程序包在当前运行环境无法运行的情况下,需要手动修改第一应用程序包的情况,实现了自动根据源代码封装在当前环境可以运行的第二应用程序数据包的效果,提高了运行应用程序的效率。
作为一种可选的实施方案,上述获取单元302包括:
(1)删除模块,用于删除第一应用程序数据包;
(2)下载模块,用于从源代码数据库中下载源代码。
可选地,继续结合上述目标运行环境为包含Spring Cloud框架的环境,上述当前运行环境为不包含Spring Cloud框架的环境。继续结合对应用程序进行测试的过程进行说明。
上述源代码数据库中保存有预先编写的源代码。下载源代码,通过Spring Cloud的格式对源代码进行封装,得到第一应用程序数据包。在不包含Spring Cloud框架的环境中运行第一应用程序数据包时,由于运行环境不兼容,因此,无法正常运行第一应用程序数据包,无法完成对应用程序的测试。此时,自动删除第一应用程序数据包,重新从源代码数据库下载源代码,并按照不包含Spring Cloud框架的环境格式对源代码进行封装,得到第二应用程序数据包,从而可以在不包含Spring Cloud框架的环境中运行第二应用程序数据包,完成对应用程序的测试。
由于第一应用程序数据包与第二应用程序数据包的命名有可能相同。因此,在第一应用程序数据包无法正常运行的情况下,需要删除第一应用程序数据包,然后下载源代码封装第二应用程序数据包,从而运行第二应用程序包。实现了提高运行应用程序的效率的效果。
作为一种可选的实施方案,上述装置还包括:
(1)检测单元,用于在获取用于生成第一应用程序数据包的源代码之前,检测在当前运行环境中用于启动第一应用程序数据包的时长;
(2)第一确定单元,用于在检测到时长大于第一阈值的情况下,确定第一应用程序数据包无法正常运行。
可选地,若是第一应用程序数据包与当前运行环境不兼容,则无法正常运行。此时,需要判断第一应用程序数据包是否能够正常运行。判断条件可以为启动第一应用程序数据包的时长是否大于第一阈值,或者***是否报错。在启动第一应用程序数据包的时长大于第一阈值或者***报错的情况下,确定第一应用程序数据包无法正常运行。
例如,以判断条件为***报错为例,在运行第一应用程序数据包时,由于第一应用程序数据包与当前运行环境不兼容,因此,***报错,第一应用程序数据包无法正常运行。在***报错后,自动终止第一应用程序数据包,并从源代码数据库中下载用于封装成第一应用数据包的源代码,然后对源代码以当前运行环境进行封装,得到第二应用程序数据包。
通过本实施例,通过在检测到当前运行环境中的启冬第一应用程序数据包的时长大于第一阈值的情况下,确定第一应用程序数据包无法正常运行并获取源代码封装第二应用程序数据包,完成对第二应用程序数据包的启动,实现了提高运行应用程序的效率的效果。
作为一种可选的实施方案,上述装置还包括:
(1)第二确定单元,用于在检测在当前运行环境中用于启动第一应用程序数据包的时长之后,在检测到时长小于等于第一阈值的情况下,确定与目标运行环境相匹配的应用客户端和应用服务器;
(2)第二运行单元,用于在目标运行环境中运行第一应用程序数据包,以控制应用客户端与应用服务器执行与第一应用程序数据包对应的应用服务。
可选地,上述应用客户端可以但不限于为EurekaClient,上述应用服务器可以但不限于为EurekaServer。若检测到启动第一应用程序数据包的时长小于了第一阈值,则表示第一应用程序数据包可以正常运行。此时,通过feign组件调用EurekaClient与EurekaServer来完成服务的注册与发现,调用已经注册的服务。例如,若是对第一应用程序数据包进行测试,则通过feign组件调用EurekaClient与EurekaServer来调用相关的功能对第一应用程序数据包进行测试。
通过本实施例,通过在检测到启动第一应用程序数据包的时长小于第一阈值的情况下,通过控制应用客户端与应用服务器执行第一应用程序数据包对应的应用服务,从而可以高效地运行第一应用程序数据包,提高了运行应用程序的效率。
作为一种可选的实施方案,上述第一运行单元306包括:
(1)确定模块,用于确定与当前运行环境相匹配的接口地址;
(2)运行模块,用于在当前运行环境中运行第二应用程序数据包,以通过接口地址调用与第二应用程序数据包对应的应用服务。
例如,在对第一应用程序数据包进行测试时,由于第一应用程序数据包与当前运行环境不兼容,无法运行,则根据当前运行环境的格式对源代码进行封装,得到第二应用程序数据包,从而启动第二应用程序数据包。在启动第二应用程序数据包后,通过feign组件调用接口地址来完成对第二应用程序数据包的测试。
通过本实施例,通过确定与当前运行环境匹配的接口地址,并通过接口地址调用与第二应用程序数据包对应的应用服务,从而可以保证在第一应用程序无法运行的情况下,运行对源代码进行封装得到的第二应用程序数据包,提高了运行应用程序的效率。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种应用程序运行方法,其特征在于,包括:
在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,获取用于生成所述第一应用程序数据包的源代码,其中,所述第一应用程序数据包为按照目标运行环境的格式对所述源代码进行封装所得到的数据包;
按照所述当前运行环境的格式对所述源代码进行封装,得到第二应用程序数据包;
在所述当前运行环境中运行所述第二应用程序数据包。
2.根据权利要求1所述的方法,其特征在于,所述获取用于生成所述第一应用程序数据包的源代码包括:
删除所述第一应用程序数据包;
从源代码数据库中下载所述源代码。
3.根据权利要求1所述的方法,其特征在于,在获取用于生成所述第一应用程序数据包的源代码之前,还包括:
检测在所述当前运行环境中用于启动所述第一应用程序数据包的时长;
在检测到所述时长大于第一阈值的情况下,确定所述第一应用程序数据包无法正常运行。
4.根据权利要求3所述的方法,其特征在于,在所述检测在所述当前运行环境中用于启动所述第一应用程序数据包的时长之后,还包括:
在检测到所述时长小于等于所述第一阈值的情况下,确定与所述目标运行环境相匹配的应用客户端和应用服务器;
在所述目标运行环境中运行所述第一应用程序数据包,以控制所述应用客户端与所述应用服务器执行与所述第一应用程序数据包对应的应用服务。
5.根据权利要求1所述的方法,其特征在于,所述在所述当前运行环境中运行所述第二应用程序数据包包括:
确定与所述当前运行环境相匹配的接口地址;
在所述当前运行环境中运行所述第二应用程序数据包,以通过所述接口地址调用与所述第二应用程序数据包对应的应用服务。
6.一种应用程序运行装置,其特征在于,包括:
获取单元,用于在检测到第一应用程序数据包在当前运行环境中无法正常运行的情况下,获取用于生成所述第一应用程序数据包的源代码,其中,所述第一应用程序数据包为按照目标运行环境的格式对所述源代码进行封装所得到的数据包;
封装单元,用于按照所述当前运行环境的格式对所述源代码进行封装,得到第二应用程序数据包;
第一运行单元,用于在所述当前运行环境中运行所述第二应用程序数据包。
7.根据权利要求6所述的装置,其特征在于,所述获取单元包括:
删除模块,用于删除所述第一应用程序数据包;
下载模块,用于从源代码数据库中下载所述源代码。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
检测单元,用于在获取用于生成所述第一应用程序数据包的源代码之前,检测在所述当前运行环境中用于启动所述第一应用程序数据包的时长;
第一确定单元,用于在检测到所述时长大于第一阈值的情况下,确定所述第一应用程序数据包无法正常运行。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于在所述检测在所述当前运行环境中用于启动所述第一应用程序数据包的时长之后,在检测到所述时长小于等于所述第一阈值的情况下,确定与所述目标运行环境相匹配的应用客户端和应用服务器;
第二运行单元,用于在所述目标运行环境中运行所述第一应用程序数据包,以控制所述应用客户端与所述应用服务器执行与所述第一应用程序数据包对应的应用服务。
10.根据权利要求6所述的装置,其特征在于,所述第一运行单元包括:
确定模块,用于确定与所述当前运行环境相匹配的接口地址;
运行模块,用于在所述当前运行环境中运行所述第二应用程序数据包,以通过所述接口地址调用与所述第二应用程序数据包对应的应用服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811279726.8A CN111198721A (zh) | 2018-10-30 | 2018-10-30 | 应用程序运行方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811279726.8A CN111198721A (zh) | 2018-10-30 | 2018-10-30 | 应用程序运行方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111198721A true CN111198721A (zh) | 2020-05-26 |
Family
ID=70745977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811279726.8A Pending CN111198721A (zh) | 2018-10-30 | 2018-10-30 | 应用程序运行方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111198721A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114650276A (zh) * | 2022-02-24 | 2022-06-21 | 北京健康之家科技有限公司 | 业务请求处理方法、电子设备终端及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354677A (zh) * | 2008-09-11 | 2009-01-28 | 青岛海信移动通信技术股份有限公司 | 一种应用程序运行状态的检测方法、恢复方法及装置 |
CN102622241A (zh) * | 2011-01-26 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 一种软件升级方法及装置 |
CN104793946A (zh) * | 2015-04-27 | 2015-07-22 | 广州杰赛科技股份有限公司 | 基于云计算平台的应用部署方法和*** |
CN105740027A (zh) * | 2012-12-06 | 2016-07-06 | 北京奇虎科技有限公司 | 应用程序更新方法和装置 |
US20180088935A1 (en) * | 2016-09-27 | 2018-03-29 | Ca, Inc. | Microservices application configuration based on runtime environment |
CN107861738A (zh) * | 2017-11-06 | 2018-03-30 | 广东欧珀移动通信有限公司 | 应用异常处理方法、装置、存储介质及终端设备 |
-
2018
- 2018-10-30 CN CN201811279726.8A patent/CN111198721A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354677A (zh) * | 2008-09-11 | 2009-01-28 | 青岛海信移动通信技术股份有限公司 | 一种应用程序运行状态的检测方法、恢复方法及装置 |
CN102622241A (zh) * | 2011-01-26 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 一种软件升级方法及装置 |
CN105740027A (zh) * | 2012-12-06 | 2016-07-06 | 北京奇虎科技有限公司 | 应用程序更新方法和装置 |
CN104793946A (zh) * | 2015-04-27 | 2015-07-22 | 广州杰赛科技股份有限公司 | 基于云计算平台的应用部署方法和*** |
US20180088935A1 (en) * | 2016-09-27 | 2018-03-29 | Ca, Inc. | Microservices application configuration based on runtime environment |
CN107861738A (zh) * | 2017-11-06 | 2018-03-30 | 广东欧珀移动通信有限公司 | 应用异常处理方法、装置、存储介质及终端设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114650276A (zh) * | 2022-02-24 | 2022-06-21 | 北京健康之家科技有限公司 | 业务请求处理方法、电子设备终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471653B (zh) | 应用程序的更新方法、电子设备、服务器和存储介质 | |
CN103595766B (zh) | 实现扩展应用程序的推送通知的方法及装置 | |
CN105303112B (zh) | 组件调用漏洞的检测方法及装置 | |
EP2608585B1 (en) | Method, device and system for triggering terminal operation | |
CN106331135B (zh) | 一种部分界面更新方法、***、客户端和服务端 | |
CN110058864B (zh) | 微服务的部署方法及装置 | |
CN108804399B (zh) | 表单的校验方法及装置 | |
CN107786601B (zh) | 一种信息处理方法、终端及服务器 | |
WO2016202000A1 (zh) | 差分回退升级方法及装置 | |
CN110442502B (zh) | 一种埋点的方法、装置、设备及存储介质 | |
CN108536451A (zh) | 应用程序的埋点注入方法和装置 | |
CN109753419A (zh) | 一种非侵入式监控android***的所有应用的异常日志信息的方法及装置 | |
CN110727524A (zh) | 一种实现远程过程调用的方法及装置 | |
CN107526584B (zh) | 数据接入方法和装置 | |
CN114579194B (zh) | 一种基于Spring远程调用的异常处理方法和*** | |
CN108989365B (zh) | 一种信息处理方法、服务器、终端设备及存储介质 | |
CN108132832B (zh) | 应用程序启动方法和装置 | |
CN108804120B (zh) | 一种页面构建方法、装置、设备及存储介质 | |
CN114172978A (zh) | 多协议设备接入方法及相关装置 | |
CN111198721A (zh) | 应用程序运行方法和装置 | |
CN115617555A (zh) | 一种信息处理***以及方法 | |
CN113656091B (zh) | 独立开播进程的实现方法以及相关装置、设备 | |
CN112596750B (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN112099814B (zh) | 车机应用软件安装环境管理***及方法 | |
CN115268969A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200526 |
|
RJ01 | Rejection of invention patent application after publication |