一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种微服务网关流量管理方法、装置和电子设备与流程

2022-08-13 22:50:09 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种微服务网关流量管理方法、装置和电子设备。


背景技术:

2.随着信息技术的发展以及微服务架构的普及,后端服务的api网关慢慢的成为了软件架构中必不可少的组成部分,api网关使服务的接口暴露与服务的负载均衡变得更加便捷,区别于传统的nginx与apache等负载均衡中间件,有很多基于微服务而衍生出的功能,例如:能够通过微服务的注册中心动态的拿到微服务的地址,使运维更加智能,能够以一些简单的语法去编写一些复杂的请求规则等。
3.现在市面上主流的api网关都能做到这些功能,直接使用基本上都能满足基础的需求,但是这有两个问题:
4.一、对于功能的使用过于原始,没有一套企业级的配套辅助设施,这导致只有核心的几名技术人员懂得如何使用,无法将api网关变成企业级的架构,可能会导致每个部门,甚至每个小组都有各自的api网关,极大的浪费了人力成本。
5.二、原生的api网关的功能过于单一,在某些场景下,原生的功能可能并不足以满足我们的实际业务需求,如何将特定的需求整合进原生的网关成为了一个棘手的问题,原本应该在网关中统一实现的功能,现在却散布在不同的进程之中,这将导致架构越来越复杂,不利于整体系统的扩展。


技术实现要素:

6.本发明提供了一种微服务网关流量管理方法、装置和电子设备,用以提高对网关流量的管控能力及业务处理效率。
7.本说明书实施例提供一种微服务网关流量管理方法,包括:
8.获取用户业务请求信息;
9.匹配与所述用户业务请求信息相对应的请求规则,向所述请求规则对应的业务处理服务器发起代理请求,得到业务响应信息;
10.对所述业务请求信息、所述业务响应信息进行处理,得到网关流量信息;
11.对所述网关流量信息进行特定字段解析,生成网关业务流量报表;
12.对所述网关业务流量报表进行分析,根据所述分析对微服务网关流量进行管控。
13.优选的,在获取用户业务请求之前,包括:
14.通过辅助配置网页端读取预录入的请求规则;
15.对所述预录入的请求规则进行审核,对审核通过的请求规则进行发布。
16.优选的,所述对所述网关流量信息进行特定字段解析,包括:
17.将所述流量数据处理成预定结构的流量信息;
18.通过消息中间件将所述预定结构的流量信息存储到全文搜索引擎;
19.通过所述全文搜索引擎对所述预定结构的流量信息进行特定字段解析。
20.优选的,所述通过所述全文搜索引擎对所述预定结构的流量信息进行特定字段解析,包括:
21.判断所述网关流量信息中业务请求信息,记录符合解析规则的业务请求信息;
22.确定所述网关流量信息中业务请求的身份认证标识,通过鉴权服务搜索与业务请求的身份认证标识相对应的用户信息并记录;
23.搜索与所述网关流量信息所属的应用服务相对应的企业项目归属并记录;
24.对所述网关流量信息中特定的加密信息进行解密,记录解密后的信息;
25.判断所述网关流量信息中的响应信息,记录符合解析规则的响应信息。
26.优选的,所述辅助配置网页端采用spring boot作为开发框架,采用mongodb进行数据存储。
27.本说明书实施例还提供一种微服务网关流量管理装置,包括:
28.信息获取模块,用于获取用户业务请求信息;
29.响应模块,用于匹配与所述用户业务请求信息相对应的请求规则,向所述请求规则对应的业务处理服务器发起代理请求,得到业务响应信息;
30.信息结合模块,用于对所述业务请求信息、所述业务响应信息进行处理,得到网关流量信息;
31.信息解析模块,用于对所述网关流量信息进行特定字段解析,生成网关业务流量报表;
32.流量管控模块,用于对所述网关业务流量报表进行分析,根据所述分析对微服务网关流量进行管控。
33.优选的,在获取用户业务请求之前,包括:
34.通过辅助配置网页端读取预录入的请求规则;
35.对所述预录入的请求规则进行审核,对审核通过的请求规则进行发布。
36.优选的,所述信息解析模块包括:
37.处理单元,用于将所述流量数据处理成预定结构的流量信息;
38.存储单元,用于通过消息中间件将所述预定结构的流量信息存储到全文搜索引擎;
39.解析单元,用于通过所述全文搜索引擎对所预定结构的流量信息进行特定字段解析。
40.一种电子设备,其中,该电子设备包括:
41.处理器以及存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一项所述的方法。
42.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项所述的方法。
43.本发明通过对网关流量信息进行解析生成网关业务流量报表,通过对网关业务流量报表进行分析,提高对网关流量的管控能力及业务处理效率。
附图说明
44.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
45.图1为本说明书实施例提供的一种微服务网关流量管理方法的原理示意图;
46.图2为本说明书实施例提供的一种微服务网关流量管理规则配置流程图;
47.图3为本说明书实施例提供的一种微服务网关流量管理的流量分析流程图;
48.图4为本说明书实施例提供的一种微服务网关流量管理装置的结构示意图;
49.图5为本说明书实施例提供的一种电子设备的结构示意图;
50.图6为本说明书实施例提供的一种计算机可读介质的原理示意图。
具体实施方式
51.现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。
52.在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。
53.在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。
54.附图中所示的图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
55.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
56.术语“和/或”或者“及/或”包括相关联的列出项目中的任一个或多者的所有组合。
57.参照图1为本说明书实施例提供的一种微服务网关流量管理方法的原理示意图,包括:
58.s101:获取用户业务请求信息;
59.在本发明较佳的实施例中,在用户需要调用微服务时,会向网关发送业务请求,网关接收用户发送的业务请求信息并生成代理请求,网关根据业务请求中所请求的微服务,将代理请求发送至相应的微服务的服务器进行处理。
60.s102:匹配与所述用户业务请求信息相对应的请求规则,向所述请求规则对应的业务处理服务器发起代理请求,得到业务响应信息;
61.在本发明较佳的实施例中,如图2所示,在规则配置人员通过辅助配置网页端进行请求规则的预录入,并将请求规则存储与规则存储模块,当网关收到用户业务请求信息时,会读取已发布在规则存储模块中的请求规则,然后对用户业务请求信息进行请求规则的匹
配,最后网关根据匹配的请求规则将用户业务请求信息转发至相应的微服务的服务器进行处理,实现对业务请求的快速处理。
62.s103:对所述业务请求信息、所述业务响应信息进行处理,得到网关流量信息;
63.在本发明较佳的实施例中,对业务请求信息和业务响应信息进行信息提取,将提取的信息进行整合,构成网关流量信息,网关流量信息包括:请求的网址信息、请求的用户认证信息、请求对应的请求规则信息、请求规则所属的应用服务信息、请求的唯一标识号、流量限制的规则信息等。其中,请求的网址信息包括请求地址、请求体、请求头、响应体、响应头等。
64.进一步地,请求的用户认证信息用于网关对用户携带的凭证进行验证,以获取相应的用户信息;请求对应的请求规则信息用以确认当前业务请求最终匹配的请求规则;请求规则所属的应用服务信息用于确认每一次业务请求所属的公司具体项目;请求的唯一标识号用于确保每一次业务请求可追踪,并可以结合业务日志进行业务请求的全链路追踪;流量限制的规则信息用于确认业务请求触发的具体限流规则。上述网关流量信息包含了业务请求及业务响应的全过程信息,后续通过对网关流量信息进行解析,实现对业务的监控和网关业务流量的调控,提升业务处理效率,增强对网关业务流量的管理能力。
65.s104:对所述网关流量信息进行特定字段解析,生成网关业务流量报表;
66.在本发明较佳的实施例中,原始的网关流量信息会包含很多不可读的信息,要根据流量配置来进行特定的信息补充或者是解密,网关流量信息具体解析包括:判断业务请求的内容类型,将符合解析要求的请求信息进行记录;判断业务请求是否含有身份认证标识,通过鉴权服务拿到对应的用户详细信息进行记录;判断流量所属的应用服务,找到业务请求对应的企业项目归属,便于企业级流量统计;对业务请求中特定的加密信息进行解密,将解密后的信息进行记录;判断服务器响应业务请求的内容类型,将符合解析要求的响应信息进行记录;支持自定义的解析规则,满足各个项目组对特定的网关流量信息进行记录。用上述方式实现对网关流量信息进行特定字段解析,从而生成网关业务流量报表,为后续网关流量的管控提供数据依据。
67.s105:对所述网关业务流量报表进行分析,根据所述分析对微服务网关流量进行管控。
68.在本发明较佳的实施例中,管理端通过对网关业务流量报表进行分析,得到分析结果,然后根据分析结果去调控网关对业务请求的处理方式,处理方式包括限流、定向导流等。
69.进一步地,在获取用户业务请求之前,包括:
70.通过辅助配置网页端读取预录入的请求规则;
71.对所述预录入的请求规则进行审核,对审核通过的请求规则进行发布。
72.在本发明较佳的实施例中,规则录入人员通过通过辅助配置网页端进行请求规则的录入,然后规则审核人员通过规则审核网页端对录入的请求规则进行审核,对审核通过的请求规则进行发布、更新,以确保请求规则的准确性、安全性。
73.进一步地,所述对所述网关流量信息进行特定字段解析,包括:
74.将所述流量数据处理成预定结构的流量信息;
75.通过消息中间件将所述预定结构的流量信息存储到全文搜索引擎;
76.通过所述全文搜索引擎对所述预定结构的流量信息进行特定字段解析。
77.在本发明较佳的实施例中,通过网关与elk(elasticsearch logstash kibana,开源软件)架构的整合,将网关流量信息以预定义好的结构通过kafka异步储存在elastic search中,再通过elastic search对特定的字段进行分析,从而生成网关业务流量报表。通过上述方式实现对业务请求信息及业务响应信息的全部内容的整合,有利于实现对业务请求的全链路追踪,提升业务处理效率。
78.进一步地,所述通过所述全文搜索引擎对所述预定结构的流量信息进行特定字段解析,包括:
79.判断所述网关流量信息中业务请求信息,记录符合解析规则的业务请求信息;
80.确定所述网关流量信息中业务请求的身份认证标识,通过鉴权服务搜索与业务请求的身份认证标识相对应的用户信息并记录;
81.搜索与所述网关流量信息所属的应用服务相对应的企业项目归属并记录;
82.对所述网关流量信息中特定的加密信息进行解密,记录解密后的信息;
83.判断所述网关流量信息中的响应信息,记录符合解析规则的响应信息。
84.进一步地,所述辅助配置网页端采用spring boot作为开发框架,采用mongodb进行数据存储。
85.在本发明较佳的实施例中,辅助配置网页端采用spring boot作为开发框架,采用mongodb进行数据存储,非关系型数据库能更好的支持复杂的规则类数据。辅助配置网页端能够将请求规则、流量控制规则等复杂的网关配置,通过该辅助配置网页端来进行配置的录入、配置的管理、配置的权限控制、配置的版本控制以及配置的发布与回退等配置相关的辅助功能,降低网关配置人员的技术门槛,不需要学习原生网关的配置逻辑,只需要跟着界面的流程化指引即可完成配置,并对整个配置过程做到可管理与可追溯。
86.进一步地,以原生的spring cloud gateway网关和webflux架构作为底层的基础,通过合理的方式将nacos、sentinel、kafka等主流中间件整合在网关中,在保证原生的使用方式不受到影响的同时,实现了各种上层的功能,所谓的企业级生态指的就是,企业中所有的开发人员都可以以此架构为基底,在上面实现各自的业务需求,实现了网关架构的统一以及网关功能的多样性,通过整合主流网关与一些相关中间件的整合,强化了网关的底层能力,统一了企业中微服务网关的底层架构,为网关的企业级生态打好了基础。其中,网关的基础架构所具备的功能包括请求匹配规则的动态更新、流量限制规则的动态更新、企业级的统一身份认证、非法请求的拦截、根据服务版本或是ip的定向导流、对rpc(remote procedure call,远程过程调用)服务的泛化调用、对特定指标的流量控制、流量信息的记录等。
87.参照图3为本说明书实施例提供的一种微服务网关流量管理的流量分析流程图,当网关接收到客户端发起的业务请求后,网关根据业务请求中的业务请求信息对客户端发起的业务请求进行转发,由业务请求信息相对应的代理服务器处理该业务请求,然后网关获取代理度对业务请求信息对应的响应信息,并将业务请求信息、响应信息进行整合处理,生成网关流量信息推送至消息中间件中的消息队列,之后消费消息队列,将网关流量信息存储到业务数据库中,最后通过流量分析模块于业务数据库查询网关流量信息,并对查询到的网关流量信息进行分析,生成网关业务流量报表,通过对网关业务流量报表的分析,更
有效的对业务请求进行调控、对辅助配置网页端进行配置修改等,以提高业务的处理效率及处理能力。
88.图4为本说明书实施例提供的一种微服务网关流量管理装置的结构示意图,包括:
89.信息获取模块201,用于获取用户业务请求信息;
90.响应模块202,用于匹配与所述用户业务请求信息相对应的请求规则,向所述请求规则对应的业务处理服务器发起代理请求,得到业务响应信息;
91.信息结合模块203,用于对所述业务请求信息、所述业务响应信息进行处理,得到网关流量信息;
92.信息解析模块204,用于对所述网关流量信息进行特定字段解析,生成网关业务流量报表;
93.流量管控模块205,用于对所述网关业务流量报表进行分析,根据所述分析对微服务网关流量进行管控。
94.进一步地,在获取用户业务请求之前,包括:
95.通过辅助配置网页端读取预录入的请求规则;
96.对所述预录入的请求规则进行审核,对审核通过的请求规则进行发布。
97.进一步地,所述信息解析模块204包括:
98.处理单元,用于将所述流量数据处理成预定结构的流量信息;
99.存储单元,用于通过消息中间件将所述预定结构的流量信息存储到全文搜索引擎;
100.解析单元,用于通过所述全文搜索引擎对所预定结构的流量信息进行特定字段解析。
101.进一步地,所述解析单元包括:
102.第一判断子单元,用于判断所述网关流量信息中业务请求信息,记录符合解析规则的业务请求信息;
103.身份确认子单元,用于确定所述网关流量信息中业务请求的身份认证标识,通过鉴权服务搜索与业务请求的身份认证标识相对应的用户信息并记录;
104.搜索子单元,用于搜索与所述网关流量信息所属的应用服务相对应的企业项目归属并记录;
105.解密子单元,用于对所述网关流量信息中特定的加密信息进行解密,记录解密后的信息;
106.第二判断子单元,用于判断所述网关流量信息中的响应信息,记录符合解析规则的响应信息。
107.本发明实施例的装置的功能已经在上述的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
108.基于同一发明构思,本说明书实施例还提供一种电子设备。
109.下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
110.参照图5为本说明书实施例提供的一种电子设备的结构示意图。下面参照图5来描述根据本发明该实施例的电子设备300。图5显示的电子设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
111.如图5所示,电子设备300以通用计算设备的形式表现。电子设备300的组件可以包括但不限于:至少一个处理单元310、至少一个存储单元320、连接不同装置组件(包括存储单元320和处理单元310)的总线330、显示单元340等。
112.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图1所示的步骤。
113.所述存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(rom)3203。
114.所述存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作装置、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
115.总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
116.电子设备300也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图5中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid装置、磁带驱动器以及数据备份存储装置等。
117.通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:如图1所示的方法。
118.参照图6为本说明书实施例提供的一种计算机可读介质的原理示意图。
119.实现图1所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的装置、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、
便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
120.所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
121.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
122.综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
123.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
124.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
125.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献