应用管理方法及装置、设备、存储介质与流程
未命名
09-21
阅读:71
评论:0

1.本技术涉及计算机技术,涉及但不限于应用管理方法及装置、设备、存储介质。
背景技术:
2.超大型前端应用,包括超大型全球广域网(world wide web,web)前端应用,是指体量较大或者复杂度较高的web前端应用。面对超大型web前端应用,现有的微前端技术将其分解为多个微应用,通过管理多个微应用来维护大型前端应用的应用系统,然而在微应用较多时,应用系统的管理成本较高。
技术实现要素:
3.有鉴于此,本技术提供的应用管理方法及装置、设备、存储介质,在应用较多时,将多个应用聚合为至少两层树状组织结构以对应用分层管理,从而节省了应用所在应用系统的管理成本。
4.根据本技术实施例的一个方面,提供一种应用管理方法,包括:将应用挂载至第一基座上;在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座;将未挂载的至少一个应用挂载至所述第二基座上。
5.根据本技术实施例的一个方面,提供一种应用管理装置,包括:挂载模块,用于将应用挂载至第一基座上;所述挂载模块,还用于在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座;所述挂载模块,还用于将未挂载的至少一个应用挂载至所述第二基座上。
6.根据本技术实施例的一个方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本技术实施例所述的方法。
7.根据本技术实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本技术实施例提供的所述的方法。
8.在本技术实施例中,先将应用挂载在第一基座上,在应用数量较多时,在第一基座上挂载第二基座,以便将未挂载的应用挂载在第二基座上。如此,一方面,使得在第一基座上聚合的应用不仅包括挂载在第一基座上的应用,还包括挂载在第二基座上的应用,从而增加了第一基座能够聚合的应用的数量;另一方面;第一基座、第一基座上挂载的应用、第二基座和第二基座上挂载的应用构成了至少两层树形组织结构,使得在对应用进行管理时可以分层管理,即可以通过第一基座管理第一基座下的应用和第二基座,第二基座管理第二基座下的应用,而非一个基座管理所有的应用,如此,每一基座所管理的应用的数量降低,节省了每一基座的的管理耗时,从而节省了应用系统的管理成本。
9.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
10.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本技术的实施例,并与说明书一起用于说明本技术的技术方案。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
12.图1为本技术实施例提供的应用管理方法的实现流程示意图;
13.图2为本技术实施例提供的生成树状组织结构的流程示意图;
14.图3为本技术实施例提供的将大型应用分解为子应用单元的示意图;
15.图4为为本技术实施例提供的设置基座标识信息的示意图;
16.图5为本技术实施例提供的另一应用管理方法的实现流程示意图;
17.图6为本技术实施例提供的一种生成树状组织结构的流程示意图;
18.图7为本技术实施例提供的树状组织结构的示意图;
19.图8为本技术实施例提供的又一应用管理方法的实现流程示意图;
20.图9为本技术实施例提供的一种b+树的结构示意图;
21.图10为本技术实施例提供的再一应用管理方法的实现流程示意图;
22.图11为本技术实施例提供的微应用改造与加载逻辑示意图;
23.图12为本技术实施例提供的应用注册完毕的组织结构示意图;
24.图13为本技术实施例提供的页面加载方法的实现流程示意图;
25.图14为本技术实施例提供的一种应用管理装置的结构示意图;
26.图15为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
27.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
28.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
29.在以下的描述中,涉及到“一些实施例”、“本实施例”、“本技术实施例”以及举例等等,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
30.本技术实施例提供一种应用管理方法,该方法可以应用于电子设备,也可以应用于电子设备上安装的软件系统或者应用管理平台;该电子设备在实施的过程中可以为各种类型的具有信息处理能力的设备,例如所述电子设备可以包括手机或电脑等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
31.图1为本技术实施例提供的应用管理方法的实现流程示意图,如图1所示,该方法可以包括以下步骤101至步骤103:
32.步骤101,将应用挂载至第一基座上;
33.步骤102,在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座;
34.步骤103,将未挂载的至少一个应用挂载至所述第二基座上。
35.在一些实施例,步骤101至步骤103描述的应用管理方法是基于单页面应用(single-single page application,single-spa)框架实现的,single-spa是一个可以将多个应用聚合成一个整体应用的微前端框架。
36.在本技术实施例中,通过执行步骤101至步骤103,将多个应用依次挂载在第一基座和第二基座上,生成应用的树状组织结构,以实现多个应用的聚合。图2为本技术实施例提供的生成树状组织结构的流程示意图,如图2所示,第一基座上挂载的应用数量达到一定数量后,在第一基座上挂载第二基座,以及将剩余的未挂载的应用挂载在第二基座上。
37.可以理解地,在本技术实施例中,先将应用挂载在第一基座上,在应用数量较多时,会在第一基座上创建及挂载第二基座,以便将未挂载的应用挂载在第二基座上。如此,一方面,在第一基座上聚合的应用不仅包括挂载在第一基座上的应用,还包括挂载在第二基座上的应用,增加了第一基座能够聚合的应用的数量;另一方面;第一基座、第一基座上挂载的应用、第二基座和第二基座上挂载的应用构成了至少两层树形组织结构,使得在对应用进行管理时可以分层管理,即可以通过第一基座管理第一基座下的应用和第二基座,第二基座管理第二基座下的应用,而非一个基座管理所有的应用,如此,每一基座所管理的应用的数量降低,节省了每一基座的的管理耗时,从而节省了应用管理系统的管理成本。
38.在一些实施例中,所述应用可以是待加载页面中的子应用单元,第一基座可以是用来管理挂载在第一基座上的应用的基座应用。
39.可以理解地,在加载一个页面时,可以将待加载的页面看成一个大型应用或大型系统,图3为本技术实施例提供的将大型应用分解为子应用单元的示意图,如图3所示,大型应用可以拆分为多个应用;也就是说,通过加载待加载页面对应的多个应用,来实现待加载页面的加载,从而将待加载页面呈现给用户。
40.在一些实施例中,可以利用single-spa框架实现页面加载,在利用single-spa框架实现页面加载时,应用可以是single-spa框架中的子应用单元,第一基座可以是single-spa框架中的母基座应用或子基座应用;其中,母基座可以监听浏览器中统一资源定位符(universal resource locator,url)的变化来加载需要加载的子基座和/或子应用,以实现待加载页面的加载;以下实施例的步骤1301至步骤1308记载了页面加载的详细过程以供参考,在此不做赘述。
41.在一些实施例中,经过挂载后生成的树状组织结构可以理解为页面加载所需的文档对象模型(document object model,dom)树。
42.在一些实施例中,在生成树状组织结构后,确定所述树状组织结构中待加载的应用,通过加载挂载所述待渲染的应用的基座,渲染呈现所述待渲染的应用。
43.在一些实施例中,可以根据浏览器地址栏的url映射的路由和每一应用的激活路由去确定待加载或者待渲染的应用。
44.在一些实施例中,在所述挂载所述待渲染的应用的基座是母基座时,通过加载所述挂载所述待渲染的应用的基座,渲染呈现所述待渲染的应用。
45.在一些实施例中,所述母基座为根节点。
46.在一些实施例中,在所述挂载所述待渲染的应用的基座不是所述母基座时,通过依次加载所述母基座至所述待渲染的应用的路径上的每一基座,渲染呈现所述应用。
47.在一些实施例中,应用可以是应用软件(application,app);所述app至少包括登录app、菜单app和配置中心app等。
48.在本技术实施例中,所述应用还可以描述为子应用或子应用单元等,本技术实施例应用的名称不做限定。
49.在本技术实施例中,基座可以描述为基座应用,本技术实施例对基座的名称不做限定。
50.在一些实施例中,所述第一基座可以是所述树状组织结构的根节点,也可以是所述树状组织结构的任一子节点。
51.在一些实施例中,所述第二基座是所述第一基座的子节点。
52.在一些实施例中,所述应用为所述树状组织结构的叶子节点。
53.在一些实施例中,所述母基座至所述待渲染的应用的路径上的每一基座,也可以理解为树状组织结构中,根节点至待渲染的应用对应的叶子节点的路径上的每一子节点。
54.在一些实施例中,基座和基座上挂载的应用可以构成该基座的子树,每颗子树中的应用的业务类型相同。
55.需要说明的是,图2中描述的内容只是树状组织结构的一种示例,由于第一基座可以是根节点,也可以是任一子节点,因此,理论上说,所述树状结构的层级可以是无数层。
56.在一些实施例中,所述树状组织结构的层级为n;n大于或等于2。
57.在一些实施例中,树状组织结构的层数从根节点的下一层开始算起,即第1层子节点为根节点上挂载的子节点;所述树状组织结构的层级为n,也就是说,所述树状组织结构的第n-1层子节点上挂载有叶子节点和/或第n层子节点。
58.在一些实施例中,可以通过在基座下注册应用的方式使应用挂载在基座上。
59.在步骤101中,将应用挂载至第一基座上的前提是要先创建第一基座。
60.在步骤102中,在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座,也就是说,在第一基座上挂载的应用数量满足第一条件的情况下,先在第一基座下创建第二基座,再将第二基座挂载在第一基座上。
61.在一些实施例中,在第一数量未达到第一条件时,也可以在第一基座上挂载第二基座;例如:第一条件是第一基座上挂载的应用数量大于8,那么在第一基座上挂载的应用数量小于或者等于8时,均可以在第一基座上挂载第二基座。
62.在一些实施例中,任一应用中设置有用于表征所述任一应用位置的标识信息;任一基座中设置有用于表征所述任一基座位置的标识信息;
63.在一些实施例中,所述任一应用的标识信息至少是根据所述任一应用的层级确定的;所述任一基座的标识信息至少是根据所述任一基座的层级确定的。
64.在一些实施例中,所述应用的层级可以理解为所述应用对应的叶子节点在所述树形组织结构中的层数;所述基座的层级可以理解为基座对应的子节点在所述树形组织结构
中的层数。
65.在一些实施例中,所述任一应用的标识信息是根据任一应用的层级和挂载所述任一应用的基座的标识信息确定的;任一基座的标识信息是根据任一基座层级和挂载所述任一基座的基座的标识信息确定的。
66.可以理解地,在挂载所述任一基座或者任一应用时,都需要为其设置一个标识信息。且挂载完成之后,挂载所述任一基座和任一应用的基座也会将自身的标识信息传递给所述任一基座和所述任一应用。其中,作为根节点的基座的标识信息是根据实际需求预先设置且固定不变的。
67.在一些实施例中,所述标识信息可以是一个字符串。所述字符串至少由数字、字母和符号组成。
68.在一些实施例中,所述字符串为哈希(hash)字符串。
69.在一些实施例中,同一层节点处的标识信息中的数字不同,可以根据节点的挂载顺序来设置同一层节点的标识信息中的数字。所述节点包括叶子节点和子节点。
70.在一些实施例中,第k层子节点的标识信息的字符串长度大于其挂载的第k-1层子节点的字符串长度;第k层子节点的标识信息的字符串包括其挂载的第k-1层子节点的字符串的内容。k大于1且小于n。
71.示例性地,图4为本技术实施例提供的设置基座标识信息的示意图;如图4所示,根节点处基座的标识信息cluster_micro_identify为master_key,根节点上挂载了3个第一层子节点,3个第一子层节点的标识信息分别为app1_key、app2_key和app3_key;挂载在app1_key上的第二层子节点的标识信息分别为app11_key、app12_key和app13_key。图4中的全局变量is_cluster_micro_app设置为true用来表征检测到标识信息。
72.可以理解地,任一应用的标识信息是根据任一应用的层级和挂载所述任一应用的基座的标识信息确定的;任一基座的标识信息是根据任一基座层级和任一基座的标识信息确定的,也就是说,任一节点的标识信息是根据挂载该节点的节点,也就是任一节点的父节点的标识信息和任一节点的层数确定的,如此,在加载叶子节点或者应用时更加容易在所述组织结构中定位应用。
73.在一些实施例中,挂载任一基座的基座,可以称为任一基座的父基座,相应地,任一基座为所述基座的子基座;挂载任一节点的节点,可以称为任一节点的父节点,相应地,所述任一节点为所述节点的子节点。
74.本技术实施例再提供一种应用管理方法,图5为本技术实施例提供的应用管理方法的实现流程示意图,如图5所示,该方法可以包括以下步骤501至步骤509:
75.步骤501,将应用挂载至第一基座上;
76.步骤502,在所述第一基座上挂载的应用数量满足第一条件的情况下,输出提醒信息,其中,所述提醒信息用于提示在所述第一基座上挂载所述第二基座。
77.在一些实施例中,所述提醒信息用于提示创建所述第二基座,以在所述第一基座上挂载第二基座。
78.在一些实施例中,第一条件包括在所述第一基座上挂载的应用数量大于或者等于第一阈值;
79.在一些实施例中,所述第一阈值可以根据实际需求预先设置。
80.在一些实施例中,所述第一阈值包括至少根据sperling记忆容量理论确定的认知建议阈值。
81.在一些实施例中,认知建议阈值是根据sperling记忆容量理论确定的第一值和至少一个第二值确定的;所述第二值可以是树状组织结构或应用的管理人员根据历史经验和/或所述sperling记忆容量理论确定的主观建议值。所述管理人员包括研发人员和运维人员中的技术骨干。
82.可以理解地,树状组织结构使得管理人员在管理应用时能够节省脑部能量消耗,心理学中sperling的部分报告法的记忆容量理论包括:树状结构中一层包括9个项目对记忆和理解力有较大的优化能力,在某一个目录下超过10个子项、某一个文件中共享的数据变量超过10个或者某一个方法中的参数超过10个,树状结构的可读性和可维护性就会慢慢变差;根据此记忆容量理论,将第一值设置为大于或等于9的数值;示例性地,第一值为12。
83.在一些实施例中,认知建议阈值的确定方法包括以下步骤5021至步骤5024(图中未示出):
84.步骤5021,获取j个第二值;j大于1。
85.在一些实施例中,j个第二值为j个树状组织结构管理人员的主观建议值,j个第二值分别为x1,x2,
…
,xj。
86.步骤5022,计算j个第二值中每一第二值与第一值的偏差,以及计算每一第二值与第一值的偏差和。
87.在一些实施例中,第m个第二值与第一值的偏差rsdxm=x
m-y;m大于0且不大于j。偏差和rsd=rsdx1+rsdx2+
…
+rsdxj。
88.步骤5023,计算j个第二值中每一第二值的偏差权重。
89.在一些实施例中,第m个第二值的偏差权重为pxm,pxm的计算方式如下式(1)所示:
[0090][0091]
步骤5024,根据每一第二值和所述每一第二值对应的偏差权重,确定所述认知建议阈值。
[0092]
在一些实施例中,所述认知建议阈值t的确定方式如下式(2)所示:
[0093]
t=(x1*px1)+(x2*px2)+
…
+(xj*pxj)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2);
[0094]
步骤503,接收第一指令,所述第一指令用于指示在所述第一基座上挂载所述第二基座;
[0095]
步骤504,响应于第一指令,在所述第一基座上挂载所述第二基座。
[0096]
在一些实施例中,在第一基座上挂载所述第二基座可以是直接将所述第二基座挂载在第一基座上,也可以是将第一基座上挂载的一个或多个应用卸载之后,在第一基座上挂载所述第二基座。
[0097]
步骤505,将未挂载的至少一个应用挂载至所述第二基座上。
[0098]
在一些实施例中,所述未挂载的至少一个应用中包括上一步骤中卸载的一个或多个应用。
[0099]
在一些实施例中,任一基座上挂载的基座中存储有所述任一基座的标识信息,所述任一基座上挂载的应用中存储有所述任一基座的标识信息。
[0100]
在一些实施例中,在任一基座上挂载的基座以及所述任一基座上挂载的应用全部卸载的情况下,可以根据所述任一基座上挂载的基座中存储的所述任一基座的标识信息,确定所述任一基座;或者,可以根据所述任一基座上挂载的应用中存储的所述任一基座的标识信息,确定所述任一基座;然后任一基座上挂载的基座或者任一基座上挂载的应用向所述任一基座发送卸载通知,以便所述任一基座销毁自身。
[0101]
在一些实施例中,应用卸载之后,则应用对应的叶子节点为空,所述叶子节点会通知其父节点删除叶子节点在windows对象上的标识信息;相应地,在挂载新的叶子节点时也会为新的叶子节点设置新的标识信息。
[0102]
在一些实施例中,任一基座上挂载的基座以及所述任一基座上挂载的应用全部卸载之后,所述任一基座下的节点为空,则所述任一基座下的节点会通所述任一基座销毁自身,并删除所述任一基座在windows对象上的标识信息。
[0103]
步骤506,在所述第二基座上挂载的应用数量满足第二条件的情况下,在所述第一基座上挂载第三基座。
[0104]
在一些实施例中,任一基座在其挂载的应用数量满足大于或者等于第一阈值的情况下都会输出提醒信息,用于提示在所述任一基座上挂载基座;相应地,任一基座都会接收在所述任一基座上挂载基座的指令,或者接收到在所述任一基座上继续挂载应用的指令,从而根据接收到的指令执行相应的操作。
[0105]
需要说明的是,若未做特殊说明,本技术实施例所涉及的任一基座包括但不限于第一基座、第一基座上挂载的任一基座、第二基座、第二基座上挂载的任一基座、第三基座、第三基座上挂载的任一基座、第四基座、第四基座上挂载的任一基座以及任一基座上挂载的任一基座等;本技术实施例所涉及的任一应用包括但不限于任一基座上挂载的任一应用。
[0106]
在一些实施例中,所述第二条件包括在所述第二基座上挂载的应用数量等于所述第二基座的满载数量。
[0107]
在一些实施例中,所述满载数量指的是第二基座在正常运行情况下所能挂载的应用的最大数量;可以理解地,若第二基座上挂载的应用数量大于所述满载数量之后,则第二基座可能无法运行。
[0108]
在一些实施例中,在所述第二基座上挂载的应用数量等于所述第二基座的满载数量的情况下,可以先卸载挂载于第一基座上的一个应用,然后将第三基座挂载至第一基座上之后,将未挂载的至少一个应用挂载至所述第三基座上;其中,未挂载的至少一个应用包括卸载的应用。
[0109]
图6为本技术实施例提供的一种生成树状组织结构的流程示意图,如图6所示,在第二基座上挂载的应用达到第一阈值或者满载数量之后,将第一基座上的另一应用app11卸载,将第三基座挂载在第一基座上,以在第三基座上挂载未挂载的应用app11至app34。
[0110]
在一些实施例中,在第三基座上的应用达到第一阈值或者满载数量之后,可以将第一基座的又一应用卸载,在第一基座上挂载另一基座,以将未挂载的应用挂载在另一基座上,依次类推,直到第一基座上挂载的基座数量满足第三条件,执行步骤507。
[0111]
步骤507,在所述第一基座上挂载的基座数量满足第三条件的情况下,卸载所述第一基座上挂载的一个基座中的一个应用。
[0112]
在一些实施例中,第三条件包括第一基座上挂载的基座数量为第三阈值;
[0113]
在一些实施例中,对第三阈值的数量不做限定,示例性地,第三阈值小于或者等于第一阈值;或者,第三阈值小于或者等于所述第二阈值;或者,第三阈值小于或者等于第一基座的满载数量。
[0114]
在一些实施例中,登录app、菜单app和用于为基座和应用设置标识信息的配置中心app挂在在根节点或母基座上,其不可被卸载。
[0115]
在一些实施例中,在第一基座是根节点的情况下,第三阈值小于第一阈值,或者第三阈值小于满载数量;在第一基座是子节点的情况下,第三阈值可以等于第一阈值或者小于满载数量。
[0116]
步骤508,将第四基座挂载至所述一个基座上。
[0117]
在一些实施例中,步骤508中的一个基座可以是第四基座上挂载的基座中的其中任意一个基座。
[0118]
步骤509,将未挂载的至少一个应用挂载至所述第四基座上。
[0119]
本技术实施例提供一种树状组织结构的示意图,图7为本技术实施例提供的树状组织结构的示意图,如图7所示,第一基座上挂载的基座数量满足第三条件时,将第一基座上挂载的第二基座上的一个应用卸载之后,将第四基座挂载在第二基座上,以挂载未挂载的应用。
[0120]
本技术实施例提供一种应用管理方法,图8为本技术实施例提供的应用管理方法的实现流程示意图,如图8所示,该方法可以包括以下步骤801至步骤808:
[0121]
步骤801,将应用挂载至第一基座上;
[0122]
步骤802,在所述第一基座上挂载的应用数量满足第一条件的情况下,输出提醒信息,其中,所述提醒信息用于提示在所述第一基座上挂载所述第二基座;
[0123]
步骤803,接收第二指令;所述第二指令用于指示拒绝在所述第一基座上挂载所述第二基座;
[0124]
步骤804,响应于所述第二指令,将未挂载的至少一个应用继续挂载至所述第一基座上;
[0125]
步骤805,当所述第一基座上挂载的应用数量大于或等于第二阈值时,在所述第一基座上挂载所述第二基座;其中,所述第二阈值大于所述第一阈值。
[0126]
在一些实施例中,所述第二阈值等于所述满载数量;
[0127]
在一些实施例中,所述第二阈值和所述第一阈值小于所述满载数量;
[0128]
在一些实施例中,所述第二阈值可以根据实际需求预先设定,示例性地,所述第二阈值包括上限强制阈值,所述上限强制阈值与所述认知建议阈值的比值为黄金分割数1.618。
[0129]
在一些实施例中,第一阈值、第二阈值以及各个基座的满载数量均为整数。
[0130]
步骤806,在所述第二基座上挂载的应用数量满足第二条件且第一基座上挂载的应用和基座的数量之和等于所述第一基座的满载数量的情况下,卸载挂载于所述第一基座上的一个应用;
[0131]
步骤807,在第一基座上挂载第三基座;
[0132]
步骤808,将未挂载的至少一个应用挂载至所述第三基座上。
[0133]
本技术实施例涉及计算机应用技术web前端开发领域,涉及一种自治理的web前端框架方法、系统、设备及存储介质,用于应对超大型web前端应用(大型应用的一种示例)架构、开发、治理。
[0134]
在一些实施例中,在超大型前端应用中,“超大”包含两个维度,一个是体量大,另一个是复杂度高,可能有较大的“认知负荷”。
[0135]
在一些实施例中,面对超大型web前端应用,架构设计要解决的问题是利用技术来增加项目的可管理型、稳定性和可拓展性,同时尽可能地兼顾产出效率,如果有可能,还要能辅助衡量产出成果。
[0136]
在一些实施例中,架构是随着需求的不断变革成长起来的,面对一个未知的应用,若不确定问题的规模,从一开始就做精细的架构设计并无太大意义。
[0137]
本技术实施例提供的超大型web应用,是指应用体量上是超大规模的应用。
[0138]
在一些实施例中,单体巨石应用是指前端代码放在一个仓库中维护,最终统一发布出去的应用。
[0139]
在一些实施例中,大型系统演进的常规做法为:由多套子系统拼接而成,通过一些手段降低制作系统的管理人员和业务功能的耦合度。
[0140]
在一些实施例中,微前端技术基于single-spa和乾坤(qiankun)等框架实现。
[0141]
在一些实施例中,单体应用迭代开发和维护困难,模块功能不易做版本控制。
[0142]
在一些实施例中,复杂的大型系统由很多套子系统拼接而成,管理混乱,不易形成规范或缺乏整体性,其“拼接”的方式也会降低用户体验。
[0143]
在一些实施例中,一些微前端实现方式,在体量达到一定程度后治理困难。一方面是项目稳定后,开发人员投入减少,而管理人员的认知能力有限,从而导致有限的资源投入面对错综复杂应用结构显得捉襟见肘;另一方面是一些微前端配置中心是“一个基座,多个微应用”的模式,微应用的拆分粒度较小、微应用的个数对治理的结果影响较大,在开发和后期维护阶段,随意地往应用系统中加入微应用,管理起来较为困难。
[0144]
本技术实施例提供的应用管理方法,面对超大型前端应用,采用微前端方式,优化微应用的管理,优化传统的配置中心,并结合管理人员的认知能力合理建议微应用注册方式。一方面降低管理人员的“认知负荷”,使得有限的资源投入能较快的从认知上接受应用系统的架构;另一方面,优化配置注册方式,使得微应用注册更为“有序”,改善开发阶段和后期维护阶段的治理。
[0145]
本技术实施例提供一种面向超大型前端应用的架构,用于合理地拆分和组织子应用,使得开发人员在开发和维护阶段都有较好的体验。
[0146]
在一些实施例中,超大型前端应用中的“超大”包含体量大和复杂度高两个维度。体量大,就需要将超大型前端应用进行拆分,复杂度高,就需要对超大型应用进行合理地拆分,降低开发人员的“认知负荷”。拆过之后,将拆分后的结构进行聚合,最终以整体的形式呈现给用户。
[0147]
在一些实施例中,微服务和微前端架构,是基座+微应用的模式。根据金字塔原理描述的“纵向:以上统下,分类归组”和“横向:不重复,不遗漏”,以树型结构构建认知目标,
归纳系统的逻辑关联,更利于记忆和理解。大部分知识都是树状结构组织的,树状结构可以节省记忆所消耗的能量。树状结构对于记忆和理解而言,实质上是图像记忆(或感觉记忆)的加工。
[0148]
在一些实施例中,根据sperling的部分报告法,得到图像记忆的容量至少为9个项目或更多,相比于杂乱无章的内容,对记忆和理解力有较大的优化,在设计系统或者开发应用时,好的层级结构更利于理解,比如一个代码仓库有大量的文件,某一个目录下超过10个子项、某一个文件中共享的数据变量超过10个、某一个方法中参数超过10个,如此可读性和可维护性会较差。
[0149]
在一些实施例中,拆分的子目标较多会影响认知效率,应对子目标进一步分层,形成一颗子树。这个过程,实质上是将无序和混乱的内容转换为适合认知的树状组织结构,图9为本技术实施例提供一种b+树的结构示意图。人脑处理信息不能和计算机等同,并且记忆理解有删减和扭曲的过程,信息量越大、越混乱,越不利于记忆理解。为方便大脑记忆理解,信息结构横向不宜宽,纵向不宜深,图9所示的b+树符合这样的结构。
[0150]
在一些实施例中,b+树的深度为3(不算根节点),其可以维护9*9*9=729条记录,即可以维护729个子应用,就是千万行代码级别,足够维护绝大多数应用系统。
[0151]
在一些实施例中,9是sperling通过部分报告法发现的图像记忆容量项目数,因人的认知能力不同而有差异,这个值在后文中记为“认知阈值”。
[0152]
在一些实施例中,采用微前端技术,用树型结构组织的原则进行前端架构。
[0153]
在一些实施例中,将每一个前端应用(应用的一种示例)当做成有挂载、启动和卸载三个主生命周期的单元,且每一个应用可以独立启动;将超大型应用合理分解为多个子应用单元,业务模块所对应的单个子应用,代码量为1到5万行;
[0154]
在一些实施例中,超大型应用(大型应用的一种示例)分解后的所有的应用可设置为基座应用和普通应用(应用的一种示例),基座应用可以挂载基座应用和普通应用。
[0155]
在一些实施例中,超大型应用(大型应用的一种示例)分解后的所有应用都按微应用的方式导出生命周期,其中主要的生命周期有初始化、挂载和卸载,可根据需求导出其他生命周期。
[0156]
在一些实施例中,底座是一个基座应用,作为母基座,用于聚合整个应用系统,通过挂载基座应用和普通应用,最终形成树型结构的组织结构(树状组织结构的一种示例);母基座应用作为应用系统的挂载入口,也是应用组织结构树(树状组织结构的一种示例)的根节点。
[0157]
在一些实施例中,每一颗子树的根节点是一个基座应用,有自身的唯一标识(标识信息的一种示例),用于被其挂载的子应用识别,每一颗子树对应一类子系统,方便理解认知和后期维护。
[0158]
在一些实施例中,设定认知阈值建议,用于建议性限制每一基座应用管理的应用数量,基于sperling部分报告法的记忆容量结论(记忆容量至少为9个项目,以12作为基准值,一方面,中12是“一打”的意思,另一方面,可以按具体的业务对应用进行分类分组,比如一个系统分为9个或者更多的模块,记忆理解容量显然超过9),结合项目组3个左右核心成员的建议设定相应的阈值(第二值的一种示例):根据三组主观的建议值(第二值的一种示例)基于12(第一值的一种示例)求偏差和偏差和,然后根据偏差确定权重(偏差越大,权重
越小),最后根据权重求最终的建议阈值(认知建议阈值的一种示例),强制阈值(上限强制阈值的一种示例)以黄金分割数为系数确定,四舍五入取整。根据项目和人员(管理人员的一种示例)情况,设定每一个基座应用挂载子应用的数量上限建议值t(认知建议阈值的一种示例)和上限强制值h(上限强制阈值的一种示例)。
[0159]
在一些实施例中,通过统一和聚合的配置中心,注册管理母基座(根节点的一种示例)、普通基座(子节点的一种示例)和普通应用(应用的一种示例)的关系;
[0160]
在一些实施例中,利用创建的注册配置中心(配置中心的一种示例),将解的子应用单元逐一注册挂载到母基座上。
[0161]
在一些实施例中,在注册的过程中,母基座挂载的应用数量若未超过上限建议值t(上限强制阈值的一种示例),则将应用正常挂载到母基座上;
[0162]
在一些实施例中,母基座挂载的应用数量超过上限建议值t上限强制阈值的一种示例),给用户反馈(向管理人员发送提醒消息的一种示例),提示用户调整组织结构,并建议在母基座下先挂载基座,再基于挂载的基座去挂载新的应用。
[0163]
在一些实施例中,若母基座挂载的应用数量超过上限强制值h,则将应用挂载到母基座挂载的基座上;
[0164]
在一些实施例中,母基座挂载的基座,形成一个子树结构,该基座是子树的根;
[0165]
在一些实施例中,分解的剩下子应用继续进行挂载,每一个基座所挂载的基座和子应用的总量不得超过相应的阈值(第一阈值或第二阈值的一种示例),否则需要继续创建新的基座形成子树,新创建的基座由系统自动完成、启动;直到所有的子应用挂载完毕,系统的应用形成一颗完整的树(树状组织结构的一种示例);
[0166]
在一些实施例中,随着系统的更新迭代,相应的调整树状组织结构即可,如有新的子应用加入,按照继续进行挂载;
[0167]
在一些实施例中,在注册应用间的关系时,根据设定的认知阈值建议,如超过认知建议阈值,给用户(管理人员的一种示例)反馈,最终决定权在用户管理人员的一种示例),但是不得超过强制上限阈值;
[0168]
在一些实施例中,按系统实际的需求建立聚合的菜单注册模块,用于管理整个系统的菜单结构以及菜单的权限控制,每一个菜单需要指定它所属的子应用和父级菜单,最终实现呈现给用户看到的表现层(菜单呈现结构和应用组织的逻辑结构不一样);
[0169]
在一些实施例中,完成应用注册和菜单注册管理后,整个系统的组织结构和表现层呈现结构框架基本确定。
[0170]
在一些实施例中,随着需求的迭代发展,新增的子应用加入系统,删除的子应用后,如某一颗子树没有叶子节点,则在注册信息中去掉叶子节点,并停掉叶子节点对应的基座。
[0171]
本技术实施例所提供的方法、系统和框架是基于single spa框架实现,引入管理人员的认知理论和认知阈值建议反馈,平衡软件开发和维护两个阶段的认知复杂度,将超大型应用拆解成的数十个甚至数百个子应用架构成树状结构,使得人管理人员在保证应对认知复杂度的情况下尽可能高效的完成开发迭代和维护工作。
[0172]
本技术实施例提供一种应用管理方法,图10为本技术实施例提供的应用管理方法的实现流程示意图,如图10所示,该方法可以包括以下步骤1001至步骤1007:
[0173]
步骤1001,将超大型应用(大型应用的一种示例)分解为多个子应用单元。
[0174]
在一些实施例中,登录(登录app的一种示例)和菜单模块(菜单app的一种示例)可以设为单独的子应用,其他具体的业务模块根据实际情况分割。
[0175]
步骤1002,将所有的子应用按微应用的方式导出生命周期。
[0176]
在一些实施例中,所述生命周期至少包括:初始化(bootstrap)、挂载(mounted)和卸载(unmounted),当应用检测到自己作为微应用接入时,按照基座应用的指令进行初始化、挂载和卸载;若未检测到,则独立运行初始化与加载逻辑,图11为本技术实施例提供的微应用改造与加载逻辑示意图。
[0177]
在一些实施例中,可以通过以下实施例的步骤1101至步骤1105实现应用加载逻辑。
[0178]
步骤1003,设计基座模板,用于方便地创建基座应用,基座应用用于挂载基座应用和普通的微应用(应用的一种示例)。
[0179]
在一些实施例中,每一个基座应用都有一个唯一的标识(标识信息的一种示例)(一个固定的hash字符串唯一标识),用于被其所挂载的子节点所识别,该标识用于路由定位跳转交互。
[0180]
在一些实施例中,母基座的hash字符串标识手动生成,并且固定不变。
[0181]
在一些实施例中,基座应用在挂载子节点(基座或者子应用)时,将作为标识的hash字符串以参数的形式传递给子节点;
[0182]
在一些实施例中,子节点需要做一个判断,如果是独立加载运行,则自执行加载渲染逻辑,如果检测到是用基座加载的,则在window上标记全局变量is_cluster_micro_app=true,另外在window对象上对cluster_micro_identify字段赋值,从母基座开始,依次按层级赋值,如母基座的唯一标识放在cluster_micro_identify的根上,母基座挂载的子基座唯一标识,就需要在cluster_micro_identify上创建children字段,子基座标识在存入前要根据父节点的标识先做查找,定位好之后再设置。
[0183]
在一些实施例中,当某个子应用卸载时,相应的由其父节点所在的基座监听到后更新相应的值。
[0184]
在一些实施例中,当某个基座下所有子应用都卸载时,该基座执行自身的卸载方法,销毁自身,由该基座的父级(挂载该基座的基座的一种示例)做相应的监听处理。
[0185]
步骤1004,利用基座模板创建母基座应用,作为整个系统(应用所在系统的一种示例)的入口;
[0186]
步骤1005,创建一个子应用,作为配置中心,管理子应用的组织结构(树状组织架构的一种示例);
[0187]
步骤1006,在配置中心应用最终创建认知阈值配置功能,用于配置认知阈值。
[0188]
假设第二值分别为12、15和20,第一值为12,计算得出每一个基座应用挂载节点的数量上限建议值(认知建议阈值的一种示例)t=14,上限强制阈值h=23。
[0189]
步骤1007,利用配置功能,管理子应用,以注册的方式将子应用(至少一个未挂载的应用的一种示例)逐个挂载到母基座应用上。
[0190]
在一些实施例中,可以通过以下步骤1071至步骤1078实现各个子应用的挂载(图中未示出):
[0191]
步骤1071,在母基座下(第一基座的一种示例),注册应用;
[0192]
步骤1702,在不超过建议值上限(认知建议阈值的)的情况下,分别挂载登录子应用、配置中心子应用、菜单子应用和子应用app1至app11;
[0193]
步骤1703,当注册app12时,达到上限(认知建议阈值的一种示例),提示采示管理人员用基座的方式挂载剩下的未加载的应用;
[0194]
步骤1704,如管理人员选择继续挂载基座,且对于系统的建议不采纳,最多注册到app21,剩下的子应用无法挂载,必须创建新的基座(第二基座的一种示例),执行步骤1705;
[0195]
步骤1705,创建子基座1(第二基座的一种示例),这时提示可以将app1至app11(第一基座上挂载的应用的一种示例),重新组织,挂载到子基座1(第二基座的一种示例)下,可根据自己的需要来设置,子基座1(第二基座的一种示例)及其挂载的节点(第二基座上挂载的应用的一种示例)形成一颗子树;
[0196]
步骤1706,逐个注册剩下的子应用,在阈值范围内,组织结构按照建议值自动调整,最终生成一颗完整的树。
[0197]
步骤1708,在菜单子应用中维护菜单结构,菜单结构作为呈现给用户看到的业务结构,和应用组织的逻辑结构可以不一样。最终可看到呈现效果,图12为本技术实施例提供的应用注册完毕的组织结构示意图。
[0198]
如图11所示,应用加载逻辑流程可以通过以下实施例的步骤1101步骤1105实现。
[0199]
步骤1101,开始;
[0200]
步骤1102,判断应用是否作为微前端加载;若是,执行步骤1103;否则,执行步骤1105;
[0201]
步骤1103,由基座应用(挂载应用的基座)调用mounted方法;
[0202]
步骤1104,mounted方法调用自身定义的render方法实现加载。
[0203]
步骤1105,应用执行render方法,独立加载运行。
[0204]
本技术实施例提供一种页面加载方法,图13为本技术实施例提供的页面加载方法的实现流程示意图,如图13所示,该方法可以包括以下步骤1301至1310:
[0205]
步骤1301,母基座监听url变化;
[0206]
步骤1302,母基座获取应用注册表、菜单注册表;
[0207]
步骤1303,母基座根据应用注册表和菜单注册表,判断要进行路由分发的子应用是否挂载在母基座上,若是,执行步骤1304;否则,执行步骤1306;
[0208]
步骤1304,母基座根据应用注册表,进行路由分发并定位到指定子应用(要进行路由分发的子应用的一种示例)。
[0209]
可以理解地,应用注册表中有所述树状组织结构的每一节点的分发规则或激活路由,所述分发规则和浏览器url地址映射的路由去进行匹配,如果匹配成功,则加载匹配成功的节点。如果这个节点是基座,将该层级的注册表继传递给下一节点,直至定位到子应用为止。
[0210]
步骤1305,子应用按照基座应用的指令进行加载渲染;然后执行步骤1308;
[0211]
步骤1306,通过定位相应子基座(挂载指定子应用的一种示例)定位到指定子应用;
[0212]
步骤1307,通过依次加载所述母基座至子应用的路径上的每一基座来将子应用渲
染呈现。
[0213]
在一些实施例中,基座加载挂载在基座上的另一基座或应用时,需将自身标识传递给另一基座或应用。
[0214]
步骤1308,子应用渲染呈现;
[0215]
步骤1309,子应用向母基座发送销毁通知;
[0216]
步骤1310,子基座向母基座发送销毁通知。
[0217]
本技术实施例以树型组织结构实现子应用的聚合;实现基座模板,保证每一颗子树识别、加载的唯一性;设定认知阈值建议,避免随着需求迭代导致治理困难。
[0218]
本技术实施例提供的应用管理方法包括基座模板的实现逻辑,可用于挂载基座应用和普通子应用;可根据需要,自动生成和启动新的基座,用于分层次挂载子应用;引入认知阈值建议,引导管理人员对整体组织结构进行优化;树型结构更有利于应对架构的复杂度认知,分层结构解决大型系统治理难题。
[0219]
本技术实施例采用树型结构实现多个子应用的组织聚合,以认知阈值限制每一组子应用的数量,更符合管理人员对架构复杂度的认知,解决超大型应用系统维护和治理的难题。
[0220]
可以理解的是,在本技术实施例中,涉及到用户信息等相关的数据,当本技术实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0221]
应当注意,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等;或者,将不同实施例中步骤组合为新的技术方案。
[0222]
基于前述的实施例,本技术实施例提供一种应用管理装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
[0223]
图14为本技术实施例提供的应用管理装置的结构示意图,如图14所示,所述应用管理装置140包括挂载模块1401,其中:
[0224]
挂载模块1401,用于将应用挂载至第一基座上;
[0225]
挂载模块1401,还用于在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座;
[0226]
挂载模块1401,还用于将未挂载的至少一个应用挂载至所述第二基座上。
[0227]
在一些实施例中,所述挂载模块1401,还用于在所述第二基座上挂载的应用数量满足第二条件的情况下,在所述第一基座上挂载第三基座;将未挂载的至少一个应用挂载至所述第三基座。
[0228]
在一些实施例中,所述应用管理装置140还包括卸载模块,所述卸载模块,用于在所述第一基座上挂载的应用和基座的数量之和等于所述第一基座的满载数量的情况下,卸载挂载于所述第一基座上的一个应用;所述挂载模块1401,用于在所述第一基座上挂载所
述第三基座;将未挂载的至少一个应用挂载至所述第三基座上。
[0229]
在一些实施例中,所述卸载模块,还用于在所述第一基座上挂载的基座数量满足第三条件的情况下,卸载所述第一基座上挂载的任一基座中的一个应用;所述挂载模块1401,还用于将第四基座挂载在所述任一基座上;将未挂载的至少一个应用挂载在所述第四基座上。
[0230]
在一些实施例中,所述第一条件包括在所述第一基座上挂载的应用数量大于或者等于第一阈值;所述应用管理装置140还包括输出模块和接收模块,所述输出模块,用于在所述第一基座上挂载的应用数量满足所述第一条件的情况下,输出提醒信息;其中,所述提醒信息用于提示在所述第一基座上挂载所述第二基座;所述接收模块,用于接收第一指令;所述第一指令用于指示在所述第一基座上挂载所述第二基座;所述挂载模块1401,用于响应于所述第一指令,在所述第一基座上挂载所述第二基座。
[0231]
在一些实施例中,所述接收模块,还用于接收第二指令;所述第二指令用于指示拒绝在所述第一基座上挂载所述第二基座;所述挂载模块1401,用于响应于所述第二指令,将未挂载的至少一个应用继续挂载至所述第一基座上;当所述第一基座上挂载的应用数量大于或等于第二阈值时,在所述第一基座上挂载所述第二基座;其中,所述第二阈值大于所述第一阈值。
[0232]
在一些实施例中,所述第一阈值包括至少根据sperling记忆容量理论确定的认知建议阈值;所述第二阈值包括上限强制阈值,所述上限强制阈值与所述认知建议阈值的比值为黄金分割数。
[0233]
在一些实施例中,所述第一基座为根节点;或者,所述第一基座为子节点。
[0234]
在一些实施例中,任一应用中设置有用于表征所述任一应用位置的标识信息;任一基座中设置有用于表征所述任一基座位置的标识信息;其中,所述任一应用的标识信息至少是根据所述任一应用的层级确定的;所述任一基座的标识信息至少是根据所述任一基座的层级确定的。
[0235]
在一些实施例中,所述任一基座上挂载的基座和所述任一基座上挂载的应用中存储有所述任一基座的标识信息;所述挂载装置140还包括确定模块和发送模块;所述确定模块,用于在所述任一基座上挂载的基座以及所述任一基座上挂载的应用全部卸载的情况下,根据所述任一基座上挂载的基座中存储的所述任一基座的标识信息,确定所述任一基座;或者,根据所述任一基座上挂载的应用中存储的所述任一基座的标识信息,确定所述任一基座;所述发送模块,用于向所述任一基座发送卸载通知,以便所述任一基座销毁自身。
[0236]
在一些实施例中,所述确定模块,还用于确定待渲染的应用;所述应用管理装置140还包括渲染模块,所述渲染模块,用于渲染呈现所述待渲染的应用。
[0237]
在一些实施例中,所述渲染模块,用于在所述挂载所述待渲染的应用的基座是母基座时,通过加载挂载所述待渲染的应用的基座,渲染呈现所述待渲染的应用。
[0238]
在所述挂载所述待渲染的应用的基座不是所述母基座时,通过依次加载所述母基座至所述待渲染的应用的路径上的每一基座,渲染呈现所述应用。
[0239]
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0240]
需要说明的是,本技术实施例中图14所示的应用管理装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
[0241]
需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的应用管理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0242]
本技术实施例提供一种电子设备,图15为本技术实施例的电子设备的硬件实体示意图,如图15所示,所述电子设备150包括存储器1501和处理器1502,所述存储器1501存储有可在处理器1502上运行的计算机程序,所述处理器1502执行所述程序时实现上述实施例中提供的方法中的步骤。
[0243]
需要说明的是,存储器1501配置为存储由处理器1502可执行的指令和应用,还可以缓存在处理器1502以及电子设备150中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
[0244]
本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的应用管理方法中的步骤。
[0245]
本技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的应用管理方法中的步骤。
[0246]
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质、存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0247]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0248]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象a和/或对象b,可以表示:单独存在对象a,同时存在对象a和对象b,单独存在对象b这三种情况。
[0249]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0250]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0251]
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
[0252]
另外,在本技术各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0253]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0254]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0255]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0256]
本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0257]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0258]
以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种应用管理方法,其特征在于,所述方法包括:将应用挂载至第一基座上;在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座;将未挂载的至少一个应用挂载至所述第二基座上。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述第二基座上挂载的应用数量满足第二条件的情况下,在所述第一基座上挂载第三基座;将未挂载的至少一个应用挂载至所述第三基座。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述第一基座上挂载的应用和基座的数量之和等于所述第一基座的满载数量的情况下,卸载挂载于所述第一基座上的一个应用;在所述第一基座上挂载所述第三基座;将未挂载的至少一个应用挂载至所述第三基座上。4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:在所述第一基座上挂载的基座数量满足第三条件的情况下,卸载所述第一基座上挂载的一个基座中的一个应用;将第四基座挂载至所述一个基座上;将未挂载的至少一个应用挂载至所述第四基座上。5.根据权利要求1所述的方法,其特征在于,所述第一条件包括在所述第一基座上挂载的应用数量大于或者等于第一阈值;所述在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座,包括:在所述第一基座上挂载的应用数量满足所述第一条件的情况下,输出提醒信息;其中,所述提醒信息用于提示在所述第一基座上挂载所述第二基座;接收第一指令;所述第一指令用于指示在所述第一基座上挂载所述第二基座;响应于所述第一指令,在所述第一基座上挂载所述第二基座。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:接收第二指令;所述第二指令用于指示拒绝在所述第一基座上挂载所述第二基座;响应于所述第二指令,将未挂载的至少一个应用继续挂载至所述第一基座上;当所述第一基座上挂载的应用数量大于或等于第二阈值时,在所述第一基座上挂载所述第二基座;其中,所述第二阈值大于所述第一阈值。7.根据权利要求6所述的方法,其特征在于,所述第一阈值包括至少根据sperling记忆容量理论确定的认知建议阈值;所述第二阈值包括上限强制阈值,所述上限强制阈值与所述认知建议阈值的比值为黄金分割数。8.根据权利要求1至7任一项所述的方法,其特征在于,所述第一基座为根节点;或者,所述第一基座为子节点。9.根据权利要求1至8任一项所述的方法,其特征在于,
任一应用中设置有用于表征所述任一应用位置的标识信息;任一基座中设置有用于表征所述任一基座位置的标识信息;其中,所述任一应用的标识信息至少是根据所述任一应用的层级确定的;所述任一基座的标识信息至少是根据所述任一基座的层级确定的。10.根据权利要求9所述的方法,其特征在于,所述任一基座上挂载的基座和所述任一基座上挂载的应用中存储有所述任一基座的标识信息;所述方法还包括:在所述任一基座上挂载的基座以及所述任一基座上挂载的应用全部卸载的情况下,根据所述任一基座上挂载的基座中存储的所述任一基座的标识信息,确定所述任一基座,或者,根据所述任一基座上挂载的应用中存储的所述任一基座的标识信息,确定所述任一基座;向所述任一基座发送卸载通知,以便所述任一基座销毁自身。11.根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:确定待渲染的应用;通过加载挂载所述待渲染的应用的基座,渲染呈现所述待渲染的应用。12.根据权利要求11所述的方法,其特征在于,所述通过加载挂载所述待渲染的应用的基座,渲染呈现所述待渲染的应用,包括:在所述挂载所述待渲染的应用的基座是母基座时,通过加载所述挂载所述待渲染的应用的基座,渲染呈现所述待渲染的应用;在所述挂载所述待渲染的应用的基座不是所述母基座时,通过依次加载所述母基座至所述待渲染的应用的路径上的每一基座,渲染呈现所述应用。13.一种应用管理装置,其特征在于,包括:挂载模块,用于将应用挂载至第一基座上;所述挂载模块,还用于在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座;所述挂载模块,还用于将未挂载的至少一个应用挂载至所述第二基座上。14.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至12任一项所述的方法。15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至12任一项所述的方法。
技术总结
本申请提供了应用管理方法及装置、设备、存储介质;其中,所述方法包括:将应用挂载至第一基座上;在所述第一基座上挂载的应用数量满足第一条件的情况下,在所述第一基座上挂载第二基座;将未挂载的至少一个应用挂载至所述第二基座上;如此,在应用较多时,可以将多个应用聚合为至少两层树状组织结构以对应用分层管理,从而节省了应用系统的管理成本。从而节省了应用系统的管理成本。从而节省了应用系统的管理成本。
技术研发人员:李勇
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.11.15
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种配电箱安装架的制作方法 下一篇:一种带有检测玻片的染色装置的制作方法