CN111930348B - 一种基于微服务的应用平台搭建方法 - Google Patents

一种基于微服务的应用平台搭建方法 Download PDF

Info

Publication number
CN111930348B
CN111930348B CN202010744333.0A CN202010744333A CN111930348B CN 111930348 B CN111930348 B CN 111930348B CN 202010744333 A CN202010744333 A CN 202010744333A CN 111930348 B CN111930348 B CN 111930348B
Authority
CN
China
Prior art keywords
application
module
authority
menu
information
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
CN202010744333.0A
Other languages
English (en)
Other versions
CN111930348A (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.)
Hangzhou Arcvideo Technology Co ltd
Original Assignee
Hangzhou Arcvideo Technology 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 Hangzhou Arcvideo Technology Co ltd filed Critical Hangzhou Arcvideo Technology Co ltd
Priority to CN202010744333.0A priority Critical patent/CN111930348B/zh
Publication of CN111930348A publication Critical patent/CN111930348A/zh
Application granted granted Critical
Publication of CN111930348B publication Critical patent/CN111930348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

本发明公开了一种基于微服务的应用平台搭建方法。它具体包括如下步骤:应用基础标准模块用于声明当前应用的基础信息;应用权限标准模块用于声明当前应用所包括的权限信息,在应用网关模块进行权限认证;应用菜单标准模块用于声明当前应用所包括的菜单信息;应用网关模块用于对应用的权限进行认证及应用接口的请求转发;应用注册模块用于统一收集应用的标准信息进行管理;统一web模块用于按照标准解析和展示当前部署的所有应用的信息;应用前端标准模块按照要求提供菜单内容的前端代码片段。本发明的有益效果是:做到单个应用的安装和卸载的同时,前端和后端会自动加入和剔除当前应用,做到全程自动化、按需部署。

Description

一种基于微服务的应用平台搭建方法
技术领域
本发明涉及系统平台搭建相关技术领域,尤其是指一种基于微服务的应用平台搭建方法。
背景技术
目前基于微服务的应用平台几乎无法做到单个服务的即插即用,需要额外的工作量进行集成显示等。同时业界普遍的前后端分离方案中单个服务对整个系统的耦合性太高。对应用的权限认证无法做到自动化,即需要事先全局定义好权限列表。对应用的前端展示无法做到自动化,即需要在通用web服务上定义好全部的菜单项。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种全程自动化的基于微服务的应用平台搭建方法。
为了实现上述目的,本发明采用以下技术方案:
一种基于微服务的应用平台搭建方法,包括应用基础标准模块、应用权限标准模块、应用菜单标准模块、应用前端标准模块、应用注册模块、应用网关模块、统一web模块,具体包括如下步骤:
(1)在应用平台中声明以下模块:应用基础标准模块用于声明当前应用的基础信息,通知到应用注册模块,在统一web模块进行展示,定义在应用内部;应用权限标准模块用于声明当前应用所包括的权限信息,通知到应用注册模块,在统一web模块进行权限配置,在应用网关模块进行权限认证,定义在应用内部;应用菜单标准模块用于声明当前应用所包括的菜单信息,通知到应用注册模块,在统一web模块进行展示,定义在应用内部;
(2)应用网关模块是整个应用平台的唯一入口,包括界面展现、api调用;客户端即用户操作是通过应用网关模块对用户的请求进行转发和界面展现的,应用网关模块内部会对每个请求进行权限认证,完成后进行日志收集然后直接转发即可;
(3)步骤(2)中获取应用相关信息是通过应用注册模块获取到的,应用注册模块用于统一收集应用基础标准模块、应用权限标准模块和应用菜单标准模块的标准信息并结合应用网关模块进行管理;
(4)经过步骤(2)的权限认证后,界面请求会转发至统一web模块,统一web模块用于按照标准解析和展示当前部署的所有应用的信息,包括基础、权限、菜单项、菜单内容,并且主动去步骤(5)收集各个应用提供的前端内容;
(5)最终请求会到应用前端标准模块,应用前端标准模块规定了应用的前端开发规范,需要按照要求提供菜单内容的前端代码片段,在步骤(4)中解析和展示。
本发明公开了一种基于微服务的应用平台搭建方法,包括应用基础标准模块、应用权限标准模块、应用菜单标准模块、应用前端标准模块、应用注册模块、应用网关模块、统一web模块,通过一系列的标准定义、收集、处理做到单个应用的安装和卸载的同时,前端和后端会自动加入和剔除当前应用,做到全程自动化、按需部署,适用于一个产品多个业务线场景,开发人员只需要专心于单个应用的开发,无需关心对整个平台的集成。
作为优选,在步骤(1)中,针对应用基础标准模块在应用内声明一个json文件,文件内定义应用的基础信息包括应用的具体描述、应用的图标、应用的名称、第三方应用的请求地址、应用分类以及应用是否含有ui;针对应用权限标准模块在应用内声明一个json文件,文件内定义应用的权限信息包括应用的权限列表、应用需要权限的请求信息以及此应用无需应用网关进行权限认证的请求,应用的权限列表包括权限名称和权限标识,应用需要权限的请求信息包括应用路径和权限标识;针对应用菜单标准模块在应用内声明一个json文件,文件内定义应用的菜单信息包括应用的菜单列表,应用的菜单列表包括菜单名称、菜单顺序、菜单地址以及子菜单。
作为优选,在步骤(2)中,针对应用网关模块具体地:应用网关提供对外统一入口,即api和web都要经过网关,网关对所有的请求进行过滤,并根据应用注册模块提供的应用权限信息进行认证和过滤。
作为优选,在步骤(2)中,权限认证流程如下:应用网关模块接收固定参数appId用于校验请求的应用有效性,通过appUri参数校验该请求是否需要进行权限认证,如果不需要则进行日志收集然后直接转发即可;如果需要就要看客户端是否有传递用户信息,即token之类的认证信息,认证通过后再校验该用户是否有该应用的权限,上述权限认证都是通过步骤(1)中各个应用定义的基础、菜单、权限信息,全部匹配完成后进行日志收集然后直接转发即可。
作为优选,在步骤(3)中,针对应用注册模块具体地:采用开源的注册中心服务,每个应用启动后自动注册,注册服务需要收集应用定制的标准信息,存入当前注册中心,用于应用网关模块、统一web模块访问。
作为优选,在步骤(4)中,针对统一web模块具体地:所有应用的前端内容都由统一web模块进行展示,展示菜单内容时需要对应用的前端代码片段进行解析和关联菜单,展示的应用列表是直接从应用注册模块中获取的,因此应用如果没有部署,也就没有应用相关的前端信息。
作为优选,在步骤(5)中,针对应用前端标准模块具体地:应用根据应用菜单标准模块提供的请求地址响应对应菜单的内容前端代码,仅包括菜单内容,能够配合统一web模块进行解析即可。
本发明的有益效果是:通过一系列的标准定义、收集、处理做到单个应用的安装和卸载的同时,前端和后端会自动加入和剔除当前应用,做到全程自动化、按需部署,适用于一个产品多个业务线场景,开发人员只需要专心于单个应用的开发,无需关心对整个平台的集成。
附图说明
图1是本发明的方法流程图;
图2是应用网关模块的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种基于微服务的应用平台搭建方法,包括应用基础标准模块、应用权限标准模块、应用菜单标准模块、应用前端标准模块、应用注册模块、应用网关模块、统一web模块,具体包括如下步骤:
(1)在应用平台中声明以下模块:应用基础标准模块用于声明当前应用的基础信息,通知到应用注册模块,在统一web模块进行展示,定义在应用内部;应用权限标准模块用于声明当前应用所包括的权限信息,通知到应用注册模块,在统一web模块进行权限配置,在应用网关模块进行权限认证,定义在应用内部;应用菜单标准模块用于声明当前应用所包括的菜单信息,通知到应用注册模块,在统一web模块进行展示,定义在应用内部;
针对应用基础标准模块在应用内声明一个json文件,比如:appInfo.json,文件内定义应用的基础信息包括应用的具体描述、应用的图标、应用的名称、第三方应用的请求地址、应用分类以及应用是否含有ui;如下:
针对应用权限标准模块在应用内声明一个json文件,比如:appInfo.json,文件内定义应用的权限信息包括应用的权限列表、应用需要权限的请求信息以及此应用无需应用网关进行权限认证的请求,应用的权限列表包括权限名称和权限标识,应用需要权限的请求信息包括应用路径和权限标识;如下:
配置项 类型 是否必需 说明
authorityList List<AuthorityInfo> 应用的权限列表,用于用户&应用权限绑定
pathListWithAuth List<PathInfoWithAuth> 应用需要权限的请求信息
pathListWithoutAuth List<String> 此应用无需应用网关进行权限认证的请求
针对应用菜单标准模块在应用内声明一个json文件,比如:appInfo.json,文件内定义应用的菜单信息包括应用的菜单列表,应用的菜单列表包括菜单名称、菜单顺序、菜单地址以及子菜单。如下:
(2)应用网关模块是整个应用平台的唯一入口,包括界面展现、api调用;客户端即用户操作是通过应用网关模块对用户的请求进行转发和界面展现的,应用网关模块内部会对每个请求进行权限认证,完成后进行日志收集然后直接转发即可;权限认证流程如下:应用网关模块接收固定参数appId用于校验请求的应用有效性,通过appUri参数校验该请求是否需要进行权限认证,如果不需要则进行日志收集然后直接转发即可;如果需要就要看客户端是否有传递用户信息,即token之类的认证信息,认证通过后再校验该用户是否有该应用的权限,上述权限认证都是通过步骤(1)中各个应用定义的基础、菜单、权限信息,全部匹配完成后进行日志收集然后直接转发即可。
针对应用网关模块具体地:应用网关提供对外统一入口,即api和web都要经过网关,网关对所有的请求进行过滤,并根据应用注册模块提供的应用权限信息进行认证和过滤,如图2所示。
(3)步骤(2)中获取应用相关信息是通过应用注册模块获取到的,应用注册模块用于统一收集应用基础标准模块、应用权限标准模块和应用菜单标准模块的标准信息并结合应用网关模块进行管理;
针对应用注册模块具体地:采用开源的注册中心服务,每个应用启动后自动注册,注册服务需要收集应用定制的标准信息,比如获取appInfo.json,存入当前注册中心,用于应用网关模块、统一web模块访问。
(4)经过步骤(2)的权限认证后,界面请求会转发至统一web模块,统一web模块用于按照标准解析和展示当前部署的所有应用的信息,包括基础、权限、菜单项、菜单内容,并且主动去步骤(5)收集各个应用提供的前端内容;
针对统一web模块具体地:所有应用的前端内容都由统一web模块进行展示,展示菜单内容时需要对应用的前端代码片段进行解析和关联菜单,展示的应用列表是直接从应用注册模块中获取的,因此应用如果没有部署,也就没有应用相关的前端信息。
(5)最终请求会到应用前端标准模块,应用前端标准模块规定了应用的前端开发规范,需要按照要求提供菜单内容的前端代码片段,在步骤(4)中解析和展示;
针对应用前端标准模块具体地:应用根据应用菜单标准模块提供的请求地址响应对应菜单的内容前端代码,仅包括菜单内容,不需要其他比如菜单项、平台信息等,代码片段可用vue等实现,无明确要求,能够配合统一web模块进行解析即可。
本发明公开了一种基于微服务的应用平台搭建方案,包括应用基础标准模块、应用权限标准模块、应用菜单标准模块、应用前端标准模块、应用注册模块、应用网关模块、统一web模块,通过一系列的标准定义、收集、处理做到单个应用的安装和卸载的同时,前端和后端会自动加入和剔除当前应用,做到全程自动化、按需部署,适用于一个产品多个业务线场景,开发人员只需要专心于单个应用的开发,无需关心对整个平台的集成。

Claims (4)

1.一种基于微服务的应用平台搭建方法,其特征是,包括应用基础标准模块、应用权限标准模块、应用菜单标准模块、应用前端标准模块、应用注册模块、应用网关模块、统一web模块,具体包括如下步骤:
(1)在应用平台中声明以下模块:应用基础标准模块用于声明当前应用的基础信息,通知到应用注册模块,在统一web模块进行展示,定义在应用内部;应用权限标准模块用于声明当前应用所包括的权限信息,通知到应用注册模块,在统一web模块进行权限配置,在应用网关模块进行权限认证,定义在应用内部;应用菜单标准模块用于声明当前应用所包括的菜单信息,通知到应用注册模块,在统一web模块进行展示,定义在应用内部;针对应用基础标准模块在应用内声明一个json文件,文件内定义应用的基础信息包括应用的具体描述、应用的图标、应用的名称、第三方应用的请求地址、应用分类以及应用是否含有ui;针对应用权限标准模块在应用内声明一个json文件,文件内定义应用的权限信息包括应用的权限列表、应用需要权限的请求信息以及此应用无需应用网关进行权限认证的请求,应用的权限列表包括权限名称和权限标识,应用需要权限的请求信息包括应用路径和权限标识;针对应用菜单标准模块在应用内声明一个json文件,文件内定义应用的菜单信息包括应用的菜单列表,应用的菜单列表包括菜单名称、菜单顺序、菜单地址以及子菜单;
(2)应用网关模块是整个应用平台的唯一入口,包括界面展现、api调用;客户端即用户操作是通过应用网关模块对用户的请求进行转发和界面展现的,应用网关模块内部会对每个请求进行权限认证,完成后进行日志收集然后直接转发即可;针对应用网关模块具体地:应用网关提供对外统一入口,即api和web都要经过网关,网关对所有的请求进行过滤,并根据应用注册模块提供的应用权限信息进行认证和过滤;权限认证流程如下:应用网关模块接收固定参数appId用于校验请求的应用有效性,通过appUri参数校验该请求是否需要进行权限认证,如果不需要则进行日志收集然后直接转发即可;如果需要就要看客户端是否有传递用户信息,即token之类的认证信息,认证通过后再校验该用户是否有该应用的权限,上述权限认证都是通过步骤(1)中各个应用定义的基础、菜单、权限信息,全部匹配完成后进行日志收集然后直接转发即可;
(3)步骤(2)中获取应用的基础、菜单、权限信息是通过应用注册模块获取到的,应用注册模块用于统一收集应用基础标准模块、应用权限标准模块和应用菜单标准模块的标准信息并结合应用网关模块进行管理;
(4)经过步骤(2)的权限认证后,界面请求会转发至统一web模块,统一web模块用于按照标准解析和展示当前部署的所有应用的信息,包括基础、权限、菜单项、菜单内容,并且主动去步骤(5)收集各个应用提供的前端内容;
(5)最终请求会到应用前端标准模块,应用前端标准模块规定了应用的前端开发规范,需要按照要求提供菜单内容的前端代码片段,在步骤(4)中解析和展示。
2.根据权利要求1所述的一种基于微服务的应用平台搭建方法,其特征是,在步骤(3)中,针对应用注册模块具体地:采用开源的注册中心服务,每个应用启动后自动注册,注册服务需要收集应用定制的标准信息,存入当前注册中心,用于应用网关模块、统一web模块访问。
3.根据权利要求1所述的一种基于微服务的应用平台搭建方法,其特征是,在步骤(4)中,针对统一web模块具体地:所有应用的前端内容都由统一web模块进行展示,展示菜单内容时需要对应用的前端代码片段进行解析和关联菜单,展示的应用列表是直接从应用注册模块中获取的,因此应用如果没有部署,也就没有应用相关的前端信息。
4.根据权利要求1所述的一种基于微服务的应用平台搭建方法,其特征是,在步骤(5)中,针对应用前端标准模块具体地:应用根据应用菜单标准模块提供的请求地址响应对应菜单的内容前端代码,仅包括菜单内容,能够配合统一web模块进行解析。
CN202010744333.0A 2020-07-29 2020-07-29 一种基于微服务的应用平台搭建方法 Active CN111930348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010744333.0A CN111930348B (zh) 2020-07-29 2020-07-29 一种基于微服务的应用平台搭建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010744333.0A CN111930348B (zh) 2020-07-29 2020-07-29 一种基于微服务的应用平台搭建方法

Publications (2)

Publication Number Publication Date
CN111930348A CN111930348A (zh) 2020-11-13
CN111930348B true CN111930348B (zh) 2023-11-07

Family

ID=73314782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010744333.0A Active CN111930348B (zh) 2020-07-29 2020-07-29 一种基于微服务的应用平台搭建方法

Country Status (1)

Country Link
CN (1) CN111930348B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277234B (zh) * 2022-08-01 2024-01-09 重庆标能瑞源储能技术研究院有限公司 一种基于物联网平台微服务的安全认证方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193546A (zh) * 2017-04-11 2017-09-22 国网天津市电力公司信息通信公司 一种微服务化业务应用系统
CN107562472A (zh) * 2017-08-24 2018-01-09 四川长虹电器股份有限公司 基于docker容器的微服务系统及方法
CN109343829A (zh) * 2018-08-09 2019-02-15 广州瀚信通信科技股份有限公司 一种java语言分布式微服务治理框架
CN111161816A (zh) * 2019-12-22 2020-05-15 中国人民解放军新疆军区总医院 基于虚拟化技术的移动平板医疗系统
CN111158792A (zh) * 2020-01-02 2020-05-15 普元信息技术股份有限公司 分布式架构下实现动态可配置的服务参数校验处理系统及其方法
CN111274046A (zh) * 2020-01-16 2020-06-12 平安医疗健康管理股份有限公司 服务调用的合法性检测方法、装置、计算机设备及计算机存储介质
CN111447222A (zh) * 2020-03-26 2020-07-24 广东电网有限责任公司 一种基于微服务架构的分布式系统权限认证系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200007556A1 (en) * 2017-06-05 2020-01-02 Umajin Inc. Server kit configured to marshal resource calls and methods therefor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193546A (zh) * 2017-04-11 2017-09-22 国网天津市电力公司信息通信公司 一种微服务化业务应用系统
CN107562472A (zh) * 2017-08-24 2018-01-09 四川长虹电器股份有限公司 基于docker容器的微服务系统及方法
CN109343829A (zh) * 2018-08-09 2019-02-15 广州瀚信通信科技股份有限公司 一种java语言分布式微服务治理框架
CN111161816A (zh) * 2019-12-22 2020-05-15 中国人民解放军新疆军区总医院 基于虚拟化技术的移动平板医疗系统
CN111158792A (zh) * 2020-01-02 2020-05-15 普元信息技术股份有限公司 分布式架构下实现动态可配置的服务参数校验处理系统及其方法
CN111274046A (zh) * 2020-01-16 2020-06-12 平安医疗健康管理股份有限公司 服务调用的合法性检测方法、装置、计算机设备及计算机存储介质
CN111447222A (zh) * 2020-03-26 2020-07-24 广东电网有限责任公司 一种基于微服务架构的分布式系统权限认证系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Microservice Security Agent Based On API Gateway in Edge Computing;Rongxu Xu等;《Sensors 》;第19卷(第22期);1-17 *
基于微服务架构的统一应用开发平台;李春阳;刘迪;崔蔚;李晓珍;李春岐;;计算机系统应用(第04期);43-48 *
基于微服务的分布式应用配置管理平台研究与实践;刘星;《中国优秀硕士学位论文全文数据库 信息科技辑》;I139-129 *
基因检测管理系统的设计与实现;陈佳林;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-197 *

Also Published As

Publication number Publication date
CN111930348A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN109219793B (zh) 用于消息收发代理平台的方法、装置和非暂时性计算机可读存储介质
KR102317535B1 (ko) 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템
US7831707B2 (en) Methods, systems, and computer program products for managing electronic subscriptions
US20180124193A1 (en) System and method for displaying contextual activity streams
CN111176963B (zh) 一种服务评价信息的处理方法及装置
CN114418705B (zh) 一种存放货物的方法、装置及系统
US20160050279A1 (en) METHOD FOR MANAGING IoT DEVICES AND ANALYZING SERVICE OF BIG DATA
CN102946343A (zh) 访问音视频社区虚拟房间的方法和系统
CN103402195B (zh) 企业级移动终端的应用处理方法和企业级移动应用平台
CN104579909B (zh) 一种用户信息的分类、用户分组信息的获取方法和设备
CN113572689A (zh) 微服务网关管理方法、系统、设备、可读存储介质及产品
US11625692B2 (en) Generating a waste profile
CN114338793B (zh) 消息推送方法、装置、电子设备及可读存储介质
CN111930348B (zh) 一种基于微服务的应用平台搭建方法
US10009220B2 (en) In-vehicle information system and information processing method thereof
US20230393858A1 (en) Techniques for bootstrapping across secure air gaps with static sidecar
US20190149956A1 (en) Systems and methods for vehicle telematics registration
US10250548B2 (en) Social media engagement engine
US20140046857A1 (en) System, Method, and Software for Enterprise-Wide Complaint Aggregation
CN113794678A (zh) 一种兼容多种登录方式的方法、装置及计算机储存介质
CN112118276B (zh) 媒体资源的推送方法及装置
KR102186643B1 (ko) 소셜 로그인을 이용한 통합 쇼핑 정보 제공 방법
CN112860456A (zh) 日志处理方法和装置
CN103902148B (zh) 一种信息处理方法及电子设备
CN106060133A (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
GR01 Patent grant
GR01 Patent grant