一种Web后端的开发方法与流程

文档序号:27108535发布日期:2021-10-27 18:30阅读:586来源:国知局
一种web后端的开发方法
技术领域
1.本发明涉及计算机开发技术领域,具体而言为一种web后端的开发方法。


背景技术:

2.开发后对外输出的json接口、action、数据处理、下载的文件、视图 (html css js)等,统称为数据接口。一个数据接口中涉及的请求路径、请求方法、请求头、请求体格式等信息,称为请求路由信息。数据库调用方式主要为sql调用。数据接口中对应的代码称之为业务代码。各种语言的 web开发平台或服务器为解析运行平台,可以是单个、多个、多种平台的组合。文件系统或者数据库统称为存储系统。
3.应用现状及缺陷:
4.现有web后端开发的主流方案中,路由信息、业务代码和sql调用都是使用各自的开发语言以硬编码的方式开发,所需的程序员也需要和开发语言一一匹配,而且种类繁多,如java、nodejs、go、python等主流语言各自有自己的web开发方式、并且需要对应技能的程序员。
5.另外还有一些非主流开发方案,使用简单的配置来映射为数据库资源或者直接传递sql执行,但实际上该类方案只是一个数据库资源映射,无法处理业务逻辑,更无法调用和整合不同web平台的功能,比如文件处理、图片处理、发送邮件、返回视图等功能,实际开发中该方案几乎不可用,几乎无实用价值。
6.web后端开发不同语言之间直接无法相互兼容。这种方式只能附带各自开发语言的缺点,而不能整合不同开发语言和技术框架的优点,无法做到扬长避短。如java占用资源多、go和nodejs等新语言生态不足,新型语言和技术,即使特性优异,也会因生态的问题而难以发展和推行。这导致了新旧开发语言和相关技术框架的更迭困难。
7.线下硬编码的开发方式,导致每次修改都需要重新发布服务、导致服务中断。开发效率低下,调试、运维成本和风险也都比较大。
8.不同开发语言和技术框架整合困难,业务代码变更副作用大,发布导致服务中断等因素,不利于实现更加强大而全面的线上自定义云数据接口功能。
9.数据接口粒度过粗、耦合过多。当前开发模式的架构,大多以控制器层、service层、mapper、sql层来纵向分层,但是不同数据接口涉及的业务代码和sql,大多有交叉,数据接口之间解耦不够彻底,导致不同数据接口之间相互影响,很难做到独立的新增、修改、删除,而不影响其他数据接口。
10.不同项目和团队所使用的开发语言和技术框架不同,导致跨团队和跨项目合作时,需要下载代码、熟悉项目结构和技术框架等步骤后才能正常进入实际的开发。远程开发、跨团队和跨项目合作非常不方便。


技术实现要素:

11.本发明的目的在于提供一种web后端的开发方法,其能够解决web后端开发不同语
言之间直接无法相互兼容的问题。
12.本发明的实施例是这样实现的:
13.本技术实施例提供一种web后端的开发方法,其包括如下步骤:
14.步骤1.确定业务代码的脚本语言,形成可执行的业务脚本;
15.步骤2.提取路由信息、并调用sql及步骤1中涉及到的业务脚本将其组一条核心数据接口配置,并保存到数据库内,所述接口配置可以额外添加标记状态、创建人、创建时间、修改人、修改时间、底层解析平台、开发环境、子产品标识和用户租户标识的信息,方便不同的平台、租户、子产品项目,选择性的解析运行。
16.步骤3.搭建web平台,对步骤2中数据库内的记录进行解析运行;
17.步骤4.开发具有匹配查询、新增、修改、删除数据接口配置的功能的前端在线编辑器,形成一套完整的web平台。
18.进一步地,在本发明的一些实施例中,上述步骤1中的脚本语言包括 javascript和typescript。
19.进一步地,在本发明的一些实施例中,上述步骤2中提取路由信息包括:请求方式、请求路径和头信息。
20.进一步地,在本发明的一些实施例中,上述步骤3中,搭建web平台的详细步骤如下:
21.1)web平台在首次运行和数据接口配置发生改变时,从存储系统中获取并预解析配置;
22.2)web平台提供和业务脚本的双向调用、通信机制;
23.3)如果需要限制不同数据接口对系统资源的占用,则创建动态web服务器,将相应接口在指定web服务器上解析运行。
24.进一步地,在本发明的一些实施例中,上述动态web服务器为:dock 虚拟容器。
25.进一步地,在本发明的一些实施例中,上述步骤4中开发前端在线编辑器的详细步骤如下:
26.1)代理web平台日志到编辑器;
27.2)sql执行日志返回到编辑器;
28.3)可以框选任意sql和业务脚本组成临时的数据接口配置交给服务器解析运行,用以辅助测试和排查bug;
29.4)对业务脚本,进行ast解析,在变量赋值、参数调用、return语句等地方插入追踪代码;
30.5)根据需求对web平台进行脚本断点调试,某些平台没有良好的低成本debug机制时,可以通过ast,分析脚本变量,并在关键语句前插入调试代码,由调试代码控制请求挂起和恢复,来实现简易debug断点调试。
31.所述步骤4中的web平台为基于spingmvc的java web平台、不同技术架构、不同开发语言的多个web平台组成的集群、或多个java web和 nodejs服务器的组合。
32.进一步地,在本发明的一些实施例中,上述步骤4中的断点调试在不影响服务器整体运行的情况下最多阻塞一个接口服务的一个请求线程。
33.进一步地,在本发明的一些实施例中,上述步骤2中涉及到的提取路由信息是用于
标记状态、创建人、创建时间、修改人、修改时间、底层解析平台、开发环境、子产品标识和用户租户标识的信息。
34.进一步地,在本发明的一些实施例中,上述步骤2中的数据是以保存到字符串的形式保存到数据库内。
35.相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
36.1.本发明涉及到的web平台,可以是某个web平台,比如基于spingmvc 的java web平台,也可以是不同技术架构、不同开发语言的多个web平台组成的集群,如多个java web和nodejs服务器的组合,不同平台只需要根据特定的标识,获取并解析运行自身可以支持的数据接口配置即可,这样使得web平台的适应性更强,同时兼容性更可靠。
37.2.本发明涉及到的web平台需要尽可能的提供业务开发所需要的常用工具和依赖,最大限度的利用平台自身生态或者效率优势,扩展业务脚本的功能,并最大程度的降低业务脚本复杂度,使得业务脚本开发更加简单、快速。
38.3.本发明涉及到的web平台在工作时,移除被修改和已删的旧接口并添加新添加和修改的接口即可,不需要全量替换,所有数据服务的修改,都可以在毫秒级内生效,这样的在保证了系统整体运行效率的同时还提升了系统的可靠性。
39.4.本发明在对业务脚本解析时,进行了ast解析,这样在变量赋值、参数调用、return语句等地方插入追踪代码,从而可以使得脚本运行透明化,容易追踪脚本运行过程和排查bug,进一步地增加了系统的可靠性。
40.5.本发明可以整合多种web开发语言和技术平台,构建线上自定义开发数据接口的强大云服务功能,前景广阔,大幅提升开发效率、降低硬件和开发成本,降低中小企业对多种人才的依赖,原本开发数据接口需要租赁服务器并搭建开发环境和运维系统,现在只需要在云平台上新建几个接口即可。
41.6.本发明为多种不同开发语言和技术框架的web后端开发,提供了统一的开发方式,不需要考虑底层web平台语言和技术框架的不同,方便新旧开发语言和技术的迭代平滑过渡提供保障,可以极大的促进行业发展。
42.7.本发明开发效率很高,至少加快后端开发效率50%以上。
43.8.本发明所实现的功能和原生硬编码相近,完整的编程能力,不同于使用简单配置映射数据库资源的方式。
44.9.本发明数据接口的上线下线,可以在毫秒内完成,同时不会影响其他数据接口、也不会中断服务器运行。大幅减少发布成本和降低运维风险。
45.10.本发明针对多方联调,可以更快响应修改,并大幅减少等待时间。
46.11.本发明因底层平台和业务逻辑被分层抽离,且不同数据接口之间隔离良好,可以轻易的复用底层平台和复用数据接口,开发同类产品时,将更加快速。
47.12.本发明涉及到的方法不需要关心底层、支持线上开发,在跨项目、跨团队和远程合作上,具有巨大优势。
附图说明
48.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对
范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
49.图1为本发明的工作流程图;
具体实施方式
50.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
51.实施例1
52.请参照图1,
53.一种web后端的开发方法,其包括如下步骤:
54.步骤1.确定业务代码的脚本语言,形成可执行的业务脚本;
55.步骤2.提取路由信息、并调用sql及步骤1中涉及到的业务脚本将其组一条核心数据接口配置,并保存到数据库内;
56.步骤3.搭建web平台,对步骤2中数据库内的记录进行解析运行;
57.步骤4.开发具有匹配查询、新增、修改、删除数据接口配置的功能的前端在线编辑器,形成一套完整的web平台。
58.优选的,所述步骤1中的脚本语言包括javascript和typescript。
59.优选的,所述步骤2中提取路由信息包括:请求方式、请求路径和头信息。
60.本发明涉及到的web平台,可以是某个web平台,比如基于spingmvc 的java web平台,也可以是不同技术架构、不同开发语言的多个web平台组成的集群,如多个java web和nodejs服务器的组合,不同平台只需要根据特定的标识,获取并解析运行自身可以支持的数据接口配置即可,这样使得web平台的适应性更强,同时兼容性更可靠。
61.本发明涉及到的web平台需要尽可能的提供业务开发所需要的常用工具和依赖,最大限度的利用平台自身生态或者效率优势,扩展业务脚本的功能,并最大程度的降低业务脚本复杂度,使得业务脚本开发更加简单、快速。
62.本发明涉及到的web平台在工作时,移除被修改和已删的旧接口并添加新添加和修改的接口即可,不需要全量替换,所有数据服务的修改,都可以在毫秒级内生效,这样的在保证了系统整体运行效率的同时还提升了系统的可靠性。
63.本发明在对业务脚本解析时,进行了ast解析,这样在变量赋值、参数调用、return语句等地方插入追踪代码,从而可以使得脚本运行透明化,容易追踪脚本运行过程和排查bug,进一步地增加了系统的可靠性。
64.本发明可以整合多种web开发语言和技术平台,构建线上自定义开发数据接口的强大云服务功能,前景广阔,大幅提升开发效率、降低硬件和开发成本,降低中小企业对多种人才的依赖,原本开发数据接口需要租赁服务器并搭建开发环境和运维系统,现在只需要在云平台上新建几个接口即可。
65.本发明开发效率很高,至少加快后端开发效率50%以上。
66.本发明所实现的功能和原生硬编码相近,完整的编程能力,不同于使用简单配置
映射数据库资源的方式。
67.实施例2
68.请参照图1,
69.一种web后端的开发方法,其包括如下步骤:
70.步骤1.确定业务代码的脚本语言,形成可执行的业务脚本;
71.步骤2.提取路由信息、并调用sql及步骤1中涉及到的业务脚本将其组一条核心数据接口配置,并保存到数据库内;
72.步骤3.搭建web平台,对步骤2中数据库内的记录进行解析运行;
73.步骤4.开发具有匹配查询、新增、修改、删除数据接口配置的功能的前端在线编辑器,形成一套完整的web平台。
74.优选的,所述步骤1中的脚本语言包括javascript和typescript。
75.优选的,所述步骤2中提取路由信息包括:请求方式、请求路径和头信息。
76.优选的,所述步骤3中,搭建web平台的详细步骤如下:
77.1)web平台在首次运行和数据接口配置发生改变时,从存储系统中获取并预解析配置;
78.2)web平台提供和业务脚本的双向调用、通信机制;
79.3)如果需要限制不同数据接口对系统资源的占用,则创建动态web服务器,将相应接口在指定web服务器上解析运行。
80.优选的,所述动态web服务器为:dock虚拟容器。
81.本发明涉及到的web平台,可以是某个web平台,比如基于spingmvc 的java web平台,也可以是不同技术架构、不同开发语言的多个web平台组成的集群,如多个java web和nodejs服务器的组合,不同平台只需要根据特定的标识,获取并解析运行自身可以支持的数据接口配置即可,这样使得web平台的适应性更强,同时兼容性更可靠。
82.本发明涉及到的web平台需要尽可能的提供业务开发所需要的常用工具和依赖,最大限度的利用平台自身生态或者效率优势,扩展业务脚本的功能,并最大程度的降低业务脚本复杂度,使得业务脚本开发更加简单、快速。
83.本发明涉及到的web平台在工作时,移除被修改和已删的旧接口并添加新添加和修改的接口即可,不需要全量替换,所有数据服务的修改,都可以在毫秒级内生效,这样的在保证了系统整体运行效率的同时还提升了系统的可靠性。
84.本发明为多种不同开发语言和技术框架的web后端开发,提供了统一的开发方式,不需要考虑底层web平台语言和技术框架的不同,方便新旧开发语言和技术的迭代平滑过渡提供保障,可以极大的促进行业发展。
85.本发明开发效率很高,至少加快后端开发效率50%以上。
86.本发明所实现的功能和原生硬编码相近,完整的编程能力,不同于使用简单配置映射数据库资源的方式。
87.本发明数据接口的上线下线,可以在毫秒内完成,同时不会影响其他数据接口、也不会中断服务器运行。大幅减少发布成本和降低运维风险。
88.本发明针对多方联调,可以更快响应修改,并大幅减少等待时间。
89.实施例3
90.请参照图1,
91.一种web后端的开发方法,其包括如下步骤:
92.步骤1.确定业务代码的脚本语言,形成可执行的业务脚本;
93.步骤2.提取路由信息、并调用sql及步骤1中涉及到的业务脚本将其组一条核心数据接口配置,并保存到数据库内;
94.步骤3.搭建web平台,对步骤2中数据库内的记录进行解析运行;
95.步骤4.开发具有匹配查询、新增、修改、删除数据接口配置的功能的前端在线编辑器,形成一套完整的web平台。
96.优选的,所述步骤1中的脚本语言包括javascript和typescript。
97.优选的,所述步骤2中提取路由信息包括:请求方式、请求路径和头信息。
98.优选的,所述步骤3中,搭建web平台的详细步骤如下:
99.1)web平台在首次运行和数据接口配置发生改变时,从存储系统中获取并预解析配置;
100.2)web平台提供和业务脚本的双向调用、通信机制;
101.3)如果需要限制不同数据接口对系统资源的占用,则创建动态web服务器,将相应接口在指定web服务器上解析运行。
102.优选的,所述动态web服务器为:dock虚拟容器。
103.优选的,所述步骤4中开发前端在线编辑器的详细步骤如下:
104.1)代理web平台日志到编辑器;
105.2)sql执行日志返回到编辑器;
106.3)可以框选任意sql和业务脚本组成临时的数据接口配置交给服务器解析运行,用以辅助测试和排查bug;
107.4)对业务脚本,进行ast解析,在变量赋值、参数调用、return语句等地方插入追踪代码;
108.5)根据需求对web平台进行脚本断点调试。
109.优选的,所述步骤4中的web平台为基于spingmvc的java web平台、不同技术架构、不同开发语言的多个web平台组成的集群、或多个java web 和nodejs服务器的组合。
110.优选的,所述步骤4中的断点调试在不影响服务器整体运行的情况下最多阻塞一个接口服务的一个请求线程。
111.本发明涉及到的web平台,可以是某个web平台,比如基于spingmvc 的java web平台,也可以是不同技术架构、不同开发语言的多个web平台组成的集群,如多个java web和nodejs服务器的组合,不同平台只需要根据特定的标识,获取并解析运行自身可以支持的数据接口配置即可,这样使得web平台的适应性更强,同时兼容性更可靠。
112.本发明涉及到的web平台需要尽可能的提供业务开发所需要的常用工具和依赖,最大限度的利用平台自身生态或者效率优势,扩展业务脚本的功能,并最大程度的降低业务脚本复杂度,使得业务脚本开发更加简单、快速。
113.本发明涉及到的web平台在工作时,移除被修改和已删的旧接口并添加新添加和修改的接口即可,不需要全量替换,所有数据服务的修改,都可以在毫秒级内生效,这样的在保证了系统整体运行效率的同时还提升了系统的可靠性。
114.本发明为多种不同开发语言和技术框架的web后端开发,提供了统一的开发方式,不需要考虑底层web平台语言和技术框架的不同,方便新旧开发语言和技术的迭代平滑过渡提供保障,可以极大的促进行业发展。
115.本发明开发效率很高,至少加快后端开发效率50%以上。
116.本发明所实现的功能和原生硬编码相近,完整的编程能力,不同于使用简单配置映射数据库资源的方式。
117.本发明数据接口的上线下线,可以在毫秒内完成,同时不会影响其他数据接口、也不会中断服务器运行。大幅减少发布成本和降低运维风险。
118.本发明针对多方联调,可以更快响应修改,并大幅减少等待时间。
119.本发明因底层平台和业务逻辑被分层抽离,且不同数据接口之间隔离良好,可以轻易的复用底层平台和复用数据接口,开发同类产品时,将更加快速。
120.本发明一致且不需要关心底层、支持线上开发,在跨项目、跨团队和远程合作上,具有巨大优势。
121.实施例4
122.请参照图1,
123.一种web后端的开发方法,其包括如下步骤:
124.步骤1.确定业务代码的脚本语言,形成可执行的业务脚本;
125.步骤2.提取路由信息、并调用sql及步骤1中涉及到的业务脚本将其组一条核心数据接口配置,并保存到数据库内;
126.步骤3.搭建web平台,对步骤2中数据库内的记录进行解析运行;
127.步骤4.开发具有匹配查询、新增、修改、删除数据接口配置的功能的前端在线编辑器,形成一套完整的web平台。
128.优选的,所述步骤1中的脚本语言包括javascript和typescript。
129.优选的,所述步骤2中提取路由信息包括:请求方式、请求路径和头信息。
130.优选的,所述步骤3中,搭建web平台的详细步骤如下:
131.1)web平台在首次运行和数据接口配置发生改变时,从存储系统中获取并预解析配置;
132.2)web平台提供和业务脚本的双向调用、通信机制;
133.3)如果需要限制不同数据接口对系统资源的占用,则创建动态web服务器,将相应接口在指定web服务器上解析运行。
134.优选的,所述动态web服务器为:dock虚拟容器。
135.优选的,所述步骤4中开发前端在线编辑器的详细步骤如下:
136.1)代理web平台日志到编辑器;
137.2)sql执行日志返回到编辑器;
138.3)可以框选任意sql和业务脚本组成临时的数据接口配置交给服务器解析运行,用以辅助测试和排查bug;
139.4)对业务脚本,进行ast解析,在变量赋值、参数调用、return语句等地方插入追踪代码;
140.5)根据需求对web平台进行脚本断点调试。
141.优选的,所述步骤4中的web平台为基于spingmvc的java web平台、不同技术架构、不同开发语言的多个web平台组成的集群、或多个java web 和nodejs服务器的组合。
142.优选的,所述步骤4中的断点调试在不影响服务器整体运行的情况下最多阻塞一个接口服务的一个请求线程。
143.优选的,所述步骤2中涉及到的提取路由信息是用于标记状态、创建人、创建时间、修改人、修改时间、底层解析平台、开发环境、子产品标识和用户租户标识的信息。
144.优选的,所述步骤2中的数据是以保存到字符串的形式保存到数据库内。
145.本发明涉及到的web平台,可以是某个web平台,比如基于spingmvc 的java web平台,也可以是不同技术架构、不同开发语言的多个web平台组成的集群,如多个java web和nodejs服务器的组合,不同平台只需要根据特定的标识,获取并解析运行自身可以支持的数据接口配置即可,这样使得web平台的适应性更强,同时兼容性更可靠。
146.本发明涉及到的web平台需要尽可能的提供业务开发所需要的常用工具和依赖,最大限度的利用平台自身生态或者效率优势,扩展业务脚本的功能,并最大程度的降低业务脚本复杂度,使得业务脚本开发更加简单、快速。
147.本发明涉及到的web平台在工作时,移除被修改和已删的旧接口并添加新添加和修改的接口即可,不需要全量替换,所有数据服务的修改,都可以在毫秒级内生效,这样的在保证了系统整体运行效率的同时还提升了系统的可靠性。
148.本发明在对业务脚本解析时,进行了ast解析,这样在变量赋值、参数调用、return语句等地方插入追踪代码,从而可以使得脚本运行透明化,容易追踪脚本运行过程和排查bug,进一步地增加了系统的可靠性。
149.本发明可以整合多种web开发语言和技术平台,构建线上自定义开发数据接口的强大云服务功能,前景广阔,大幅提升开发效率、降低硬件和开发成本,降低中小企业对多种人才的依赖,原本开发数据接口需要租赁服务器并搭建开发环境和运维系统,现在只需要在云平台上新建几个接口即可。
150.本发明为多种不同开发语言和技术框架的web后端开发,提供了统一的开发方式,不需要考虑底层web平台语言和技术框架的不同,方便新旧开发语言和技术的迭代平滑过渡提供保障,可以极大的促进行业发展。
151.本发明开发效率很高,至少加快后端开发效率50%以上。
152.本发明所实现的功能和原生硬编码相近,完整的编程能力,不同于使用简单配置映射数据库资源的方式。
153.本发明数据接口的上线下线,可以在毫秒内完成,同时不会影响其他数据接口、也不会中断服务器运行。大幅减少发布成本和降低运维风险。
154.本发明针对多方联调,可以更快响应修改,并大幅减少等待时间。
155.本发明因底层平台和业务逻辑被分层抽离,且不同数据接口之间隔离良好,可以轻易的复用底层平台和复用数据接口,开发同类产品时,将更加快速。
156.本发明一致且不需要关心底层、支持线上开发,在跨项目、跨团队和远程合作上,具有巨大优势。
157.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、
等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1