CN110958306B - 一种基于微服务的数据请求统一交换机制 - Google Patents

一种基于微服务的数据请求统一交换机制 Download PDF

Info

Publication number
CN110958306B
CN110958306B CN201911129079.7A CN201911129079A CN110958306B CN 110958306 B CN110958306 B CN 110958306B CN 201911129079 A CN201911129079 A CN 201911129079A CN 110958306 B CN110958306 B CN 110958306B
Authority
CN
China
Prior art keywords
service
request
path
url
routing
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.)
Active
Application number
CN201911129079.7A
Other languages
English (en)
Other versions
CN110958306A (zh
Inventor
陈绍南
秦丽文
俞小勇
梁朔
欧阳健娜
李珊
陈千懿
周杨珺
高立克
欧世锋
李克文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electric Power Research Institute of Guangxi Power Grid Co Ltd
Original Assignee
Electric Power Research Institute of Guangxi Power Grid Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electric Power Research Institute of Guangxi Power Grid Co Ltd filed Critical Electric Power Research Institute of Guangxi Power Grid Co Ltd
Priority to CN201911129079.7A priority Critical patent/CN110958306B/zh
Publication of CN110958306A publication Critical patent/CN110958306A/zh
Application granted granted Critical
Publication of CN110958306B publication Critical patent/CN110958306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明一种基于微服务的数据请求统一交换机制,包括服务路由机制和统一服务路由配置。服务路由机制可接纳多个***的服务请求,提供统一服务调用出口给多个服务使用方使用,避免服务请求方和服务提供方繁琐的交互,也可避免服务请求方申请各个服务的网络策略权限,同时统一对服务进行管理,提高服务质量和可用率。

Description

一种基于微服务的数据请求统一交换机制
技术领域
本发明涉及微服务的请求治理方法领域,具体涉及一种基于微服务的数据请求统一交换机制。
背景技术
随着精益化管理的全面推行,配电网发展逐步从重视数量和质量转变为关注效率和效益,聚焦运营效率和质量提升。配电自动化***、计量***、生产管理***等各种电力数据监控***为配电网运行分析提供了大量的实时监控数据,例如电压、电流、负荷、潮流、告警、故障率等数据,基于多样数据可以从不同侧面、不同程度评价配电网设备的实际运行效率,为配电网从规划到运行提供技术支撑。同时这些数据还要支撑配电网其他应用,如停电优化、抢修决策等。但是在现有的业务***中,这些实时数据大都非常分散,分布在不同的业务***中,业务数据缺乏统一数据融合,无法进行集中有序的呈现及综合分析。各领域业务细分,***间数据交互越来越多,使***间关系错综复杂,且又涉及到网络安全等因素,对各***间的防火墙支持也很繁琐,不利于***的功能扩展和数据交互。
发明内容
针对现有技术的不足,本发明的目的是提供一种基于微服务的数据请求统一交换机制,即提供一个服务的统一对外出口,所有服务使用者只需从服务统一对外出口获取服务,进而获取业务应用所需的数据。本发明提供统一的服务管理,配套的权限、访问控制机制,提供服务负载均衡机制,使服务使用者不用考虑服务提供者的详细信息,可以方便省心获取高可用的微服务。
为了实现上述目的,本发明采用的技术方案如下:一种基于微服务的数据请求统一交换机制,包括服务路由机制和统一服务路由配置;
所述服务路由机制包括以下步骤:
(1)在服务器端构建一个统一服务请求过滤器,将所有的请求都转发给适配器去处理;
(2)构建一个公共的请求处理适配器,当有服务使用方前来调用服务时,过滤器监测到该请求,则会转发给适配器去处理,适配器先获取请求服务的信息,然后根据请求路径判断是否有配置对应的转发规则,若无则返回404;
(3)若服务请求的路径能匹配上,再判断是否有权限可路由此服务,若无权限则返回The token is incorrect!,若有权限则构建路由URL;
(4)根据请求路径URL、配置的目标服务上下文和服务器IP动态组合,然后创建HttpClient对象,并根据请求方式创建请求的实例,指定请求URL,判断是否发送请求参数,如需发送请求参数,则发送数据请求;
(5)将获取的服务器的响应内容作为结果返回给服务调用方,即完成了一次服务的路由数据交换;
所述服务路由机制可接纳多个***的服务请求,提供统一服务调用出口给多个服务使用方使用;
所述统一服务路由配置包括:配置请求路径转发规则、配置目标服务上下文、配置权限类型、配置敏感信息头、配置服务注册方式。
进一步地,所述统一服务路由配置包括:
a)配置请求路径转发规则:根据服务提供者提供的微服务URL,提取关键路径作为转发规则,通过转发路径能定位到唯一的服务,不得覆盖其他转发路径,规则支持Ant 风格路径表达式;
b)配置目标服务上下文:服务提供方提供服务的应用的部署上下文路径;
c)配置权限类型:公开表示通过网关请求本服务或url时不需要鉴权,对所有请求公开;私密类型表示只有本服务需要鉴权,只有被授权的APP才能通过网关请求本服务;
d)配置敏感信息头:用户不需要传递到下文的敏感信息,配置后,网关会将请求头中配置的敏感信息屏蔽掉,不带到下游;
e)配置服务注册方式:若为自动注册,则会自动读取注册到Eureka服务注册中心的服务,前提要求需要注册同一个服务注册中心;若手动注册,有Host方式和URL方式。
进一步地,所述步骤(2)中适配器的过滤方法为:根据Ant匹配表达式,表达式会配置关键路径信息,查看服务请求的路径是否能匹配上。
进一步地,所述步骤(3)中权限控制的判断方法为:若是路由策略配置了需要权限,则根据服务调用方的入参的appId和Token,将appId和Token和平台配置的做比较,若一致则权限通过,否则认为无使用权限。
进一步地,所述 Host方式为:需要手动将服务多个节点的信息配置到网关,格式为ip:port,多个节点之间用英文逗号“,”相隔;所述URL方式为:以URL的方式将服务配置到网关。
本发明一种基于微服务的数据请求统一交换机制,避免服务请求方和服务提供方繁琐的交互,也可避免服务请求方申请各个服务的网络策略权限,同时统一对服务进行管理,提高服务质量和可用率;比如若存在5个服务提供***,每个***提供一个服务,同时又存在5个服务使用***,各自使用5个服务的其中几个,此时就需要5个服务使用***对使用的服务进行交互、申请对应的防火墙等,若服务提供***未做负载均衡,则可能需要申请的防火墙会更多,增加额外工作量;本发明一种基于微服务的数据请求统一交换机制,使用统一的交换机制,则对外暴露统一访问IP,服务使用方只需要关心统一IP即可,同时服务提供方也不用考虑服务的权限等一系列问题,服务质量高。
附图说明
图1是本发明一种基于微服务的数据请求统一交换机制的概要图;
图2是本发明一种基于微服务的数据请求统一交换机制的服务路由机制的概要图。
具体实施方式
下面的实施例可以帮助本领域的技术人员更全面地理解本发明,但不可以以任何方式限制本发明。
实施例
参照图1-图2,一种基于微服务的数据请求统一交换机制,包括服务路由机制和统一服务路由配置;
所述服务路由包括:过滤器、设配器、权限控制、目标服务、获取结果,服务路由可接纳多个***的服务请求(N:1),提供统一服务调用出口给多个服务使用方使用(1:N)。
所述服务路由机制包括以下步骤:
(1)过滤器:在服务器端构建一个统一服务请求过滤器Filter,将所有的请求都转发给适配器去处理;
(2)适配器:构建一个公共的请求处理适配器Adapter,当有服务使用方前来调用服务时,过滤器监测到该请求,则会转发给适配器去处理,适配器先获取请求服务的请求方式、请求路径URI、请求头、请求参数等信息,然后根据请求路径判断是否有配置对应的转发规则,若无则返回404(无法定位到目标服务);
如何过滤:根据Ant匹配表达式,表达式会配置关键路径信息,查看服务请求的路径是否能匹配上;
(3)权限控制:若步骤(2)能匹配到,则判断是否有权限可路由此服务,若无权限则返回The token is incorrect! ( token信息不正确),若有权限则构建路由url;
权限判断方法:若是路由策略配置了需要权限,则根据服务调用方的入参的appId和Token,将appId和Token和平台配置的做比较,若一致则权限通过,否则认为无使用权限;
(4)目标服务:根据请求路径URI(错误)、配置的目标服务上下文和服务器Ip动态组合,然后创建HttpClient对象,并根据请求方式创建请求的实例,指定请求URL,如果需要发送GET请求,则创建HttpGet对象如果需要发送POST请求,则创建HttpPost对象,判断请求是否携带敏感信息,不需要传递则不设置cookie等敏感信息,判断请求是否携带参数,如果需要发送请求参数,那么调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数,然后调用HttpClient对象的execute(HttpUriRequest request)发送数据请求;
(5)获取结果:请求方法会返回一个HttpResponse,得到结果后调用HttpResponse的getAllHeaders()方法获取服务器的响应头,调用HttpResponse的getEntity()方法获取HttpEntity对象,Entity对象包装了服务器的响应内容,通过EntityUtils的toString()方法获取服务器的响应内容,将此内容作为结果返回给服务调用方,即完成了一次服务的路由数据交换。
所述统一服务路由配置包括:
a)配置请求路径转发规则
根据服务提供者提供的微服务URL,提取关键路径作为转发规则,通过转发路径能定位到唯一的服务,不得覆盖其他转发路径,规则支持Ant 风格路径表达式;
b)配置目标服务上下文
服务提供方提供服务的应用的部署上下文路径;
c)配置权限类型
公开表示通过网关请求本服务或URL时不需要鉴权,对所有请求公开;私密类型表示只有本服务需要鉴权,只有被授权的APP才能通过网关请求本服务;
d)配置敏感信息头
用户不需要传递到下文的敏感信息,如Cookie等等,配置后,网关会将请求头中配置的敏感信息屏蔽掉,不会带到下游;
e)配置服务注册方式
若为自动注册,则会自动读取注册到Eureka服务注册中心的服务,前提要求需要注册同一个服务注册中心;若手动注册,有Host方式和URL方式, Host方式:需要手动将服务多个节点的信息配置到网关,格式为ip:port,多个节点之间用英文逗号”,”相隔, URL方式:以URL的方式将服务配置到网关。
虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (1)

1.一种基于微服务的数据请求统一交换方法,其特征在于:包括服务路由机制和统一服务路由配置;
所述服务路由机制包括以下步骤:
(1)在服务器端构建一个统一服务请求过滤器,将所有的请求都转发给适配器去处理;
(2)构建一个公共的请求处理适配器,当有服务使用方前来调用服务时,过滤器监测到该请求,则会转发给适配器去处理,适配器先获取请求服务的信息,然后根据请求路径判断是否有配置对应的转发规则,若无则返回404;
适配器的过滤方法为:根据Ant匹配表达式,表达式会配置关键路径信息,查看服务请求的路径是否能匹配上;
(3)若服务请求的路径能匹配上,再判断是否有权限可路由此服务,若无权限则返回The token is incorrect!,若有权限则构建路由URL;
权限控制的判断方法为:若是路由策略配置了需要权限,则根据服务调用方的入参的appId和Token,将appId和Token和平台配置的做比较,若一致则权限通过,否则认为无使用权限;
(4)根据请求路径URL、配置的目标服务上下文和服务器IP动态组合,然后创建HttpClient对象,并根据请求方式创建请求的实例,指定请求URL,判断是否发送请求参数,如需发送请求参数,则发送数据请求;
(5)将获取的服务器的响应内容作为结果返回给服务调用方,即完成了一次服务的路由数据交换;
所述服务路由机制可接纳多个***的服务请求,提供统一服务调用出口给多个服务使用方使用;
所述统一服务路由配置包括:
a)配置请求路径转发规则:根据服务提供者提供的微服务URL,提取关键路径作为转发规则,通过转发路径能定位到唯一的服务,不得覆盖其他转发路径,规则支持Ant 风格路径表达式;
b)配置目标服务上下文:服务提供方提供服务的应用的部署上下文路径;
c)配置权限类型:公开表示通过网关请求本服务或url时不需要鉴权,对所有请求公开;私密类型表示只有本服务需要鉴权,只有被授权的APP才能通过网关请求本服务;
d)配置敏感信息头:用户不需要传递到下文的敏感信息,配置后,网关会将请求头中配置的敏感信息屏蔽掉,不带到下游;
e)配置服务注册方式:若为自动注册,则会自动读取注册到Eureka服务注册中心的服务,前提要求需要注册同一个服务注册中心;若手动注册,有Host方式和URL方式;
所述 Host方式为:需要手动将服务多个节点的信息配置到网关,格式为ip:port,多个节点之间用英文逗号“,”相隔;所述URL方式为:以URL的方式将服务配置到网关。
CN201911129079.7A 2019-11-18 2019-11-18 一种基于微服务的数据请求统一交换机制 Active CN110958306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911129079.7A CN110958306B (zh) 2019-11-18 2019-11-18 一种基于微服务的数据请求统一交换机制

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911129079.7A CN110958306B (zh) 2019-11-18 2019-11-18 一种基于微服务的数据请求统一交换机制

Publications (2)

Publication Number Publication Date
CN110958306A CN110958306A (zh) 2020-04-03
CN110958306B true CN110958306B (zh) 2022-12-13

Family

ID=69977652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911129079.7A Active CN110958306B (zh) 2019-11-18 2019-11-18 一种基于微服务的数据请求统一交换机制

Country Status (1)

Country Link
CN (1) CN110958306B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327619A (zh) * 2020-02-26 2020-06-23 南方电网科学研究院有限责任公司 一种微服务数据交换方法和装置
CN112118184B (zh) * 2020-08-06 2022-06-03 北京健康之家科技有限公司 网关自动路由方法及装置、存储介质、计算机设备
CN112751935B (zh) * 2020-12-31 2022-08-12 南京云柜网络科技有限公司 请求处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809956A (zh) * 2018-05-23 2018-11-13 广州虎牙信息科技有限公司 基于微服务的鉴权方法、访问请求转发方法和装置、***
CN109672612A (zh) * 2018-12-13 2019-04-23 中国电子科技集团公司电子科学研究院 Api网关***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10791056B2 (en) * 2018-04-16 2020-09-29 Citrix Systems, Inc. Policy based service routing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809956A (zh) * 2018-05-23 2018-11-13 广州虎牙信息科技有限公司 基于微服务的鉴权方法、访问请求转发方法和装置、***
CN109672612A (zh) * 2018-12-13 2019-04-23 中国电子科技集团公司电子科学研究院 Api网关***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
微服务API网关的设计及应用;廖俊杰,陶智勇;《自动化技术与应用》;20190825;第38卷(第8期);摘要及正文第1-3节 *

Also Published As

Publication number Publication date
CN110958306A (zh) 2020-04-03

Similar Documents

Publication Publication Date Title
CN108551464B (zh) 一种混合云的连接建立、数据传输方法、装置和***
CN111488595B (zh) 用于实现权限控制的方法及相关设备
CN110958306B (zh) 一种基于微服务的数据请求统一交换机制
US20210037097A1 (en) Cloud data storage location monitoring
US10225288B2 (en) Scalable network security detection and prevention platform
WO2018095416A1 (zh) 信息处理方法、装置及***
EP2076999B1 (en) Network service usage management systems and methods
US9521053B1 (en) Providing diagnostic metrics for virtual connections over physical connections into a provider network
RU2595942C2 (ru) Интерфейс непосредственного управления одноранговыми сетевыми узлами
JP2018518862A (ja) グローバル仮想ネットワーク(gvn)において仮想インタフェースとアドバンストスマートルーティングとを提供するためのシステム及び方法
EP3085135A1 (en) System, method, and computer program for inter-module communication in a network based on network function virtualization (nfv)
KR20080008357A (ko) 네트웍 서비스 인프라스트럭처 시스템 및 방법
WO2020028602A2 (en) Method and system for a network presence platform with intelligent routing
US11985127B2 (en) Systems and methods for automated network-based rule generation and configuration of different network devices
Müller et al. 5G as key technology for networked factories: Application of vertical-specific network services for enabling flexible smart manufacturing
WO2018025269A1 (en) Method for optimizing quality of experience in mixed managed and unmanaged network environments with governance and regulation constraints
US20220303283A1 (en) Method and System for Managing Secure IoT Device Applications
KR102036137B1 (ko) 방화벽 정책 분석 방법 및 그 장치
CN111327619A (zh) 一种微服务数据交换方法和装置
US11683240B2 (en) Intelligent and assisted intent builder
US11374813B1 (en) Software defined network device exposure to third parties
CN114969173A (zh) 一种服务集成和共享***及方法
CN103392322B (zh) 用于通信的方法和通信网络中的部件
US20230394126A1 (en) Computer system and user management method
CN112486649B (zh) 一种顾及空间约束的gis服务网关平台

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
GR01 Patent grant
GR01 Patent grant