一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用程序启动方法、装置、设备及介质与流程

2022-11-09 22:35:13 来源:中国专利 TAG:


1.本发明涉及计算机软件技术领域,尤其涉及一种应用程序启动方法、装置、设备及介质。


背景技术:

2.随着前端应用变得越来越庞大复杂,通过微前端的方式将前端应用拆分维护已经成为绝大多数互联网公司的标配,特别是webpack5提出了module fedaration引入打包好的js,即可加载应用所对应的导出模块的能力,给微前端技术提供了新思路。
3.然而现有基于该技术的微前端框架只是提供了一套微前端的拆分思路和模板,并没有给微前端框架中的子应用提供独立完整的启动能力,特别是全新子应用的完整启动能力,而子应用往往需要依赖于容器应用提供的诸多功能才能正常启动,这也导致了开发者在开发某个子应用时,不得不先启动容器应用,并在对容器应用做相应的调整后,再启动子应用才能开始正常开发,因此,这种方式大大降低了开发者的研发效率。


技术实现要素:

4.本发明提供一种应用程序启动方法、装置、计算机设备及介质,以解决现有的应用程序的子应用依赖容器提供的功能才能正常启动的问题。
5.第一方面,提供了一种应用程序启动方法,包括:
6.根据本地配置文件,获取共享模块;
7.判断待安装的应用程序中的各个子应用是否为新应用;
8.若是,则根据获取到的所述共享模块,确定与该所述子应用对应的共享模块;
9.根据该所述子应用对应的共享模块对该所述子应用在本地修改配置;
10.待各个为新应用的所述子应用均修改本地配置后,通过与该所述应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该所述应用程序的启动。
11.第二方面,提供了一种应用程序启动装置,包括:
12.共享模块获取模块,用于根据本地配置文件,获取共享模块;
13.新应用判断模块,用于判断待安装的应用程序中的各个子应用是否为新应用;
14.共享模块确定模块,用于若是,则根据获取到的所述共享模块,确定与该所述子应用对应的共享模块;
15.第一配置模块,用于根据该所述子应用对应的共享模块对该所述子应用在本地修改配置;
16.启动模块,用于待各个为新应用的所述子应用均修改本地配置后,通过与该所述应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该所述应用程序的启动。
17.第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述应用程序启动方法的步
骤。
18.第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述应用程序启动方法的步骤。
19.上述的应用程序启动方法、装置、计算机设备及存储介质所实现的方案中,针对现有的应用程序的子应用依赖容器提供的功能才能正常启动的问题,先通过根据本地配置文件,获取共享模块;再判断待安装的应用程序中的各个子应用是否为新应用;若是,则根据获取到的共享模块,确定与该子应用对应的共享模块;根据该子应用对应的共享模块对该子应用在本地修改配置;最后,待各个为新应用的所述子应用均修改本地配置后,通过与该应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该应用程序的启动,本发明不但能够实现待安装的应用程序的各个应用的独立且完整的启动,同时还能大大提高应用程序的开启效率。
附图说明
20.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1是本发明一实施例中应用程序启动方法的一应用环境示意图;
22.图2是本发明一实施例中应用程序启动方法的一流程示意图;
23.图3是图1中步骤s10的一具体实施方式流程示意图;
24.图4是图1中步骤s30的一具体实施方式流程示意图;
25.图5是图4中步骤s50的一具体实施方式流程示意图;
26.图6是本发明一实施例中应用程序启动装置的一结构示意图;
27.图7是本发明一实施例中计算机设备的一结构示意图;
28.图8是本发明一实施例中计算机设备的另一结构示意图。
具体实施方式
29.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.现有的待安装的应用程序的子应用在独立启动时,需要从本地配置文件中获取与待安装的应用程序对应的容器应用的入口文件地址,并将该应用程序中的各个子应用各自对应的资源链接地址分别修改为本地链接地址,并将替换好的js字符串通过在导出的html文件中添加script标签的形式,注入到页面中,即可完成各个子应用独立完整的启动整个应用的过程。当待安装的应用程序为全新的应用程序时,则需要动态的注入全新应用导出的模块js,并使用全局方法进行动态注册的方式实现完整启动,具体实现流程如下:同时启动该应用程序对应的父容器和子应用,还要修改父容器中的子应用资源地址为本地,其中,还需要同时关注并修改多个子应用才能开始正常的程序开发,因此,开发效率十分低下,其
在理想情况下完整启动该应用程序也需要40s以上。
31.基于此,本发明实施例提供的应用程序启动方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信。服务端可以通过客户端接收启动待安装的应用程序的启动指令,根据本地配置文件,获取共享模块;再判断待安装的应用程序中的各个子应用是否为新应用;若是,则根据获取到的共享模块,确定与该子应用对应的共享模块;根据该所述子应用对应的共享模块对该子应用在本地修改配置;待各个为新应用的所述子应用均修改本地配置后,最后,通过与该应用程序对应的配置容器配置的入库资源启动各个子应用,以实现对该应用程序在客户端上的启动,在本发明中,针对现有的应用程序的子应用依赖容器提供的功能才能正常启动的问题,实现对该应用程序的启动,本发明不但能够实现待安装的应用程序的各个应用的独立且完整的启动,同时还能大大提高应用程序的开启效率。
32.。其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。下面通过具体的实施例对本发明进行详细的描述。
33.请参阅图2所示,图2为本发明实施例提供的应用程序启动方法的一个流程示意图,包括如下步骤:
34.s10:根据本地配置文件,获取共享模块。
35.需要说明的是,客户端接收启动待安装的应用程序的启动指令后,判断安装该应用程序的客户端的开发环境是否为dev环境,若是,则初始化webpack开发服务端,获取该应用程序对应的配置容器的入口资源,以使步骤s10中获取的共享模块可在与该应用程序对应的配置容器中对各个子应用修改配置。
36.这里,共享模块可以是在本地配置文件中的不同的应用程序中的各个微应用对应的公共资源模块,例如在客户端生成应用程序1的时候,将应用程序1中的多个微应用进行拆分得到各个共享模块,该共享模块可以包括但不限于公共组件库、公共样式库以及配置数据等,在获取共享模块时,将应用程序1的各个共享模块对应的公共组件库、公共样式库以及配置数据等从本地配置文件中分离出来,并将属于同一个共享模块的公共组件库、公共样式库以及配置数据分别打包,即可获得各个共享模块。
37.在一些实施方式中,为了便于从本地配置文件中获取目标的共享模块,进而加快与新应用对应的子应用的配置修改效率,参见图3,所述根据本地配置文件,获取共享模块,可以包括如下步骤:
38.s11:根据所述本地配置文件,导出各个所述共享模块。
39.由于,本地配置文件包括在客户端上已经安装的应用程序的配置数据,因此,需要将本地配置文件中的各个共享模块导出,以便于在待安装的应用程序的子应用更新时,能够快速确定与其匹配的共享模块。
40.具体地,共享模块是指已安装在客户端上的应用程序中的能够实现某一功能的模块,其可以被多个不同的应用程序对应的页面加载,例如,共享模块1在应用程序a对应的功能是功能1,若应用程序b也具有与功能1对应的功能,则共享模块1为应用程序a和应用程序b的共享模块。因此,通过将本地配置文件,将各个共享模块导出,可获得共享模块的数据池,以实现根据待安装的应用程序的子应用的确定,选取与待安装的应用程序的子应用对
应的共享模块分别进行配置修改,进而加快对各个子应用的配置修改效率。
41.s12:将各个所述共享模块分别对应生成模块文件,并对各个所述模块文件进行命名。
42.由于,共享模块包括但不限于公共组件库、公共样式库以及配置数据等,为了便于对各个共享模块所对应的数据进行获取,因此,将各个共享模块分别对应生成模块文件;又由于各个共享模块对应不同的功能,为了区分不同的共享模块对应的模块文件,因此,对各个模块文件进行命名,这里,可根据不同共享模块对应的功能对与其对应的模块文件进行命名,如共享模块1对应的功能是“登录”,则与共享模块1对应的模块文件的命名为“登录”。
43.s13:将经命名后的所述模块文件聚集,生成所述共享模块对应的共享配置文件。
44.为了便于步骤s30能够快速获取到目标的共享模块,通过将经命名后的所述模块文件聚集,生成聚集有全部共享模块对应的共享配置文件,以便于通过在共享配置文件中查找,即可获取目标的共享模块。
45.由于,共享模块是指已经安装在客户端上的应用程序的各个子应用中静态不变的,且均不相同的资源,而在将经命名后的模块文件聚集时,可能会出现有相同的共享模块的现象,为了明确在后续步骤中的对与新应用对应的子应用配置的共享模块,在一些实施方式中,所述将经命名后的所述模块文件聚集,生成所述共享模块对应的共享配置文件,可以包括:对所述共享配置文件中的具有相同命名的所述共享模块进行去重处理,通过将具有相同命名的所述共享模块进行去重处理,可避免具有相同功能的共享模块同时位于共享配置文件中,在以减少共享配置文件的大小的同时,还能够明确待配置修改的子应用所对应的共享模块的位置,进而提高了子应用修改配置的速度。
46.s14:根据所述共享配置文件,获取各个所述共享模块。
47.通过确定具有各个共享模块的共享配置文件后,可明确各个共享模块的获取路径,因此,通过根据共享配置文件,即可快速获取用于修改与新应用对应的子应用配置的共享模块。
48.s20:判断待安装的应用程序中的各个子应用是否为新应用。
49.由于待安装的应用程序包括不同的子应用,而在对待安装的应用程序在客户端启动时,为新应用的子程序需要进行配置修改后,才能在客户端上进行启动,因此,在对待安装的应用程序在客户端进行启动时,需要判断各个子应用是否为新应用,以便对为新应用的子应用进行针对性的配置修改。
50.这里,待安装的应用程序中的各个子应用可以是指该应用程序启动时需要启动的各个微应用,还可以是指该应用程序启动后在使用的过程中需要启动的各个微应用。在实际应用中,客户端在加载完成目标模块后,则读取应用程序对应的待启动的微应用,例如读取预设容器,例如webview中对应的微应用,并获取到当前待启动的微应用,进而可以读取到当前待加载的待加载页面,例如当微应用启动的时候,则获取到微应用中首页的页面标识。
51.s30:若是,则根据获取到的所述共享模块,确定与该所述子应用对应的共享模块。
52.具体地,待安装的应用程序的启动指令是客户端在接收到针对待安装的应用程序的图标的触发后所生成,例如用户点击对应的应用程序的图标后,则客户端根据该点击生成对应的应用程序启动指令,从而客户端中的操作系统将该应用程序启动指令发送至应用
程序,以使得客户端开始加载应用程序对应的子应用的共享模块。
53.为了快速确定与待配置修改的子应用的共享模块,参见图4,所述根据获取到的所述共享模块,确定与该所述子应用对应的共享模块,可以包括如下步骤:
54.s31:根据该所述子应用的功能标识,确定与该所述子应用对应的目标模块。
55.由于待安装的应用程序的各个子应用均具有不同的功能,因此,根据各个子应用的功能标识,即可确定与该子应用的功能对应的目标模块,例如,该子应用的功能标识为“登录”,则可确定与该子应用对应的目标模块是为具有“登录”功能的模块。
56.s32:根据各个所述共享模块的命名,确定所述共享配置文件中的与所述目标模块对应的所述共享模块。
57.这里,各个共享模块的命名是根据其各自对应的功能进行的命名,因此,通过目标模块的功能标识对位于共享配置文件中的共享模块的命名的查找,即可确定共享配置文件中的与目标模块对应的共享模块。
58.s40:根据该所述子应用对应的共享模块对该所述子应用在本地修改配置。
59.由于,该子应用对应的共享模块位于本地,因此,开发者只需在本地通过共享模块对该子应用修改一次配置,且此修改配置所用的时间大约为5s。
60.为了加快对该子应用的配置修改,在一些实施方式中,所述根据该所述子应用对应的共享模块对该所述子应用在本地修改配置,可以包括:将与所述目标模块对应的所述共享模块从所述共享配置文件中导出,并通过导出的所述共享模块对该所述子应用在本地完成配置修改。本实施方式通过将与该子应用对应的共享模块从共享配置文件中导出,可使被导出的共享模块针对指定的该子应用进行配置修改。
61.具体地,共享模块为待安装的应用程序对应的加载页面的动态数据,其可以包括模板和数据,其需要客户端根据页面的功能标识去服务器获取,即客户端通过将页面的功能标识发送至服务器,从而服务器根据功能标识查询到对应的共享模块,并异步返回给终端,以提升各个子应用的配置修改速度,最终达到为应用秒开效果。
62.s50:待各个为新应用的所述子应用均修改本地配置后,通过与该所述应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该所述应用程序的启动。
63.通过与该应用程序对应的配置容器配置的入库资源启动各个子应用,使开发者在仅启动子应用即可其实对该子应用的启动,提升子应用启动速度,最终达到为应用秒开效果。
64.在一些实施方式中,参见图5,所述待各个为新应用的所述子应用均修改本地配置后,通过与该所述应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该所述应用程序的启动,可以包括:
65.s51:在所述应用程序对应的所述配置容器内,根据各个所述子应用对所述配置容器配置入库资源启动对应的待加载页面。
66.这里,在本地对将与各个子应用对应的入库资源配置给配置容器,以便通过对位于配置容器中的指定子应用开启,即可完成与其相对的加载页面的加载。
67.s52:根据所述功能标识对应的共享模块和该所述共享模块对应的所述入库资源启动该所述功能标识对应的原生功能。
68.通过根据功能标识对应的共享模块的入库资源对该共享模块在配置容器中的启
动,即可启动该功能标识对应的原生功能,进而实现该共享模块对应的功能标识在加载页面的加载。
69.在一些实施方式中,所述判断待安装的应用程序中的各个子应用是否为新应用,若否,则对该所述子应用在本地完成配置修改,以便对该子应用快速的配置修改。
70.可见,在上述方案中,针对现有的应用程序的子应用依赖容器提供的功能才能正常启动的问题,先通过根据本地配置文件,获取共享模块;再判断待安装的应用程序中的各个子应用是否为新应用;若是,则根据获取到的共享模块,确定与该子应用对应的共享模块;根据该子应用对应的共享模块对该子应用在本地修改配置;最后,待各个为新应用的所述子应用均修改本地配置后,通过与该应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该应用程序的启动,本发明不但能够实现待安装的应用程序的各个应用的独立且完整的启动,同时还能大大提高应用程序的开启效率。
71.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
72.在一实施例中,提供一种应用程序启动装置,该应用程序启动装置与上述实施例中应用程序启动方法一一对应。如图6所示,该应用程序启动装置包括共享模块获取模块101、新应用判断模块102、共享模块确定模块103、第一配置模块104和启动模块105。各功能模块详细说明如下:
73.共享模块获取模块101,用于根据本地配置文件,获取共享模块;
74.新应用判断模块102,用于判断待安装的应用程序中的各个子应用是否为新应用;
75.共享模块确定模块103,用于若是,则根据获取到的所述共享模块,确定与该所述子应用对应的共享模块;
76.第一配置模块104,用于根据该所述子应用对应的共享模块对该所述子应用在本地修改配置;
77.启动模块105,用于待各个为新应用的所述子应用均修改本地配置后,通过与该所述应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该所述应用程序的启动。
78.在一实施例中,所述共享模块获取模块103包括:
79.导出单元,用于根据所述本地配置文件,导出各个所述共享模块;
80.命名单元,用于将各个所述共享模块分别对应生成模块文件,并对各个所述模块文件进行命名;
81.共享配置文件生成单元,用于将经命名后的所述模块文件聚集,生成所述共享模块对应的共享配置文件;
82.共享模块获取单元,用于根据所述共享配置文件,获取各个所述共享模块。
83.在一实施例中,所述共享模块确定模块103包括:
84.目标模块确定单元,用于根据该所述子应用的功能标识,确定与该所述子应用对应的目标模块;
85.根据各个所述共享模块的命名,确定所述共享配置文件中的与所述目标模块对应的所述共享模块。
86.在一实施例中,所述第一配置模块104包括:
87.配置修改单元,用于将与所述目标模块对应的所述共享模块从所述共享配置文件中导出,并通过导出的所述共享模块对该所述子应用在本地完成配置修改。
88.在一实施例中,所述启动模块105包括:
89.待加载页面启动单元,用于在所述应用程序对应的所述配置容器内,根据各个所述子应用对所述配置容器配置入库资源启动对应的待加载页面;
90.原生功能启动单元,用于根据所述功能标识对应的共享模块和该所述共享模块对应的所述入库资源启动该所述功能标识对应的原生功能。
91.在一实施例中,所述共享配置文件生成单元包括:
92.去重子单元,用于对所述共享配置文件中的具有相同命名的所述共享模块进行去重处理。
93.在一实施例中,所述装置还包括:
94.第二配置模块,用于若否,则对该所述子应用在本地完成配置修改。
95.本发明提供了一种应用程序启动装置,先通过根据本地配置文件,获取共享模块;再判断待安装的应用程序中的各个子应用是否为新应用;若是,则根据获取到的共享模块,确定与该子应用对应的共享模块;根据该子应用对应的共享模块对该子应用在本地修改配置;最后,待各个为新应用的所述子应用均修改本地配置后,通过与该应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该应用程序的启动,本发明不但能够实现待安装的应用程序的各个应用的独立且完整的启动,同时还能大大提高应用程序的开启效率。
96.关于应用程序启动装置的具体限定可以参见上文中对于智能问答处方法的限定,在此不再赘述。上述应用程序启动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
97.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序启动方法服务端侧的功能或步骤。
98.在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序启动方法客户端侧的功能或步骤
99.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
100.根据本地配置文件,获取共享模块;
101.判断待安装的应用程序中的各个子应用是否为新应用;
102.若是,则根据获取到的所述共享模块,确定与该所述子应用对应的共享模块;
103.根据该所述子应用对应的共享模块对该所述子应用在本地修改配置;
104.待各个为新应用的所述子应用均修改本地配置后,通过与该所述应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该所述应用程序的启动。
105.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
106.根据本地配置文件,获取共享模块;
107.判断待安装的应用程序中的各个子应用是否为新应用;
108.若是,则根据获取到的所述共享模块,确定与该所述子应用对应的共享模块;
109.根据该所述子应用对应的共享模块对该所述子应用在本地修改配置;
110.待各个为新应用的所述子应用均修改本地配置后,通过与该所述应用程序对应的配置容器配置的入库资源启动各个所述子应用,以实现对该所述应用程序的启动。
111.需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,服务端侧以及客户端侧的相关描述,为避免重复,这里不再一一描述。
112.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
113.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
114.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献