1.1 概述
基础服务平台对外接收需求任务的信息,解析下发给数据管理和其他业务分系统,并对任务执行情况进行监控,同时汇总运维信息,对硬件资源和软件状态进行监控,以及容器云平台资源管理。
该分软件实现对系统用户、角色、组织结构、权限、日志、应用配置等信息的综合性管理。
1.2 功能
基础服务平台用于系统运行其他分系统的应用配置、安全管控,页面控制等,包含接入控制、安全管理检查、密码服务,模板管理,工作流可视化编辑等技术功能,可实现对系统用户、角色、组织结构、权限、场景数据、过程数据、结果数据的综合管理。同时,用户和权限功能后期将由外部系统统一控制。主要功能模块包括:
(1) 日志管理模块
1) 日志记录管理功能
针对系统中的数据、项目、文档和资源等的操作,系统详细记录其操作用户、操作时间、操作类型、项目名称、登录IP、对象密级、日志级别和备注等信息;可通过连接外部统一的日志管理中心将系统日志上传统一管理。
2) 日志删除管理功能
支持删除日志信息。
3) 日志查询管理功能
支持按操作用户、起始时间、结束时间、登录IP、操作类型等方式对日志进行查询。
4) 日志导出管理功能
支持按操作用户、起始时间、结束时间、登录IP、操作类型等查询的信息对日志进行导出,能够提供详细记录操作信息日志功能。
5) 日志整合分析管理功能
能够按照功能权限划分要求,不同用户只能查看其权限范围内的日志记录。
6) 日志清洗管理功能
支持发现并纠正日志文件中可识别的错误,包括检查数据一致性,处理无效值和缺失值等。
(2) 用户管理模块
能够创建、修改、删除用户信息,可接入外部系统用户信息进行访问,后期用户需要在外部系统统一管理,能支持无需输入密码验证的URL级别集成,能够为用户授予各类权限,权限主要分为页面访问权限、数据操作权限(添加、修改、删除的权限)、文件操作权限(查阅、上传、下载、删除等);能够对数据源等配置进行管理。
(3) 门户管理模块
系统具备统一访间入口及工作界面,并能提供外部系统链接访问。
(4) 应用配置模块
实现对各分系统程序的管理、配置和调度服务。
1) 业务控制管理功能
实现了对各分系统的业务控制管理服务,主要包括对各业务分系统中业务处理进程运行过程及参数控制管理,包括进程的启动和终止,进程参数配置、告警处理和相应的上级管理系统的指令信息等。
2) 业务状态管理功能
业务状态管理模块实现了为各分系统提供业务状态管理的服务。能接收、收集各分系统的业务数据,并将接收到的数据与每级保存的数据进行比较,根据预设的监控策略进行处理。
3) 业务运行状态管理功能
该模块实现了为各分系统提供软硬件运行状态管理的服务。能对各业务节点上,由调度功能发送的各程序的运行状态信息进行接收和收集,包括进程所在主机的主备状态、所在节点、占用CPU资源、占用内存等数据;以及节点运行状态信息,包括节点负载情况,磁盘空间占用情况等。
4) 容器管理功能
容器云平台提供基于服务名称的自动发现服务,并支持配置上游DNSServer来打通外部解析规则,通过在集群节点上运行DNS缓存,可以缩短DNS查找的延迟时间。
5) 配置中心管理功能
支持配置生命周期管理和配置文件版本管理。
6) 应用管理功能
支持容器编排。
7) 微服务治理功能
支持多种应用的灰度发布策略,可按照流量比例和请求内容对新老版本进行流量路由,确保应用平滑升级。
8) 任务作业调度功能
支持定时抽取业务数据库的数据,定时运行任务,定时推送日报、月报指标数据等。
(5) 消息管理模块
提供消息管理操作,支持消息发送、接收、管理等功能。
1.3 组成
图 6.4373基础服务平台组成图
1.4 接口
1.4.1 外部接口
基础服务平台对外信息接口关系如图所示,接口关系描述见表:
图 6.4374基础服务平台外部接口
表 6.4184基础服务平台外部接口关系
1.4.2 内部接口
基础服务平台内部模块之间无接口,分系统无内部接口。
1.5 处理流程
图 6.4375基础服务平台工作流程
1.6 用户管理模块
1.6.1 概述
权限管理模块支持用户和用户组、角色的管理操作,用户与用户组与角色关联,用户可自定义角色,角色关联一组权限集合,包括节点、服务、工作负载、任务等资源的生命周期管理,如:创建、启动、停止、删除等操作。
1.6.2 功能
l 能够创建、修改、删除用户信息,可接入外部系统用户信息进行访问,后期用户需要在外部系统统一管理,要支持无需输入密码验证的URL级别集成:
l 能够为用户授予各类权限,权限主要分为页面访问权限(需密码验证、无密码验证)、数据操作权限(添加、修改、删除的权限)、文件操作权限(查阅、上传、下载、删除等);
l 能够对数据源等配置进行管理。
1.6.3 组成
图 6.4376权限管理软件组成图
用户-表示能认证并访问系统资源的个体;每个用户被且仅被一个域所有;
用户组–表示一组用户的集合,每个用户组仅包含同一域下的多个用户;
项目-是范围(Scope),是资源的容器;通过项目来定位到资源的特定子集;每个项目被且仅被一个域所有;
域-是用户/用户组和项目的管理边界;域之间完全隔离;每个用户/用户组、项目属于且仅属于一个域;
角色-用于关联用户/用户组和项目;用户需要赋予与项目有关的角色才能访问该项目,通过且仅通过角色来授予用户权限;也可以将权限集分配一个用户组,该用户组内的所有用户都会被赋予相同权限;
允许多用户共享使用集群资源,但不同域(用户)的容器、应用等资源在逻辑上相互隔离。用户登录系统后,根据其在不同项目下的角色可以切换项目视角进行操作。在Kubernetes集群中,项目与KubernetesNamespace是一一对应的。
1.6.4 接口
1.6.4.1 外部接口
图 6.4377外部接口关系图
表 6.4185外部接口关系表
1.6.4.2 内部接口
无。
1.6.5 工作流程
图 6.4378处理流程
(1) 模块启动,进行系统初始化。
(2) 等待消息输入,根据输入的消息,进行相应处理。
(3) 如果是算法管理消息,则进行算法管理参数检查,并按照消息进行算法的新增、编辑、删除操作,更新算法库。
(4) 如果是流程管理消息,则进行流程管理参数检查,并按照消息进行流程的新增、编辑、删除操作,更新流程库。
(5) 如果是任务管理消息,则进行任务管理参数检查,并按照消息进行任务的新增、编辑、删除操作,更新任务库。
(6) 如果是任务执行消息,读取数据库,为任务执行准备输入数据,按照算法编排的顺序,为每个算法准备输入参数,并收集每个算法输出结果。
(7) 任务执行完毕,将最终结果、中间结果保存至数据库。
1.6.6 用户与用户组管理功能
支持本地用户和组管理。
1.6.7 角色权限管理功能
角色管理包括角色新增、角色删除、角色修改、角色查询4个功能模块。
1.6.8 人员管理功能
人员管理包括人员新增、人员删除、人员修改、人员查询4个功能模块。
表 6.4186 XXXXXXX功能模块输入和输出表
1.6.9 项目权限管理功能
l 支持用户下面向项目的资源分配和隔离体系;
l 项目用户可自由切换所关联的多个项目;
l 用户和组通过角色与项目进行关联,两者角色可以叠加;
l 项目间资源根据需求灵活分配。
1.6.10 域管理功能
域之间实现应用、网络、资源隔离。
1.6.11 权限分配功能
对用户采用分组的形式进行管理,具有相同访问权限的用户属于一组,以简化权限的分配和用户的管理。通过用户组的方式对用户进行访问权限的分级控制。在一个组内的用户具有相同的数据资源访问权限。系统可以添加一个用户组,可以将系统权限、数据访问权限分配给一个用户组;系统也可以根据需要修改用户组的基本信息或者删除某个用户组。
系统选择相应的用户,为用户分配某个或者某几个角色,并能添加用户到用户组,用户具有用户组的相应的系统权限和数据访问权限,也可以从一个用户组中选择用户进行删除,并保障用户的基本信息并不删除。通过以上操作,实现用户、角色、用户组的有机关联,从而达到权限分配的目的。
1.7 日志管理模块
1.7.1 概述
该软件支持日志管理功能,包括容器日志管理、日志的收集整合、系统日志收集、日志查询和日志备份等功能。基于开源EFK日志方案,解决了日志收集处理瓶颈,满足超大规模日志收集需求,同时与客户本有/第三方的日志系统进行相应的对接。
1.7.2 功能
基于开源EFK日志方案,支持容器的日志的统一收集、集中展示
支持实时及历史容器日志的查看,可按多条件进行过滤筛选,如时间、应用、主机等。
1.7.3 组成
图 6.4379日志管理软件组成图
1.7.4 接口
图 6.4380外部接口关系图
表 6.4187日志管理软件输入和输出表
1.7.5 日志记录管理功能
根据日志类别、系统标识、IP、时间段查询满足条件的日志信息。
用户登录后,记录用户名、用户ID等信息,在用户进行数据、项目、文档、资源操作时,通过记录用户操作,系统详细记录其操作用户、操作时间、操作类型、项目名称、登录IP、对象密级、日志级别和备注等信息;系统可通过连接外部统一的日志管理中心将系统日志上传统一管理。
1.7.6 日志删除管理功能
根据查询条件进行删除满足条件的所有日志信息。
(1) 登录业务管理系统,界面点击进入日志管理,点击“删除”按钮;
(2) 提示“是否删除”之后,如果删除就请求数据库进行删除;
(3) 删除完成反馈是否删除成功状态;
(4) 界面展示日志列表数据
1.7.7 日志查询管理功能
根据日志类别、系统标识、IP、时间段查询满足条件的日志信息。
(1) 登录业务管理系统,界面点击进入日志管理,选择不同条件进行查询;
(2) 系统根据查询条件反馈不同的结果数据;
(3) 界面展示日志列表数据。
1.7.8 日志导出管理功能
管理员可以进行日志导出工作,界面提供筛选,可以按照用户名、按照时间、按照日志级别、按照日志类型等,对日志进行导出,导出的日志可以存储为文本方式,cvs格式等。
1.7.9 日志整合分析功能
l 基于开源EFK日志方案,支持容器的日志的统一收集、集中展示
l 支持实时及历史容器日志的查看,可按多条件进行过滤筛选,如时间、应用、主机等
l 支持基于Web浏览器查看容器的实时日志输出
l 可通过关键字快速检索到容器日志,支持模糊查找和精确查找
l 日志上下文关联查看
l 支持日志警报功能,通过在特定时间段内匹配特定的关键字出现的次数来触发进行告警
l 支持将日志内容里的关键字转换为监控指标;
l 支持日志中心日志的归档功能,可按归档策略进行定时归档。
1.8 门户管理模块
1.8.1 概述
本系统通过单点认证体系,实现系统的权限统一管理和系统间无缝跳转,系统通过建立统一认证的平台,用户在一次登录之后(只输入一次用户名和口令,进行身份确认),就可以使用在此系统平台上所有的服务和应用,无须再次输入用户名和口令进行身份认证。
当用户登录系统时,单点登录服务首先查询当前用户的令牌状态,如果无状态信息,则提示用户登录系统,并通过身份认证服务器进行身份认证,如果认证通过,同时获取令牌状态,登录成功,跳转相应功能;认证失败,提示失败信息,返回登录页面。有状态信息的用户,直接跳转用户选择的功能模块。
统一身份认证平台采用统一的用户信息数据库,实现用户统一验证。用户登录到系统后,用户需要访问其他应用系统时,用户不必登录就可以直接进入应用系统。同时,统一身份认证平台能够记录用户登录各个系统的日志信息,方便系统管理员进行统计分析。通过统一身份认证平台的主控,各个业务分系统的业务逻辑不需要独自的维护用户数据库及其分配用户的权限,而用户在登录了一次以后就可以自由在各个业务分系统之间跳转,而不需要再次的登录。
CAS Client与受保护的客户端应用部署在一起,以Filter方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client会分析该请求的 Http 请求中是否包含Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的CAS Server登录地址,并传递Service(也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户输入认证信息,如果登录成功,CAS Server随机产生一个相当长度、唯一、不可伪造的Service Ticket,并缓存以待将来验证,之后系统自动重定向到Service所在地址,并为客户端浏览器设置一个Ticket Granted Cookie(TGC),CAS Client在拿到 Service 和新产生的Ticket 过后,与CAS Server进行身份合适,以确保Service Ticket的合法性。在该协议中,所有与CAS的交互均采用SSL协议,确保,ST和TGC的安全性。协议工作过程中会有2次重定向的过程,但是CAS Client与CAS Server 之间进行Ticket 验证的过程对于用户是透明的。
1.8.2 功能
系统具备统一访问入口及工作界面,并能提供外部系统链接访问。支持管理员按照不同用户、不同角色配置符合各类人员需求的门户页面
1.8.3 组成
图 6.4381门户管理软件组成图
1.8.4 接口
1.8.4.1 外部接口
图 6.4382外部接口关系图
表 6.4188外部接口关系
1.8.4.2 内部接口
无。
1.8.5 工作流程
图 6.4383门户管理软件工作流程图
1.8.6 用户登录管理功能
用户登录管理模块主要完成用户登录认证。通过查询数据库,找到用户表,完成用户身份认证。本系统采用集中管理集中授权模式,实现多个分系统的统一访问控制授权,降低多个分系统管理维护的复杂度,有效减少人为原因造成的安全性缺失,为业务系统维护的安全性和便利性找到合适的平衡点。
1.8.7 授权管理功能
对用户采用分组的形式进行管理,具有相同访问权限的用户属于一组,以简化权限的分配和用户的管理。通过用户组的方式对用户进行访问权限的分级控制。在一个组内的用户具有相同的数据资源访问权限。系统可以添加一个用户组,可以将系统权限、数据访问权限分配给一个用户组;系统也可以根据需要修改用户组的基本信息或者删除某个用户组。
系统选择相应的用户,为用户分配某个或者某几个角色,并能添加用户到用户组,用户具有用户组的相应的系统权限和数据访问权限,也可以从一个用户组中选择用户进行删除,并保障用户的基本信息并不删除。通过以上操作,实现用户、角色、用户组的有机关联,从而达到权限分配的目的。
1.8.8 交互处理功能
通过接收用户界面输入,完成相应的业务功能。
1.9 应用配置模块
1.9.1 概述
应用配置软件实现对各分系统程序的管理、配置和调度服务。
1.9.2 功能
应用配置分系统通过业务管理软件,通过对业务软件的调度与管理,实现系统自动化运行。管理的对象包括:算法、流程、任务。
算法定义为独立的业务计算单元,目前本系统的算法包括:时间坐标转换、星历计算、轨道外推、接近距离计算、成像条件计算等。
按照业务功能顺序,将多个算法进行串并组合,并对每个算法输入输出进行定义,生成的结果定义为流程。系统提供了拖拽式编辑方式,实现流程的可视化编辑功能。一个流程可以包含多个算法,也可以只包括单独一个算法。任务,是将流程实例化,设置启动参数,包括定时启动、人工启动等,设置运行节点以及其他参数,实现流程的实例化运行。
1.9.3 组成
图 6.4384应用配置软件组成图
1.9.4 接口
图 6.4385应用配置软件接口图
1.9.5 工作流程
图 6.4386应用配置软件工作流程图
1.9.6 业务控制管理功能
业务控制管理模块主要实现了为各分系统服务提供对业务的控制和管理服务。实现了对各分系统的业务控制管理服务,主要包括对各业务分系统中业务处理进程运行过程及参数控制管理,包括进程的启动和终止,进程参数配置、告警处理和相应的上级管理系统的指令信息等。
业务控制主要实现对各个业务节点上的业务程序进行直接调度,包括业务程序的启动、暂停、终止;业务程序的运行方式、启动周期的参数化配置;同时还支持业务程序的流程化编排,根据不同业务需求,对算法业务流程进行定制化编排。
1.9.7 业务状态管理功能
业务状态管理实现了为各分系统提供业务状态管理的服务。业务状态管理模块接收收集各分系统的业务数据并将接收到的数据与级存的数据进行比较,根据预设的监控策略进行处理。
1.9.8 系统运行状态管理功能
1.9.9 功能
运行状态管理主要实现对各个业务节点的运行状态以及该业务节点的业务进程的运行状态,包括业务节点的CPU,内存和磁盘的使用情况,业务进程的存活状态。
1.9.10 容器管理功能
容器云平台提供基于服务名称的自动发现服务,并支持配置上游DNSServer来打通外部解析规则,通过在集群节点上运行DNS缓存,可以缩短DNS查找的延迟时间。平台同时提供全面的应用服务监控数据指标,实时监控应用状态,防止异常访问行为,支持按CPU、内存用量查询TopN负载量高的实例。平台支持丰富的调度策略,默认情况下自动根据主机资源用量进行容器的调度,同时也可以指定容器组的亲和性/反亲和性调度策略,实现主机定点部署或按标签来进行调度及部署。容器云平台提供应用合规检测功能,提供诸如:应用未指定资源预留与限制、应用未指定健康检查与就绪检查配置、应用使用了特权模式等,以确保应用程序遵循最佳实践,降低应用因不合规而影响业务可用性的可能性。
1.9.11 配置中心管理功能
容器云平台配置中心包括配置生命周期管理和配置文件版本管理。
管理应用的配置文件包括配置文件的新增、删除等,当部署应用时,新增配置文件,选择镜像,填写配置基本信息;删除配置文件,平台支持特定版本的配置文件删除和多个版本的特定配置文件删除。
配置文件的版本控制是通过记录配置文件的改动,并且为每次改动编上序号来实现的。例如,赋给配置文件的初版的一个版本为“1.0”,当对配置文件做了第一次修改,版本为“1.1”以此类推。
1.9.12 微服务治理功能
持多种应用的灰度发布策略:蓝绿发布、金丝雀发布;
可按照流量比例和请求内容对新老版本进行流量路由,确保应用平滑升级。
1.9.13 任务作业调度功能
任务作业调度包括定时抽取业务数据库的数据,定时运行hive/spark任务,定时推送日报、月报指标数据等。
1.9.14 系统维护功能
提供系统维护功能,给出系统维护的内容及操作过程。包括备份数据库和事务日志。
数据库在创建之后卸出,从而提供一个装入基点。在此之后每周一次卸出数据库。除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。
备份事务日志需要每天备份一次,以保证数据的恢复程度。
1.9.14.1 恢复数据库系统
如果用户数据库存储的设备失效,从而数据库被破坏或不可存取,通过装入最新的数据库备份以及后来的事务日志备份可以恢复数据库。
卸出数据库和事务日志的缺省权限归数据库所有者,且可以传递给其他用户;装载数据库和事务的权限也归数据库所有者,但不能传递。
1.9.14.2 产生用户信息表
系统维护人员的一个日常事务是为用户创建新的信息表,并为之授权。
系统具备可移植性。
1.10 消息管理模块
1.10.1 概述
提供消息管理操作,支持消息发送、接收、管理等功能。
1.10.2 功能
提供消息管理操作,支持消息发送、接收、管理等功能
1.10.3 组成
图 6.4387消息管理软件组成图
1.10.4 接口
图 6.4388外部接口关系图
表 6.4189外部接口关系
1.10.5 工作流程
图 6.4389消息管理软件工作流程图
1.10.6 消息接收功能
实现消息接收。
1.10.7 消息处理功能
实现消息处理。
1.10.8 消息推送功能
实现消息推送。
1.10.9 消息记录功能
实现消息记录。
1.10.10 消息清理功能
实现消息清理。