专利名称:用于无人飞艇系统地面站的遥测数据存取方法
技术领域:
本发明涉及的是一种遥控传感技术领域的方法,具体是一种基于内存映射的用于无人飞艇系统地面站的遥测数据存取方法。
背景技术:
无人飞艇系统的地面站通过无线链路将接收的遥测帧解算成遥测数据。遥测数据 的存取方法设计有两大需求一是要方便实现实验数据记录、分析,以及飞行过程复现;二 是满足在线监视系统状态,因此对实时性和可靠性有很高要求。经过对现有技术的检索发现,目前存在两种技术方案。一种是直接以关系型数据 库实现,传统关系型数据库虽然管理数据功能很强大,但是在实时性和可靠性方面性能较 差,通常只适用于低端的小型无人机系统。另一种是采用实时数据库方式实现,例如文献 “飞行试验遥测地面站(FTTGS)方案和QUAD 7系统”(余仁扬,遥测遥控,1993)等。这种实 现方式的核心为内存数据库,即数据库的工作版本常驻在内存中,不需要进行I/O操作。目 前内存数据库的发展相对成熟,在体系结构、数据组织、存取方法、并发控制、故障恢复等方 面均存在多种多样的方式,但是普遍存在部署操作复杂、成本高等困难。内存映射文件是基于Win32的虚拟内存管理机制,允许用户在虚拟地址空间中保 留一段内存区域,把目标文件映射到这段虚拟内存中,主要应用于单个计算机上的数据共 享。与内存数据库相比,内存映射文件也不需要对文件执行I/O操作,性能方面也能够满足 数据存取操作的实时性要求,并且具有占用系统开销低、操作简便,容易实施等优点。无人飞艇系统具有相对独立的各个子系统,其遥测数据的数据结构较为简单、事 务和查询处理可依据子系统进行而得到简化、并且将各子系统的数据进行直接分发可以大 大减少并发操作。
发明内容
针对上述现有技术的不足,本发明提供一种用于无人飞艇系统地面站的遥测数据 存取方法,以内存映射的方式按照所属子系统存入各自的数据文件,可以代替复杂而昂贵 的内存数据库而满足遥测数据存取在实时性、可靠性,易用性方面的要求。本发明是通过以下技术方案实现的,本发明包括以下步骤第一步、将无人飞艇系统的遥测数据保存为包含若干数据文件的内存映射数据 库,同时建立对应的外存数据库,并在外存数据库中设立与内存映射数据库的数据文件 一一对应的工作表;所述的数据文件包括导航映射数据文件、飞控映射数据文件、能源映射数据文 件、推进映射数据文件和环控映射数据文件;所述的数据文件的数据结构为若干个字段串联构成的队列记录,其字段长度和记 录长度可根据需要事先设定。第二步、为内存映射数据库中的每个数据文件设置历史变量和当前变量,其中历史变量用于标识外存数据库中的记录位置,当前变量用于标识内存映射数据库中当前的记录位置;所述的历史变量和当前变量的初值均设置为每个数据文件起始位置;第三步、将更新数据存入内存映射数据库中,并将内存映射数据库中的各个数据 文件中的数据分发至无人飞艇系统的控制端以进行可视化监视;第四步、定时将内存映射数据库中历史变量到当前变量之间的数据文件保存至外 存数据库,当出现异常情况重新启动地面站程序,通过故障恢复模块将内存映射数据文件 的剩余数据导入至历史遥测数据库,使得地面站系统异常时不丢失遥测数据。本发明提供的技术方案能够满足无人飞艇系统对地面站遥测数据存取在实时性、 可靠性,以及操作访问方便等方面的要求,并具有以下有益效果(1)通过内存映射数据文件机制大幅减少了 I/O操作,提高了访问速度,能够满足 通过遥测数据对无人飞行器系统进行监视的实时性要求;(2)内存映射数据文件在程序出现异常时不会丢失,通过文件方式保存数据记录 的位置,实现了故障时不丢失遥测数据,保证了可靠性;(3)与内存数据库的方式相比,本方案占用系统开销低、实现简单、成本低。
图1为实施例示意图。图2为内存映射文件的数据区结构。
具体实施例方式下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行 实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施 例。本实施例中涉及的无人飞艇系统控制端的运行平台为工控机,其主要配置为主频 P4 3. 0G,内存1G,硬盘160G。软件是在Windows XP操作系统环境下采用Visual C++工具 开发的应用程序,所采用的外存历史数据库为Access。所述的控制端接收到的遥测数据共130路,分为导航、飞控、环控、能源、推进等子 系统。例如,导航子系统包括12路惯性导航遥测数据和14路GPS遥测数据;飞控子系统包 括飞行模式、舵偏角等34路遥测数据;环控子系统包括压差、温度、湿度等16路遥测数据。地面站为各个子系统共建立内存映射数据文件12个。其中,下传频率最快为2Hz, 假定某数据文件需要保存12路这类遥测数据、加上时钟同步等信息一次14路遥测数据占 用空间为30字节,则数据文件每秒需要消耗的数据量为60字节,如果事先确定的一次飞行 时间不超过8小时,则设置最大内存映射数据文件为2M就能满足存储空间要求。如图1所示,本实施例包括以下步骤第一步、将无人飞艇系统的遥测数据保存为包含若干数据文件的内存映射数据 库,同时建立对应的外存数据库,并在外存数据库中设立与内存映射数据库的数据文件 一一对应的工作表;如图2所示,所述的数据文件包括导航映射数据文件、飞控映射数据文件、能源映射数据文件、推进映射数据文件和环控映射数据文件;所述的数据文件的数据结构为若干个字段串联构成的队列记录,其字段长度和记 录长度可根据需要事先设定。第二步、为内存映射数据库中的每个数据文件设置历史变量和当前变量,其中历 史变量用于标识外存数据库中的记录位置,当前变量用于标识内存映射数据库中当前的记 录位置;所述的历史变量和当前变量的初值均设置为每个数据文件起始位置;第三步、将更新数据存入内存映射数据库中,并将内存映射数据库中的各个数据 文件中的数据分发至无人飞艇系统的控制端以进行可视化监视;第四步、定时将内存映射数据库中历史变量到当前变量之间的数据文件保存至外 存数据库,当出现异常情况重新启动地面站程序,通过故障恢复模块将内存映射数据文件 的剩余数据导入至历史遥测数据库,使得地面站系统异常时不丢失遥测数据。本实施例中,内存映射数据文件更新至外存数据库的定时周期设置为5秒。在飞 行实验结束并确认所有遥测数据均已保存至外存数据库的情况下,地面站程序正常退出将 自动清空内存映射数据文件,并将变量所标识的记录位置重置为初值;若出现异常退出,则 内存映射数据文件和变量标识保持在退出前的状态,使得重启地面站后可以继续将内存映 射数据文件导入到外存数据库。
权利要求
一种用于无人飞艇系统地面站的遥测数据存取方法,其特征在于,包括以下步骤第一步、将无人飞艇系统的遥测数据保存为包含若干数据文件的内存映射数据库,同时建立对应的外存数据库,并在外存数据库中设立与内存映射数据库的数据文件一一对应的工作表;第二步、为内存映射数据库中的每个数据文件设置历史变量和当前变量,其中历史变量用于标识外存数据库中的记录位置,当前变量用于标识内存映射数据库中当前的记录位置;第三步、将更新数据存入内存映射数据库中,并将内存映射数据库中的各个数据文件中的数据分发至无人飞艇系统的控制端以进行可视化监视;第四步、定时将内存映射数据库中历史变量到当前变量之间的数据文件保存至外存数据库,当出现异常情况重新启动地面站程序,通过故障恢复模块将内存映射数据文件的剩余数据导入至历史遥测数据库,使得地面站系统异常时不丢失遥测数据。
2.根据权利要求1所述的用于无人飞艇系统地面站的遥测数据存取方法,其特征是, 所述的数据文件包括导航映射数据文件、飞控映射数据文件、能源映射数据文件、推进映 射数据文件和环控映射数据文件。
3.根据权利要求1或2所述的用于无人飞艇系统地面站的遥测数据存取方法,其特征 是,所述的数据文件的数据结构为若干个字段串联构成的队列记录,其字段长度和记录长 度可根据需要事先设定。
4.根据权利要求1所述的用于无人飞艇系统地面站的遥测数据存取方法,其特征是, 所述的历史变量和当前变量的初值均设置为每个数据文件起始位置。
全文摘要
一种遥控传感技术领域的用于无人飞艇系统地面站的遥测数据存取方法,通过将无人飞艇系统的遥测数据保存为包含若干数据文件的内存映射数据库,同时建立对应的外存数据库,并在外存数据库中设立与内存映射数据库的数据文件一一对应的工作表;然后为内存映射数据库中的每个数据文件设置历史变量和当前变量,其中历史变量用于标识外存数据库中的记录位置,当前变量用于标识内存映射数据库中当前的记录位置;最终通过将更新数据存入内存映射数据库中,并定时将内存映射数据库中历史变量到当前变量之间的数据文件保存至外存数据库,代替复杂而昂贵的内存数据库,实现对无人飞艇的实时监控,满足遥测数据存取在实时性、可靠性,易用性方面的要求。
文档编号G06F17/30GK101826106SQ20101014210
公开日2010年9月8日 申请日期2010年4月9日 优先权日2010年4月9日
发明者周平方, 段登平, 王曰英 申请人:上海交通大学