System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向前端工程的任意后端环境高效切换方法及系统技术方案_技高网

一种面向前端工程的任意后端环境高效切换方法及系统技术方案

技术编号:40938976 阅读:2 留言:0更新日期:2024-04-18 14:57
本发明专利技术公开了一种面向前端工程的任意后端环境高效切换方法及系统,方法步骤包括展示使用的后端环境、选取后端环境、存储后端环境、根据不同的环境选择不同的分发策略、传输后端环境、环境配置中心和代理服务,系统包括展示模块、选取模块、存储模块、分发策略模块、传输模块、环境配置中心和代理服务模块。本发明专利技术通过改进优化了切换方法,开发环境切换后端环境时无需重启前端服务,节省了时间,提高了效率,且联调环境和测试环境只需要部署一套前端环境即可,减少了工作量和提高了效率,可以通过该方法实现任意后端环境的切换,切换任意后端环境操作简单、速度快、效率高。

【技术实现步骤摘要】

本专利技术涉及前后端及测试,特别是一种面向前端工程的任意后端环境高效切换方法及系统


技术介绍

1、在项目开发、联调和测试的过程中,切换后端环境一般耗时很长,对于大型的应用更是如此,另外联调和测试需要部署多套前端环境和后端环境一一对应,这严重降低了效率,一套快速、高效、简易的切换任意后端环境的方法及系统是非常重要的。

2、然而,在面对开发、联调和测试环境的多个项目阶段、多个后端环境和多变的后端环境时,传统的切换后端环境的方法,仍然存在着webpack代理的方案,每次切换一个环境都需要重新启动前端服务导致效率低下,在开发过程中,目前一般使用webpack的代理方案来代理到不同的后端环境,这就导致前端代码是和后端环境是强关联的,虽然可以通过proxy参数切换到不同的后端环境,但是需要重新启动前端服务,重启的过程中需要对同样的前端代码进行再次打包编译,这是无意义的并且耗时的,尤其是对于大型项目耗时很长,这严重降低了开发的效率,且部署多套前端环境和后端环境一一对应导致工作量大、工作重复和效率低下,以及在联调或测试的过程中,一般需要将前端代码分别在需要联调或测试的后端服务上进行部署,当存在n套联调环境和m套测试环境时,就需要将同一套前端代码部署n+m次,工作量大且是重复的无意义的工作,严重降低了联调和测试的效率的问题。

3、基于此,本专利技术提出一种面向前端工程的任意后端环境高效切换方法及系统来解决上述问题。


技术实现思路

1、本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本专利技术的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。

2、鉴于上述和/或现有的前后端及测试技术中存在的问题,提出了本专利技术。

3、因此,本专利技术其中的一个目的是提供一种面向前端工程的任意后端环境高效切换方法及系统,其通过针对webpack代理的方案,每次切换一个环境都需要重新启动前端服务导致效率低下的问题,本专利技术设计了一种通过将前端服务和后端接口代理进行解耦,分别启动前端服务和代理服务的方法,将目标后端环境信息从前端服务传递到代理服务,实现了只需要启动一次前端服务就可以代理到任意后端环境,且针对部署多套前端环境和后端环境一一对应,工作量大、工作重复和效率低下的问题,本专利技术设计了一种通过将前端服务和后端服务进行解耦,统一由代理服务提供前端静态资源的访问和后端接口转发的方法,将目标后端环境信息从前端服务传递到代理服务,实现了只需要发布一套前端环境就可以代理到任意后端环境。

4、为达到上述效果,本专利技术提供如下技术方案:一种面向前端工程的任意后端环境高效切换方法,所述切换方法包括以下步骤:

5、s1:展示使用的后端环境;

6、s2:选取后端环境;

7、s3:存储后端环境;

8、s4:根据不同的环境选择不同的分发策略;

9、s5:传输后端环境;

10、s6:环境配置中心;

11、s7:代理服务;

12、所述方法的步骤实现基于面向前端工程的任意后端环境高效切换系统。

13、作为本专利技术的一种优选方案,其中:所述s1具体为后端信息展示的是当前使用的后端环境,让用户可以清晰的感知到当前前端对应的后端服务,所述s1基于展示模块,所述展示模块提供切换后端环境的一个入口,让用户对当前的环境进行切换,所述展示模块为切换系统组件,在登录页面、展示所有的正常页面、所有的异常页面及其他页面,并所述展示模块由变量a来控制显示和隐藏,线上环境不展示。

14、作为本专利技术的一种优选方案,其中:所述s2具体为选取后端环境的方式为一个新的页面、一个弹窗或者其它的方式,选取后端环境至少需要包含一个输入框b,让用户输入要使用的后端环境。

15、作为本专利技术的一种优选方案,其中:所述s3具体为将s2中的选取的后端环境信息存储到本地,在网页中使用localstorage技术,在app中使用相关框架的相关技术进行存储,存储的后端环境信息交由所述s1中使用,向用户展示出来,交由后续步骤中使用,使得用户选择的目标后端环境进行传输,另外可以达到记忆的效果,当用户再次使用时,展示并使用上次用户选择的后端环境。

16、作为本专利技术的一种优选方案,其中:所述s5具体为当环境变量a表示使用切换后端环境的功能,读取所述s3存储的后端环境信息,并将其作为tcp/ip协议的参数把相关信息传递下去,优先放在querystring上进行传输,当环境变量a表示不使用切换后端环境的功能,则不进行上述操作。

17、作为本专利技术的一种优选方案,其中:所述s6具体为环境配置中心主要是常用环境的存储,是一条或多条简称和真实url的映射关系,硬编码写到后续步骤的代码中,或存储到数据库中,环境配置中心用于当对应后端环境的ip或域名发生变化时,只改变简称对应的真实url,用户层面依然使用的是简称,无需关心真实url的变化。

18、作为本专利技术的一种优选方案,其中:所述s7具体为代理服务是核心,主要步骤包括解析、分析、匹配、请求前处理、转发请求和响应后处理。

19、本专利技术还提供一种面向前端工程的任意后端环境高效切换系统,包括展示模块、选取模块、存储模块、分发策略模块、传输模块、环境配置中心和代理服务模块,所述展示模块通过网页或app方式在登录页、常规页面和异常页面等展示出已经选择的后端环境信息并提供切换环境按钮,如果未选择就展示默认的后端环境信息。

20、作为本专利技术的一种优选方案,其中:所述选取模块通过网页或app等方式进行用户交互,可以让用户一键选择常用环境或自定义输入任意后端环境,所述存储模块通过html5的localstorage或app的本地存储技术对选择的后端环境进行存储,给后续的传输模块使用,在用户退出程序再次打开时仍然能够记录上次选择的后端环境。

21、作为本专利技术的一种优选方案,其中:所述分发策略模块通过改变api请求端口或根据请求路径识别出需要被切换的后端接口,从而进行传输模块,前者适用于开发环境,后者适用于联调或测试环境,所述传输模块通过tcp/ip网络传输协议将选择的后端环境相关信息配置在请求入参中,实现信息的远程、跨端传输,所述环境配置中心通过将常用的后端环境硬写入代码中的map对象中或者采用数据库的方式进行存储和配置,将后端环境的简称和具体的后端地址一一映射,所述代理服务模块通过nginx或者node服务等其他服务对传输模块中的信息进行解析、分析、匹配、请求前处理、转发请求和响应后处理,并进行对应接口的代理转发。

22、本专利技术的有益效果:本专利技术通过改进优化了切换方法,开发环境切换后端环境时无需重启前端服务,节省了时间,提高了效率,且联调环境和测试环境只需要部署一套前端环境即可,减少了工作量和提高了效率,可以通过该方法实现任意后端环境的切换,.切换任本文档来自技高网...

【技术保护点】

1.一种面向前端工程的任意后端环境高效切换方法,其特征在于,所述切换方法包括以下步骤:

2.如权利要求1所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述S1具体为后端信息展示的是当前使用的后端环境,让用户可以清晰的感知到当前前端对应的后端服务,所述S1基于展示模块,所述展示模块提供切换后端环境的一个入口,让用户对当前的环境进行切换,所述展示模块为切换系统组件,在登录页面、展示所有的正常页面、所有的异常页面及其他页面,并所述展示模块由变量A来控制显示和隐藏,线上环境不展示。

3.如权利要求2所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述S2具体为选取后端环境的方式为一个新的页面、一个弹窗或者其它的方式,选取后端环境至少需要包含一个输入框B,让用户输入要使用的后端环境。

4.如权利要求3所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述S3具体为将S2中的选取的后端环境信息存储到本地,在网页中使用localStorage技术,在App中使用相关框架的相关技术进行存储,存储的后端环境信息交由所述S1中使用,向用户展示出来,交由后续步骤中使用,使得用户选择的目标后端环境进行传输,另外可以达到记忆的效果,当用户再次使用时,展示并使用上次用户选择的后端环境。

5.如权利要求4所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述S5具体为当环境变量A表示使用切换后端环境的功能,读取所述S3存储的后端环境信息,并将其作为TCP/IP协议的参数把相关信息传递下去,优先放在QueryString上进行传输,当环境变量A表示不使用切换后端环境的功能,则不进行上述操作。

6.如权利要求5所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述S6具体为环境配置中心主要是常用环境的存储,是一条或多条简称和真实URL的映射关系,硬编码写到后续步骤的代码中,或存储到数据库中,环境配置中心用于当对应后端环境的ip或域名发生变化时,只改变简称对应的真实URL,用户层面依然使用的是简称,无需关心真实URL的变化。

7.如权利要求6所述的面向前端工程的任意后端环境高效切换方法及系统,其特征在于:所述S7具体为代理服务是核心,主要步骤包括解析、分析、匹配、请求前处理、转发请求和响应后处理。

8.一种面向前端工程的任意后端环境高效切换系统,包括展示模块、选取模块、存储模块、分发策略模块、传输模块、环境配置中心和代理服务模块,其特征在于:所述展示模块通过网页或App等方式在登录页、常规页面和异常页面等展示出已经选择的后端环境信息并提供切换环境按钮,如果未选择就展示默认的后端环境信息。

9.如权利要求8所述的面向前端工程的任意后端环境高效切换方法及系统,其特征在于:所述选取模块通过网页或App等方式进行用户交互,可以让用户一键选择常用环境或自定义输入任意后端环境,所述存储模块通过html5的localStorage或App的本地存储技术对选择的后端环境进行存储,给后续的传输模块使用,在用户退出程序再次打开时仍然能够记录上次选择的后端环境。

10.如权利要求9所述的面向前端工程的任意后端环境高效切换系统,其特征在于:所述分发策略模块通过改变API请求端口或根据请求路径识别出需要被切换的后端接口,从而进行传输模块,前者适用于开发环境,后者适用于联调或测试环境,所述传输模块通过TCP/IP网络传输协议将选择的后端环境相关信息配置在请求入参中,实现信息的远程、跨端传输,所述环境配置中心通过将常用的后端环境硬写入代码中的Map对象中或者采用数据库的方式进行存储和配置,将后端环境的简称和具体的后端地址一一映射,所述代理服务模块通过Nginx或者Node服务等其他服务对传输模块中的信息进行解析、分析、匹配、请求前处理、转发请求和响应后处理,并进行对应接口的代理转发。

...

【技术特征摘要】

1.一种面向前端工程的任意后端环境高效切换方法,其特征在于,所述切换方法包括以下步骤:

2.如权利要求1所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述s1具体为后端信息展示的是当前使用的后端环境,让用户可以清晰的感知到当前前端对应的后端服务,所述s1基于展示模块,所述展示模块提供切换后端环境的一个入口,让用户对当前的环境进行切换,所述展示模块为切换系统组件,在登录页面、展示所有的正常页面、所有的异常页面及其他页面,并所述展示模块由变量a来控制显示和隐藏,线上环境不展示。

3.如权利要求2所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述s2具体为选取后端环境的方式为一个新的页面、一个弹窗或者其它的方式,选取后端环境至少需要包含一个输入框b,让用户输入要使用的后端环境。

4.如权利要求3所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述s3具体为将s2中的选取的后端环境信息存储到本地,在网页中使用localstorage技术,在app中使用相关框架的相关技术进行存储,存储的后端环境信息交由所述s1中使用,向用户展示出来,交由后续步骤中使用,使得用户选择的目标后端环境进行传输,另外可以达到记忆的效果,当用户再次使用时,展示并使用上次用户选择的后端环境。

5.如权利要求4所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述s5具体为当环境变量a表示使用切换后端环境的功能,读取所述s3存储的后端环境信息,并将其作为tcp/ip协议的参数把相关信息传递下去,优先放在querystring上进行传输,当环境变量a表示不使用切换后端环境的功能,则不进行上述操作。

6.如权利要求5所述的面向前端工程的任意后端环境高效切换方法,其特征在于:所述s6具体为环境配置中心主要是常用环境的存储,是一条或多条简称和真实url的映射关系,硬编码写到后续步骤的代...

【专利技术属性】
技术研发人员:尹士勇王小乾温会双向帅王畅
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1