单页Web应用实现方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:19692336 阅读:40 留言:0更新日期:2018-12-08 11:18
本申请涉及一种单页Web应用实现方法、装置、计算机设备和存储介质。所述方法包括:当监测到第一终端发布的前端资源和第二终端发布的后端资源时,创建包括第一目录和第二目录的基础镜像;将前端资源和后端资源,分别存储至第一目录和第二目录,并在第一目录和第二目录中分别部署反向服务代理和后端服务组件;整合部署了反向服务代理的第一目录和部署了后端服务组件的第二目录所属的基础镜像,得到镜像文件;通过启动镜像文件生成单页Web应用。采用本方法能够解决前后端分离部署时版本不匹配的问题。

【技术实现步骤摘要】
单页Web应用实现方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种单页Web应用实现方法、装置、计算机设备和存储介质。
技术介绍
单页Web应用(singlepagewebapplication,SPA)采用单页模式实现页面加载,在使用期间不会重新加载页面。在首次加载页面时,单页Web应用加载全部页面的页面资源进行缓存,后续通过js脚本拉取缓存实现页面切换。相比传统的多页模式,单页模式可以明显提高页面切换速度。但单页Web应用的前端模块与后端模块通常由不同开发团队开发完成。为了便于维护,通常将前端模块与后端模块分别部署在不同服务器或同一服务器不同虚拟机上。换言之,单页Web应用通常是前后端分离部署的。前后端分离部署使得单页Web应用常存在前端模块与后端模块版本不兼容的问题。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够解决单页Web应用前后端版本兼容性问题的单页Web应用实现方法、装置、计算机设备和存储介质。一种单页Web应用实现方法,所述方法包括:当监测到第一终端发布的前端资源和第二终端发布的后端资源时,创建包括第一目录和第二目录的基础镜像;将所述前端资源和所述后端资源,分别存储至所述第一目录和所述第二目录,并在所述第一目录和所述第二目录中分别部署反向服务代理和后端服务组件;整合部署了反向服务代理的第一目录和部署了后端服务组件的第二目录所属的基础镜像,得到镜像文件;通过启动所述镜像文件生成单页Web应用。在其中一个实施例中,所述方法还包括:所述反向服务代理接收第三终端基于所述单页Web应用发送的HTTP请求;所述HTTP请求包括HTTP请求头;识别所述HTTP请求头中目标字段是否以预设字符串为初始字段;若是,则所述HTTP请求需要请求前端资源,所述反向服务代理直接响应所述HTTP请求;否则,则所述HTTP请求需要请求后端资源,所述反向服务代理将所述HTTP请求转发至所述后端服务组件,基于所述后端服务组件响应所述HTTP请求。在其中一个实施例中,所述方法还包括:对当前的基础镜像与所述前端资源进行版本绑定;若监测到所述第一终端重新发布的前端资源及所述第二终端重新发布的后端资源,创建新版本的基础镜像;关闭所述当前的基础镜像,启动所述新版本的基础镜像;对新版本的基础镜像与重新发布的前端资源进行版本绑定;当接收到第三终端基于所述单页Web应用发送的页面跳转请求时,对所述基础镜像是否发生版本更新进行检测,根据检测结果响应所述页面跳转请求。在其中一个实施例中,所述方法还包括:按照预设时间频率扫描是否存在被关闭的基础镜像;若存在,对所述被关闭的基础镜像进行清理回收。在其中一个实施例中,所述前端资源包括多个前端文件;所述对当前的基础镜像与所述前端资源进行版本绑定,包括:对多个所述前端文件分别进行散列运算,得到每个前端文件对应的散列值;将多个所述前端文件对应的散列值记录至中间文件;对所述中间文件进行散列运算,得到所述中间文件对应的散列值;将所述中间文件的散列值作为所述基础镜像以及所述前端资源的版本信息记录至目标文件;将所述目标文件存储至所述基础镜像中第一目录。在其中一个实施例中,所述当接收到第三终端基于所述单页Web应用发送的页面跳转请求时,对所述基础镜像是否发生版本更新进行检测,根据检测结果响应所述页面跳转请求,包括:接收到第三终端发送的页面跳转请求,所述页面跳转请求包含所述第三终端当前加载的前端资源的版本信息,记作加载版本;调用版本查询接口在所述目标文件中读取当前运行的基础镜像的版本信息,以获取当前运行的前端资源的版本信息,记作运行版本;比较所述前端资源的加载版本与运行版本是否一致;若是,向所述第三终端发送直接跳转提示,使所述第三终端基于当前加载的前端资源进行页面跳转;否则,向所述第三终端发送重新加载提示,使所述第三终端重新发起页面加载请求,基于当前运行的前端资源进行页面跳转。一种单页Web应用实现装置,所述装置包括:资源发布模块,用于当监测到第一终端发布的前端资源和第二终端发布的后端资源时,创建包括第一目录和第二目录的基础镜像;镜像部署模块,用于将所述前端资源和所述后端资源,分别存储至所述第一目录和所述第二目录,并在所述第一目录和所述第二目录中分别部署反向服务代理和后端服务组件;文件打包模块,用于整合部署了反向服务代理的第一目录和部署了后端服务组件的第二目录所属的基础镜像,得到镜像文件;通过启动所述镜像文件生成单页Web应用。在其中一个实施例中,所述装置还包括:版本绑定模块,用于对当前的基础镜像与所述前端资源进行版本绑定;若监测到所述第一终端重新发布的前端资源及所述第二终端重新发布的后端资源,创建新版本的基础镜像;关闭所述当前的基础镜像,启动所述新版本的基础镜像;对新版本的基础镜像与重新发布的前端资源进行版本绑定;跳转询问模块,用于当接收到第三终端基于所述单页Web应用发送的页面跳转请求时,对所述基础镜像是否发生版本更新进行检测,根据检测结果响应所述页面跳转请求。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:当监测到第一终端发布的前端资源和第二终端发布的后端资源时,创建包括第一目录和第二目录的基础镜像;将所述前端资源和所述后端资源,分别存储至所述第一目录和所述第二目录,并在所述第一目录和所述第二目录中分别部署反向服务代理和后端服务组件;整合部署了反向服务代理的第一目录和部署了后端服务组件的第二目录所属的基础镜像,得到镜像文件;通过启动所述镜像文件生成单页Web应用。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:当监测到第一终端发布的前端资源和第二终端发布的后端资源时,创建包括第一目录和第二目录的基础镜像;将所述前端资源和所述后端资源,分别存储至所述第一目录和所述第二目录,并在所述第一目录和所述第二目录中分别部署反向服务代理和后端服务组件;整合部署了反向服务代理的第一目录和部署了后端服务组件的第二目录所属的基础镜像,得到镜像文件;通过启动所述镜像文件生成单页Web应用。上述单页Web应用实现方法、装置、计算机设备和存储介质,当监测到第一终端发布的前端资源以及第二终端发布的后端资源时,可以创建包括第一目录和第二目录的基础镜像;将所述前端资源存储至所述第一目录,将所述后端资源存储至所述第二目录,可以使前后端资源在同一镜像内分离部署;在所述第一目录部署反向服务代理,可以为第一目录的前端资源提供服务;在所述第二目录部署后端服务组件,可以为第二目录的后端资源提供服务;对完成反向服务代理和后端服务组件部署的基础镜像进行打包,可以生成镜像文件;通过启动镜像文件,可以生成单页Web应用。由于新版本的前后端资源配合发布至同一基础镜像内,利用容器化技术以较小代价完成前后端分离改造,可以减少分离发布时前后端资源版本不兼容的问题;将前后端资源部署在同一基础镜像不同目录,并采用不同服务组件分别为前后端资源提供服务,可以模拟前后端分离部署,仍便于对前后端资源独立维护。附图说明图1为一个实施例中单页Web应用实现方法的应用场景图;图2为一个实施例中单页Web应用实现方法的流程示意图;图3为一个本文档来自技高网...

【技术保护点】
1.一种单页Web应用实现方法,所述方法包括:当监测到第一终端发布的前端资源和第二终端发布的后端资源时,创建包括第一目录和第二目录的基础镜像;将所述前端资源和所述后端资源,分别存储至所述第一目录和所述第二目录,并在所述第一目录和所述第二目录中分别部署反向服务代理和后端服务组件;整合部署了反向服务代理的第一目录和部署了后端服务组件的第二目录所属的基础镜像,得到镜像文件;通过启动所述镜像文件生成单页Web应用。

【技术特征摘要】
1.一种单页Web应用实现方法,所述方法包括:当监测到第一终端发布的前端资源和第二终端发布的后端资源时,创建包括第一目录和第二目录的基础镜像;将所述前端资源和所述后端资源,分别存储至所述第一目录和所述第二目录,并在所述第一目录和所述第二目录中分别部署反向服务代理和后端服务组件;整合部署了反向服务代理的第一目录和部署了后端服务组件的第二目录所属的基础镜像,得到镜像文件;通过启动所述镜像文件生成单页Web应用。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述反向服务代理接收第三终端基于所述单页Web应用发送的HTTP请求;所述HTTP请求包括HTTP请求头;识别所述HTTP请求头中目标字段是否以预设字符串为初始字段;若是,则所述HTTP请求需要请求前端资源,所述反向服务代理直接响应所述HTTP请求;否则,则所述HTTP请求需要请求后端资源,所述反向服务代理将所述HTTP请求转发至所述后端服务组件,基于所述后端服务组件响应所述HTTP请求。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:对当前的基础镜像与所述前端资源进行版本绑定;若监测到所述第一终端重新发布的前端资源及所述第二终端重新发布的后端资源,创建新版本的基础镜像;关闭所述当前的基础镜像,启动所述新版本的基础镜像;对新版本的基础镜像与重新发布的前端资源进行版本绑定;当接收到第三终端基于所述单页Web应用发送的页面跳转请求时,对所述基础镜像是否发生版本更新进行检测,根据检测结果响应所述页面跳转请求。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:按照预设时间频率扫描是否存在被关闭的基础镜像;若存在,对所述被关闭的基础镜像进行清理回收。5.根据权利要求3所述的方法,其特征在于,所述前端资源包括多个前端文件;所述对当前的基础镜像与所述前端资源进行版本绑定,包括:对多个所述前端文件分别进行散列运算,得到每个前端文件对应的散列值;将多个所述前端文件对应的散列值记录至中间文件;对所述中间文件进行散列运算,得到所述中间文件对应的散列值;将所述中间文件的散列值作为所述基础镜像以及所述前端资源的版本信息记录至目标文件;将所述目标文件存储至所述基础镜像中第一目录。6.根据...

【专利技术属性】
技术研发人员:于乐怡马奇徐文灏陈光谋
申请(专利权)人:上海陆家嘴国际金融资产交易市场股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1