一种基于公共服务的卫星通信管理系统软件体系架构设计

2019-12-11 03:45
数字通信世界 2019年11期
关键词:总线公共服务统一

(南京熊猫汉达科技有限公司,南京 210004)

1 引言

一个软件应用系统,除了核心业务处理功能外,还需要一系列辅助的功能和服务作为支撑,以构成一个整体。比如,面向用户的软件,都需要提供用户管理能力,包括用户的增加/修改/删除、用户权限的设置、用户登录/操作的鉴权、用户日志的记录与审计等。

一个复杂的软件应用系统,通常会由多个软件系统或分系统组成,这些分系统之间通过接口交互,相互依赖,相互配合,共同完成整个应用系统的功能目标。这些软件分系统的一些基础功能和服务可以一体化设计和实现,也可以由分系统独自设计和实现。

独自设计和实现的缺点在于:一是分系统间缺少“共识”,所有数据共享需要全部依赖接口交互,为达成“共识”,需要做大量的数据传输和适配;二是不同的实现会导致标准不同、粒度不同、功能不同,复用度差;三是用户使用时,往往需要对数据进行重复录入、对用户进行重复登录、对流程进行重复管理,数据冲突和人工干预增加了系统故障率和维护成本。

为此本文提出了一种基于公共服务的卫星通信管理系统软件体系架构设计。其具体设计分为以下几步:一是详细分析系统功能和性能需求,构建公共服务体系;二是软件系统前端架构设计,完成前端功能及公共服务设计;三是软甲系统后端架构设计,完成后端功能及公共服务设计;四是统一软件架构设计,完成系统功能及公共服务设计。

2 公共服务模型

卫星通信管理系统主要包括以下几个分系统,如综合显控系统、站网管控系统、任务规划系统、任务调度系统、资源管理系统、综合服务系统、卫星测控系统等。根据以上软件功能需求,抽象并分离出一些公共服务,包括:基础数据服务、消息总线服务、数据访问服务、安全管理服务、配置管理服务、运行维护管理服务、虚拟平台管理服务。

基础数据服务,提供对整个系统公共基础数据的授权管理与访问服务,基础数据包含数据字典、隶属关系、生产厂家、设备型号、站型型号、信道模块、卫星载荷、波束信息等。

消息总线服务,为软件系统提供系统间或系统内部即时消息的订阅、发布和可靠交互等服务。

数据访问服务,为软件系统提供统一的数据库读取和写入服务,对各系统屏蔽数据库操作和库表结构。

安全管理服务,为各软件分系统提供统一的用户管理、角色管理、权限管理、用户操作鉴权、用户日志记录与监视、用户日志查询分析与审计、用户日志备份等服务。

配置管理服务,为各软件分系统提供统一的运行参数配置与管理服务,及时为软件系统提供运行所需参数,以及实时通告配参数变更,提供各软件分系统的零配置启动运行能力。

运行维护管理服务,为软件系统提供通用的软件进程状态与性能、网络拓扑连接关系、网络交换机运行状态、硬件资源状态与性能、软件接口交互流量等监视和管理功能,提供通用的运行维护管理界面呈现,实现标准化的软件系统运行维护管理服务。

虚拟平台管理服务,为虚拟化平台提供虚拟机的创建、配置和运行,虚拟机的监控和管理,以及虚拟机资源的扩充等功能。

3 前端架构模型

传统的前端架构,采用页面进行业务处理和人机呈现,不同的页面提供不同的功能,每个页面根据需要建立事件通道和数据通道,根据页面业务逻辑的需要,接收事件和传送数据。传统前端架构模型如图1所示。

图1 传统前端架构模型示意图

传统前端架构模型,打开多个页面,建立多个事件通道和数据通道,需要消耗更多的Web浏览器和服务器资源。

本文提出一种新的前端架构WebOS。该架构在一个页面内,为用户提供类操作系统桌面,以窗口的方式提供人机交互界面。该架构提供统一的事件总线和数据总线,作为桥梁,连接后台Web服务器和前端各功能窗口,如图2所示。

除了事件总线和数据总线外,WebOS还提供一些公共服务,包括:日志记录、告警服务、对象共享、统一定时、桌面管理、访问控制、快捷访问等服务。

4 后端架构模型

本文提出一种基于公共服务构建的通用后台架构。在公共服务的基础上,各应用系统只需关注和实现自己核心业务的功能,从而使整个系统获得更强的可扩展性、更高的可靠性和效率、更好的用户体验。

这些公共的服务和模块包括:安全管理服务、基础数据服务、数据访问服务、配置管理服务、运行维护管理服务、消息总线服务、前端数据处理服务、前端事件处理服务。

安全管理服务提供鉴权和日志功能;基础数据服务提供基础资源数据;配置管理服务为各分系统分发配置参数;消息总线服务为各应用系统提供公共、实时、可靠的消息分发;消息总线服务提供对所需信息的接收和分发;前端数据处理服务提供前端数据预处理和分发;前端事件处理服务提供前端事件预处理和分发。

在公共服务的支撑下,各分系统只需要实现一系列核心业务处理模块,调用需要的公共服务完成相应的功能。

5 统一架构模型设计

针对便于后续系统的扩展和维护需求,通过对现有模型需求的深入分析,对综合显控系统、站网管控系统、任务规划系统、任务调度系统、资源管理系统软件采用统一的软件体系架构进行设计,即面向服务(SOA)的体系架构。各分系统在进行软件设计时,根据系统资源和时间约束条件,进行定时、定量和规模分析,综合考虑余量。考虑的具体关联因素包括临界时间、数据传输速率、CPU负载、内存资源、程序规模等。

WebOS前端架构模型和通用后端架构模型进行统一架构和设计,整合出统一的基于公共服务的卫星通信管理系统软件架构,如图3所示。

前端采用WebOS,统一提供事件总线、数据总线、日志记录、告警服务、统一定时服务、桌面管理、访问控制、快捷访问等公用服务。

后端采用基于公用服务的架构,统一提供安全管理服务、基础数据服务、数据访问服务、配置管理服务、运行维护管理服务、消息总线服务、前端数据处理服务、前端事件处理服务等。

图3 统一的基于公共服务的卫星通信管理系统软件架构模型示意图

6 结束语

目前,公司已经在多个卫星通信管理系统中采用基于公共服务的软件体系架构,并且获得了良好的实际效果。但是公共服务的构建是一个需要长期积累的过程,是一个用经验固化资产的模型,后续公司将继续在系统的开发中积极创新,构建更多、更好地公共服务模型,为后续卫星通信系统软件体系架构设计提供优质的资产库运用。

猜你喜欢
总线公共服务统一
公共服务
坚持严管和厚爱相统一的着力点
公共服务
公共服务
公共服务
碑和帖的统一,心和形的统一,人和艺的统一
统一数量再比较
一种基于CAN总线的误码测试方法
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计