《1 前言》

1 前言

HY-2卫星地面应用系统是一个准实时应用系统,其主要任务是负责我国海洋探测卫星HY-2卫星的业务化运行管理、海洋卫星遥感产品生产及其应用示范服务。HY-2地面应用系统由七个分系统组成,分别是运控通信分系统、接收预处理分系统、精密定轨分系统、资料处理分系统、产品存档与分发分系统、定标和真实性检验分系统、业务应用分系统。

其中运控通信分系统由三个子系统组成,业务运行控制子系统(以下简称 OCS)是其最重要的子系统。运行控制子系统的主要功能是在业务运行期间实现对整个应用系统的任务调度与控制、业务运行和设备状态的监视、协调各系统之间的业务运行,同时配合完成HY-2卫星的业务测控任务,是整个地面系统神经中枢。

《2 功能及性能需求》

2 功能及性能需求

根据任务要求,OCS负责应用系统的业务运行控制、任务调度管理、卫星有效载荷的业务运行管理,它提供整个应用系统集中统一的人机监控界面,实现对业务流程、系统设备及其运行状态的监视与管理。

OCS担负的主要功能性和非功能性任务如下。

1)轨道预报任务。轨道根数报获取和质量检验;多星、三站过境轨道时间计算;多星全球星下点经纬度、卫星高度、太阳高度角与载荷刈幅覆盖区计算;HY-2卫星Tbus报和两行报计算;全球太阳星下点经纬度计算;三站接收大圆计算;三站接力时间计算;其他站点轨道预报。

2)卫星工作计划制定任务。模拟显示卫星运行轨迹晨昏线、载荷刈幅覆盖区、经纬度、接收大圆、太阳高度角;自动或半自动生成 3~7 d 的数传开关机计划;载荷应急管理;激光通信设备开关机管理。

3)业务计划与调度任务。根据HY-2卫星工作计划和卫星接收优先级、卫星数据接力接收(天线资源控制)等因素自动生成地面站接收计划;根据卫星工作计划、接收计划和运行调度规则,生成地面应用系统多星业务运行调度计划;实现HY-2卫星遥感数据传输、预处理、精密定轨、处理、存档业务的自动调度与跟踪;兼容实现其他卫星业务的自动调度与跟踪;实现HY-2卫星遥感数据定制化业务调度与跟踪;实现地面系统业务运行的命令调度与跟踪;为其他分系统提供远程调度代理功能;业务运行人工管理功能。

4)数据管理和信息分发任务。实现与其他分系统的实时数据和文件数据传输;建立业务运行状态数据库,提供业务运行状态数据检索、显示与统计功能;建立系统配置参数数据库,提供各种配置参数的导入、导出与编辑功能;监视系统资源使用情况,异常时报警;定期清理磁盘和数据库的过期数据;半自动生成每日业务运行报表并入库与打印输出;定期(日、周、月、季、年)自动生成业务运行统计报表并入库与打印输出;向接收、预处理与通信软件等分发轨道根数报与时间表;以Web方式提供业务运行状态、配置、业务管理等信息服务;以手机短信方式分发关键业务信息。

5)系统运行状态监视和报警任务。系统设备运行状态图形化分层监视和报警;系统业务运行状态的图形化分层监视和报警;地面站接收系统的快视图监视;各级遥感产品质量与产品图像监视;以二维和三维方式模拟显示卫星运行轨迹、载荷刈幅覆盖区,动态模拟演示卫星飞行过程。

6)处理流程和接口仿真任务。地面站、通信、预处理、处理、存档接口功能仿真;遥感数据处理流程仿真;联调测试用例生成。

7)软件使用要求。作为一个完整的系统,应提供统一的界面设计风格,提供唯一的系统管理和操作入口。

《3 方案设计》

3 方案设计

《3.1 体系架构设计》

3.1 体系架构设计

根据任务要求和特点,OCS采用混合风格的体系结构,即三层 C/S 体系 架构(Piping&Filter)[1] 和 B/S体系架构。

三层体系架构的基本特点是将用户界面处理、业务应用处理、数据处理三类模块相互独立起来,分别由不同的资源代码实现。应用请求/服务机制为Client向业务应用服务器发送业务应用请求,并由业务应用服务器根据具体情况向数据处理服务器发送数据处理请求并将返回的数据处理结果按业务应用请求的要求发给Client端。这种框架的好处是:实现了业务、数据处理和数据安全的完全自治,各类模块相互独立,功能单一,可扩展性好,便于系统管理,易于实现Internet/Intranet应用。

在OCS中将C/S和B/S这两种软件体系架构进行了有机的结合,扬长避短,有效地发挥了各自的优势。C/S方式有强大的数据操作能力、事务处理能力和丰富客户端表现能力;B/S方式客户端实现简单,是典型的“瘦型客户端”,并且有成熟的B/S数据管理中间件。OCS体系结构设计思路是:首先将 OCS从整体上分为两部分,即客户软件和服务器软件;服务器软件根据功能的不同划分为业务层服务器软件和数据层服务器软件,服务器软件的各部件之间通过管道/过滤器方式(在UNIX上用消息队列实现)实时交换信息;客户软件则根据数据来源的不同分为实时客户软件和数据管理客户软件,实时客户软件采用 C/S 方式实时监视显示各类状态数据,而数据管理客户软件则采用B/S方式检索现实数据库中的数据。OCS体系架构示意见图1。

《图1》

图1 OCS体系架构图

Fig. 1 OCS high level design architecture

《3.2 系统组成》

3.2 系统组成

运控子系统是HY-2卫星应用系统的业务运行控制中心,它负责应用系统的计划安排、业务运行控制、任务调度管理、卫星有效载荷的业务运行管理,它提供整个应用系统集中统一的人机监控界面,实现对业务流程、系统设备及其运行状态的监视与管理。

运控子系统由轨道预报模块、卫星工作计划制定及飞行模拟演示模块、业务计划和调度模块、运行数据管理和信息分发模块、系统运行监视和报警模块、数据处理流程和系统接口仿真模块、重处理调度模块七个模块组成。运控子系统功能组成图如图2所示。

《图2》

图2 OCS组成框图

Fig. 2 OCS functionalentities

《3.3 业务流程》

3.3 业务流程

运控子系统的流程包括作业调度流程与系统状态监视流程具体见图3。作业调度流程是描述天地系统卫星工作计划制定、接收计划安排、调度计划生成、任务组织调度、生成业务报表的过程。系统状态监视流程主要对天地系统各种关键设备状态进行监视,这些状态包括星上关键设备状态、地面站关键设备状态、通信子系统关键设备状态、数据处理中心关键设备状态、网络系统关键设备状态等,这些状态通过sockft消息、运控调度代理、网管软件等来收集。

《图3》

图3 OCS业务流程

Fig. 3 OCS operationalflow diagram

运控通信分系统工作流程如下:接收西安卫星测控中心的遥测数据,并进行处理;接收西安卫星测控中心的轨道根数,处理成标准轨道报;利用轨道报进行轨道预报,生成制定卫星工作计划;根据卫星工作计划生成遥控指令,发送西安卫星测控中心,并上行注入卫星;根据卫星工作计划,地面站接收条件约束生成三站接收时间表;根据三站接收时间表生成运行调度计划;根据运行调度计划和时间约束条件向分系统发出调度指令,并接收各分系统上报的调度处理状态消息;对整个业务流程和关键设备状态消息进行实时监视;传输原始数据和单站 L0级数据到中心盘阵;向西安卫星测控中心、哈尔滨工业大学、中国航天科技集团五院等转发原始遥测数据;每天业务运行完成后,对业务信息进行分析统计,生成业务运行日报表;通过 Web 进行业务信息发布。

《3.4 接口设计》

3.4 接口设计

OCS是海洋卫星地面应用系统业务运行的“运行与调度中心”,因此,OCS与地面应用系统中的其他各分系统之间均有软、硬件接口。这些将由OCS 使用和/或管理的系统接口包括:OCS与GS(地面接收站)接口、OCS与DPP(预处理子系统)接口、OCS 与 DCS(通信子系统)接口、OCS 与 TCS(测控子系统)接口、OCS 与 PODS(精密定轨分系统)接口、 OCS与DPS(处理分系统)接口、OCS与PADS(存档与分发分系统)接口、OCS与CVS(定标子系统)接口、OCS的人机交互接口。

其中OCS与GS、DPP、DCS、TCS、PODS、DPS、 PADS、CVS 等分/子系统之间的接口,以及 OCS 内部客户端与服务器之间的接口都是以千兆/百兆网络作为数据传输的载体;OCS与TCS之间通过数据库进行数据交换;OCS与三个地面站则通过电信光纤网络进行数据通信。所有这些接口的目的,都是为了实现整个地面应用系统的计算机连网和业务运行流程控制的可视化和自动化,提升应用系统的互操作性和可操作性,以便有关的分析和控制人员能够对整个地面应用系统的业务运行进行及时、高效的集中监控和管理。OCS外部接口关系见图4。

《图4》

图4 OCS外部接口关系图

Fig. 4 OCS context diagram

采用标准化接口表工具对软件接口的定义进行说明。其中,接口信息格式的一般约定是:大多数信息都应包含一个信息说明头。其格式如表1所示。

《表1》

表1 信息头结构

Table 1 Structure of message head

OCS 的软件接口需求分析和设计将采用接口标准化技术,以表格化、层次化、渐进式地进行软件接口的需求说明、概要设计和详细设计,实现软件接口标准化和计算机辅助标准化软件接口的设计与控制。即,各类接口的属性说明将以表格的形式或XML的方式,按照接口注释与定义(对应需求说明)、接口设备特性说明(对应概要设计)和接口数据结构说明(对应详细设计)几个层次,随着软件由粗到精的开发进程,逐步、逐层地加以说明,直至提供完整的接口定义源程序文件,以便有关的源程序引用。

接口标识符是用来标识不同接口的,每个接口标识符都对应一个唯一的接口,接口标识符的命名规则如下。

1)若首字符用大写字母 Z,代表软件公用子程序接口—公用函数 (Public function)。其后各字符(大小写字母、数字不限)用于公用函数实例本身的命名。详细命名规则见接口表填写指南。

2)若首字符用大写字母 I,代表软件设备/数据接口(interface)。其后的两个字符也用大写字母代表接口类型,并约定如下。CN(CoNstant):常数类; DB(data base):数据库表类;EP(execute parameter):执行参数类;FL(FiLe):文件类;JD(job description):应用系统作业描述类;MS(MeSsage):消息类; OC(operator command):操作员接口类;PD(process description):进程描述类;SG(SiGnal):信号类;SK (SocKet):Socket通信类;SM(share memory section):共享内存段类;SP(SemPhore):信号量类;DP(DisPlay):屏幕显示类;HD(HDLC):简化的HDLC通信类。

第四个及以后的各字符(大小写字母、数字不限)用于各类接口实例本身的命名。

《3.5 技术指标》

3.5 技术指标

运控通信分系统主要从系统可靠性、系统时效性、系统易用性、系统安全性等几个方面提出技术指标,具体包括如下。卫星工作计划制订有效率优于99.9 %;业务运行控制的成功率优于99.7 %;计算机系统的时间统一精度优于100 ms;卫星位置预报精度,外推三天优于1 km;系统在运行期间,针对任何一个重要操作,都必须具有判断错误的能力,必要时可以进行恢复性操作,否则要发出报警消息,以便于人工干预;系统发现程序异常则执行相应的重置操作,临时中断时间不应超过30 s。系统不间断的实时任务周期为24 h。因此,无论是计算机硬件系统还是软件系统都必须具有较高的可靠性和故障后快速(不超过20 min)恢复的能力。一轨数据处理流程实时业务任务调度的完成时间180 min(从数据传输到中心盘阵算起);3 h内完成准实时产品的处理。

《3.6 业务运行调度策略》

3.6 业务运行调度策略

调度策略对一个运行控制系统来说是至关重要,因为它直接影响业务流程安排和故障处理。 HY-2 地面应用系统 OCS 调度任务包括:实时调度任务、定时调度任务、数据重重处理调度任务。由于OCS调度对象不是单一,而且具有层次性,本文参照邹勇[2] 的层次模型提出分层调度模型,主调度负责对系统大流程进行调度,调度代理负责对产品生成内部流程进行调度,这样分层架构将有利于降低调度复杂性。二级调度框架见图5。

《图5》

图5 二级调度框架

Fig. 5 Two-level scheduling framework

1)实时调度任务。OCS作为地面应用系统的运行控制中心,负责业务流程组织,协调各种资源完成数据接收、预处理、处理、存档等业务。自动调度采用时间表驱动和状态消息驱动两种方式来实现。

OCS 提前一天根据轨道预报结果生成接收时间表,将时间表分发给接收子系统和通信子系统,安排各地面站接收计划和数据传输计划;同时根据作业流程配置参数生成调度时间表,调度时间表中约束了各类产品生成步骤及前后约束关系。

OCS 实时调度根据调度时间表启动流程跟踪进程。流程跟踪进程依靠各系统上报的状态消息驱动,根据产品约束关系调度各分系统进程。最后当系统出现异常,需要人工对作业流进行干预,可以从客户端主控台发出手工调度令对作业流进行干预。

运控分系统以实时调度进程、实时作业流程跟踪进程和各分系统调度代理的多级调度方式实现对地面应用系统的调度。实时作业调度进程以带参数的形式启动作业流程跟踪进程,作业流程跟踪以带参数的调度命令方式通知调度代理或直接以 socket命令方式通知分系统来实现启动相应程序对各分系统进行调度;运控分系统调度代理收集各分系统上报作业运行状态消息和产品生成状态消息; OCS根据各分系统上报状态消息做出调度决策。

运控分系统对各分系统调度的单位是程序调度的依据,是事先生成的计划和各系统上报的产品生成状态消息,在各分系统上每个调度程序都对应一个可执行程序。程序的执行结果是产品,产品的处理是一个顺序流的过程,一级产品处理的启动依赖于上一级产品的处理结果,而该级产品的处理结果又影响到下一级产品的处理。因此,当某级产品处理出现故障时,作业流程跟踪调度进程将自动终止受其约束的下一级(或几级)产品的处理,由人工确定故障对策。

2)定时调度任务。HY-2定时调度任务主要包括天、周、月、季、年的定时调度任务。这些任务也将根据作业的配置参数定时提前一天生成调度计划。每天根据时间约束定时启动调度计划,对定时作业进行流程跟踪。为了不影响实时调度作业,定时调度器独立于实时作业调度器。

3)超时策略。当某作业步在其预定的超时范围内由于没有接到分系统上报状态消息而没有完成其下的所有产品的生成,则认为此作业步执行失败,并检查不依赖于此作业步所生成的产品生成情况,确定整个作业进入超时错误处理或继续等待其他产品生成再进入流程的错误处理。错误处理包括检查产品的存档情况和保证对所有生成的产品进行存档。

4)作业回放策略在实时作业的执行过程中接收、传输、预处理、处理、存档分系统都存在失败的可能,操作员在排除故障后要对作业进行回放处理。回放的过程要指明起始作业步和终止作业步。如果接收作业步过时则无效。原则上起始作业步不能是接收作业步。

《4 运行控制软件实现》

4 运行控制软件实现

《4.1 软件功能分配》

4.1 软件功能分配

OCS 软件按照分布式架构可分为 OCS_S 和 OCS_C两个软件配置分项,每一个配置分项又可按功能内聚的原则被分解为若干个程序级部件。OCS 服务器软件 OCS_S 的程序级 CSC 功能分配如图 6 所示。

《图6》

图6 OCS功能分配图

Fig. 6 Functional entities of software

1) 项目(project)。OCS:实时业务运行控制应用软件。

2) 软件配置项(CSCI)。OCS_S:服务器软件分布式配置分项。OCS_C:客户机软件分布式配置分项。

3)程序(一级CSC)。OFP:轨道预报处理程序; OPS:地面应用系统业务运行计划、调度程序;MCS:业务运行监控信息采集和服务程序;DCS:数据通信程序;DMS:数据管理程序;RCM:服务器运行配置管理程序;Client:CS客户端程序;Web:Web管理系统程序。

《4.2 软件部署》

4.2 软件部署

由于OCS是整个地面系统神经中枢,运行环境要求高且可靠,因此OCS的服务器端程序部署一对双机热备的服务器上,任意一台服务器宕机,另外一台服务器能够自动接管。客户端部署在监控工作站上。程序部署具体情况见图7。

《图7》

图7 OCS软件部署图

Fig. 7 Software deployment of OCS

1)硬件配置项(HWCI)。OCH_S_0A:OCS 服务器 A 机;OCH_S_0B:OCS 服务器 B 机;OCH_C_ 01(HMTerminal_MsgCtl):OCS 主控台;OCH_C_02 (HMTerminal_MsgMon):OCS 状态 监视 终端 ; OCH_C_03(HMTerminal_FstView):OCS 快视图终端;OCH_C_04(HMTerminal_MsgCfg):OCS参数配置终端。

2) 计算机软件配置项(CSCI)。OCS_S:OCS服务器软件配置分项;OCS_C:OCS客户机软件配置分项。

3) 程序(一级CSC)。OFP:轨道预报处理程序; PMS:业务运行计划、调度程序;MCS:业务运行监控信息采集和服务程序;DCS:数据通信程序; DMS:数据管理程序;RCM:服务器运行配置管理程序。

4)公用操作包:ZZ:OCS服务器端公共服务操作包。

《4.3 业务运行模式》

4.3 业务运行模式

OCS 的实时业务运行采用自动模式。其自动调度策略是:预先的业务运行计划制定;分布式的计划运行调度;集中式的运行状态监控。

其中,对整个HY-2卫星地面应用系统的实时业务运行的自动监控采用下述原则:OCS对地面接收站和其他分系统既发送计划,又进行远端监控;在执行数据接收/存贮任务前,由运行控制分系统将业务运行计划和轨道跟踪文件发给数据接收站,作为执行卫星跟踪、数据接收/传输任务的依据;在执行实时数据接收/存贮任务期间,数据接收站和各分系统随时接收OCS的调度命令,按照命令的要求执行相应的任务,通过实时数据通信链路将执行情况上报OCS;OCS实时监视数据接收站和其他分系统的设备运行状态和业务运行情况,并按照业务运行计划,根据具体情况发布自动或手动的调度命令,控制各分系统的业务运行。

OCS业务运行人机交互采用基于C/S+B/S架构的分布式处理、集中式监控模式。即所有用户请求都在安装了集中监控客户端软件的计算机终端上发出,按照预先制定的策略和计划分派到可提供相应服务的服务器(主机)上,在服务器与客户机之间建立相应的逻辑链路,由这些服务器根据服务请求执行相应的程序,并将处理结果通过逻辑链路返回给发出服务请求的客户机。

《5 结语》

5 结语

本设计方案已经在HY-2卫星地面应用系统实现、部署、运行,负责地面系统作业任务运行调度和状态监控,是整个地面系统神经中枢。OCS系统采用分层调度模型能很好适应调度对象复杂、层次多的调度任务。