本发明涉及计算机,具体的说,涉及的是一种应用渲染方法、装置、设备及存储介质。
背景技术:
1、分屏应用是指在同一个浏览器页面中集成有多个逻辑上相互独立的业务模块程序。目前,分屏应用集成主要存在以下技术方案:将多个子应用分别挂载至某个元素(除iframe元素外的其他元素)下渲染;使用iframe元素集成子应用,但仅用于远程加载子模块进行渲染。在实际的业务场景中,用户往往需要在一个标签页中使用web应用,但现有的技术方案中,在一个标签页中同时存在多个应用模块运行常常会出现多个应用共享一个渲染进程,应用之间存在相互影响,容易出现卡顿甚至崩溃现象,且无法充分利用系统资源。
技术实现思路
1、基于此,本发明提供了一种应用渲染方法、装置、设备及存储介质,其能够通过将网页的使用次数最少的站点分配给子应用,并通过iframe元素对所述子应用加载渲染,降低多个应用共享一个渲染进程的概率,降低了网页卡顿甚至崩溃的风险,且充分利用了系统资源。
2、为实现上述目的,本发明实施例提供了一种应用渲染方法,包括:
3、基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点,以使所述多站点集合中被分配的单个站点关联的子应用数量最小;
4、基于分配到的站点,通过iframe元素对每一所述子应用加载渲染。
5、作为上述方案的改进,所述基于分配到的站点,通过iframe元素对每一所述子应用加载渲染,包括:
6、为每一分配的站点各创建一个渲染进程,以使分配的站点与渲染进程一一对应;
7、针对每一所述子应用,基于分配到的站点,通过iframe元素对所述网页进行访问;
8、针对每一所述子应用的访问数据,采用对应的渲染进程进行渲染。
9、作为上述方案的改进,所述基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点之前,还包括:
10、为所述网页申请若干不同的域名,构建与所述网页关联的多站点集合;
11、或者,修改用户本地hosts配置文件中与所述网页关联的域名信息,以使所述用户本地hosts配置文件中记录有与所述网页关联的多站点集合;
12、或者,设置基于浏览器的hosts代理,以构建与所述网页关联的多站点集合。
13、作为上述方案的改进,所述基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点,包括:
14、当所述子应用启动时,遍历当前站点池列表;其中,所述当前站点池列表记录有所述多站点集合中每一站点的使用状态;
15、将占用次数最少的站点分配给当前启动的子应用,并修改所述当前站点池列表。
16、作为上述方案的改进,还包括:
17、当所述子应用退出时,将分配给所述子应用的站点回收,并修改所述当前站点池列表。
18、作为上述方案的改进,所述网页的主应用与各个所述子应用保持心跳,以用于接收所述子应用的运行状态信息;
19、所述方法还包括:
20、当所述主应用通过所述运行状态信息判断所述子应用运行异常时,将分配给运行异常的子应用的站点回收,重启运行异常的子应用,并将生成的运行异常报告上传服务器。
21、作为上述方案的改进,在所述基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点之前,还包括:当所述子应用是通过非iframe元素渲染时,将所述网页中的视图进行拆分,以得到独立可部署的子应用。
22、作为上述方案的改进,还包括:
23、当所述渲染进程所占用的资源达到预设上限时,为所述多站点集合增设站点。
24、为实现上述目的,本发明实施例还提供了一种应用渲染装置,包括:
25、站点分配模块,用于基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点,以使所述多站点集合中被分配的单个站点关联的子应用数量最小;
26、渲染模块,用于基于分配到的站点,通过iframe元素对每一所述子应用加载渲染。
27、为实现上述目的,本发明实施例还提供了一种设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的应用渲染方法。
28、为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一实施例所述的应用渲染方法。
29、与现有技术相比,本发明实施例公开的应用渲染方法、装置、设备及存储介质,基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点,以使所述多站点集合中被分配的单个站点关联的子应用数量最小;基于分配到的站点,通过iframe元素对每一所述子应用加载渲染。由此可见,本发明实施例通过从网页的若干站点中选出使用次数最少的站点分配给子应用,并通过iframe元素对所述子应用加载渲染,降低多个应用共享一个渲染进程的概率,降低了网页卡顿甚至崩溃的风险,且充分利用了系统资源。
1.一种应用渲染方法,其特征在于,包括:
2.如权利要求1所述的应用渲染方法,其特征在于,所述基于分配到的站点,通过iframe元素对每一所述子应用加载渲染,包括:
3.如权利要求1所述的应用渲染方法,其特征在于,所述基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点之前,还包括:
4.如权利要求1所述的应用渲染方法,其特征在于,所述基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点,包括:
5.如权利要求4所述的应用渲染方法,其特征在于,还包括:
6.如权利要求1~5任一所述的应用渲染方法,其特征在于,所述网页的主应用与各个所述子应用保持心跳,以用于接收所述子应用的运行状态信息;
7.如权利要求6所述的应用渲染方法,其特征在于,在所述基于预先设置的与网页关联的多站点集合,分别为所述网页中的每一子应用各分配一个站点之前,还包括:当所述子应用是通过非iframe元素渲染时,将所述网页中的视图进行拆分,以得到独立可部署的子应用。
8.如权利要求1~5任一所述的应用渲染方法,其特征在于,还包括:
9.一种应用渲染装置,其特征在于,包括:
10.一种应用渲染设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8中任意一项所述的应用渲染方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至8中任意一项所述的应用渲染方法。