当前位置:首页 期刊杂志

基于内存数据库的战场态势生成方法

时间:2024-06-01

朱国奇

摘要:为了提高战场态势生成的效率,本文介绍了内存数据库和战场态势的生成过程,提出了基于内存数据库的生成战场态势的思想,实现并优化了内存数据库的查询和存储。通过实验证明了该方法具有较好的效果。

关键词:战场态势;内存数据库;态势构建

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2018)02-0043-02

战场态势指主战兵力涉及的作战空间内敌方、我方、中立方兵力以及战场环境当前状态和发展变化趋势。态指当前状态,描述了兵力位置、运动参数和当前环境条件;势指发展趋势,描述了兵力隐含的作战意图、作战能力、相互关系、可能的威胁程度和环境条件未来变化[1]。战场态势信息能够对作战环境进行更加全面的描述,利于指挥员更加快速、准确地做出作战决策,提高决策的时效性。

战场态势的生成在提高信息化、联合化和智能化的同时也面临了信息量急剧增加、信息种类繁多,以及实时处理性强等新要求[2]。本文利用内存数据库的快速存储和查询技术,实现战场态势的显示过滤和排序等功能,很大程度地提高了态势处理的时效性。

1 内存数据库技术

内存数据库是将数据放在内存中直接操作的数据库[3]。由于内存的读写速度比硬盘要高出几个数量及,所以把数据存储在内存中比在硬盘中能够很大程度上提高数据库的访问效率,提高数据库性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以,数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道[4]。

本文采用SQLite内存数据库。SQLite是一个轻量级的关系数据库,相对于传统数据库,SQLite具有更好的实时性、系统开销小、底层控制能力强。SQLite能够高效地利用有限资源,提高数据的存取速度,增强系统的安全性[5]。其特性包含:

(1)零配置。SQLite数据库在使用前不需要安装设置,不需要配置管理,不需要用户权限。

(2)支持大多数的程序开发语言和操作系统,方便数据库的移植和数据文件的自由共享。

(3)存储数据量大。SQLite数据库最大支持2TB大小的数据库,字符串和BLOB类型的数据块可达到2GB字节。

(4)支持绝大多数SQL-92标准的SQL命令,支持视图,嵌套SQL,常用数据函数,支持事务处理等特性。

2 战场态势生成过程

在军事应用中,战场态势是指战场上敌、我兵力分布及战场环境的当前状况和变化发展趋势。在指挥控制系统中,数据信息主要来源于各种侦查设备和探测平台,以及其他或者上级指挥控制系统转发的目标信息。由于在指挥控制中存在多种类型、多批次目标,所以在生成态势前,一般需要对目标进行融合操作。因此,战场态势的生成过程一般分为信息获取、信息传输、目标融合、态势显示和分发等环节。

信息获取主要通过各种侦察、探测平台与传感器以及其他或者上级指挥控制系统转发的目标信息。

信息传输指态势信息获取与分发的传输过程。当前战场信息的传输主要通过网络方式。

目标融合指对接收到的多源目标信息进行关联、融合的处理过程。

态势显示与分发接收战场态势生成的态势信息,在海图和列表上同时进行显示,为指挥员提供相应作战态势视图。同时,把生成的态势信息进行整理,根据外部接口的要求发送到其他情报中心。

3 基于内存数据库的战场态势设计

战场态势的生成信息,需要在海图和列表上同事显示,为指战员提供战场态势视图,帮助指战员做出决策。传统的战场态势的显示结构一般分为三层,数据接收层、数据处理层、态势显示层。由于本案例中的战场态势为某电子战的战场态势,在电子战系统中,由于目标种类繁多且目标数据量较大,并且用户需求在列表显示上存在大量的数据排序操作,在态势显示上同时存在大量的显示过滤条件。为了满足功能需求和实时性要求,本文采用基于内存数据库的分层战场态势设计。

3.1 软件系统设计

基于内存数据库的战场态势软件总共可分为4层,即数据接收层,数据处理层,数据库层,战场态势显示层。软件架构示意图如图 1所示。

数据接收层任务为从物理链路接收数据,将数据传递给数据处理层进行处理。一般情况下数据接收层接收的为网络数据,采用TCP或UDP协议。

数据处理层主要将数据接收层发来的数据按照借口协议进行解析,以及业务流程的处理。

内存数据库主要存储数据处理层处理好的、用于战场态势显示的目标信息。该层结构在SQLite数据库接口的基础上,封装一层更加方便程序调用的数据库接口。

战场态势显示层根据界面操作,从数据库中排序查询或者过滤查询目标数据,根据不同的目标数据,在界面上分层绘制目标图形和填写数据表格。

3.2 数据库设计和优化

根据侦查设备和上级指挥控制系统传送的目标信息,依据不同的目标属性建立不同的数据库表格。在实际应用中,数据库可以分为雷达辐射源数据库、航迹数据库、激光目标数据库、通信辐射源数据库等。内存数据库与战场态势显示的数据关系如图2所示。

态势显示层通过调用数据库接口,获取目标数据,根据目标属性,在界面上的相应位置上画出图标。

由于系统设计要求能够具备处理瞬时大量数据的能力,因此,为了保证存取数据的效率,还需对数据库的读写操作进行优化。

(1)使用事务。所谓“事务”,即对数据库的一组SQL操作,这些数据库操作要么全部执行,要么全部不执行。数据库每插入或更新一条数据,默认先打开一个事务,然后执行操作,最后执行事务。这样,在数据插入或更新的时候,就是频繁的开启和关闭事务。手动开启事务,可以避免数据库自身的频繁开启和关闭事务,提高效率。

(2)使用执行准备。通常情况下,数据库每执行一句SQL语句,首先要对SQL语句进行“词法分析”和“语法分析”,这里就会浪费掉大量时间。执行准备就是先将SQL语句编译好,数据来时,直接执行操作就行,这样就可以省去大量的时间。

3.3 实验结果

战场态势界面刷新周期为1秒,数据量最大的表格在满负荷目标的情况下,排序刷新平均所用时间为30ms;海图态势中数据量最大的目标在满负荷的情况下,查询刷新平均时间不大于10ms;数据量最大的目标满负荷数据写入平均耗时65ms;全部目标满负荷写入耗时小于100ms,读取刷新时间也在100ms内。因此,完全符合系统设计要求。

4 结语

本文介绍了利用内存数据库的快速存取、查询的特点,设计了生成战场态势的方案,并通过改进优化,提高数据库的存取速度和查询效率,最后通过測试证明了方案的有效性。

参考文献

[1]程晓雪.海战场综合态势构建与同步方法[J].指挥信息系统与技术,2016,7(3):53-57.

[2]臧勤,李树文,刘佳媛.一种基于数据库的综合态势生成方法[J].雷达与对抗,2015,35(2):19-21.

[3]周游弋,董道国,金城.高并发集群监控系统中内存数据库的设计与应用[J].计算机应用与软件,2011,28(6):128-130.

[4]肖挺莉,李名杰.基于内存数据库的数据快速处理航显技术[J].中国民航大学学报,2012,30(5):23-26.

[5]王春艳,李帅.SQLite在飞艇监控中的应用与优化[J].雷达科学与技术,2014,12(6):609-612.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!