CN115150316A - 基于动态路由的网关控制方法、装置、介质及网关设备 - Google Patents
基于动态路由的网关控制方法、装置、介质及网关设备 Download PDFInfo
- Publication number
- CN115150316A CN115150316A CN202110277282.XA CN202110277282A CN115150316A CN 115150316 A CN115150316 A CN 115150316A CN 202110277282 A CN202110277282 A CN 202110277282A CN 115150316 A CN115150316 A CN 115150316A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- gateway
- routing
- routing configuration
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于动态路由的网关控制方法、装置、介质及网关设备,所述基于动态路由的网关控制方法包括:网关服务启动时,调用预先配置的访问接口;通过访问接口从存储有路由配置信息的数据库中读取路由配置信息,并将读取的路由配置信息加载到网关内存中;在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口,以读取数据库中更新的路由配置信息,并基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。本发明通过数据库存储路由配置信息,在网关服务向外暴露一个服务接口时,通过读取数据库中更新的路由配置信息,刷新网关内存中的路由配置信息,达到动态对外暴露服务接口时不需要重启网关服务的目的。
Description
技术领域
本发明涉及计算机网络技术领域,特别是涉及路由网关技术领域,具体为一种基于动态路由的网关控制方法、装置、介质及网关设备。
背景技术
现阶段大多数微服务的api网关都是使用zull来实现的,api网关是暴露在外网、供客户端调用服务的入口。随着服务功能的迭代,业务的发展延伸,需要暴露的api接口越来越多,那么就需要配置zuul网关以达到对外暴露更多的api接口。在开发阶段,可能要多次配置及修改zuul的路由信息,然后经过重启启动zuul网关服务以达到新服务接口的发布,给开发带来了一定的时间浪费,给测试人员也带来了测试的等待。每次路由配置文件的新增与更新需要删除、修改或重启网关服务,影响正常业务的调用,导致业务流程的搁置,降低用户体验性。
发明内容
本发明实施例的一个目的在于提供一种基于动态路由的网关控制方法、装置、介质及网关设备,其中,通过数据库存储路由配置信息,在网关服务向外暴露一个服务接口时,通过读取数据库中更新的路由配置信息,刷新网关内存中的路由配置信息,达到动态对外暴露服务接口时不需要重启网关服务的目的。
本发明实施例的另一个目的在于提供一种基于动态路由的网关控制方法、装置、介质及网关设备,其中,网关服务启动时,加载zuul组件,并将zuul组件初始化时加载路由配置信息的方式配置为调用预先配置的访问接口,达到在网关服务向外暴露一个服务接口时,通过服务接口调用所述访问接口来读取数据库中更新的路由配置信息的目的。
本发明实施例的另一个目的在于提供一种基于动态路由的网关控制方法、装置、介质及网关设备,其中,基于zuul组件的数据结构将读取的更新的路由配置信息进行对应的数据转换,使得通过zuul组件调用刷新接口即可刷新zuul内存中的路由配置信息。
为实现上述目的,第一方面,本发明实施例提供一种基于动态路由的网关控制方法,包括以下步骤:网关服务启动时,调用预先配置的访问接口;通过所述访问接口从存储有路由配置信息的数据库中读取所述路由配置信息,并将读取的所述路由配置信息加载到网关内存中;在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口,以读取数据库中更新的路由配置信息,并基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。基于动态路由的网关控制方法通过数据库存储路由配置信息,在网关服务向外暴露一个服务接口时,通过读取数据库中更新的路由配置信息,刷新网关内存中的路由配置信息,达到动态对外暴露服务接口时不需要重启网关服务的目的。
其中,所述网关服务启动时,调用预先配置的访问接口包括:所述网关服务启动时,加载zuul组件;所述zuul组件初始化时调用所述预先配置的访问接口,达到在网关服务向外暴露一个服务接口时,通过服务接口调用所述访问接口来读取数据库中更新的路由配置信息的目的。
其中,所述基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息包括:基于zuul组件的数据结构将读取的所述更新的路由配置信息进行对应的数据转换;将数据转换后的所述更新的路由配置信息返回到所述zuul组件;所述zuul组件调用刷新接口刷新将所述zuul内存中的路由配置信息。基于zuul组件的数据结构将读取的更新的路由配置信息进行对应的数据转换,使得通过zuul组件调用刷新接口即可刷新zuul内存中的路由配置信息。
为实现上述目的,第二方面,本发明实施例还提供一种基于动态路由的网关控制装置,包括:启动调用模块,所述启动调用模块在网关服务启动时,调用预先配置的访问接口;读取加载模块,所述读取加载模块通过所述访问接口从存储有路由配置信息的数据库中读取所述路由配置信息,并将读取的所述路由配置信息加载到网关内存中;调用刷新模块,所述调用刷新模块在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口,以读取数据库中更新的路由配置信息,所述调用刷新模块基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。通过数据库存储路由配置信息,在网关服务向外暴露一个服务接口时,所述基于动态路由的网关控制装置通过读取数据库中更新的路由配置信息,刷新网关内存中的路由配置信息,达到动态对外暴露服务接口时不需要重启网关服务的目的。
为实现上述目的,第三方面,本发明实施例还提供一种存储介质,存储有程序指令,所述程序指令被处理器执行时实现如上所述的基于动态路由的网关控制方法的步骤。
为实现上述目的,第四方面,本发明实施例还提供一种网关设备,包括存储器,存储计算机程序;处理器,执行所述计算机程序以实现如上所述的基于动态路由的网关控制方法的步骤。
附图说明
图1显示为本发明实施例的基于动态路由的网关控制方法和装置的实施架构示意图;
图2显示为本发明实施例的基于动态路由的网关控制方法的整体流程示意图;
图3显示为本发明实施例的基于动态路由的网关控制方法中将读取的路由配置信息加载到网关内存的流程示意图;
图4显示为本发明实施例的基于动态路由的网关控制方法中基于读取的更新的路由配置信息刷新网关内存中的路由配置信息的流程示意图;
图5显示为本发明实施例的基于动态路由的网关控制方法的实施过程流程图;
图6显示为本发明实施例的基于动态路由的网关控制装置的原理结构框图;
图7显示为本发明实施例的基于动态路由的网关控制装置的一种优选原理结构框图;
图8显示为本发明实施例的网关设备于一实施例中的原理结构示意图。
元件标号说明
10 网关设备
101 处理器
102 存储器
100 基于动态路由的网关控制装置
110 启动调用模块
120 读取加载模块
130 调用刷新模块
140 接口构造模块
150 数据转换模块
20 数据库
S100~S300 步骤
S210~S230 步骤
S310~S330 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,故图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
基于zuul实现的微服务API网关的路由都是通过配置文件来实现路由配置的,这样要新增路由配置或者是变更路由配置都需要先修改对应的配置文件,然后重新启动服务才能读取到最新的配置信息,这样不仅增加了开发和运营的难度,而且运行在生产环境上的服务如果重启则会影响到线上用户的体验。本实施例的基于动态路由的网关控制方法、装置、介质及网关设备,可以解决现有技术中次路由配置文件的新增与更新需要删除、修改或重启网关服务,影响正常业务的调用的技术问题。
以下将详细阐述本实施例的基于动态路由的网关控制方法、装置、介质及网关设备的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的基于动态路由的网关控制方法、装置、介质及网关设备。
实施例1
本实施例提供一种基于动态路由的网关控制方法,图1显示为实施例的基于动态路由的网关控制方法的实施过程示意图。如图1所示,本实施例中将路由配置信息存储于数据库20 中,通过于网关设备10内部构建的访问接口访问数据库20中的数据,然后加载到网关设备 10的内存中。若增路由配置或者是变更路由配置后,修改对应的路由配置文件时,将修改后的路由配置信息存储于数据库20中,在网关服务向外暴露一个服务接口时,通过服务接口调用所述访问接口,所述访问接口读取数据库20中更新的路由配置信息,然后网关设备10将读取的更新的路由配置信息刷新网关设备10的内存中的路由配置信息。所以本实施例的基于动态路由的网关控制方法通过数据库20存储路由配置信息,在网关服务向外暴露一个服务接口时,通过读取数据库20中更新的路由配置信息,刷新网关内存中的路由配置信息,达到动态对外暴露服务接口时不需要重启网关服务的目的。
具体地,请参阅图2,显示为本发明的基于动态路由的网关控制方法的整体流程示意图。如图2所示,本实施例中的基于动态路由的网关控制方法包括以下步骤:
步骤S100,网关服务启动时,调用预先配置的访问接口;
步骤S200,通过所述访问接口从存储有路由配置信息的数据库中读取所述路由配置信息,并将读取的所述路由配置信息加载到网关内存中;
步骤S300,在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口,以读取数据库中更新的路由配置信息,并基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。
以下对本实施例基于动态路由的网关控制方法中的步骤S100至步骤S300进行详细说明。
步骤S100,网关服务启动时,调用预先配置的访问接口。
本实施例中,预先于网关设备10内部构造一个访问接口。具体地,所述基于动态路由的网关控制方法还包括:
1)于所述网关服务内构造所述预先配置的访问接口:
2)令所述访问接口连接所述数据库,以使得在所述访问接口被调用时,从所述数据库中读取所述路由配置信息。
也就是说,于本实施例中,于网关服务内部构造一个读取数据库20中数据的调用接口(即访问接口),此接口会连接到数据库20,并读取预先存储于数据库20中的路由信息表中的路由数据,并对读取的数据进行数据转换等处理后,将数据返回至调用方。
于本实施例中,所述网关设备10为但不限于zuul网关设备。本实施例以网关设备10为 zuul网关设备为例进行说明。
具体地,于本实施例中,所述网关服务启动时,调用预先配置的访问接口包括:
1)所述网关服务启动时,加载zuul组件;
2)所述zuul组件初始化时调用所述预先配置的访问接口。
其中,于本实施例中,还包括:配置所述zuul组件初始化时加载路由配置信息的方式:将所述zuul组件初始化时加载路由配置信息的方式配置为调用所述预先配置的访问接口,从而使得网关服务启动,初始化zuul组件时,可以调用所述预先配置的访问接口。
即本实施例中,扩展zuul组件的加载配置方式,令zuul组件的默认加载配置文件路由信息的方式变更为调用本实施例中构建的访问接口来获取路由配置信息。
这样,于本实施例中,网关设备10的网关服务启动时,会加载zuul组件,zuul组件初始化时会基于配置的认加载配置文件路由信息的方式来加载路由配置信息,也就是zuul组件初始化时会调用本实施例中构建的访问接口,通过所述访问接口访问数据库20来获取路由配置信息,这样使得zuul组件获取到路由配置信息,进行正常的路由处理工作。
步骤S200,通过所述访问接口从存储有路由配置信息的数据库中读取所述路由配置信息,并将读取的所述路由配置信息加载到网关内存中。
本实施例通数据库20存储路由配置信息,其中,所述数据库20包括但不限于mysql数据库,mongodb数据库。
本实施例中,基于根据zuul组件的实现原理和存储路由配置的属性来定义存储路由属性的数据表(即路由配置信息)。表1显示为路由配置信息的数据表的一种示例。
表1
字段名称 | 说明 | 例如 |
Id | 主键_流水号 | 1 |
Path | 路由匹配前缀 | /user/** |
Service_id | 路由目标服务名称 | userService |
url | 路由目标URL地址 | http://www.xxxx.com/user/getUserInfo |
Retryable | 是否开启重试机制 | TRUE |
Strip_prefix | 路由是否去掉path是相关前缀 | FALSE |
Sensitive_headers | 过滤掉http头信息以逗号分隔 | x-json,xx-xx |
图3显示为本实施例的的基于动态路由的网关控制方法中将读取的路由配置信息加载到网关内存的流程示意图。具体地,于本实施例中,如图3所示,所述将读取的所述路由配置信息加载到网关内存中包括:
步骤S210,基于zuul组件的数据结构将读取的所述路由配置信息进行对应的数据转换;
步骤S220,将数据转换后的所述路由配置信息返回到所述zuul组件;
步骤S230,所述zuul组件将所述路由配置信息加载到所述zuul内存中。
其中,本实施例中,通过构建的所述访问接口将读取的所述路由配置信息进行对应的数据转换。
zuul组件初始化时会调用所述访问接口,所述访问接口访问所述数据库20,读取数据库 20中数据表的路由配置信息,并基于zuul组件的数据结构将读取的路由配置信息转换为zuul 组件特有的数据结构对象,然后返回给zuul组件,这样使得zuul组件获取到路由配置信息,然后所述zuul组件将所述路由配置信息加载到所述zuul内存中,完成将读取的所述路由配置信息加载到网关内存中。所以本实施例中,在zuul网关设备启动的时候通过读取数据库20 来加载相关的路由配置,并提供给zuul组件的内核,使得网关设备10获取到路由配置信息并生效,网关设备10可以正常进行路由处理工作。
步骤S300,在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口,以读取数据库20中更新的路由配置信息,并基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。
于本实施例中,在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口。
于本实施例中,所述服务接口是指基于HTPP的访问接口,所述服务接口调用所述访问接口的调用方式包括人为输入指令的人为调用和预设的程序调用,也就是说,可以人为控制服务接口调用所述访问接口,也可以程序控制所述服务接口调用所述访问接口。
所述服务接口调用所述访问接口,通过所述访问接口从数据库20中获取更新的路由配置信息,然后网关设备10再基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。
图4显示为本实施例的基于动态路由的网关控制方法中基于读取的更新的路由配置信息刷新网关内存中的路由配置信息的流程示意图。具体地,于本实施例中,如图4所示,所述基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息包括:
步骤S310,基于zuul组件的数据结构将读取的所述更新的路由配置信息进行对应的数据转换;
步骤S320,将数据转换后的所述更新的路由配置信息返回到所述zuul组件;
步骤S330,所述zuul组件调用刷新接口刷新将所述zuul内存中的路由配置信息。
即本实施例中,服务接口调用访问接口,访问接口访问所述数据库20,读取数据库20 中数据表中更新的路由配置信息,所述访问接口基于zuul组件的数据结构将读取的更新的路由配置信息转换为zuul组件特有的数据结构对象,然后返回服务接口,所述服务接口发送给 zuul组件,达到将zuul的路由数据配置对象设置到zuul组件中的目的,然后所述zuul组件调用刷新接口刷新将所述zuul内存中的路由配置信息,这时新的路由配置就会在zuul的内核中生效,并能正常路由工作。
所以本实施例的基于动态路由的网关控制方法在要变更路由的时候只需要变更数据库20 中的路由配置信息,然后通过zuul网关暴露的刷新接口就可以动态刷新zull路由的配置信息。刷新后新配置的或变更的路由信息就会被正确的暴露,被正常的调用了。
为使本领域技术人员进一步理解本实施例的基于动态路由的网关控制方法的原理和实施方式,以下结合图5对实施例的基于动态路由的网关控制方法的原理和实施方式进行进一步说明。图5显示为本实施例的基于动态路由的网关控制方法的实施过程流程图。如图5所示,本实施例的基于动态路由的网关控制方法的实施过程如下:
一)网关启动初始化
1)读取路由配置,即网关设备10从数据库20读取路由配置信息。网关设备10的网关服务启动时,会加载zuul组件,zuul组件初始化时会基于配置的认加载配置文件路由信息的方式来加载路由配置信息,也就是zuul组件初始化时会调用本实施例中构建的访问接口,通过所述访问接口访问数据库20来获取路由配置信息。
2)返回路由信息,即从将路由配置返回给网关设备10。所述访问接口访问所述数据库 20,读取数据库20中数据表的路由配置信息,并基于zuul组件的数据结构将读取的路由配置信息转换为zuul组件特有的数据结构对象,然后返回给zuul组件,这样使得zuul组件获取到路由配置信息。
3)zuul组件加载路由配置信息,即将路由信息加载到zuul内存中,以使路由信息生效。 zuul组件获取到路由配置信息后,所述zuul组件将所述路由配置信息加载到所述zuul内存中,完成将读取的所述路由配置信息加载到网关内存中。
二)通过接口动态刷新路由
1)读取路由配置,即在网关服务向外暴露一个服务接口时,更新数据库20中的路由配置信息,令服务接口调用访问接口,访问接口访问所述数据库20,读取数据库20中数据表中更新的路由配置信息。
2)返回路由信息,即访问接口基于zuul组件的数据结构将读取的更新的路由配置信息转换为zuul组件特有的数据结构对象,然后返回服务接口。
3)刷新网关设备10路由。服务接口在接收到访问接口返回的更新的路由配置信息后,发送给zuul组件,达到将zuul的路由数据配置对象设置到zuul组件中的目的,然后所述zuul 组件调用刷新接口刷新将所述zuul内存中的路由配置信息,这时新的路由配置就会在zuul 的内核中生效,并能正常路由工作,即通过zuul的内部事件通知zuul加载路由配置并进行内存配置刷新,以使新的路由配置生效。
所以本实施例的基于动态路由的网关控制通过数据库20存储路由配置信息,在网关服务向外暴露一个服务接口时,通过读取数据库20中更新的路由配置信息,刷新网关内存中的路由配置信息,达到动态对外暴露服务接口时不需要重启网关服务的目的。
实施例2
如图6所示,本实施例提供一种基于动态路由的网关控制装置100,所述基于动态路由的网关控制装置100包括:启动调用模块110,读取加载模块120以及调用刷新模块130。
于本实施例中,所述启动调用模块110在网关服务启动时,调用预先配置的访问接口。
本实施例的所述启动调用模块110具体实现的技术特征与实施例1中基于动态路由的网关控制方法中的步骤S100的原理基本相同,方法和装置之间可以通用的技术内容不作重复赘述。
于本实施例中,所述读取加载模块120通过所述访问接口从存储有路由配置信息的数据库20中读取所述路由配置信息,并将读取的所述路由配置信息加载到网关内存中。
本实施例的所述读取加载模块120具体实现的技术特征与实施例1中基于动态路由的网关控制方法中的步骤S200的原理基本相同,方法和装置之间可以通用的技术内容不作重复赘述。
于本实施例中,所述调用刷新模块130在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口,以读取数据库20中更新的路由配置信息,所述调用刷新模块130 基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。
本实施例的所述调用刷新模块130具体实现的技术特征与实施例1中基于动态路由的网关控制方法中的步骤S300的原理基本相同,方法和装置之间可以通用的技术内容不作重复赘述。
其中,如图7所示,所述基于动态路由的网关控制装置100还包括:接口构造模块140 和数据转换模块150。
于本实施例中,所述接口构造模块140于所述网关服务内构造所述预先配置的访问接口。
本实施例的所述接口构造模块140具体实现的技术特征与实施例1中于网关服务内构造访问接口和接口的功能的原理基本相同,方法和装置之间可以通用的技术内容不作重复赘述。
于本实施例中,所述数据转换模块150基于zuul组件的数据结构将从数据库20中读取的所述路由配置信息或所述更新的路由配置信息进行对应的数据转换。
所述数据转换模块150的具体实现的技术特征与实施例1中访问接口的数据转换的原理基本相同,方法和装置之间可以通用的技术内容不作重复赘述。
本实施例中,所述基于动态路由的网关控制装置100的具体实现的技术特征与前述实施例1中的基于动态路由的网关控制方法基本相同,实施例间可以通用的技术内容不作重复赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,部分模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以部分模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
实施例3
如图8所示,本实施例还提供一种网关设备10,所述网关设备10包括存储器102,用于存储计算机程序;处理器101,用于运行所述计算机程序以实现如实施例1所述的基于动态路由的网关控制方法的步骤。
存储器102通过装置总线与处理器101连接并完成相互间的通信,存储器102用于存储计算机程序,处理器101用于运行计算机程序,以使所述网关设备10执行所述的基于动态路由的网关控制方法。实施例1中已经对所述基于动态路由的网关控制方法进行了说明,在此不再赘述。
另需说明的是,上述提到的装置总线可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该装置总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库20访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器102可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器101可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称 CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称 ASIC)、现场可编程门阵列(Field-Programmable GateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
实施例4
本实施例提供一种存储介质,存储有程序指令,所述程序指令被处理器执行时实现实施例1中所述的基于动态路由的网关控制方法的步骤。实施例1已经对所述基于动态路由的网关控制方法进行了说明,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括实施例1中各方法实施例的步骤;而前述的存储介质包括:ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本发明通过数据库存储路由配置信息,在网关服务向外暴露一个服务接口时,通过读取数据库中更新的路由配置信息,刷新网关内存中的路由配置信息,达到动态对外暴露服务接口时不需要重启网关服务的目的。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种基于动态路由的网关控制方法,其特征在于:包括以下步骤:
网关服务启动时,调用预先配置的访问接口;
通过所述访问接口从存储有路由配置信息的数据库中读取所述路由配置信息,并将读取的所述路由配置信息加载到网关内存中;
在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口,以读取数据库中更新的路由配置信息,并基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。
2.根据权利要求1所述的基于动态路由的网关控制方法,其中,所述基于动态路由的网关控制方法还包括:
于所述网关服务内构造所述预先配置的访问接口:
令所述访问接口连接所述数据库,以使得在所述访问接口被调用时,从所述数据库中读取所述路由配置信息。
3.根据权利要求1所述的基于动态路由的网关控制方法,其中,所述网关服务启动时,调用预先配置的访问接口包括:
所述网关服务启动时,加载zuul组件;
所述zuul组件初始化时调用所述预先配置的访问接口。
4.根据权利要求3所述的基于动态路由的网关控制方法,其中,所述基于动态路由的网关控制方法还包括:
配置所述zuul组件初始化时加载路由配置信息的方式:将所述zuul组件初始化时加载路由配置信息的方式配置为调用所述预先配置的访问接口。
5.根据权利要求3所述的基于动态路由的网关控制方法,其中,所述将读取的所述路由配置信息加载到网关内存中包括:
基于zuul组件的数据结构将读取的所述路由配置信息进行对应的数据转换;
将数据转换后的所述路由配置信息返回到所述zuul组件;
所述zuul组件将所述路由配置信息加载到所述zuul内存中。
6.根据权利要求5所述的基于动态路由的网关控制方法,其中,所述基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息包括:
基于zuul组件的数据结构将读取的所述更新的路由配置信息进行对应的数据转换;
将数据转换后的所述更新的路由配置信息返回到所述zuul组件;
所述zuul组件调用刷新接口刷新将所述zuul内存中的路由配置信息。
7.一种基于动态路由的网关控制装置,其特征在于:包括:
启动调用模块,所述启动调用模块在网关服务启动时,调用预先配置的访问接口;
读取加载模块,所述读取加载模块通过所述访问接口从存储有路由配置信息的数据库中读取所述路由配置信息,并将读取的所述路由配置信息加载到网关内存中;
调用刷新模块,所述调用刷新模块在网关服务向外暴露一个服务接口时,令所述服务接口调用所述访问接口,以读取数据库中更新的路由配置信息,所述调用刷新模块基于读取的所述更新的路由配置信息刷新所述网关内存中的路由配置信息。
8.根据权利要求7所述的基于动态路由的网关控制装置,其中,所述基于动态路由的网关控制装置还包括:
接口构造模块,所述接口构造模块于所述网关服务内构造所述预先配置的访问接口;
数据转换模块,所述数据转换模块基于zuul组件的数据结构将从数据库中读取的所述路由配置信息或所述更新的路由配置信息进行对应的数据转换。
9.一种存储介质,存储有程序指令,其特征在于:所述程序指令被处理器执行时实现如权利要求1至权利要求6任一权利要求所述的基于动态路由的网关控制方法的步骤。
10.一种网关设备,其特征在于:包括存储器,用于存储计算机程序;处理器,执行所述计算机程序以实现如权利要求1至权利要求6任一权利要求所述的基于动态路由的网关控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277282.XA CN115150316A (zh) | 2021-03-15 | 2021-03-15 | 基于动态路由的网关控制方法、装置、介质及网关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277282.XA CN115150316A (zh) | 2021-03-15 | 2021-03-15 | 基于动态路由的网关控制方法、装置、介质及网关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115150316A true CN115150316A (zh) | 2022-10-04 |
Family
ID=83404129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110277282.XA Pending CN115150316A (zh) | 2021-03-15 | 2021-03-15 | 基于动态路由的网关控制方法、装置、介质及网关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150316A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032824A (zh) * | 2022-12-16 | 2023-04-28 | 中国联合网络通信集团有限公司 | 路由数据的处理方法、网关组件、服务器、介质及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213163A (zh) * | 2019-05-24 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种基于nginx和zuul的路由转发方法及装置 |
CN111181727A (zh) * | 2019-12-16 | 2020-05-19 | 北京航天智造科技发展有限公司 | 一种基于微服务的开放api全生命周期管理方法 |
CN111181860A (zh) * | 2020-01-07 | 2020-05-19 | 苏宁云计算有限公司 | 基于zuul网关的路由转发方法、装置及系统 |
CN111314141A (zh) * | 2020-02-21 | 2020-06-19 | 腾讯云计算(北京)有限责任公司 | 路由更新方法及装置 |
WO2020134329A1 (zh) * | 2018-12-29 | 2020-07-02 | 中兴通讯股份有限公司 | 一种网关业务实现方法、控制装置和网关 |
CN111669292A (zh) * | 2020-06-19 | 2020-09-15 | 普元信息技术股份有限公司 | 微服务架构下实现网关动态路由控制的方法 |
CN111917816A (zh) * | 2020-05-22 | 2020-11-10 | 淮阴工学院 | 服务应用独立式架构系统 |
CN112039780A (zh) * | 2020-09-01 | 2020-12-04 | 浪潮云信息技术股份公司 | 基于Zuul的持久化动态路由实现方法、电子设备及存储介质 |
-
2021
- 2021-03-15 CN CN202110277282.XA patent/CN115150316A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020134329A1 (zh) * | 2018-12-29 | 2020-07-02 | 中兴通讯股份有限公司 | 一种网关业务实现方法、控制装置和网关 |
CN110213163A (zh) * | 2019-05-24 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种基于nginx和zuul的路由转发方法及装置 |
CN111181727A (zh) * | 2019-12-16 | 2020-05-19 | 北京航天智造科技发展有限公司 | 一种基于微服务的开放api全生命周期管理方法 |
CN111181860A (zh) * | 2020-01-07 | 2020-05-19 | 苏宁云计算有限公司 | 基于zuul网关的路由转发方法、装置及系统 |
CN111314141A (zh) * | 2020-02-21 | 2020-06-19 | 腾讯云计算(北京)有限责任公司 | 路由更新方法及装置 |
CN111917816A (zh) * | 2020-05-22 | 2020-11-10 | 淮阴工学院 | 服务应用独立式架构系统 |
CN111669292A (zh) * | 2020-06-19 | 2020-09-15 | 普元信息技术股份有限公司 | 微服务架构下实现网关动态路由控制的方法 |
CN112039780A (zh) * | 2020-09-01 | 2020-12-04 | 浪潮云信息技术股份公司 | 基于Zuul的持久化动态路由实现方法、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
张杰: "一种面向微服务的通用考核系统设计与应", 计算机与数字工程, no. 12, 20 December 2018 (2018-12-20), pages 2463 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032824A (zh) * | 2022-12-16 | 2023-04-28 | 中国联合网络通信集团有限公司 | 路由数据的处理方法、网关组件、服务器、介质及系统 |
CN116032824B (zh) * | 2022-12-16 | 2024-09-10 | 中国联合网络通信集团有限公司 | 路由数据的处理方法、网关组件、服务器、介质及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577629B (zh) | 一种数据接口处理方法、装置、服务器及介质 | |
CN112698888A (zh) | 应用程序的组件化、组件调用和组件初始化方法及其装置 | |
CN110430255A (zh) | 分布式集群中服务请求的处理方法、系统以及电子设备 | |
CN115150316A (zh) | 基于动态路由的网关控制方法、装置、介质及网关设备 | |
CN111694639A (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN110554905A (zh) | 一种容器的启动方法及装置 | |
CN113779452B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111949297B (zh) | 一种区块链智能合约升级方法、装置及电子设备 | |
CN112751935B (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN112506590A (zh) | 接口调用方法、装置及电子设备 | |
CN112445851A (zh) | 一种插拔式orm框架实现方法、装置、电子设备和存储介质 | |
CN115033350A (zh) | 一种分布式事务的执行方法及装置 | |
CN110688430B (zh) | 一种获得数据旁路的方法、装置及电子设备 | |
CN114416402A (zh) | 信息传输方法、终端设备及存储介质 | |
CN112068899B (zh) | 插件加载方法、装置、电子设备及存储介质 | |
CN115080231A (zh) | 任务的处理方法及装置 | |
CN114625410A (zh) | 一种请求消息处理方法、装置及设备 | |
CN113010206A (zh) | 一种web应用系统的容器化方法、系统及装置 | |
CN111736973A (zh) | 一种服务启动方法、装置、服务器及存储介质 | |
CN111538510B (zh) | 一种应用程序安装包的确定方法、装置及电子设备 | |
CN114721748B (zh) | 一种数据查询方法、系统、设备及可读存储介质 | |
CN116185371B (zh) | 硬件设备注册方法、装置、设备及存储介质 | |
CN111078308B (zh) | 类的自动加载方法、装置、电子设备及存储介质 | |
CN117041980B (zh) | 一种网元管理方法、装置、存储介质及电子设备 | |
CN117453277A (zh) | 代码扫描、头文件查询库的构建方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |