一种卫星故障诊断推理机系统及方法

文档序号:25481136发布日期:2021-06-15 21:40阅读:108来源:国知局
一种卫星故障诊断推理机系统及方法

本发明涉及卫星故障诊断技术,特别涉及一种卫星故障诊断推理机系统及方法。



背景技术:

随着航天任务的不断增加和商业航天的快速发展,卫星的星座级部署成为常态。在轨运行的卫星数量、地面批量化研制的卫星数量、甚至卫星本身的复杂度都有了大幅提高。因此,面向卫星的故障诊断难度也在不断增加,传统的推理机设计方法不能完全适应当前的任务需求,计算能力面临巨大挑战。

目前,卫星故障诊断推理机设计方法存在以下不足:

一、基于卫星的推理机设计,为每1颗卫星单独运行1套推理程序,虽然实现了不同卫星之间的数据隔离,但是随着卫星诊断遥测数量的大幅增加,1台推理机的运算能力难以实现数千条遥测量的实时并行计算,偶尔会出现卫星故障未识别、遥测异常未报警的现象;

二、随着硬件计算能力的发展,服务器硬件内存、cpu的计算性能都在近几年得到了显著提升,推理机的运算量设计却依然停留在软件优化层面,没有充分利用硬件资源,导致软件计算能力不足、服务器计算能力冗余过大的现象;

三、目前,没有针对推理机运行数量的负载自适应方法。推理机的运行数量越多,意味着计算能力越强,但同时占用的硬件资源也就越多,超过一定限制后,推理机启动时刻的负载压力大、运行阶段崩溃风险高。如何在推理程序的计算能力、硬件资源的供应能力之间取得最优平衡,尚无可应用的方法;以及

四、目前,推理机的管理仅围绕“启动”、“停止”设计,以卫星为单位的推理机运行方法,一旦遇到状态异常或规则修改等原因需要停止推理机的时刻,便会导致整颗卫星所有分系统的监测任务都被停止的问题,在推理机重新启动之前都无法诊断。因此,卫星各分系统之间的监测任务相互影响。



技术实现要素:

针对现有技术中的部分或全部问题,本发明一方面提供一种卫星故障诊断推理机系统,其基于卫星分系统运行,所述推理机系统包括:

多个分系统推理模块,所述任一分系统推理模块对应一个卫星分系统,用于对卫星分系统的知识规则进行推理运算;

负载控制器,与所述分系统推理模块可通信地连接,用于获取分系统推理模块的负载压力,并根据所述负载压力调整推理机系统的运算范围,控制系统负载。

进一步地,所述分系统推理模块采用多线程并行计算,每一条知识规则对应一个线程。

进一步地,所述负载控制器包括:

负载监测模块,包括:

软件资源获取接口,用于根据设定的采样间隔,获取系统软件资源使用情况;以及

硬件资源获取接口,用于根据设定的采样间隔,获取系统硬件资源使用情况;

控制参数配置模块,用于参数设置,其中,所述参数包括采样间隔、资源上限值以及触发值;

负载控制模块,其与所述系统负载监测模块可通信地连接,用于根据所述系统软件及硬件资源使用情况,计算当前分系统推理模块的负载压力,并根据所述负载压力,制定控制指令;以及

负载调整模块,其与所述负载控制模块可通信地连接,用于根据所述控制指令,调整所述推理机系统的运算范围。

进一步地,所述系统软件资源使用情况包括卫星分系统级范围内的接收遥测数据量以及待推理知识规则数量。

进一步地,所述系统硬件资源使用情况包括推理机系统所在服务器的cpu使用率、内存占用率。

进一步地,所述调整推理机系统的运算范围包括调整分系统推理模块开启数量、计算线程数量以及计算速度及方法。

本发明另一方面提供一种卫星故障诊断的方法,包括:

对推理机系统状态进行初始化,确定卫星分系统及对应的卫星代号;

获取各分系统范围内的所有知识规则,并对数据库中的知识规则进行遍历,获取在线运行的知识规则数量;以及

启动对应的分系统推理模块,采用多线程计算方式,根据实时遥测和知识规则编译表达式进行推理运算,得到诊断结果和故障信息。

进一步地,所述方法还包括,调整推理机系统的负载,包括:

暂停推理机系统的运行;

调整推理机系统的运算范围:

若负载压力高于第一触发值,则执行负载降低控制指令;以及

若负载压力低于第二触发值,则执行负载提升控制指令;以及

启动推理机系统。

进一步地,所述负载降低控制指令包括:关闭部分分系统推理模块,若没有多余进程可以关闭,则关掉1/2数量的计算线程,所有知识规则共享剩余线程。

进一步地,负载提升控制指令包括为关键单机增加一个专用的推理进程。

本发明提供的卫星故障诊断推理机系统及方法,以卫星分系统为初始单位进行推理机计算,实现卫星故障诊断的分布式运行与管理,各卫星分系统之间的监测任务相互独立、互不影响,其将软件程序的计算压力分散到高性能的硬件资源上,用推理机的多线程并行计算实现卫星大数据量的实时监测;同时,所述系统采用负载自适应方法,根据系统软、硬件的资源占用量,定时动态调整推理机在线运行的线程数量,兼顾计算性能与可靠性,确保诊断精度、报警速度以及系统稳定度,有效避免故障漏报、推理程序崩溃、硬件资源过剩等现象。

附图说明

为进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。

图1示出本发明一个实施例的一种卫星故障诊断推理机系统的原理示意图;以及

图2示出本发明一个实施例的一种卫星故障诊断推理机系统的负载控制器的结构示意图。

具体实施方式

以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免模糊本发明的发明点。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明并不限于这些特定细节。此外,应理解附图中示出的各实施例是说明性表示且不一定按正确比例绘制。

在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。

针对现有推理机计算能力不足等问题,本发明结合多星并行故障诊断的需求,提出一种卫星故障诊断推理机系统及方法,其以卫星分系统为初始单位进行推理机计算,用推理机的多线程并行计算实现卫星大数据量的实时监测;同时,所述系统采用负载自适应方法,根据系统软、硬件的资源占用量,定时动态调整推理机在线运行的线程数量。下面结合实施例附图,对本发明的方案作进一步描述。

图1示出本发明一个实施例的一种卫星故障诊断推理机系统的原理示意图。如图1所示,一种卫星故障诊断推理机系统,包括多个分系统推理模块以及负载控制器。

所述任一分系统推理模块为一个推理进程,对应一个卫星分系统,用于对卫星分系统的知识规则进行推理运算。当所述推理机系统启动时,其按照卫星分系统的范围启动,即卫星的每一个分系统单独启动一个推理进程,即启动一个分系统推理模块,对该分系统范围内的知识规则进行推理运算。在本发明的一个实施例中,所述分系统推理模块采用多线程并行计算方式,在无负载控制的情况下,每一条知识规则占用一个线程,各卫星分系统之间无运算依赖,不同卫星分系统之间的推理进程相互独立。

在无负载控制情况下,基于所述推理机系统,一种卫星故障诊断的方法,包括:

首先,对推理机系统状态进行初始化,确定卫星分系统及对应的卫星代号。如图1所示的实施例中,包括n颗卫星,其中每个卫星包含1-n个不等的卫星分系统,任一卫星分系统具有独立的专家规则库,以存放知识规则,因此,接收到多星遥测数据后,进行故障诊断前,需要判断各个数据对应的卫星分系统及其所属的卫星代号;

接下来,获取各分系统范围内的所有知识规则,并对数据库中的知识规则进行遍历,获取在线运行的知识规则数量;以及

最后,启动对应的分系统推理模块,采用多线程计算方式,根据实时遥测和知识规则编译表达式进行推理运算,得到推理结果,其中,所述推理结果包括诊断结果和故障信息。

所述负载控制器与所述分系统推理模块可通信地连接,用于获取分系统推理模块的负载压力,并根据所述负载压力调整推理机系统的运算范围,控制系统负载。所述负载控制器可以为一个或多个,例如,其可以与所述分系统推理模块一一对应,也可以一个负载控制器控制多个分系统推理模块。

图2示出本发明一个实施例的一种卫星故障诊断推理机系统的负载控制器的结构示意图。如图2所示,所述负载控制器包括负载监测模块201、控制参数配置模块202、负载控制模块203以及负载调整模块204。

所述负载监测模块201用于与外部资源建立通信接口,根据设定的采样间隔,定时监测系统软硬件资源使用情况。所述负载监测模块201包括软件资源获取接口以及硬件资源获取接口,其中软件资源获取接口,用于根据设定的采样间隔,获取系统软件资源使用情况。在本发明的一个实施例中,所述系统软件资源使用情况包括卫星分系统级范围内的接收遥测数据量以及待推理知识规则数量,其中,接收遥测数据量通过读取数据库中遥测列表的写入量获得,例如读取采样间隔t,并根据所述采样间隔定时获取已经存入数据库列表的卫星遥测数据,统计实时写入的数据量a,待推理知识规则数量通过读取专家知识库中的“已发布的知识规则数量b”获得。在本发明的又一个实施例中,所述系统硬件资源使用情况包括推理机系统所在服务器的cpu使用率、内存占用率,其通过如下方式获取:通过硬件资源获取接口,读取采样间隔t,并根据所述采样间隔定时获取“推理机系统所在服务器cpu使用率c”、“推理机系统所在服务器内存占用率d”。

所述控制参数配置模块202用于参数设置,其可实现人机交互,以设置参数,所述参数包括:负载自适应开关on/off、采样间隔t、资源上限值及触发值,其中,负载自适应开关用于开启或关闭负载控制功能,当其为off时,不进行负载控制,资源的上限值根据系统特性及使用环境设定,包括:接收数据量上限值a0、知识规则数量的上限值b0、硬件cpu使用率的上限值c0、以及内存占用率的上限值d0;所述触发值根据用户需求设定,包括:负载过高的第一触发值high、以及负载过低的第二触发值low。所述参数可在配置文本中设定默认初始数值,也可以自定义修改,在本发明的一个实施例中,所述控制参数配置模块202支持逻辑自校验,仅当high>low时,配置才可保存成功。

所述负载控制模块203与所述系统负载监测模块201可通信地连接,用于根据所述系统软件及硬件资源使用情况,计算当前负载压力,并根据所述负载压力,确定负载情况,制定控制指令。在本发明的一个实施例中,所述负载压力根据所述资源上限值以及系统软硬件资源使用情况,按照百分比换算得到,包括数据量负载率al=a/a0,规则运行量负载率bl=b/b0,cpu负载率cl=c/c0,以及内存负载率dl=d/d0。在本发明的一个实施例中,所述负载情况包括:

负载过高,当4项指标中,有任意一项超过第一触发值时,即(al>high)||(bl>high)||(cl>high)||(dl>high),则认为当前负载过高,此时发送负载降低控制指令;

负载过低,当4项指标全部低于第二触发值时,即(al<low)&&(bl<low)&&(cl<low)&&(dl<low),则认为当前负载过低,资源冗余过剩,此时,发送负载提升控制指令;以及

负载正常,其它情况下,认为负载处于正常的范围内,无需控制。在本发明的一个实施例中,所述第一触发值设置为70%,则当cpu负载率cl超过70%时,即发送负载降低控制指令,进行负载控制,降低计算速度。在本发明的又一个实施例中,所述第二触发值设置为30%,则当4项指标全部低于30%,即发送负载提升控制指令,进行负载控制,提高计算速度。

所述负载调整模块204与所述负载控制模块可通信地连接,用于根据所述控制指令,调整所述推理机系统的运算范围,进而实现推理机系统负载的调整。在本发明的一个实施例中,所述调整推理机系统的运算范围包括调整分系统推理模块开启数量、计算线程数量以及计算速度及方法,包括:当负载压力过大时,降低计算速度、保持分系统推理模块的唯一性,必要时减少并行计算线程的数量,使知识规则共享线程;当负载过低时,提高计算速度,为关键单机专门配备分系统推理模块,使该分系统运行多个分系统推理模块,充分利用软硬件资源,避免浪费。在本发明的一个实施例中,通过所述负载调整模块204调整推理机系统的负载包括:

首先,暂停推理机系统的运行,在控制逻辑发出控制指令后,所述负载调整模块会首先暂停推理机系统的运行,包括分系统推理模块及负载控制器的工作,同时停止消息队列的数据消费过程,使消息队列的数据“只进不出”,消息队列的积累确保了异常遥测数据不会因为推理机系统的负载调整而丢失数据,推理机系统重新启动后,继续消费消息队列的数据内容;

接下来,调整推理机系统的运算范围,推理机停止工作后,开始进行运算范围的修正,包括分系统推理进程数量调整、计算线程数量调整,包括:

若负载压力高于第一触发值,则执行负载降低控制指令,在本发明的一个实施例中,当负载过高时,收到负载降低控制指令,此时关闭部分分系统推理模块,确保该分系统只保留1个分系统推理模块运行,如果没有多余的分系统推理模块可以关闭,则启动低速计算模式,关闭1/2的计算线程数量,所有知识规则共享剩余的线程;以及

若负载压力低于第二触发值,则执行负载提升控制指令,在本发明的一个实施例中,当负载过低时,收到负载提升控制指令,此时启动高速计算模式,为该分系统增加一个运行的分系统推理模块,该分系统推理模块针对关键单机进行重点监测,所述关键单机指资源占用率最高的单机;以及

最后,重新启动推理机系统,运算范围修正后,推理机已经完成了负载调整,需要启动推理机,恢复到正常的工作模式。

尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1