本说明书涉及云原生,尤其涉及一种云原生系统的应用界面渲染方法、装置、介质及设备。
背景技术:
1、随着云原生技术的发展,云原生应用也越来越丰富,与传统的软件应用相比,云原生应用可以运行在云端计算环境中,并且,云原生应用由多项云服务组成,每个服务都有伸缩性、弹性和组合性。
2、然而,不同的前端应用依赖的前端框架和构建并不完全一致,在将这些前端应用部署到云原生系统的过程中,每一个应用都需要启动一个对应的容器进行部署,通过不同的部署脚本对不同的应用进行独立的处理以实现不同框架和构建的前端应用与云原生系统适配,应用部署的复杂度较高,导致在该过程中需要大量的人工处理,处理效率低下,并且开启较多容器还会占用大量的系统资源。
3、因此,如何在降低前端应用的部署复杂度,提高部署效率,降低部署成本的同时,保证在接收到访问请求后准确的对应用界面进行渲染,是一个亟待解决的问题。
技术实现思路
1、本说明书提供一种云原生系统的应用界面渲染方法、装置、介质及设备,以部分的解决现有技术存在的上述问题。
2、本说明书采用下述技术方案:
3、本说明书提供了一种云原生系统的应用界面渲染方法,包括:
4、获取各应用的源代码,以及确定各应用所依赖前端框架的框架类型并存储;
5、针对每个应用,对该应用的源代码进行构建,得到该应用的构建产物;
6、对所述构建产物进行解析,提取该应用的页面模板数据以及静态资源数据;
7、将所述页面模板数据以及静态资源数据存储在云原生系统;
8、在接收到访问请求后,从所述云原生系统中读取与所述访问请求所对应的目标应用相匹配的目标页面模板数据、目标静态资源数据和目标框架类型;
9、在预设前端模板库中确定与所述目标框架类型相匹配的前端模板;
10、将所述目标页面模板数据填充到所述前端模板中,得到所述目标应用对应的超文本文件;
11、将所述超文本文件和所述目标静态资源数据发送给客户端,以使所述客户端根据所述超文本文件和所述目标静态资源数据渲染所述目标应用的应用界面。
12、可选地,对所述构建产物进行解析,提取该应用的页面模板数据以及静态资源数据,具体包括:
13、对所述构建产物进行解析,根据正则表达式在所述构建产物对应的超文本标记语言html文件中识别所述静态资源数据所对应的存储路径;
14、将所述各应用的页面模板数据以及静态资源数据存储在所述云原生系统中,具体包括:
15、针对每个应用,根据该应用的静态资源数据所对应的存储路径,判断该应用的静态资源数据是否为可访问数据,若是,将该应用的静态资源数据存储在所述云原生系统。
16、可选地,根据正则表达式在所述构建产物对应的超文本标记语言html文件中识别所述静态资源数据所对应的存储路径,具体包括:
17、根据正则表达式在所述构建产物对应的超文本标记语言html文件中识别样式文件数据以及脚本文件数据所对应的存储路径;
18、将所述样式文件数据以及脚本文件数据所对应的存储路径作为所述静态资源数据所对应的存储路径。
19、可选地,将所述各应用的页面模板数据以及静态资源数据存储在所述云原生系统,具体包括:
20、将所述静态资源数据存储在所述云原生系统中的静态资源数据库,并生成所述静态资源对应的全局身份识别号码id,所述全局id用于确定页面模板数据;
21、以该应用的应用名为所述全局id对应的唯一应用标识,将所述全局id存储在所述云原生系统的页面模板数据库中。
22、可选地,在接收到访问请求后,从所述云原生系统中读取与所述访问请求所对应的目标应用相匹配的目标页面模板数据、目标静态资源数据和目标框架类型,具体包括:
23、对所述访问请求进行解析,确定所述目标应用所对应的唯一应用标识;
24、在所述页面模板数据库中查询所述唯一应用标识所对应的目标全局id,并获取所述目标全局id所对应的目标页面模板数据,以及,在所述静态资源数据库中读取所述目标静态资源数据。
25、可选地,从所述云原生系统中读取与所述访问请求所对应的目标应用相匹配的目标页面模板数据、目标静态资源数据和目标框架类型之前,所述方法还包括:
26、对所述访问请求进行解析,提取所述访问请求对应的身份认证信息;
27、根据所述身份认证信息,获取用户的账号信息;
28、根据所述账号信息,确定所述用户是否具备访问所述目标应用的权限。
29、可选地,所述方法还包括:
30、若确定所述用户具备访问所述目标应用的权限,则将所述访问请求转发给所述云原生系统的页面组装引擎,以对所述目标应用的页面进行组装,否则向所述客户端返回无权访问的错误码。
31、可选地,根据所述身份认证信息,获取用户的账号信息,具体包括:
32、根据所述身份认证信息,判断所述访问请求是否有效;
33、若所述访问请求有效,则将所述账号信息写入所述访问请求的参数集合,否则向客户端发送登录跳转链接。
34、可选地,根据所述身份认证信息,判断所述访问请求是否有效,具体包括:
35、根据所述身份认证信息,查询预先保存的登录会话;
36、若未查询到所述登录会话或所述登录会话超过预设保存期限,则确定所述访问请求无效,否则获取所述登录会话中记载的账号信息。
37、可选地,所述云原生系统中设置有前端解析组件、前端存储组件以及页面组装组件中的至少一种;
38、所述前端存储组件包括静态资源数据库以及页面模板数据库。
39、可选地,对所述构建产物进行解析,提取该应用的页面模板数据以及静态资源数据,具体包括:
40、通过所述前端解析组件,对所述构建产物进行解析,提取该应用对应的页面模板数据以及静态资源数据;
41、将所述各应用的页面模板数据以及静态资源数据存储在所述云原生系统,具体包括:
42、将所述各应用的页面模板数据以及静态资源数据存储在所述云原生系统的前端存储组件中。
43、可选地,在接收到访问请求后,从所述云原生系统中读取与所述访问请求所对应的目标应用相匹配的目标页面模板数据、目标静态资源数据和目标框架类型,具体包括:
44、在接收到所述访问请求后,通过所述页面组装组件对所述访问请求进行鉴权,并在鉴权通过后,从所述云原生系统中读取与所述访问请求所对应的目标应用相匹配的目标页面模板数据、目标静态资源数据和目标框架类型。
45、可选地,所述客户端包括:前端浏览器。
46、本说明书提供了一种云原生系统的应用界面渲染装置,包括:
47、获取模块,获取各应用的源代码,以及确定各应用所依赖前端框架的框架类型并存储;
48、构建模块,针对每个应用,对该应用的源代码进行构建,得到该应用的构建产物;
49、解析模块,对所述构建产物进行解析,提取该应用的页面模板数据以及静态资源数据;
50、存储模块,将所述各应用的页面模板数据以及静态资源数据存储在所述云原生系统;
51、读取模块,在接收到访问请求后,从所述云原生系统中读取与所述访问请求所对应的目标应用相匹配的目标页面模板数据、目标静态资源数据和目标框架类型;
52、确定模块,在预设前端模板库中确定与所述目标框架类型相匹配的前端模板;
53、填充模块,将所述目标页面模板数据填充到所述前端模板中,得到所述目标应用对应的超文本文件;
54、渲染模块,将所述超文本文件和所述目标静态资源数据发送给客户端,以使所述客户端根据所述超文本文件和所述目标静态资源数据渲染所述目标应用的应用界面。
55、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述云原生系统的应用界面渲染方法。
56、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述云原生系统的应用界面渲染方法。
57、本说明书采用的上述至少一个技术方案能够达到以下有益效果:
58、在本说明书提供的云原生系统的应用界面渲染方法中,获取各应用的源代码,以及各应用的框架类型,针对每个应用,对该应用的源代码进行构建,得到该应用的构建产物,对构建产物进行解析,提取页面模板数据以及静态资源数据,将页面模板数据以及静态资源数据存储在云原生系统,在接收到访问请求后,从云原生系统中读取目标页面模板数据、目标静态资源数据和目标框架类型,将目标页面模板数据填充到前端模板中,得到超文本文件,将超文本文件和目标静态资源数据发送给客户端,以渲染目标应用的应用界面。
59、从上述方法可以看出,本方案对不同的应用进行部署时,仅需将解析后的页面模板数据和静态资源数据存储在云原生系统中即可,不需要对不同的应用进行复杂的处理使其与云原生系统适配,并且,由于不同应用的页面模板数据和静态资源数据被统一存储在云原生系统中,因此只需要开启一个容器就能完成全部应用的部署,用户在实际访问应用界面的过程中仅需要从云原生系统中对目标页面目标数据以及静态资源数据进行读取,即可实现后续对应用界面的渲染,相比于目前对不同的应用都进行独立且复杂的处理并部署在不同的容器中的方法,本方案能够降低前端应用的部署复杂度,提高部署效率,降低部署成本。