开发联调隔离方法、装置、计算机设备、存储介质与流程

未命名 08-17 阅读:123 评论:0


1.本技术涉及软件开发技术领域,特别是涉及一种开发联调隔离方法、装置、计算机设备、存储介质。


背景技术:

2.随着微服务架构技术的流行,大多数项目都在进行系统微服务架构改造。当前的微服务架构技术的开发过程中,存在多个开发人员对同一个服务编码开发、调试的情况。
3.在调试时,不同的开发人员将自身改动的服务启动注册到同一注册中心。由此导致,在调试过程中,调试请求调用到其他开发人员机器的情况,导致开发人员本地调试相互阻碍,降低开发效率。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够使各开发人员对应的应用服务节点实例相互隔离,提升开发效率的开发联调隔离方法、装置、计算机设备、存储介质。
5.第一方面,本技术提供了一种开发联调隔离方法,所述方法包括:接收目标网络请求,所述目标网络请求包括当前版本号;获取服务列表,所述服务列表包括至少一个应用服务节点实例的服务版本号;将所述当前版本号和各所述服务版本号进行匹配,得到所述当前版本号对应的目标服务版本号;根据所述目标服务版本号获取对应的应用服务节点实例;将所述当前版本号对应的目标网络请求路由到所述目标服务版本号对应的应用服务节点实例。
6.在其中一个实施例中,所述接收目标网络请求,包括:接收初始网络请求;对所述初始网络请求中的字段字进行过滤;若所述初始网络请求中包括版本号字段,则将包括所述版本号字段所述的初始网络请求确定为目标网络请求。
7.在其中一个实施例中,将所述当前版本号和各所述服务版本号进行匹配,得到所述当前版本号对应的目标服务版本号,包括:将所述当前版本号和各所述服务列表中对应的应用服务节点实例的服务版本号进行匹配,得到所述当前版本号对应的至少两个中间服务版本号;根据目标算法从至少两个所述中间服务版本号中确定对应的所述目标服务版本号。
8.在其中一个实施例中,所述目标算法包括随机数算法,所述根据目标算法从至少两个所述中间服务版本号中确定对应的所述目标服务版本号,包括:根据所述随机数算法从至少两个所述中间服务版本号中确定对应的所述目标服务版本号。
9.在其中一个实施例中,所述获取服务列表,包括:获取所述目标网络请求对应的所述应用服务节点实例的标识;根据所述应用服务节点实例的标识从注册中心获取对应的所述服务列表。
10.在其中一个实施例中,在所述接收目标网络请求之前,还包括:接收配置指令;根据所述配置指令对所述应用服务节点实例的服务版本号进行配置。
11.第二方面,本技术还提供了一种开发联调隔离装置,所述装置包括:接收模块,用于接收目标网络请求,所述目标网络请求包括当前版本号;获取模块,用于获取服务列表,所述服务列表包括至少一个应用服务节点实例的服务版本号;匹配模块,用于将所述当前版本号和各所述服务版本号进行匹配,得到所述当前版本号对应的目标服务版本号;实例获取模块,用于根据所述目标服务版本号获取对应的应用服务节点实例;路由模块,用于将所述当前版本号对应的目标网络请求路由到所述目标服务版本号对应的应用服务节点实例。
12.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
13.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
14.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
15.上述开发联调隔离方法、装置、计算机设备、存储介质,在目标网络请求和应用服务节点实例设置对应的版本号和服务版本号。将目标网络请求中的版本号与应用服务节点实例的服务版本号进行匹配,并将目标网络请求路由到匹配后的目标服务版本号对应的应用服务节点实例。基于各应用服务节点实例的服务版本号,使得通过目标服务版本号对应的应用服务节点实例与目标网络请求的交互,与其他版本号对应的应用服务节点实例相互隔离,实现对目标服务版本号对应的应用服务节点实例的调试。将目标网络请求与目标服务版本号对应的应用服务节点实例进行匹配,可以避免在调试过程中,目标网络请求调用其他开发人员机器即其他版本的应用服务节点实例的情况,避免开发人员在本地调试时相互阻碍,提升开发效率。
附图说明
16.图1为一个实施例中开发联调隔离方法的应用环境图;
17.图2为一个实施例中开发联调隔离方法的流程示意图;
18.图3为一个实施例中应用服务节点实例的服务版本号的配置示意图;
19.图4为一个实施例中开发联调隔离装置的结构框图;
20.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
21.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
22.本技术实施例提供的开发联调隔离方法,可以应用于如图1所示的应用环境中。其中,前端与gateway(网关)通信,gateway网关与nacos(注册中心)通信,gateway网关与应用服务集群通信。应用服务集群与nacos(注册中心)通信。前端向gateway网关发送目标网络请求。gateway网关接收目标网络请求,目标网络请求包括当前版本号。gateway网关从
nacos(注册中心)获取服务列表,服务列表包括至少一个应用服务集群中的应用服务节点实例的服务版本号。gateway网关将当前版本号和各服务版本号进行匹配,得到当前版本号对应的目标服务版本号;将当前版本号对应的目标网络请求路由到应用服务集群中目标服务版本号对应的应用服务节点实例。其中,前端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。应用服务器集群可以用独立的服务器或者是多个服务器组成。
23.在一个实施例中,如图2所示,提供了一种开发联调隔离方法,以该方法应用于图1中的gateway网关为例进行说明,包括以下步骤:
24.步骤202,接收目标网络请求,目标网络请求包括当前版本号。
25.其中,目标网络请求的请求头中包括当前版本号,并用于与对应的应用服务集群中的应用服务节点实例进行通信。
26.可选地,gateway网关接收前端发送的目标网络请求,目标网络请求包括当前版本号。
27.步骤204,获取服务列表,服务列表包括至少一个应用服务节点实例的服务版本号。
28.需要说明的是,对于微服务架构的开发来说,可以将微服务架构的系统根据业务或者功能可以划分成多个服务。当不同的开发人员对自己负责的服务进行开发时,需要将对应的服务注册到nacos(注册中心),成为对应的应用服务节点实例,并为上述应用服务节点实例设置相应的版本号即服务版本号。可选地,当一个服务被不同的开发人员进行开发时,各开发人员对各自注册到nacos(注册中心)的应用服务节点实例设置相应的服务版本号。当同一个开人员对自己注册到nacos(注册中心)的应用服务节点实例进行修改时,可以为修改后的应用服务节点实例设置新的服务版本号。nacos注册中心存储各应用服务节点实例对应的至少一个服务版本号。
29.gateway网关从nacos注册中心中获取目标网络请求对应的服务列表,服务列表包括至少一个应用服务节点实例的服务版本号。
30.步骤206,将当前版本号和各服务版本号进行匹配,得到当前版本号对应的目标服务版本号。
31.gateway网关将目标网络请求中的当前版本号,与服务列表中的各服务版本号进行匹配,将与当前版本号匹配上的服务版本号设置为目标服务版本号。
32.可选地,可以将当前版本号与各服务版本号进行完全匹配,若当前版本号与各服务版本号中的至少一个完全一致,则认为匹配成功,将与当前版本号完全一致的服务版本号设置为目标服务版本号。
33.可选地,可以将当前版本号与服务版本号按预设规则进行匹配,若当前版本号与各服务版本号中的至少一个符合预设规则,则认为匹配成功,将与当前版本号对应的服务版本号设置为目标服务版本号。
34.步骤208,gateway网关根据目标服务版本号获取对应的应用服务节点实例。
35.步骤210,将当前版本号对应的目标网络请求路由到目标服务版本号对应的应用服务节点实例。
36.gateway网关将当前版本号对应的目标网络请求路由到目标服务版本号对应的应用服务节点实例。
37.上述开发联调隔离方法,在目标网络请求和应用服务节点实例设置对应的版本号和服务版本号。将目标网络请求中的当前版本号与应用服务节点实例的服务版本号进行匹配,并将目标网络请求路由到匹配后的目标服务版本号对应的应用服务节点实例。基于各应用服务节点实例的服务版本号,使得通过目标服务版本号对应的应用服务节点实例与目标网络请求的交互,与其他版本号对应的应用服务节点实例相互隔离,实现对目标服务版本号对应的应用服务节点实例的调试。将目标网络请求与目标服务版本号对应的应用服务节点实例进行匹配,可以避免在调试过程中,目标网络请求调用其他开发人员机器即其他版本的应用服务节点实例的情况,避免开发人员在本地调试时相互阻碍,提升开发效率。
38.在一个实施例中,接收目标网络请求,包括:接收初始网络请求;对初始网络请求中的字段字进行过滤;若初始网络请求中包括版本号字段,则将包括版本号字段的初始网络请求确定为目标网络请求。
39.需要说明的是,前端向gateway网关发送多种网络请求,以实现不同的功能。
40.gateway网关接收前端发送的各种类型的网络请求即初始网络请求;对初始网络请求中的字段字进行过滤;若初始网络请求中包括版本号字段,则将包括版本号字段的初始网络请求确定为目标网络请求。
41.上述开发联调隔离方法,对初始网络请求进行过滤,以确定开发联调隔离方法需要的目标网络请求。
42.在一个实施例中,将当前版本号和各服务版本号进行匹配,得到当前版本号对应的目标服务版本号,包括:将当前版本号和各服务列表中对应的应用服务节点实例的服务版本号进行匹配,得到当前版本号对应的至少两个中间服务版本号;根据目标算法从至少两个中间服务版本号中确定对应的目标服务版本号。
43.需要说明的是,服务版本号一般是唯一的,但是也有不同开发人员设置相同服务版本号的可能。
44.可选地,gateway网关将目标网络请求中的当前版本号,与服务列表中的各服务版本号进行匹配,将与当前版本号匹配上的至少两个服务版本号设置为中间服务版本号;根据目标算法从至少两个中间服务版本号中确定对应的目标服务版本号。
45.可选地,目标算法包括随机数算法,gateway网关根据随机数算法从至少两个中间服务版本号中确定一个中间服务版本号为对应的目标服务版本号。例如,中间服务版本号的数量为3,gateway网关根据随机数算法将中间版本号的数量除以9,得到余数3,gateway网关将余数3对应的中间服务版本号确定为中间服务版本号。需要说明的是,本技术并不对随机数算法和中间服务版本号的数量做限定,注意的,可以根据实际需求进行适应性修改。
46.在一个实施例中,获取服务列表,包括:获取目标网络请求对应的应用服务节点实例的标识;根据应用服务节点实例的标识从注册中心获取对应的服务列表。
47.可选地,前端发送至gateway网关的目标网络请求中包括,需要与目标网络请求进行交互的应用服务节点实例的标识。需要说明的是,各应用服务节点实例的标识为唯一标识,但各应用服务节点实例的服务版本号可以有多个。
48.gateway网关获取目标网络请求对应的应用服务节点实例的标识;根据应用服务
节点实例的标识从注册中心获取对应的服务列表。
49.上述开发联调隔离方法,根据目标网络请求对应的应用服务节点实例的标识从注册中心获取对应的服务列表,可以快速定位目标网络请求对应的应用服务节点实例的服务列表,以增加获取服务版本号的效率。
50.在一个实施例中,在接收目标网络请求之前,还包括:接收配置指令;根据配置指令对应用服务节点实例的服务版本号进行配置。
51.其中,配置指令为对应用服务节点实例的服务版本号进行配置的指令。
52.当不同的开发人员对自己负责的应用服务节点实例进行开发时,需要将对应的应用服务节点实例注册到nacos(注册中心),并为上述应用服务节点实例设置相应的版本号即服务版本号。
53.上述开发联调隔离方法,为应用服务节点实例设置的服务版本号,以实现对不同服务版本号对应的应用服务节点实例相互隔离。
54.在一个具体地实施例中,不同的开发人员为注册到nacos的应用服务节点实例配置对应的服务版本号。可选地,通过图3所示的spring.cloud.nacos.discovery.metadata.version进行服务版本号配置。当开发人员启动本地应用服务节点实例时,可以通过启动的应用服务节点实例的服务版本号进应用服务节点实例的不同版本的区分。可选地,每个开发人员应给开发测试的应用服务节点实例设置唯一识别的服务版本号。可选地,服务版本号的命名规则: {开发人员自定义唯一识别信息},如zhangsan。
55.nacos注册中心可以获取到注册的各应用服务节点实例对应的服务版本号信息。如表1所示,nacos注册中心中记录两个服务版本号即version为zhangsan、lisi的服务版本号信息。
56.表1 服务版本号信息
[0057][0058]
需要说明的是,在执行开发联调隔离方法之前,需要自定义版本号路由versionloadbalancer。versionloadbalancer通过重写spring cloud loadbalancer中reactorserviceinstanceloadbalancer接口类中的路由方法(choose(request))实现。重写后的choose(request)通过应用服务节点实例的标识(serviceid)从nacos获取对应的服务
列表();从目标网络请求(request)头(header)中获取当前版本号(version1)用于匹配,匹配方法为将请求头(header)中version1与中serviceinstance.metadata.version即服务版本号的值进行匹配,得到当前版本号对应的目标服务版本号。若目标服务版本号的数量大于1,则通过随机数算法从至少两个目标服务版本号中确定其中的一个为最终的目标服务版本号。并将目标网络请求路由到目标服务版本号对应的应用服务节点实例。
[0059]
还需要对gateway网关中的versionreactiveloadbalancerclientfilter进行扩展。具体地,通过继承reactiveloadbalancerclientfilter实现,重写filter(serverwebexchange exchange, gatewayfilterchain chain)方法,该filter用于从初始网络请求中确定目标网络请求,具体地,该filter对初始网络请求中的字段字进行过滤;将初始网络请求中包括版本号字段的初始网络请求筛选出来,以用于将初始网络请求中包括服务版本号字段的确定为目标网络请求。将目标网络请求通过versionloadbalancer工具进行路由。
[0060]
应用程序启用versionloadbalancer和versionreactiveloadbalancerclientfilter:核心处理类编写完成后,需要让应用程序使用我们定义的路由和过滤器,启用方式通过spring的configuration注入我们的核心工具类并提供给spring bean容器管理,应用程序启动时会自动加载该核心程序。
[0061]
前端发送的目标网络请求中需要添加当前版本号version1:进行目标网络请求http/https请求时,在目标网络请求header中添加version1属性。
[0062]
gateway网关接收目标网络请求后,调用核心过滤器versionreactiveloadbalancerclientfilter和路由versionloadbalancer程序对目标网络请求进行解析和路由。将目标网络请求转发到对应目标服务版本号对应的应用服务节点实例,实现协同开发环境的隔离。
[0063]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0064]
在一个具体地实施例中,技术框架版本可以如下选择:
[0065]
jdk1.8
[0066]
spring cloud:hoxton.sr12
[0067]
spring cloud alibaba:2.2.3.release
[0068]
spring boot:2.3.4.release
[0069]
spring cloud loadbalance:2.2.9.release。
[0070]
本技术基于spring cloud gateway、spring cloud loadbalancer、nacos框架实现。开发人员为每个注册到注册中心的应用服务节点定义一个版本号(version)。测试人员输入的目标网络请求中包括对应的当前版本号(version)。通过gateway拦截目标网络请
求,gateway对目标网络请求进行解析,获取对应的当前版本号;gateway从注册中心获取目标网络请求要调用的应用服务节点(微服务应用集群实例,存在多个,),经负载均衡算法,将目标网络请求与应用服务节点的版本号进行匹配,路由到符合条件的其中一个应用服务节点,实现本地开发人员协同开发时的环境隔离。
[0071]
开发者给注册到nacos(注册中心)的服务定义版本号:通过spring.cloud.nacos.discovery.metadata.version属性配置,开发者给应用服务设置版本号,为了区分每个开发者启动的本地服务节点,每个开发者应给开发测试的服务设置唯一识别的版本号信息(版本号命名规则: {开发人员自定义唯一识别信息},如zhangsan)。
[0072]
nacos注册中心可以获取到注册的服务版本号信息,如表1,有两个开发人员version(版本号)为zhangsan、lisi,将服务注册到了nacos(注册中心)。
[0073]
自定义版本号路由versionloadbalancer,拦截请求头中版本号version供负载均衡使用并路由:通过实现spring cloud loadbalancer中reactorserviceinstanceloadbalancer接口类,重写其中路由方法choose(request),首先通过serviceid从nacos获取服务列表,从请求request头header中获取版本号version用于服务匹配,匹配方法为将请求头header中version与中serviceinstance.metadata.version值进行匹配,得到符合条件的服务节点集合,再通过随机数算法选择其中一个节点进行请求处理。
[0074]
扩展versionreactiveloadbalancerclientfilter:通过继承reactiveloadbalancerclientfilter实现,重写filter(serverwebexchange exchange, gatewayfilterchain chain)方法,该filter过滤出指定规则的服务请求,然后通过versionloadbalancer工具进行服务路由。
[0075]
应用程序启用versionloadbalancer和versionreactiveloadbalancerclientfilter:核心处理类编写完成后,需要让应用程序使用我们定义的路由和过滤器,启用方式通过spring的configuration注入我们的核心工具类并提供给spring bean容器管理,应用程序启动时会自动加载该核心程序。
[0076]
目标网络请求头添加版本号version:进行http/https请求时,在请求header中添加version属性,请求经由gateway,然后调用核心过滤器versionreactiveloadbalancerclientfilter和路由versionloadbalancer程序,目标网络请求转发到对应版本服务节点上,实现协同开发环境的隔离。基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的开发联调隔离方法的开发联调隔离装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个开发联调隔离装置实施例中的具体限定可以参见上文中对于开发联调隔离方法的限定,在此不再赘述。
[0077]
在一个实施例中,如图4所示,提供了一种开发联调隔离装置,包括:接收模块100、获取模块200、匹配模块300、实例获取模块400和路由模块500,其中:接收模块100,用于接收目标网络请求,目标网络请求包括当前版本号;获取模块200,用于获取服务列表,服务列表包括至少一个应用服务节点实例的服务版本号;匹配模块300,用于将当前版本号和各服
务版本号进行匹配,得到当前版本号对应的目标服务版本号;实例获取模块400,用于根据目标服务版本号获取对应的应用服务节点实例;路由模块500,用于将当前版本号对应的目标网络请求路由到目标服务版本号对应的应用服务节点实例。
[0078]
在一个实施例中,接收模块,包括:初始接收模块,应用接收初始网络请求;过滤模块,用于对所述初始网络请求中的字段字进行过滤;确定模块,用于若所述初始网络请求中包括版本号字段,则将包括所述版本号字段所述的初始网络请求确定为目标网络请求。
[0079]
在一个实施例中,匹配模块,包括:第二匹配模块,用于将所述当前版本号和各所述服务列表中对应的应用服务节点实例的服务版本号进行匹配,得到所述当前版本号对应的至少两个中间服务版本号;第二确定模块,用于根据目标算法从至少两个所述中间服务版本号中确定对应的所述目标服务版本号。
[0080]
在一个实施例中,第二确定模块,包括:第三确定模块,用于根据所述随机数算法从至少两个所述中间服务版本号中确定对应的所述目标服务版本号。
[0081]
在一个实施例中,获取模块,包括:标识获取模块,用于获取所述目标网络请求对应的所述应用服务节点实例的标识;第二获取模块,用于根据所述应用服务节点实例的标识从注册中心获取对应的所述服务列表。
[0082]
在一个实施例中,还包括:指令接收模块,用于接收配置指令;配置模块,用于根据所述配置指令对所述应用服务节点实例的服务版本号进行配置。
[0083]
上述开发联调隔离装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0084]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种开发联调隔离方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0085]
本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0086]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收目标网络请求,目标网络请求包括当前版本号;获取服务列表,服务列表包括至少一个应用服务节点实例的服务版本号;将当前版本号和各服务版本号进行匹配,得到当前版本号对应的目标服务版本号;根据目标服务版本号获取对应的应用服务节点实例;将当前版本号对应的目标网络请求路由到目标服务版本号对应的应用服务节点实例。
[0087]
在一个实施例中,处理器执行计算机程序时所实现的接收目标网络请求,包括:接收初始网络请求;对初始网络请求中的字段字进行过滤;若初始网络请求中包括版本号字段,则将包括版本号字段的初始网络请求确定为目标网络请求。
[0088]
在一个实施例中,处理器执行计算机程序时所实现的将当前版本号和各服务版本号进行匹配,得到当前版本号对应的目标服务版本号,包括:将当前版本号和各服务列表中对应的应用服务节点实例的服务版本号进行匹配,得到当前版本号对应的至少两个中间服务版本号;根据目标算法从至少两个中间服务版本号中确定对应的目标服务版本号。
[0089]
在一个实施例中,处理器执行计算机程序时所实现的目标算法包括随机数算法,根据目标算法从至少两个中间服务版本号中确定对应的目标服务版本号,包括:根据随机数算法从至少两个中间服务版本号中确定对应的目标服务版本号。
[0090]
在一个实施例中,处理器执行计算机程序时所实现的获取服务列表,包括:获取目标网络请求对应的应用服务节点实例的标识;根据应用服务节点实例的标识从注册中心获取对应的服务列表。
[0091]
在一个实施例中,在处理器执行计算机程序时所实现的接收目标网络请求之前,还包括:接收配置指令;根据配置指令对应用服务节点实例的服务版本号进行配置。
[0092]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收目标网络请求,目标网络请求包括当前版本号;获取服务列表,服务列表包括至少一个应用服务节点实例的服务版本号;将当前版本号和各服务版本号进行匹配,得到当前版本号对应的目标服务版本号;根据目标服务版本号获取对应的应用服务节点实例;将当前版本号对应的目标网络请求路由到目标服务版本号对应的应用服务节点实例。
[0093]
在一个实施例中,计算机程序被处理器执行时所实现的接收目标网络请求,包括:接收初始网络请求;对初始网络请求中的字段字进行过滤;若初始网络请求中包括版本号字段,则将包括版本号字段的初始网络请求确定为目标网络请求。
[0094]
在一个实施例中,计算机程序被处理器执行时所实现的将当前版本号和各服务版本号进行匹配,得到当前版本号对应的目标服务版本号,包括:将当前版本号和各服务列表中对应的应用服务节点实例的服务版本号进行匹配,得到当前版本号对应的至少两个中间服务版本号;根据目标算法从至少两个中间服务版本号中确定对应的目标服务版本号。
[0095]
在一个实施例中,计算机程序被处理器执行时所实现的目标算法包括随机数算法,根据目标算法从至少两个中间服务版本号中确定对应的目标服务版本号,包括:根据随机数算法从至少两个中间服务版本号中确定对应的目标服务版本号。
[0096]
在一个实施例中,计算机程序被处理器执行时所实现的获取服务列表,包括:获取目标网络请求对应的应用服务节点实例的标识;根据应用服务节点实例的标识从注册中心获取对应的服务列表。
[0097]
在一个实施例中,计算机程序被处理器执行时所实现的接收目标网络请求之前,包括:接收配置指令;根据配置指令对应用服务节点实例的服务版本号进行配置。
[0098]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:接收目标网络请求,目标网络请求包括当前版本号;获取服务列表,服务列表包括至少一个应用服务节点实例的服务版本号;将当前版本号和各服务版
本号进行匹配,得到当前版本号对应的目标服务版本号;根据目标服务版本号获取对应的应用服务节点实例;将当前版本号对应的目标网络请求路由到目标服务版本号对应的应用服务节点实例。
[0099]
在一个实施例中,计算机程序被处理器执行时所实现的接收目标网络请求,包括:接收初始网络请求;对初始网络请求中的字段字进行过滤;若初始网络请求中包括版本号字段,则将包括版本号字段的初始网络请求确定为目标网络请求。
[0100]
在一个实施例中,计算机程序被处理器执行时所实现的将当前版本号和各服务版本号进行匹配,得到当前版本号对应的目标服务版本号,包括:将当前版本号和各服务列表中对应的应用服务节点实例的服务版本号进行匹配,得到当前版本号对应的至少两个中间服务版本号;根据目标算法从至少两个中间服务版本号中确定对应的目标服务版本号。
[0101]
在一个实施例中,计算机程序被处理器执行时所实现的目标算法包括随机数算法,根据目标算法从至少两个中间服务版本号中确定对应的目标服务版本号,包括:根据随机数算法从至少两个中间服务版本号中确定对应的目标服务版本号。
[0102]
在一个实施例中,计算机程序被处理器执行时所实现的获取服务列表,包括:获取目标网络请求对应的应用服务节点实例的标识;根据应用服务节点实例的标识从注册中心获取对应的服务列表。
[0103]
在一个实施例中,计算机程序被处理器执行时所实现的接收目标网络请求之前,包括:接收配置指令;根据配置指令对应用服务节点实例的服务版本号进行配置。
[0104]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0105]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0106]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0107]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。

技术特征:
1.一种开发联调隔离方法,其特征在于,所述方法包括:接收目标网络请求,所述目标网络请求包括当前版本号;获取服务列表,所述服务列表包括至少一个应用服务节点实例的服务版本号;将所述当前版本号和各所述服务版本号进行匹配,得到所述当前版本号对应的目标服务版本号;根据所述目标服务版本号获取对应的应用服务节点实例;将所述当前版本号对应的目标网络请求路由到所述目标服务版本号对应的应用服务节点实例。2.根据权利要求1所述的方法,其特征在于,所述接收目标网络请求,包括:接收初始网络请求;对所述初始网络请求中的字段字进行过滤;若所述初始网络请求中包括版本号字段,则将包括所述版本号字段所述的初始网络请求确定为目标网络请求。3.根据权利要求1所述的方法,其特征在于,将所述当前版本号和各所述服务版本号进行匹配,得到所述当前版本号对应的目标服务版本号,包括:将所述当前版本号和各所述服务列表中对应的应用服务节点实例的服务版本号进行匹配,得到所述当前版本号对应的至少两个中间服务版本号;根据目标算法从至少两个所述中间服务版本号中确定对应的所述目标服务版本号。4.根据权利要求3所述的方法,其特征在于,所述目标算法包括随机数算法,所述根据目标算法从至少两个所述中间服务版本号中确定对应的所述目标服务版本号,包括:根据所述随机数算法从至少两个所述中间服务版本号中确定对应的所述目标服务版本号。5.根据权利要求1所述的方法,其特征在于,所述获取服务列表,包括:获取所述目标网络请求对应的所述应用服务节点实例的标识;根据所述应用服务节点实例的标识从注册中心获取对应的所述服务列表。6.根据权利要求1所述的方法,其特征在于,在所述接收目标网络请求之前,还包括:接收配置指令;根据所述配置指令对所述应用服务节点实例的服务版本号进行配置。7.一种开发联调隔离装置,其特征在于,所述装置包括:接收模块,用于接收目标网络请求,所述目标网络请求包括当前版本号;获取模块,用于获取服务列表,所述服务列表包括至少一个应用服务节点实例的服务版本号;匹配模块,用于将所述当前版本号和各所述服务版本号进行匹配,得到所述当前版本号对应的目标服务版本号;实例获取模块,用于根据所述目标服务版本号获取对应的应用服务节点实例;路由模块,用于将所述当前版本号对应的目标网络请求路由到所述目标服务版本号对应的应用服务节点实例。8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

技术总结
本申请涉及软件开发技术领域,尤其是一种开发联调隔离方法、装置、计算机设备、存储介质。所述方法包括接收目标网络请求,所述目标网络请求包括当前版本号;获取服务列表,所述服务列表包括至少一个应用服务节点实例的服务版本号;将所述当前版本号和各所述服务版本号进行匹配,得到所述当前版本号对应的目标服务版本号;根据所述目标服务版本号获取对应的应用服务节点实例;将所述当前版本号对应的目标网络请求路由到所述目标服务版本号对应的应用服务节点实例。采用本方法能够使各开发人员对应的应用服务节点相互隔离,提升开发效率的。的。的。


技术研发人员:张苗 倪文涛 马祥力
受保护的技术使用者:太平金融科技服务(上海)有限公司
技术研发日:2023.07.18
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐