CN115277196A - 一种分布式资源发现统一管理方法 - Google Patents
一种分布式资源发现统一管理方法 Download PDFInfo
- Publication number
- CN115277196A CN115277196A CN202210891704.7A CN202210891704A CN115277196A CN 115277196 A CN115277196 A CN 115277196A CN 202210891704 A CN202210891704 A CN 202210891704A CN 115277196 A CN115277196 A CN 115277196A
- Authority
- CN
- China
- Prior art keywords
- resource
- information
- provider
- service
- user
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种分布式资源发现统一管理方法,发现资源提供方;获取资源信息;进行资源授权和资源使用方访问鉴权。本发明中资源提供方根据资源开放协议开放资源信息。资源管理中心自动发现当前在线的资源提供方,并根据资源开放协议获取资源信息进行查看、预览、授权等管理操作。资源使用方获取资源认证,通过资源认证访问资源。资源管理中心进行鉴权。本发明资源可以分布在不同服务中,服务可以是不同技术架构,通过统一的网络协议开放资源信息。本发明能够自主发现当前在线资源。本发明根据资源开放协议整合异构资源为统一格式进行统一开放、授权、鉴权。本发明资源数据无需统一存储。
Description
技术领域
本发明属于数据处理技术领域,特别是涉及一种分布式资源发现统一管理方法。
背景技术
信息资源管理是70年代末80年代初在美国首先发展起来然后渐次在全球传播开来的一种应用理论,是现代信息技术特别是以计算机和现代通信技术为核心的信息技术的应用所催生的一种新型信息管理理论。信息资源管理有狭义和广义之分。狭义的信息资源管理是指对信息本身即信息内容实施管理的过程。广义的信息资源管理是指对信息内容及与信息内容相关的资源如设备、设施、技术、投资、信息人员等进行管理的过程。
企业信息资源是企业在信息活动中积累起来的以信息为核心的各类信息活动要素(信息技术、设备、信息生产者等)的集合。企业信息资源管理的任务是有效地搜集、获取和处理企业内外信息,最大限度地提高企业信息资源的质量、可用性和价值,并使企业各部分能够共享这些信息资源。
信息技术的爆炸式发展,政府、企业、社会信息化应用的过热式需求,使信息资源从技术应用变成了无处不在的重要经济资源。信息资源牵动着经济增长、体制改革、社会变迁和发展,信息资源管理技术也从单一走向综合,正在形成集各种软件构件于一体的大型平台。
但是现有的信息资源管理方法存在以下问题:数据仓库、数据集市,数据资源需要ETL进行统一存储后才能进行统一管理;且只能管理原始数据资源,比如BI看板、报表、大屏等数据分析结果类资源无法在此管理。数据中台,包含了数据仓库、数据集市,也有数据分析相关;但是外部系统数据资源依然需要ETL进行统一存储后才能进行统一管理,外部系统非单纯数据资源(比如AI模型预测接口)也无法管理。资源授权、鉴权技术框架(比如java的spring security、shiro)只能管理单个服务中的资源,无法跨服务管理。
发明内容
为了解决上述问题,本发明提出了一种分布式资源发现统一管理方法,能够实现信息资源的全方位管理。
为达到上述目的,本发明采用的技术方案是:一种分布式资源发现统一管理方法,包括步骤:
S10,发现资源提供方;
S20,获取资源信息;
S30,进行资源授权和资源使用方访问鉴权。
进一步的是,在步骤S10中,发现资源提供方,包括步骤:
S11,资源提供方启动发送服务信息到注册中心;注册中心向资源管理中心发送通知注册中心服务信息变更;并由资源提供方根据资源开放协议开放资源信息;
S12,在资源管理中心中,通知网关变更路由,获取注册中心中所有资源提供方信息并缓存,重新生成资源提供方网关路由,从缓存中获取资源提供方信息;
S13,从缓存中获取资源提供方信息的过程中,由资源管理员向资源管理中心发送获取资源提供方信息集合指令,并由资源管理中心向资源管理员返回资源提供方信息集合。
进一步的是,在步骤S11中,资源提供方启动发送服务信息到注册中心;注册中心向资源管理中心发送通知注册中心服务信息变更,包括步骤:
资源提供方配置服务元数据,说明当前服务为资源提供方;
资源提供方启动,发现注册中心,并将自身服务信息发送给注册中心;
注册中心收到服务上线消息,将消息通知资源管理中心。
进一步的是,在步骤S12中,在资源管理中心中,通知网关变更路由,获取注册中心中所有资源提供方信息并缓存,重新生成资源提供方网关路由,从缓存中获取资源提供方信息,包括步骤:
S121,资源管理中心接收到服务变更通知后更新在线服务信息集合,并通知资源管理中心服务内的可刷新路由定位器进行网关路由更新;
S122,可刷新路由定位器接收到在线服务变更事件后获取注册中心中所有资源提供方信息并缓存;
S123,可刷新路由定位器根据缓存对象提供方生成新的资源提供方路由规则集合提供给网关使用;
S214,注册中心监听到服务下线消息,将消息通知资源管理中心;之后资源管理中心执行步骤S121-S123刷新缓存对象提供方和网关路由。
进一步的是,在所述步骤S122中,可刷新路由定位器接收到在线服务变更事件后获取注册中心中所有资源提供方信息并缓存,包括步骤:
S1221,获得在线服务信息集合;
S1222,遍历在线服务信息集合,查找服务类型值为资源提供方的服务;并为满足条件的服务生成资源提供方信息;
S1223,将资源提供方信息存入缓存对象提供方。
进一步的是,在所述步骤S123中,可刷新路由定位器根据缓存对象提供方生成新的资源提供方路由规则集合提供给网关使用,包括步骤:
S1231,遍历缓存对象提供方所有值,获取单个资源提供方信息;
S1232,根据资源提供方信息生成路由对象;
S1233,将路由对象加入资源提供方路由规则集合。
进一步的是,所述资源提供方根据资源开放协议包括:
资源提供方开放资源类别信息集合;资源提供方开放分页查询资源信息;资源提供方开放查询层级节点下资源信息;资源提供方开放查询层级节点下资源分页信息;资源提供方开放查询单个资源信息;资源提供方开放查询资源类别中资源数量;资源管理中心认证授权获取;资源提供方校验资源管理中心认证。
进一步的是,在所述步骤S20中,获取资源信息,包括步骤:
S21,资源管理员在管理客户端获取资源管理中心认证授权后,向资源管理中心发起获取资源提供方信息集合请求,携带授权;
S22,资源管理中心接收到获取资源提供方信息集合请求后,获取缓存对象提供方返回管理客户端;管理客户端接收到资源提供方信息集合后渲染为下拉列表供资源管理员选择;
S23,资源管理员选择资源提供方后,触发事件发送请求到资源管理中心获取获取资源提供方提供的资源类别信息,携带授权和资源提供方服务名;
S24,资源管理中心接收到获取获取资源提供方提供的资源类别信息请求后,根据资源提供方服务名获取接口调用工具,使用接口调用工具访问资源提供方开放接口,携带授权;
S25,资源提供方接收到接口请求后,校验授权是否有效,有效则继续执行返回资源类别信息集合;
S26,资源管理中心接收到来自资源提供方的资源类别信息集合后返回给管理客户端;管理客户端接收到资源类别信息集合后渲染为下拉列表供资源管理员选择;
S27,资源管理员选择资源类别后,触发事件管理客户端判断资源类别信息中数据结构的值发起请求和渲染界面;包括步骤:
S271,数据结构值为list列表结构,则管理客户端发起分页查询资源信息请求,携带授权、资源提供方服务名、资源类别编码和分页对象;
S272,数据结构值tree层级结构,则管理客户端发起查询层级节点下资源信息请求,携带授权、资源提供方服务名、资源类别编码和资源父节点ID;
S273,数据结构值tree_list层级结构+列表结构,则管理客户端先执行步骤S272加载树形结构,树节点中全为目录。
进一步的是,在所述步骤S30中,进行资源授权过程,包括步骤:
资源使用方授权;
用户资源授权;
生成统一资源访问地址;
在所述步骤S30中,资源使用方访问鉴权授权认证过程,包括步骤:
资源使用方获取资源认证;
资源使用方使用统一资源访问地址访问资源管理中心网关,携带资源认证;
资源管理中心网关接收请求,获取资源认证和请求路径;
资源管理中心网关验证请求路径是否合规,路径规则是否满足所述统一资源访问地址;不满足则结束请求返回错误信息;
资源管理中心网关根据请求路径获取资源提供方服务网关路由、资源类别编码、业务ID;利用统一资源访问地址解析;
资源管理中心网关根据资源提供方服务网关路由获取资源提供方服务名;
使用源提供方服务网关路由作为键从缓存对象提供方中获取资源提供方信息,然后从资源提供方信息中获取资源提供方服务名;
资源管理中心网关校验资源认证是否有效;无效则结束请求返回错误信息;资源认证有效性包括,是否能正确解密,是否过了有效期;
根据资源认证获取其中包含的认证信息,即解密后的可识别认证信息;
判断认证信息是否包含用户信息;如果不包含从则认证信息获取资源使用方服务名;
认证信息不包含用户信息,根据资源使用方服务名、提供方服务名、资源类别编码、业务ID查询权限,依据资源使用方授权查询;判断资源使用方授权查询结果是否存在,如果不存在则结束请求返回错误信息,存在则继续访问资源;
认证信息包含用户信息,从认证信息获取资源使用方服务名和用户ID;根据资源使用方服务名、提供方服务名、资源类别编码、业务ID、用户ID查询权限,依据用户资源授权查询;判断用户资源授权查询结果是否存在,如果不存在则结束请求返回错误信息,存在则继续访问资源。
进一步的是,资源使用方获取资源认证,包括两种资源认证模式,分别为:
资源使用方访问资源管理中心客户端凭证接口,获得资源认证,此资源认证信息包含资源使用方服务名和资源使用方服务中文名,不包含用户信息;
资源使用方访问资源管理中心密码式接口,获得资源认证,此资源认证信息包含资源使用方服务名、用户信息。该类资源认证权限可控制到用户,但资源使用方需要接入资源管理中心单点登录。
采用本技术方案的有益效果:
本发明中资源提供方根据资源开放协议开放资源信息。资源管理中心自动发现当前在线的资源提供方,并根据资源开放协议获取资源信息进行查看、预览、授权等管理操作。资源使用方获取资源认证,通过资源认证访问资源。资源管理中心进行鉴权。本发明资源可以分布在不同服务(资源提供方)中,服务(资源提供方)可以是不同技术架构,通过统一的网络协议开放资源信息。本发明能够自主发现当前在线资源。本发明根据资源开放协议整合异构资源为统一格式进行统一开放、授权、鉴权。本发明资源数据无需统一存储。
附图说明
图1为本发明的一种分布式资源发现统一管理方法流程示意图;
图2为本发明实施例中资源管理员向资源管理中心发送获取资源提供方信息集合的流程示意图;
图3为本发明实施例中资源使用方获取资源认证的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步阐述。
在本实施例中,参见图1所示,本发明提出了一种分布式资源发现统一管理方法,包括步骤:
S10,发现资源提供方;
S20,获取资源信息;
S30,进行资源授权和资源使用方访问鉴权。
作为上述实施例的优化方案,在步骤S10中,发现资源提供方,包括步骤:
S11,资源提供方启动发送服务信息到注册中心;注册中心向资源管理中心发送通知注册中心服务信息变更;并由资源提供方根据资源开放协议开放资源信息;包括步骤:
资源提供方配置服务元数据,说明当前服务为资源提供方;
服务元数据具体包含服务名(一般为英文)、服务中文名、服务类型(值为resource-provider表示当前服务为资源提供方)、服务网关路由(为空则使用服务名)、是否使用临时资源认证。
资源提供方启动,发现注册中心,并将自身服务信息(包含资源提供方IP、端口、服务元数据等)发送给注册中心;
注册中心收到服务上线消息,将消息(包含资源提供方IP、端口、服务元数据等)通知资源管理中心。
S12,在资源管理中心中,通知网关变更路由,获取注册中心中所有资源提供方信息并缓存,重新生成资源提供方网关路由,从缓存中获取资源提供方信息;包括步骤:
S121,资源管理中心接收到服务变更通知后更新在线服务信息集合(包含资源提供方IP、端口、服务元数据等),并通知资源管理中心服务内的可刷新路由定位器进行网关路由更新;
S122,可刷新路由定位器接收到在线服务变更事件后获取注册中心中所有资源提供方信息并缓存;包括步骤:
S1221,获得在线服务信息集合;
S1222,遍历在线服务信息集合,查找服务类型值为资源提供方的服务;并为满足条件的服务生成资源提供方信息(服务名、服务中文名、服务网关路由、是否使用临时资源认证);
S1223,将资源提供方信息存入缓存对象提供方providers(键值对类型,键为服务网关路由,值为资源提供方信息)。
S123,可刷新路由定位器根据缓存对象providers提供方生成新的资源提供方路由规则集合(键值对类型,键为路径规则,值为路由对象)提供给网关使用;包括步骤:
S1231,遍历缓存对象提供方providers所有值,获取单个资源提供方信息;
S1232,根据资源提供方信息生成路由对象;
S1233,将路由对象加入资源提供方路由规则集合。
表1主要的资源提供方信息与路由对象映射规则
路由对象 | 资源提供方信息 |
路由ID | 服务名 |
服务ID | 服务名 |
路径规则 | /服务网关路由/** |
S124,注册中心监听到服务下线消息,将消息通知资源管理中心;之后资源管理中心执行步骤S121-S123刷新缓存对象提供方providers和网关路由。
S13,从缓存中获取资源提供方信息的过程中,由资源管理员向资源管理中心发送获取资源提供方信息集合指令,并由资源管理中心向资源管理员返回资源提供方信息集合。
作为上述实施例的,所述资源提供方根据资源开放协议包括:
资源提供方开放资源类别信息集合;资源提供方开放分页查询资源信息;资源提供方开放查询层级节点下资源信息;资源提供方开放查询层级节点下资源分页信息;资源提供方开放查询单个资源信息;资源提供方开放查询资源类别中资源数量;资源管理中心认证授权获取;资源提供方校验资源管理中心认证。
资源开放协议,以json为例:
1、资源提供方开放资源类别信息集合。
地址:资源提供方地址/providerClient/getResourceCategorys。
请求方式:GET。
参数:
返回值:资源提供方提供的资源类别信息集合。
单个资源类别信息格式:
{
"resourceCategoryName":"仪表盘",//资源类别名称;
"resourceCategoryCode":"panel",//资源类别编码;
"resourceCategoryDesc":null,//资源类别说明;
"dataStructure":"tree_list",//资源结构,list列表结构,tree层级结构,tree_list层级结构+列表结构;
"manifestation":"html"//资源表现形式html或api;
}。
2、资源提供方开放分页查询资源信息(对于dataStructure值list)。
地址:资源提供方地址/providerClient/page/{resourceCategoryCode}。
请求方式:POST。
参数:
返回值:指定资源类别的分页资源信息集合。
单个资源信息格式
{
"businessId":"",//资源在资源提供方中唯一的业务ID;
"resourceName":"",//资源名称;
"resourceCode":null,//资源编码;
"resourceDesc":null,//资源说明;
"resourceCategoryCode":"panel",//资源类别信息;
"resourceCategoryName":"仪表盘",//资源类别名称;
"resourceAddress":"",//资源浏览器地址,对于资源表现形式html;
"resourceApi":null,//资源接口地址,对于资源表现形式api;
"requestMethod":"GET",//资源请求方式;
"parentId":null,//资源父节点ID,对于资源结构为tree、tree_list;
"hasAddress":true,//是否有请求地址,对于目录此处为false;
"createUser":"",//资源创建人姓名;
"createTime":"2022-03-3018:00:44",//资源创建时间;
"updateUser":"",//资源修改人姓名
"updateTime":null,//资源修改时间;
"dir":false,//是否为目录;
"otherInfos":[{//资源的其他说明信息集合,可以为多条;
"name":"原始数据",//其他信息名称;
"code":"originalInfo",//其他信息编码;
"info":null//其他信息值,允许任意数据结构(单值、集合、对象均可)
}]
}
3、资源提供方开放查询层级节点下资源信息(对于dataStructure值tree、tree_list)。
地址:资源提供方地址
/providerClient/getDirsByParent/{resourceCategoryCode}/{parentId}。
请求方式:POST。
参数:
返回值:指定资源类别和父节点下的资源或目录信息集合。
单个资源信息格式参考2。
4、资源提供方开放查询层级节点下资源分页信息(对于dataStructure值tree_list).
地址:资源提供方地址
/providerClient/getResourcesByParent/{resourceCategoryCode}/{parentId}。
请求方式:POST。
参数:
返回值:指定资源类别和父节点下的分页资源信息集合。
单个资源信息格式参考2。
5、资源提供方开放查询单个资源信息。
地址:资源提供方地址
/providerClient/getResourceInfo/{resourceCategoryCode}/{businessId}。
请求方式:GET。
参数:
返回值:单个资源信息格式参考2.
6、资源提供方开放查询资源类别中资源数量。
地址:资源提供方地址
/providerClient/countResourceCategory/{resourceCategoryCode}。
请求方式:GET。
参数:
返回值:指定资源类别中的资源数量。
7、资源管理中心认证Authorization获取。
(1)资源管理中心服务定时任务自动生成资源管理中心认证(OAuth 2.0客户端凭证),此资源管理中心认证包含资源管理中心服务名(OAuth 2.0客户端ID)和资源管理中心服务中文名(OAuth 2.0客户端名称),不包含用户信息。该类资源管理中心认证可用于定时任务获取资源数量这类无用户信息的场景。
(2)资源管理中心用户(资源管理员)登录资源管理中心获得资源管理中心认证(OAuth 2.0密码式)。此资源管理中心认证包含资源管理中心服务名(OAuth 2.0客户端ID)、资源管理中心服务中文名(OAuth 2.0客户端名称)、用户信息。该类资源管理中心认证可用于资源管理员在线对资源管理时有效。
(3)两种资源管理中心认证均为OAuth 2.0jwt方式加密生成。
8、资源提供方校验资源管理中心认证。
(1)资源提供方接收到资源管理中心获取资源信息请求时,先从请求中取Authorization的值。
(2)将Authorization的值进行jwt解密,并校验有效期。
(3)校验jwt中客户端ID是否与已知的资源管理中心服务名一致。
如果一致则继续执行接口访问。
如果不一致则不再继续执行接口访问,返回权限错误。
作为上述实施例的优化方案,在所述步骤S20中,如图2所示,获取资源信息,包括步骤:
S21,资源管理员在管理客户端获取资源管理中心认证授权后,向资源管理中心发起获取资源提供方信息集合请求,携带授权;
S22,资源管理中心接收到获取资源提供方信息集合请求后,获取缓存对象提供方返回管理客户端;管理客户端接收到资源提供方信息集合后渲染为下拉列表供资源管理员选择;
S23,资源管理员选择资源提供方后,触发事件发送请求到资源管理中心获取获取资源提供方提供的资源类别信息,携带授权和资源提供方服务名;
S24,资源管理中心接收到获取获取资源提供方提供的资源类别信息请求后,根据资源提供方服务名获取接口调用工具,使用接口调用工具访问资源提供方开放接口,携带授权;
S25,资源提供方接收到接口请求后,校验授权是否有效,有效则继续执行返回资源类别信息集合;
S26,资源管理中心接收到来自资源提供方的资源类别信息集合后返回给管理客户端;管理客户端接收到资源类别信息集合后渲染为下拉列表供资源管理员选择;
S27,资源管理员选择资源类别后,触发事件管理客户端判断资源类别信息中数据结构dataStructure的值发起请求和渲染界面,包括步骤:
S271,数据结构值dataStructure为list列表结构,则管理客户端发起分页查询资源信息请求,携带授权、资源提供方服务名、资源类别编码和分页对象;
资源管理中心接收到分页查询资源信息请求,根据资源提供方服务名获取接口调用工具,使用接口调用工具访问资源提供方开放接口,携带授权、资源类别编码和分页对象。
资源提供方接收到接口请求后,校验授权是否有效,有效则继续执行返回指定资源类别的分页资源信息集合。
资源管理中心接收到来自资源提供方的指定资源类别的分页资源信息集合后返回给管理客户端;管理客户端接收到分页资源信息集合后渲染分页列表;资源管理员可选择列表中资源进行后续管理操作(查看详情、浏览、授权)。
S272,数据结构值tree层级结构,则管理客户端发起查询层级节点下资源信息请求,携带授权、资源提供方服务名、资源类别编码和资源父节点ID;
资源管理中心接收到查询层级节点下资源信息请求,根据资源提供方服务名获取接口调用工具,使用接口调用工具访问资源提供方开放接口,携带授权、资源类别编码和资源父节点ID。
资源提供方接收到接口请求后,校验授权是否有效,有效则继续执行返回指定资源类别和父节点下的资源或目录信息集合。
资源管理中心接收到来自资源提供方的指定资源类别和父节点下的资源或目录信息集合后返回给管理客户端。管理客户端接收到指定资源类别和父节点下的资源或目录信息集合后渲染为树形结构。
资源管理员可选择树节点中资源进行后续管理操作(查看详情、浏览、授权)。
资源管理员可展开树节点中目录进行类似S272的操作加载目录下级的节点,只是此时资源父节点ID为当前目录节点的businessId。
S273,数据结构值tree_list层级结构+列表结构,则管理客户端先执行步骤S272加载树形结构,树节点中全为目录。
资源管理员可选择树节点中目录,管理客户端发起查询层级节点下资源分页信息请求,携带授权、资源提供方服务名、资源类别编码、资源父节点ID,此时值为当前目录节点的businessId、分页对象。
资源管理中心接收到查询层级节点下资源分页信息请求,根据资源提供方服务名获取接口调用工具,使用接口调用工具访问资源提供方开放接口,携带授权、resourceCategoryCode、page。
资源提供方接收到接口请求后,校验授权是否有效,有效则继续执行返回指定资源类别和父节点下的分页资源信息集合。
资源管理中心接收到来自资源提供方的指定资源类别和父节点下的分页资源信息集合后返回给管理客户端。管理客户端接收到分页资源信息集合后渲染分页列表。资源管理员可选择列表中资源进行后续管理操作(查看详情、浏览、授权)
作为上述实施例的优化方案,在所述步骤S30中,进行资源授权过程,包括步骤:
资源使用方授权;
授权后保存记录资源使用方服务名(OAuth 2.0客户端ID)、资源提供方服务名、资源类别编码、资源的业务ID。
用户资源授权;
授权资源与角色关系保存记录角色ID、资源提供方服务名、资源类别编码、资源的业务ID。
授权用户与角色关系保存记录用户ID、角色ID。
生成统一资源访问地址。
统一资源访问地址:资源管理中心地址/网关前缀/资源提供方服务网关路由/资源类别编码/业务id/资源表现形式。
在所述步骤S30中,如图3所示,资源使用方访问鉴权授权认证过程,包括步骤:
资源使用方获取资源认证ResourceToken;资源使用方获取资源认证,包括两种资源认证模式,分别为:
资源使用方访问资源管理中心OAuth 2.0客户端凭证接口,获得资源认证ResourceToken,此资源认证信息包含资源使用方服务名(OAuth 2.0客户端ID)和资源使用方服务中文名(OAuth 2.0客户端名称),不包含用户信息。该资源认证权限只能控制到资源使用方服务级,无法控制到用户。
资源使用方访问资源管理中心OAuth 2.0密码式接口。获得资源认证ResourceToken,此资源认证信息包含资源使用方服务名(OAuth 2.0客户端ID)、资源使用方服务中文名(OAuth 2.0客户端名称)、用户信息。该类资源认证权限可控制到用户,但资源使用方需要接入资源管理中心单点登录。
资源使用方使用统一资源访问地址访问资源管理中心网关,携带资源认证ResourceToken;
资源管理中心网关接收请求,获取资源认证ResourceToken和请求路径uri;
资源管理中心网关验证请求路径uri是否合规,路径规则是否满足所述统一资源访问地址;不满足则结束请求返回错误信息;
资源管理中心网关根据请求路径uri获取资源提供方服务网关路由、资源类别编码、业务ID;利用统一资源访问地址解析;
资源管理中心网关根据资源提供方服务网关路由获取资源提供方服务名;
使用源提供方服务网关路由作为键从缓存对象提供方中获取资源提供方信息,然后从资源提供方信息中获取资源提供方服务名;
资源管理中心网关校验资源认证ResourceToken是否有效;无效则结束请求返回错误信息;资源认证ResourceToken有效性包括,是否能正确解密,是否过了有效期;
根据资源认证ResourceToken获取其中包含的认证信息jwtInfo,即解密后的可识别认证信息jwtInfo;
其中,对于第一种资源认证模式,jwtInfo包含资源使用方服务名和资源使用方服务中文名;对于第二种资源认证模式,jwtInfo包含资源使用方服务名、资源使用方服务中文名、用户信息(包含用户ID)。
判断认证信息jwtInfo是否包含用户信息;如果不包含从则认证信息jwtInfo获取资源使用方服务名;
认证信息jwtInfo不包含用户信息,根据资源使用方服务名、提供方服务名、资源类别编码、业务ID查询权限,依据资源使用方授权查询;判断资源使用方授权查询结果是否存在,如果不存在则结束请求返回错误信息,存在则继续访问资源;
认证信息jwtInfo包含用户信息,从认证信息jwtInfo获取资源使用方服务名和用户ID;根据资源使用方服务名、提供方服务名、资源类别编码、业务ID、用户ID查询权限,依据用户资源授权查询;判断用户资源授权查询结果是否存在,如果不存在则结束请求返回错误信息,存在则继续访问资源。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (10)
1.一种分布式资源发现统一管理方法,其特征在于,包括步骤:
S10,发现资源提供方;
S20,获取资源信息;
S30,进行资源授权和资源使用方访问鉴权。
2.根据权利要求1所述的一种分布式资源发现统一管理方法,其特征在于,在步骤S10中,发现资源提供方,包括步骤:
S11,资源提供方启动发送服务信息到注册中心;注册中心向资源管理中心发送通知注册中心服务信息变更;并由资源提供方根据资源开放协议开放资源信息;
S12,在资源管理中心中,通知网关变更路由,获取注册中心中所有资源提供方信息并缓存,重新生成资源提供方网关路由,从缓存中获取资源提供方信息;
S13,从缓存中获取资源提供方信息的过程中,由资源管理员向资源管理中心发送获取资源提供方信息集合指令,并由资源管理中心向资源管理员返回资源提供方信息集合。
3.根据权利要求2所述的一种分布式资源发现统一管理方法,其特征在于,在步骤S11中,资源提供方启动发送服务信息到注册中心;注册中心向资源管理中心发送通知注册中心服务信息变更,包括步骤:
资源提供方配置服务元数据,说明当前服务为资源提供方;
资源提供方启动,发现注册中心,并将自身服务信息发送给注册中心;
注册中心收到服务上线消息,将消息通知资源管理中心。
4.根据权利要求2所述的一种分布式资源发现统一管理方法,其特征在于,在步骤S12中,在资源管理中心中,通知网关变更路由,获取注册中心中所有资源提供方信息并缓存,重新生成资源提供方网关路由,从缓存中获取资源提供方信息,包括步骤:
S121,资源管理中心接收到服务变更通知后更新在线服务信息集合,并通知资源管理中心服务内的可刷新路由定位器进行网关路由更新;
S122,可刷新路由定位器接收到在线服务变更事件后获取注册中心中所有资源提供方信息并缓存;
S123,可刷新路由定位器根据缓存对象提供方生成新的资源提供方路由规则集合提供给网关使用;
S214,注册中心监听到服务下线消息,将消息通知资源管理中心;之后资源管理中心执行步骤S121-S123刷新缓存对象提供方和网关路由。
5.根据权利要求4所述的一种分布式资源发现统一管理方法,其特征在于,在所述步骤S122中,可刷新路由定位器接收到在线服务变更事件后获取注册中心中所有资源提供方信息并缓存,包括步骤:
S1221,获得在线服务信息集合;
S1222,遍历在线服务信息集合,查找服务类型值为资源提供方的服务;并为满足条件的服务生成资源提供方信息;
S1223,将资源提供方信息存入缓存对象提供方。
6.根据权利要求4所述的一种分布式资源发现统一管理方法,其特征在于,在所述步骤S123中,可刷新路由定位器根据缓存对象提供方生成新的资源提供方路由规则集合提供给网关使用,包括步骤:
S1231,遍历缓存对象提供方所有值,获取单个资源提供方信息;
S1232,根据资源提供方信息生成路由对象;
S1233,将路由对象加入资源提供方路由规则集合。
7.根据权利要求2所述的一种分布式资源发现统一管理方法,其特征在于,所述资源提供方根据资源开放协议包括:
资源提供方开放资源类别信息集合;资源提供方开放分页查询资源信息;资源提供方开放查询层级节点下资源信息;资源提供方开放查询层级节点下资源分页信息;资源提供方开放查询单个资源信息;资源提供方开放查询资源类别中资源数量;资源管理中心认证授权获取;资源提供方校验资源管理中心认证。
8.根据权利要求1所述的一种分布式资源发现统一管理方法,其特征在于,在所述步骤S20中,获取资源信息,包括步骤:
S21,资源管理员在管理客户端获取资源管理中心认证授权后,向资源管理中心发起获取资源提供方信息集合请求,携带授权;
S22,资源管理中心接收到获取资源提供方信息集合请求后,获取缓存对象提供方返回管理客户端;管理客户端接收到资源提供方信息集合后渲染为下拉列表供资源管理员选择;
S23,资源管理员选择资源提供方后,触发事件发送请求到资源管理中心获取获取资源提供方提供的资源类别信息,携带授权和资源提供方服务名;
S24,资源管理中心接收到获取获取资源提供方提供的资源类别信息请求后,根据资源提供方服务名获取接口调用工具,使用接口调用工具访问资源提供方开放接口,携带授权;
S25,资源提供方接收到接口请求后,校验授权是否有效,有效则继续执行返回资源类别信息集合;
S26,资源管理中心接收到来自资源提供方的资源类别信息集合后返回给管理客户端;管理客户端接收到资源类别信息集合后渲染为下拉列表供资源管理员选择;
S27,资源管理员选择资源类别后,触发事件管理客户端判断资源类别信息中数据结构的值发起请求和渲染界面;包括步骤:
S271,数据结构值为list列表结构,则管理客户端发起分页查询资源信息请求,携带授权、资源提供方服务名、资源类别编码和分页对象;
S272,数据结构值tree层级结构,则管理客户端发起查询层级节点下资源信息请求,携带授权、资源提供方服务名、资源类别编码和资源父节点ID;
S273,数据结构值tree_list层级结构+列表结构,则管理客户端先执行步骤S272加载树形结构,树节点中全为目录。
9.根据权利要求1所述的一种分布式资源发现统一管理方法,其特征在于,在所述步骤S30中,进行资源授权过程,包括步骤:
资源使用方授权;
用户资源授权;
生成统一资源访问地址;
在所述步骤S30中,资源使用方访问鉴权授权认证过程,包括步骤:
资源使用方获取资源认证;
资源使用方使用统一资源访问地址访问资源管理中心网关,携带资源认证;
资源管理中心网关接收请求,获取资源认证和请求路径;
资源管理中心网关验证请求路径是否合规,路径规则是否满足所述统一资源访问地址;不满足则结束请求返回错误信息;
资源管理中心网关根据请求路径获取资源提供方服务网关路由、资源类别编码、业务ID;利用统一资源访问地址解析;
资源管理中心网关根据资源提供方服务网关路由获取资源提供方服务名;
使用源提供方服务网关路由作为键从缓存对象提供方中获取资源提供方信息,然后从资源提供方信息中获取资源提供方服务名;
资源管理中心网关校验资源认证是否有效;无效则结束请求返回错误信息;资源认证有效性包括,是否能正确解密,是否过了有效期;
根据资源认证获取其中包含的认证信息,即解密后的可识别认证信息;
判断认证信息是否包含用户信息;如果不包含从则认证信息获取资源使用方服务名;
认证信息不包含用户信息,根据资源使用方服务名、提供方服务名、资源类别编码、业务ID查询权限,依据资源使用方授权查询;判断资源使用方授权查询结果是否存在,如果不存在则结束请求返回错误信息,存在则继续访问资源;
认证信息包含用户信息,从认证信息获取资源使用方服务名和用户ID;根据资源使用方服务名、提供方服务名、资源类别编码、业务ID、用户ID查询权限,依据用户资源授权查询;判断用户资源授权查询结果是否存在,如果不存在则结束请求返回错误信息,存在则继续访问资源。
10.根据权利要求9所述的一种分布式资源发现统一管理方法,其特征在于,资源使用方获取资源认证,包括两种资源认证模式,分别为:
资源使用方访问资源管理中心客户端凭证接口,获得资源认证,此资源认证信息包含资源使用方服务名和资源使用方服务中文名,不包含用户信息;
资源使用方访问资源管理中心密码式接口,获得资源认证,此资源认证信息包含资源使用方服务名、用户信息;该类资源认证权限可控制到用户,但资源使用方需要接入资源管理中心单点登录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210891704.7A CN115277196A (zh) | 2022-07-27 | 2022-07-27 | 一种分布式资源发现统一管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210891704.7A CN115277196A (zh) | 2022-07-27 | 2022-07-27 | 一种分布式资源发现统一管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115277196A true CN115277196A (zh) | 2022-11-01 |
Family
ID=83771225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210891704.7A Pending CN115277196A (zh) | 2022-07-27 | 2022-07-27 | 一种分布式资源发现统一管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277196A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405332A (zh) * | 2023-06-08 | 2023-07-07 | 深圳华锐分布式技术股份有限公司 | 基于Nginx网关的服务请求方法、装置、设备及介质 |
-
2022
- 2022-07-27 CN CN202210891704.7A patent/CN115277196A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405332A (zh) * | 2023-06-08 | 2023-07-07 | 深圳华锐分布式技术股份有限公司 | 基于Nginx网关的服务请求方法、装置、设备及介质 |
CN116405332B (zh) * | 2023-06-08 | 2023-08-08 | 深圳华锐分布式技术股份有限公司 | 基于Nginx网关的服务请求方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7600230B2 (en) | System and method for managing security meta-data in a reverse proxy | |
EP3202117B1 (en) | Using credentials stored in different directories to access a common endpoint | |
RU2658873C2 (ru) | Способ, система и информационный носитель для сохранения состояния входа в пользовательскую учетную запись | |
US20060026286A1 (en) | System and method for managing user session meta-data in a reverse proxy | |
CN106603713B (zh) | 会话管理方法和系统 | |
US7454421B2 (en) | Database access control method, database access controller, agent processing server, database access control program, and medium recording the program | |
CN107454094A (zh) | 一种数据交互方法和系统 | |
TWI652585B (zh) | 遠端查詢訊息的方法及伺服器 | |
US20090287705A1 (en) | Managing website blacklists | |
CN103905572B (zh) | 域名解析请求的处理方法及装置 | |
US20110129089A1 (en) | Method and apparatus for partially encoding/decoding data for commitment service and method of using encoded data | |
CN108429808B (zh) | 一种物联网跨平台资源交互的方法和系统 | |
JP2003526835A5 (zh) | ||
JP2009048635A (ja) | Ipアドレスを用いるユーザ認証システム及びその方法 | |
JP5342020B2 (ja) | グループ定義管理システム | |
MX2011003223A (es) | Acceso al proveedor de servicio. | |
JP2024513662A (ja) | ネットワーク機能(nf)におけるリソースオブジェクトレベル承認のための方法、システム、およびコンピュータ可読媒体 | |
CN111917896B (zh) | 一种可信的域名解析方法、系统、电子设备及存储介质 | |
US8713088B2 (en) | Identifying users of remote sessions | |
US7945946B2 (en) | Attribute level access control | |
CN115277196A (zh) | 一种分布式资源发现统一管理方法 | |
US20080183713A1 (en) | Node for providing a file service to a mobile terminal | |
CN114218540A (zh) | 项目访问方法及装置 | |
JP5678893B2 (ja) | 属性情報連携提供システム、アクセス情報管理装置、アクセス情報代理管理装置、方法、およびプログラム | |
JP2009217522A (ja) | 個人属性情報提供システムおよび個人属性情報提供方法 |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Li Hao Inventor after: Su Xin Inventor after: Zhang Yi Inventor before: Su Xin Inventor before: Zhang Yi |