一种多监视源飞行目标并行跟踪处理方法_2

文档序号:8486877阅读:来源:国知局
航迹送入融合处理模块进行系统航迹关联和融合,最终实现对大范 围飞行目标的跟踪监控。
[0037] 具体实施步骤如下:
[0038] 步骤一、多监视源数据接收(对原始数据的接收)
[0039] 原始数据接收模块的底层接口为网络接口,并通过开发包提供的接口,接收到原 始数据,然后将接收到的原始数据递交给预处理模块,按照不同的协议对原始数据进行解 析,CRC校验、计算、处理,处理完毕后存入到数据库。
[0040] 数据接收的上层为数据库,此处为Oracle数据库,设备的原始信息、配置信息等 都通过可视化界面进行配置,保存在数据库中,数据接收模块从数据库中读取配置后开始 数据分类工作,然后进行数据接收。
[0041] 考虑到飞行目标的监视源多,为了保证软件处理数据的实时性,软件会使用多线 程技术,保证数据能够快速接收,防止缓冲区堆满溢出、丢失数据,达到实时处理的要求。软 件启动后,将根据数据库中的雷达参数设置加载协议,并初始化服务,其中包括接收端口和 协议类型等。开启线程,负责对指定的端口进行监听。
[0042] 如图2所示,多监视源数据接收的流程如下:
[0043] 1.建立数据库连接,从数据源参数配置表中读取数据源信息,如果读取数据在日 志记录中给出异常值,并退出程序。
[0044] 2.根据数据源的IP地址、端口、数据类型、数据子类型创建相应的数据接收器,每 个数据接收器为一个线程。
[0045] 3.启动线程,接收相应端口的原始数据。
[0046] 4.接收器线程将接收到的原始数据存入原始数据库中,等待后续处理。
[0047] 步骤二、多监视源数据解析
[0048] 数据解析将原始数据进行报文类型信息判别,调用ADS-B数据解析器或者SSR数 据解析器对数据进行解析,并将解析出的各类报文数据转换成规格化的监视数据格式,存 储到内部数据表中。
[0049] 数据解析模块采用多线程技术实现,解析过程分为三个步骤:数据读取、数据处 理、数据保存。
[0050] 1.启动数据读取线程,从原始数据库中读取原始数据。
[0051] 2.根据原始数据的数据类型启动相应类型的处理线程,对原始数据规格化处理。 规格化处理可分为数据预处理、分类器、数据解析器和格式转换器。
[0052] 分类器是根据接收到的报文类型信息进行判别,并调用相应的解析器对数据进行 解析。在数据解码过程中,采用了版本处理策略:当收到报文时,根据报文中的SAC和SIC 查找版本缓存表中对应的SAC I SIC有无版本记录,若有则使用该版本解析报文;若无版本 或者有版本但解析不成功,则尝试从高到低的其他版本进行解析,若有一个解析成功则记 录到SAC I SIC对应的缓存中用于下一次解析,若解析都不成功则返回解析错误。在使用某 一个版本进行数据解码时,完成如下步骤:
[0053] 报文首次验证:验证报文长度是否至少3个字节;报文类型(报文第一个字节)是 否与解析器匹配;报文长度是否与报文长度字段的数值一致等。若验证通过则进行下一步, 否则停止解析并返回解析错误;
[0054] 解析SAC、SIC信息,根据报文SACl SIC的值查找其上次解析成功时使用的版本 号;
[0055] 尝试解析:若找到上次解析成功时的版本,则根据该版本解析报文,若未找到则依 次尝试用各个版本进行解析,若有一个版本解析成功,则记录该SAC I SIC站的报文的版本 用于下次解析;若都不成功,则返回解析错误。
[0056] 解析成功的报文其各个数据项保存在解析器内部变量中,对于报文中未提供的数 据项设置为默认值,解析成功时可根据需要生成SQL语句,用于更新到数据库中。
[0057] 数据预处理是在数据识别和规格化过程中,进行异常数据处理和数据质量监视和 统计。当录取数据连续多点的斜距差值为零时,就将其视为跟踪丢失;当录取数据的某个点 或某几个点与前后数据差值明显大于正常差值时,将其视为跳点。异常值的统计在程序中 加入计数器,记录异常数据的个数,当异常数据与总数据的比值大于系统的容错值时,数据 视为无效。系统的容错值可以在雷达信号质量监控分析记录的软件中进行设置。原始数据 预处理对于大段丢失数据,直接剔除。对于跳点数据应用相应的算法计算,并予以恢复。
[0058] 数据处理根据从数据库中读取的数据类型,当有消息收到时,主线程开启副线程 对原始数据进行分类和数据格式转换,主线程继续监听。副线程从主线程收到原始数据后, 根据协议对数据进行校验和初步解析,得到原始数据的数据类型,包括监视数据、aftn报文 数据(飞行计划、航行情报、气象情报)、飞行流量监控、空域运行、空管基础设施。副线程将 数据处理完毕后,根据协议,存入数据库,确认后副线程生命结束。期间出现错误,进入容错 处理模块。软件收到用户发出的终止命令,处理完毕数据后,终止主线程。
[0059] 3.启动数据存储线程,将解析后的数据存储相应的数据预处理表中,以备后续使 用。
[0060] 步骤三、雷达数据处理
[0061] 考虑到飞行目标的监视源多,为了保证软件处理数据的实时性,软件的设计采用 了一个二维的多线程控制结构,因而可以较容易地扩展系统和能够快速处理多雷达站点。
[0062] 由于雷达数据处理的速度依赖于雷达数据的读取,需要在事先监控雷达数据的传 输是否已经完成,雷达数据每4s中到达一次,因此必须在4s之内,即在下一个雷达数据到 达之前将所有站点的雷达数据处理完成。每个雷达站的数据处理都由线程来实现,程序通 过多线程控制结构来控制每个雷达不同数据类型的处理。由于每个雷达的不同数据类型的 线程用自身已有的方式串行读取数据,避免了雷达之间和雷达的不同数据类型之间数据访 问的冲突,同时也无需使用其他机制控制数据的访问。
[0063] 本发明设计了一个多线程控制结构,可以将这个控制结构看做一个m行η列的二 维数组,其中行定义了需要处理的M种雷达数据类型,列定义了需要监控的N个雷达站点。 这里用Control [Μ] [Ν]表示这个二位数组,Control [i] [j]则表示了是否可以开始第j个 雷达站点的第i个数据类型处理过程。Control [i][j] = true,则当前可以开始雷达站点j 的数据类型i的处理。若Control [i] [j] = false,则表明对雷达站点的第i个数据类型已 经处理完毕或正在等待处理。通过多线程控制结构可以很容易实现并处理各个雷达站点、 不同数据类型的雷达数据。根据实际的运行情况表明,不是同时并发地处理所有雷达站点 的不同数据类型,而是采用上述的并发与串行结合的方式,有效地控制了系统雷达数据处 理线程的数量,减轻了系统运行时对内存和CPU的需求,同时也不影响雷达数据处理的实 时性。
[0064] 1.启动数据读取线程,从数据预处理表中读取规格化的雷达数据。
[0065] 2.根据雷达站点和规格化雷达的数据类型,启动相应的线程完成对雷达数据的处 理。
[0066] 雷达数据处理完成对各类雷达规格化数据的字段解析,生成单雷达航迹和多雷达 航迹。本模块处理可分为实时质量控制、雷达数据预处理、雷达数据处理。
[0067] 如图4所示,雷达数据处理流程如下:
[0068] 1)过载处理、站点状态判断
[0069] 对雷达
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1