CN112445498A - 一种程序安装方法、装置、电子设备及存储介质 - Google Patents

一种程序安装方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112445498A
CN112445498A CN202011357591.XA CN202011357591A CN112445498A CN 112445498 A CN112445498 A CN 112445498A CN 202011357591 A CN202011357591 A CN 202011357591A CN 112445498 A CN112445498 A CN 112445498A
Authority
CN
China
Prior art keywords
web
service
party application
program
application program
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
CN202011357591.XA
Other languages
English (en)
Other versions
CN112445498B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202011357591.XA priority Critical patent/CN112445498B/zh
Publication of CN112445498A publication Critical patent/CN112445498A/zh
Application granted granted Critical
Publication of CN112445498B publication Critical patent/CN112445498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

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

Abstract

本申请实施例提供了一种程序安装方法、装置、电子设备及存储介质,涉及计算机技术领域,包括:获得第三方应用程序的安装包;对所述安装包进行拆包处理,得到所述第三方应用程序的程序安装资源以及所述第三方应用程序的Web界面的Web资源;将所述Web资源存储至底层程序提供的主Web服务的预设目录下,并利用所述程序安装资源安装所述第三方应用程序。应用本申请实施例提供的方案,可以降低程序安装的复杂度。

Description

一种程序安装方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种程序安装方法、装置、电子设备及存储介质。
背景技术
NVR(Network Video Recorder,网络视频录像机)等大多数嵌入式设备中可以部署有底层程序,用于提供多种基础服务。基于上述基础服务,可以在嵌入式设备中安装第三方应用程序,便于嵌入式设备向用户提供第三方服务。
现有技术中,由于现有的嵌入式系统的程序安装过程框架的模式限制,在向嵌入式设备中安装第三方应用程序时,需要生成包含嵌入式设备中所部署的底层程序和第三方应用程序的整套程序,将整套程序导入嵌入式设备,从而实现将第三方应用程序安装到嵌入式设备。
可见,应用现在技术向嵌入式设备安装第三方应用程序时,需要对嵌入式设备内部署的底层程序进行重装,这样导致安装第三方应用程序时复杂度较高。
发明内容
本申请实施例的目的在于提供一种程序安装方法、装置、电子设备及存储介质,以降低程序安装的复杂度。具体技术方案如下:
第一方面,本申请实施例提供了一种程序安装方法,所述方法包括:
获得第三方应用程序的安装包;
对所述安装包进行拆包处理,得到所述第三方应用程序的程序安装资源以及所述第三方应用程序的Web界面的Web资源;
将所述Web资源存储至底层程序提供的主Web服务的预设目录下,并利用所述程序安装资源安装所述第三方应用程序。
本申请的一个实施例中,所述方法还包括:
在所述主Web服务下创建所述第三方应用程序对应的子Web服务,其中,所述子Web服务用于加载所述第三方应用程序的Web界面。
本申请的一个实施例中,所述方法还包括:
在成功安装所述第三方应用程序后,运行所述第三方应用程序,并通过所述子Web服务加载所述预设目录下存储的所述Web资源,以实现所述Web界面显示,并按照以下方式基于所述Web界面向用户提供服务:
所述子Web服务监听所述用户操作所述Web界面产生的服务请求,并将所述服务请求发送至所述主Web服务;
所述主Web服务在目标文件库中查找用于响应所述服务请求的响应方式,并指示所述第三方应用程序按照所述响应方式获得所述服务请求的响应数据,其中,所述目标文件库用于存储:所述第三应用程序响应其所提供服务的请求的方式;
所述第三方应用程序利用所述目标文件库将所述响应数据透传至所述主Web服务;
所述主Web服务将所述响应数据发送至所述子Web服务;
所述子Web服务通过所述Web界面向所述用户提供所述响应数据,以实现向所述用户提供服务。
本申请的一个实施例中,所述目标文件库具体用于存储:所述第三方应用程序所提供的每一服务的访问地址与响应该服务的请求的方式之间的对应关系;
所述主Web服务在目标文件库中查找用于响应所述服务请求的响应方式,包括:
所述主Web服务对所述服务请求进行解析,得到所述服务请求所请求服务的访问地址,作为目标地址;
所述主Web服务调用目标文件库,在所述目标文件库中查找所述目标地址对应的方式,作为响应所述服务请求的响应方式。
本申请的一个实施例中,所述方法还包括:
获得所述Web界面的新Web资源,将所述Web资源替换为所述新Web资源,以实现对所述Web界面的更新。
第二方面,本申请实施例提供了一种程序安装装置,所述装置包括:
安装包获得模块,用于获得第三方应用程序的安装包;
安装包拆包模块,用于对所述安装包进行拆包处理,得到所述第三方应用程序的程序安装资源以及所述第三方应用程序的Web界面的Web资源;
程序安装模块,用于将所述Web资源存储至底层程序提供的主Web服务的预设目录下,并利用所述程序安装资源安装所述第三方应用程序。
本申请的一个实施例中,所述装置还包括服务创建模块,用于:
在所述主Web服务下创建所述第三方应用程序对应的子Web服务,其中,所述子Web服务用于加载所述第三方应用程序的Web界面。
本申请的一个实施例中,所述装置还包括:
程序运行模块,用于在成功安装所述第三方应用程序后,运行所述第三方应用程序,并通过所述子Web服务加载所述预设目录下存储的所述Web资源,以实现所述Web界面显示,并通过所述子Web服务、主Web服务、第三方应用程序、基于所述Web界面向用户提供服务;
所述子Web服务,用于监听所述用户操作所述Web界面产生的服务请求,并将所述服务请求发送至所述主Web服务;
所述主Web服务,用于在目标文件库中查找用于响应所述服务请求的响应方式,并指示所述第三方应用程序按照所述响应方式获得所述服务请求的响应数据,其中,所述目标文件库用于存储:所述第三应用程序响应其所提供服务的请求的方式;
所述第三方应用程序,用于利用所述目标文件库将所述响应数据透传至所述主Web服务;
所述主Web服务,用于将所述响应数据发送至所述子Web服务;
所述子Web服务,用于通过所述Web界面向所述用户提供所述响应数据,以实现向所述用户提供服务。
本申请的一个实施例中,所述目标文件库具体用于存储:所述第三方应用程序所提供的每一服务的访问地址与响应该服务的请求的方式之间的对应关系;
所述主Web服务,具体用于对所述服务请求进行解析,得到所述服务请求所请求服务的访问地址,作为目标地址;调用目标文件库,在所述目标文件库中查找所述目标地址对应的方式,作为响应所述服务请求的响应方式。
本申请的一个实施例中,所述装置还包括:
界面更新模块,用于获得所述Web界面的新Web资源,将所述Web资源替换为所述新Web资源,以实现对所述Web界面的更新。
第三方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的程序安装方法。
本申请实施例有益效果:
应用本申请实施例提供的程序安装方案安装程序时,获得第三方应用程序的安装包,对安装包进行拆包处理,得到第三方应用程序的程序安装资源以及第三方应用程序的Web界面的Web资源,将Web资源存储至底层程序提供的主Web服务的预设目录下,并利用程序安装资源安装第三方应用程序。相对于现有技术中在安装第三方应用程序时,需要一并对电子设备内部署的底层程序进行重装,应用本申请实施例提供的程序安装方案在安装第三方应用程序时,只需要将第三方应用程序的安装包导入电子设备,并只针对第三方应用程序进行安装,无需对电子设备中部署的底层程序进行重装,可以降低程序安装的复杂度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本申请实施例提供的一种程序安装方法的流程示意图;
图2为本申请实施例提供的一种程序安装过程的示意图;
图3为本申请实施例提供的一种程序应用过程的示意图;
图4为本申请实施例提供的一种第三方应用程序应用过程的信令交互图;
图5为本申请实施例提供的一种程序安装装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为降低程序安装的复杂度,本申请实施例提供了一种程序安装方法、装置、电子设备及存储介质,下面分别进行详细描述。
参见图1,图1为本申请实施例提供的一种程序安装方法的流程示意图,该方法可以应用于NVR、图像采集设备、定位设备、移动通讯设备等电子设备,上述电子设备可以为嵌入式设备,其中可以部署有底层程序,例如,嵌入式Linux系统、嵌入式Unix系统、嵌入式DOS(Disk Operating System,磁盘操作系统)等嵌入式系统。程序安装方法包括如下步骤101至步骤103。
步骤101,获得第三方应用程序的安装包。
其中,上述第三方应用程序是指第三方开发的应用程序,可以安装于电子设备中,为用户提供第三方服务。上述第三方应用程序可以是基于嵌入式系统开发得到的程序,这种情况下,第三方应用程序可以基于嵌入式动态Web功能向用户提供第三方服务。
上述安装包中可以包含第三方应用程序的程序安装资源、第三方应用程序的Web界面的Web资源。
上述程序安装资源用于电子设备对第三方应用程序进行安装,程序安装资源中可以包含目标文件库,上述目标文件库可以用于存储第三方应用程序所提供的各个服务的实现方式,还可以用于进行数据传输。例如,上述目标文件库可以是OpDevSdk文件库。OpDevSdk文件库是一种用于实现动态Web组件集成的文件库,通过该文件库可以将Web页面对应的数据透传至第三方应用程序。
上述Web资源中包括第三方应用程序的Web界面的界面信息,具体可以包括Web界面的尺寸、颜色以及分布的各个功能按钮的位置、形状等信息。通过读取上述Web资源,可以获得Web界面的界面信息,进而对上述Web资源进行加载,可以实现对Web界面的显示。例如,上述Web资源可以是HTML(Hyper Text Marked Language,超文本标记语言)资源,第三方在开发HTML资源时,可以按照第三方应用程序所提供的服务进行开发得到。
本申请的一个实施例中,电子设备可以提供操作界面,操作界面中包含用于导入第三方应用程序安装包的接口,例如,该接口在操作界面上具体可以表现为按钮和输入框的组合。这种情况下,用户可以点击上述按钮,借助输入框输入或者选择安装包的路径信息,从而电子设备可以按照上述路径信息导入安装包。
本申请的一个实施例中,当第三方应用程序的安装包存储在移动存储设备中时,如U盘(USB flash drive,USB闪存盘)、移动硬盘等,上述路径信息为安装包在移动存储设备中的存储路径,这种情况下,电子设备获得上述存储路径后,可以将移动存储设备中存储的安装包导入电子设备。
当第三方应用程序的安装包存储在网络端时,上述路径信息为安装包在网络端的网络地址,这种情况下,电子设备获得上述网络地址后,可以通过上述网络地址访问服务端,从服务端下载上述安装包,从而实现导入第三方应用程序的安装包。
现有技术中,安装包中需要包含底层程序和第三方应用程序的整套程序的安装资源,来对电子设备内部署的底层程序和第三方程序一并进行安装,复杂度较高。应用上述实施例提供的方案,安装包中仅需包含第三方应用程序的安装资源,后续仅针对第三方应用程序进行安装,可以减小安装包的大小,降低安装第三方应用程序的复杂度。
步骤102,对安装包进行拆包处理,得到第三方应用程序的程序安装资源以及第三方应用程序的Web界面的Web资源。
具体的,由于上述步骤101中所获的安装包中包含第三方应用程序的程序安装资源以及第三方应用程序的Web界面的Web资源,因此在获得安装包后,需要对安装包进行拆包,分离出程序安装资源和Web资源。
本申请的一个实施例中,在上述步骤101中所获得的安装包为压缩后的安装包的情况下,需要先对上述安装包进行解压,再从解压后的安装包中分离出程序安装资源和Web资源。
步骤103,将Web资源存储至底层程序提供的主Web服务的预设目录下,并利用程序安装资源安装第三方应用程序。
其中,电子设备中预先部署有底层程序,用于提供多种基础服务,上述基础服务中包括主Web服务,主Web服务用于为各个第三方应用程序的Web界面提供加载服务、数据交互服务等。
具体的,将第三方应用程序的Web界面的Web资源存储至上述主Web服务的预设目录下,便于电子设备基于主Web服务对上述Web资源进行读取、加载等。上述预设目录可以是主Web服务的根目录、二级目录、三级目录等。
在得到第三方应用程序的程序安装资源后,可以利用上述程序安装资源将第三方应用程序安装在电子设备上。
本申请的一个实施例中,可以获得Web界面的新Web资源,将Web资源替换为新Web资源,以实现对Web界面的更新。
具体的,在需要对第三方应用程序的Web界面进行更新时,电子设备可以获得第三应用程序的界面更新包,通过解析该界面更新包获得新的Web界面的新Web资源。电子设备可以将新Web资源存储至原Web资源的存储位置处,也就是,将新Web资源存储至主Web服务的预设目录下,并删除原Web资源,实现将新Web资源替换为新Web资源。
这样在后续对第三方应用程序的Web界面进行显示时,可以加载新Web资源,实现对更新后Web界面的显示。相对于现有技术中,由于现有的嵌入式系统的程序安装过程框架的模式限制,不能仅针对第三方应用程序的Web资源进行更新,也就是不能仅针对第三方应用程序的Web界面进行更新,而是需要对电子设备内部署的底层程序、第三方程序一并进行更新。应用上述实施例提供的方案,更新第三方应用程序的Web界面的过程更加简便。
应用上述实施例提供的程序安装方案安装程序时,获得第三方应用程序的安装包,对安装包进行拆包处理,得到第三方应用程序的程序安装资源以及第三方应用程序的Web界面的Web资源,将Web资源存储至底层程序提供的主Web服务的预设目录下,并利用程序安装资源安装第三方应用程序。相对于现有技术中在安装第三方应用程序时,需要一并对电子设备内部署的底层程序进行重装,应用上述实施例提供的程序安装方案在安装第三方应用程序时,只需要将第三方应用程序的安装包导入电子设备,并只针对第三方应用程序进行安装,无需对电子设备中部署的底层程序进行重装,可以降低程序安装的复杂度。
本申请的一个实施例中,可以在主Web服务下创建第三方应用程序对应的子Web服务。
其中,子Web服务用于加载第三方应用程序的Web界面。
具体的,可以在主Web服务下创建一子Web服务,该子Web服务用于读取并加载该第三方应用程序的Web资源,实现对该第三方应用程序的Web界面的显示。该子Web服务还可以用于实现主Web服务与所显示的Web界面之间的数据交互。
本申请的一个实施例中,每一子Web服务对应一第三方应用程序,在电子设备中安装有多个第三方应用程序的情况下,需要在主Web服务下创建多个子Web服务。其中,可以在第三方应用程序成功安装后,创建该第三方应用程序对应的子Web服务;也可以是在第三方应用程序首次运行时,创建该第三方应用程序对应的子Web服务,本申请实施例并不对此进行限定。
本申请的一个实施例中,在创建第三方应用程序对应的子Web服务后,可以通过子Web服务加载预设目录下存储的Web资源,以实现Web界面显示。具体的,用户可以登录电子设备的操作界面,电子设备的操作界面中可以包含页面跳转按钮,当用户点击上述页面跳转按钮后,电子设备可以启动子Web服务读取预设目录下存储的Web资源,加载该Web资源并按照Web资源进行界面配置,实现对第三方应用程序的Web界面的显示。
本申请的一个实施例中,在显示第三方应用程序的Web界面时,可以基于电子设备中的浏览器进行显示。具体的,浏览器中的Web引擎可以提供Web服务,可以基于上述Web服务加载Web资源,从而实现对第三方应用程序的Web界面的显示。上述浏览器可以是IE(Internet Explorer,网页浏览器)浏览器、谷歌浏览器等。
参见图2,图2为本申请实施例提供的一种程序安装过程的示意图。如图2所示,第三方可以开发得到第三方应用程序的程序安装资源,并根据第三方应用程序所提供的服务开发得到第三方应用程序的Web界面的HTML资源,上述HTML资源即为第三方应用程序的Web界面的Web资源,然后可以对上述程序安装资源和HTML资源进行打包,得到第三方应用程序的安装包。当用户存在应用需求时,用户可以将安装包导入电子设备,电子设备在获得安装包后,可以对安装包进行解压、拆包,分别得到程序安装资源和HTML资源,利用程序安装资源将第三方应用程序安装在电子设备中,并将HTML资源存储至底层程序提供的主Web服务的预设目录下,为第三方应用程序创建子Web服务,这样在需要显示第三方应用程序的Web界面时,电子设备可以基于子Web服务加载上述HTML资源,实现跳转显示上述Web界面。
在安装第三方应用程序后,可以利用第三方应用程序向用户提供第三方服务,下面对第三方应用程序的应用方法进行描述。
本申请的一个实施例中,在成功安装第三方应用程序后,可以运行第三方应用程序,并通过子Web服务加载预设目录下存储的Web资源,以实现Web界面显示,并按照以下方式基于Web界面向用户提供服务:
步骤1:子Web服务监听用户操作Web界面产生的服务请求,并将服务请求发送至主Web服务;
步骤2:主Web服务在目标文件库中查找用于响应服务请求的响应方式,并指示第三方应用程序按照响应方式获得服务请求的响应数据,其中,目标文件库用于存储:第三应用程序响应其所提供服务的请求的方式;
步骤3:第三方应用程序利用目标文件库将响应数据透传至主Web服务;
步骤4:主Web服务将响应数据发送至子Web服务;
步骤5:子Web服务通过Web界面向用户提供响应数据,以实现向所述用户提供服务。
其中,上述响应方式为:用于获得服务请求所请求的服务对应的响应数据的方式。上述第三方应用程序可以提供多种服务,服务请求用于:请求第三方程序可提供的服务中的一种或多种服务。主Web服务在确定响应方式后,可以将响应方式发送至第三方应用程序,第三方应用程序按照不同的响应方式执行,从而得到响应数据。
例如,在监控场景中,假设第三方应用程序可提供的服务包括:行人检测、车辆检测、交通事件检测等。这样服务请求可以是获得行人检测数据的请求、获得车辆检测数据的请求,还可以是获得交通事件检测数据的请求。在此基础上,响应服务请求的响应方式可以是第三方应用程序能够获得行人检测数据的方式、能够获得车辆检测数据的方式,还可以是能够获得交通事件检测数据的方式。
假设上述服务请求为用于获得车辆检测数据的请求,则主Web服务可以确定响应方式为:能够获得车辆检测数据的方式,并将所确定的响应方式发送至第三方应用程序,第三方应用程序按照能够获得车辆检测数据的方式来执行,从而获得车辆检测数据,作为响应数据。
本申请的一个实施例中,上述响应方式可以是基于网络模型、算法、函数等实现的,这样第三方应用程序可以通过运行上述网络模型、算法或函数的方式,实现上述各种响应方式,从而得到响应数据。
本申请的一个实施例中,目标文件库中可以存储有多种响应方式的标识,主Web服务可以在目标文件库中查找用于响应服务请求的响应方式的标识,并将查找到的标识发送至第三方应用程序,从而第三方应用程序可以根据上述标识确定响应方式。具体的,目标文件库中可以预先建立服务请求与响应方式的标识之间的对应关系,主Web服务在接收到服务请求后,可以在上述对应关系中查找对应的响应方式的标识。
例如,假设第三方应用程序可以提供服务A和服务B,则目标文件库中可以存储响应方式A的标识和响应方式B的标识,其中,响应方式A用于响应针对服务A的服务请求A,响应方式B用于响应针对服务B的服务请求B。这样在获得针对服务A的服务请求后,可以在目标文件库中查找用于响应上述服务请求A的响应方式A的标识,将上述标识发送至第三方应用程序,第三方应用程序可以按照响应方式A进行响应,得到响应数据,该响应数据即为服务A提供的数据。
在得到响应数据后,第三方应用程序可以利用目标文件库将上述响应数据透传至主Web服务,再由主Web服务将响应数据发送至子Web服务,子Web服务可以将上述响应数据显示在Web界面中,从而实现向用户提供服务。
本申请的一个实施例中,在利用目标文件库进行数据透传时,可以由第三方应用程序将响应数据发送至目标文件库,再由主Web服务从该目标文件库中获取响应数据。由于第三方应用程序和主Web服务均可以访问该目标文件库,因此可以利用该目标文件库进行数据传递,并且由于目标文件库不会对数据进行额外处理,数据在传输过程中不受干扰,利用上述目标文件库可以实现数据透传。
本申请的一个实施例中,上述用于响应服务请求的响应方式可以以回调函数的形式存储在目标文件库中,上述回调函数用于指示第三方应用程序调用能够实现上述响应方式的函数。也就是,目标文件库中可以存储有多种回调函数,每一回调函数用于响应针对第三方应用程序所提供的一服务的请求,第三方应用程序中具有多个用于提供不同的服务的函数。这样主Web服务在获得服务请求后,可以在目标文件库中查找用于响应该服务请求的回调函数,并将查找到的回调函数发送至第三方应用程序,指示第三方应用程序执行该回调函数所指示的函数,实现按照对应的响应方式响应上述服务请求,得到响应数据。
第三方应用程序在上述电子设备中运行时,上述主Web服务、子Web服务、第三方应用程序可以分别对应不同的进程。子Web服务对应的进程为主Web服务所对应进程的子进程,这样子Web服务对应的进程可以与主Web服务所对应进程直接进行数据交互。另外,从前面的描述可以看出,主Web服务通过目标文件库与第三方应用程序进行数据交互,也就是说,主Web服务所对应进程通过目标文件库与第三方应用程序对应的进程进行进程间数据交互。
下面对上述第三方应用程序的应用过程进行详细描述。
参见图3,图3为本申请实施例提供的一种程序应用过程的示意图。如图3所示,电子设备在获得安装包后,可以对安装包进行拆包,得到第三方应用程序的Web资源和程序安装资源。针对上述Web资源,可以将Web资源存储至底层程序提供的主Web服务的预设目录下,并为该第三方应用程序创建子Web服务,以使得子Web服务加载上述Web资源,实现对Web界面的显示。针对程序安装资源,可以利用该程序安装资源在电子设备中安装第三方应用程序,并启动该第三方应用程序的应用程序进程,将该第三方应用程序运行在上述应用程序进程中。
在利用第三方应用程序向用户提供第三方服务的过程中,子Web服务可以监听用户操作Web界面产生的服务请求。当用户通过操作Web界面发送服务请求后,子Web服务可以监听到上述服务请求,并将该服务请求发送至主Web服务;
主Web服务接收到服务请求后,可以调用目标文件库,由于目标文件库中存储有第三应用程序响应其所提供服务的请求的方式,这样主Web服务利用目标文件库可以查找到上述服务请求对应的响应方式,并且主Web服务可以指示第三方应用程序的应用程序进程按照该响应方式响应上述服务请求;
应用程序进程中的第三方应用程序按照上述响应方式响应上述服务请求,得到响应数据,然后利用目标文件库再将响应数据透传至主Web服务;
主Web服务接收到响应数据后,再将响应数据发送至子Web服务,子Web服务对该响应数据进行加载,将响应数据显示在Web界面上。
本申请的一个实施例中,目标文件库具体用于存储:第三方应用程序所提供的每一服务的访问地址与响应该服务的请求的方式之间的对应关系。
其中,上述访问地址可以是URL(Uniform Resource Locator,网页地址)。
这样主Web服务在目标文件库中查找用于响应服务请求的响应方式时,主Web服务可以对服务请求进行解析,得到服务请求所请求服务的访问地址,作为目标地址,然后主Web服务调用目标文件库,在目标文件库中查找目标地址对应的方式,作为响应服务请求的响应方式。
具体的,参见图4,图4为本申请实施例提供的一种第三方应用程序应用过程的信令交互图。如图4所示:
步骤401:子Web服务可以监听用户操作Web界面产生的服务请求,并将监听到的服务请求发送至主Web服务;
步骤402:主Web服务在接收到服务请求后,可以对服务请求进行解析,得到服务请求所请求服务的访问地址,作为目标地址;
步骤403:主Web服务调用目标文件库,在目标文件库中查找目标地址对应的方式,作为响应服务请求的响应方式,并将响应方式发送至第三方应用程序;
步骤404:第三方应用程序按照上述响应方式响应上述服务请求,得到响应数据,并利用目标文件库再将响应数据透传至主Web服务;
步骤405:主Web服务接收到响应数据后,再将响应数据发送至子Web服务;
步骤406:子Web服务接收到响应数据后,对该响应数据进行加载,将响应数据显示在Web界面上,从而实现响应用户的服务请求。
应用上述实施例提供的程序安装方案安装程序时,获得第三方应用程序的安装包,对安装包进行拆包处理,得到第三方应用程序的程序安装资源以及第三方应用程序的Web界面的Web资源,将Web资源存储至底层程序提供的主Web服务的预设目录下,并利用程序安装资源安装第三方应用程序。相对于现有技术中在安装第三方应用程序时,需要一并对电子设备内部署的底层程序进行重装,应用上述实施例提供的程序安装方案在安装第三方应用程序时,只需要将第三方应用程序的安装包导入电子设备,并只针对第三方应用程序进行安装,无需对电子设备中部署的底层程序进行重装,可以降低程序安装的复杂度。
参见图5,图5为本申请实施例提供的一种程序安装装置的结构示意图,所述装置包括:
安装包获得模块501,用于获得第三方应用程序的安装包;
安装包拆包模块502,用于对所述安装包进行拆包处理,得到所述第三方应用程序的程序安装资源以及所述第三方应用程序的Web界面的Web资源;
程序安装模块503,用于将所述Web资源存储至底层程序提供的主Web服务的预设目录下,并利用所述程序安装资源安装所述第三方应用程序。
本申请的一个实施例中,所述装置还包括服务创建模块,用于:
在所述主Web服务下创建所述第三方应用程序对应的子Web服务,其中,所述子Web服务用于加载所述第三方应用程序的Web界面。
本申请的一个实施例中,所述装置还包括:
程序运行模块,用于在成功安装所述第三方应用程序后,运行所述第三方应用程序,并通过所述子Web服务加载所述预设目录下存储的所述Web资源,以实现所述Web界面显示,并通过所述子Web服务、主Web服务、第三方应用程序、基于所述Web界面向用户提供服务:
所述子Web服务,用于监听所述用户操作所述Web界面产生的服务请求,并将所述服务请求发送至所述主Web服务;
所述主Web服务,用于在目标文件库中查找用于响应所述服务请求的响应方式,并指示所述第三方应用程序按照所述响应方式获得所述服务请求的响应数据,其中,所述目标文件库用于存储:所述第三应用程序响应其所提供服务的请求的方式;
所述第三方应用程序,用于利用所述目标文件库将所述响应数据透传至所述主Web服务;
所述主Web服务,用于将所述响应数据发送至所述子Web服务;
所述子Web服务,用于通过所述Web界面向所述用户提供所述响应数据,以实现向所述用户提供服务。
本申请的一个实施例中,所述目标文件库具体用于存储:所述第三方应用程序所提供的每一服务的访问地址与响应该服务的请求的方式之间的对应关系;
所述主Web服务,具体用于对所述服务请求进行解析,得到所述服务请求所请求服务的访问地址,作为目标地址;调用目标文件库,在所述目标文件库中查找所述目标地址对应的方式,作为响应所述服务请求的响应方式。
本申请的一个实施例中,所述装置还包括:
界面更新模块,用于获得所述Web界面的新Web资源,将所述Web资源替换为所述新Web资源,以实现对所述Web界面的更新。
应用上述实施例提供的程序安装方案安装程序时,获得第三方应用程序的安装包,对安装包进行拆包处理,得到第三方应用程序的程序安装资源以及第三方应用程序的Web界面的Web资源,将Web资源存储至底层程序提供的主Web服务的预设目录下,并利用程序安装资源安装第三方应用程序。相对于现有技术中在安装第三方应用程序时,需要一并对电子设备内部署的底层程序进行重装,应用上述实施例提供的程序安装方案在安装第三方应用程序时,只需要将第三方应用程序的安装包导入电子设备,并只针对第三方应用程序进行安装,无需对电子设备中部署的底层程序进行重装,可以降低程序安装的复杂度。
本申请实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现程序安装的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一程序安装方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一程序安装方法。
应用上述实施例提供的程序安装方案安装程序时,获得第三方应用程序的安装包,对安装包进行拆包处理,得到第三方应用程序的程序安装资源以及第三方应用程序的Web界面的Web资源,将Web资源存储至底层程序提供的主Web服务的预设目录下,并利用程序安装资源安装第三方应用程序。相对于现有技术中在安装第三方应用程序时,需要一并对电子设备内部署的底层程序进行重装,应用上述实施例提供的程序安装方案在安装第三方应用程序时,只需要将第三方应用程序的安装包导入电子设备,并只针对第三方应用程序进行安装,无需对电子设备中部署的底层程序进行重装,可以降低程序安装的复杂度。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (12)

1.一种程序安装方法,其特征在于,所述方法包括:
获得第三方应用程序的安装包;
对所述安装包进行拆包处理,得到所述第三方应用程序的程序安装资源以及所述第三方应用程序的Web界面的Web资源;
将所述Web资源存储至底层程序提供的主Web服务的预设目录下,并利用所述程序安装资源安装所述第三方应用程序。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述主Web服务下创建所述第三方应用程序对应的子Web服务,其中,所述子Web服务用于加载所述第三方应用程序的Web界面。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在成功安装所述第三方应用程序后,运行所述第三方应用程序,并通过所述子Web服务加载所述预设目录下存储的所述Web资源,以实现所述Web界面显示,并按照以下方式基于所述Web界面向用户提供服务:
所述子Web服务监听所述用户操作所述Web界面产生的服务请求,并将所述服务请求发送至所述主Web服务;
所述主Web服务在目标文件库中查找用于响应所述服务请求的响应方式,并指示所述第三方应用程序按照所述响应方式获得所述服务请求的响应数据,其中,所述目标文件库用于存储:所述第三应用程序响应其所提供服务的请求的方式;
所述第三方应用程序利用所述目标文件库将所述响应数据透传至所述主Web服务;
所述主Web服务将所述响应数据发送至所述子Web服务;
所述子Web服务通过所述Web界面向所述用户提供所述响应数据,以实现向所述用户提供服务。
4.根据权利要求3所述的方法,其特征在于,
所述目标文件库具体用于存储:所述第三方应用程序所提供的每一服务的访问地址与响应该服务的请求的方式之间的对应关系;
所述主Web服务在目标文件库中查找用于响应所述服务请求的响应方式,包括:
所述主Web服务对所述服务请求进行解析,得到所述服务请求所请求服务的访问地址,作为目标地址;
所述主Web服务调用目标文件库,在所述目标文件库中查找所述目标地址对应的方式,作为响应所述服务请求的响应方式。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
获得所述Web界面的新Web资源,将所述Web资源替换为所述新Web资源,以实现对所述Web界面的更新。
6.一种程序安装装置,其特征在于,所述装置包括:
安装包获得模块,用于获得第三方应用程序的安装包;
安装包拆包模块,用于对所述安装包进行拆包处理,得到所述第三方应用程序的程序安装资源以及所述第三方应用程序的Web界面的Web资源;
程序安装模块,用于将所述Web资源存储至底层程序提供的主Web服务的预设目录下,并利用所述程序安装资源安装所述第三方应用程序。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括服务创建模块,用于:
在所述主Web服务下创建所述第三方应用程序对应的子Web服务,其中,所述子Web服务用于加载所述第三方应用程序的Web界面。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
程序运行模块,用于在成功安装所述第三方应用程序后,运行所述第三方应用程序,并通过所述子Web服务加载所述预设目录下存储的所述Web资源,以实现所述Web界面显示,并通过所述子Web服务、主Web服务、第三方应用程序、基于所述Web界面向用户提供服务;
所述子Web服务,用于监听所述用户操作所述Web界面产生的服务请求,并将所述服务请求发送至所述主Web服务;
所述主Web服务,用于在目标文件库中查找用于响应所述服务请求的响应方式,并指示所述第三方应用程序按照所述响应方式获得所述服务请求的响应数据,其中,所述目标文件库用于存储:所述第三应用程序响应其所提供服务的请求的方式;
所述第三方应用程序,用于利用所述目标文件库将所述响应数据透传至所述主Web服务;
所述主Web服务,用于将所述响应数据发送至所述子Web服务;
所述子Web服务,用于通过所述Web界面向所述用户提供所述响应数据,以实现向所述用户提供服务。
9.根据权利要求8所述的装置,其特征在于,
所述目标文件库具体用于存储:所述第三方应用程序所提供的每一服务的访问地址与响应该服务的请求的方式之间的对应关系;
所述主Web服务,具体用于对所述服务请求进行解析,得到所述服务请求所请求服务的访问地址,作为目标地址;调用目标文件库,在所述目标文件库中查找所述目标地址对应的方式,作为响应所述服务请求的响应方式。
10.根据权利要求6-9中任一项所述的装置,其特征在于,所述装置还包括:
界面更新模块,用于获得所述Web界面的新Web资源,将所述Web资源替换为所述新Web资源,以实现对所述Web界面的更新。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN202011357591.XA 2020-11-27 2020-11-27 一种程序安装方法、装置、电子设备及存储介质 Active CN112445498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011357591.XA CN112445498B (zh) 2020-11-27 2020-11-27 一种程序安装方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011357591.XA CN112445498B (zh) 2020-11-27 2020-11-27 一种程序安装方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112445498A true CN112445498A (zh) 2021-03-05
CN112445498B CN112445498B (zh) 2024-03-05

Family

ID=74738645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011357591.XA Active CN112445498B (zh) 2020-11-27 2020-11-27 一种程序安装方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112445498B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122608A (ja) * 2001-10-16 2003-04-25 Satoshi Masuda データファイリングシステム及びデータファイリング用コンピュータプログラム
KR20070067020A (ko) * 2007-03-10 2007-06-27 박영준 회사 서류 자동 작성 시스템
CN101847156A (zh) * 2009-03-27 2010-09-29 西门子公司 用于在制造执行系统中安装web分组的方法
JP2013137594A (ja) * 2011-12-28 2013-07-11 Kyocera Document Solutions Inc 印刷システム
CN103226552A (zh) * 2012-01-30 2013-07-31 富士施乐株式会社 数据存储控制装置、图像形成装置、以及数据存储控制方法
US20130204746A1 (en) * 2012-01-11 2013-08-08 Endurance International Group, Inc. Automatic web presence feature deployment
CN103617058A (zh) * 2013-11-28 2014-03-05 惠州华阳通用电子有限公司 基于qnx的应用软件安装、卸载系统及方法
CN104182241A (zh) * 2013-05-24 2014-12-03 华为终端有限公司 一种网页应用程序更新方法及通信设备
US20180315004A1 (en) * 2017-04-28 2018-11-01 Neopost Technologies Method and system for accessing local computer resources through a web browser
CN109391509A (zh) * 2018-04-16 2019-02-26 深圳思为科技有限公司 一种更新应用程序的方法、系统及应用服务器
CN110209401A (zh) * 2019-05-28 2019-09-06 北京小米移动软件有限公司 应用程序的加载方法及装置
CN110502245A (zh) * 2018-05-16 2019-11-26 华为技术有限公司 数据处理方法、终端、服务器以及应用开发设备
CN111612450A (zh) * 2020-05-28 2020-09-01 北京小米移动软件有限公司 应用程序支付渠道的检测方法、装置、终端设备及介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122608A (ja) * 2001-10-16 2003-04-25 Satoshi Masuda データファイリングシステム及びデータファイリング用コンピュータプログラム
KR20070067020A (ko) * 2007-03-10 2007-06-27 박영준 회사 서류 자동 작성 시스템
CN101847156A (zh) * 2009-03-27 2010-09-29 西门子公司 用于在制造执行系统中安装web分组的方法
JP2013137594A (ja) * 2011-12-28 2013-07-11 Kyocera Document Solutions Inc 印刷システム
US20130204746A1 (en) * 2012-01-11 2013-08-08 Endurance International Group, Inc. Automatic web presence feature deployment
CN103226552A (zh) * 2012-01-30 2013-07-31 富士施乐株式会社 数据存储控制装置、图像形成装置、以及数据存储控制方法
CN104182241A (zh) * 2013-05-24 2014-12-03 华为终端有限公司 一种网页应用程序更新方法及通信设备
CN103617058A (zh) * 2013-11-28 2014-03-05 惠州华阳通用电子有限公司 基于qnx的应用软件安装、卸载系统及方法
US20180315004A1 (en) * 2017-04-28 2018-11-01 Neopost Technologies Method and system for accessing local computer resources through a web browser
CN109391509A (zh) * 2018-04-16 2019-02-26 深圳思为科技有限公司 一种更新应用程序的方法、系统及应用服务器
CN110502245A (zh) * 2018-05-16 2019-11-26 华为技术有限公司 数据处理方法、终端、服务器以及应用开发设备
CN110209401A (zh) * 2019-05-28 2019-09-06 北京小米移动软件有限公司 应用程序的加载方法及装置
CN111612450A (zh) * 2020-05-28 2020-09-01 北京小米移动软件有限公司 应用程序支付渠道的检测方法、装置、终端设备及介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JELIAZKOVA N, ET AL: "AMBIT RESTful web services: an implementation of the OpenTox application programming interface", JOURNAL OF CHEMINFORMATICS, pages 1 - 18 *
KING Z A, ET AL: "Escher: a web application for building, sharing, and embedding data-rich visualizations of biological pathways", PLOS COMPUTATIONAL BIOLOGY, pages 1 - 13 *
莫林: "嵌入式操作系统在线定制软件解决方案的研究与实现", 西安电子科技大学, pages 1 - 72 *

Also Published As

Publication number Publication date
CN112445498B (zh) 2024-03-05

Similar Documents

Publication Publication Date Title
CN110471709B (zh) 一种加速网页打开速度的方法、装置、介质和电子设备
CN107644075B (zh) 收集页面信息的方法和装置
CN111124544A (zh) 界面显示方法、装置、电子设备及存储介质
CN110598135A (zh) 网络请求处理方法、装置、计算机可读介质及电子设备
US20240179224A1 (en) Systems and methods for rendering interactive web pages
CN114237651A (zh) 云原生应用的安装方法、装置、电子设备和介质
CN111898053A (zh) 页面浏览方法、装置、设备以及计算机可读存储介质
CN112384940A (zh) 用于web爬取电子商务资源页面的机制
CN112416698B (zh) 监控系统的扩展方法及装置、存储介质及电子设备
CN112083982B (zh) 信息处理方法和装置
CN110674426B (zh) 网页行为上报方法和装置
US11514127B2 (en) Missing web page relocation
US10284628B2 (en) Distribution method and resource acquisition method
CN111367606A (zh) 一种应用程序页面的显示方法、装置、终端及介质
CN112445498B (zh) 一种程序安装方法、装置、电子设备及存储介质
CN114371969B (zh) 一种页面性能测试方法、装置、电子设备及存储介质
CN113761433B (zh) 业务处理方法和装置
CN112835609B (zh) 一种修改依赖包下载地址的方法和装置
US11301498B2 (en) Multi-cloud object store access
CN108399223B (zh) 一种数据获取方法、装置及电子设备
CN111338709A (zh) 客户端中目标场景的跳转方法、装置、设备及存储介质
CN108874390B (zh) 一种数据处理方法及装置、设备、存储介质
CN113127788A (zh) 页面处理方法、对象处理方法、装置及设备
CN114297157B (zh) 文件处理方法、装置、设备及介质
CN114157647B (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