一种军事信息系统信息流的复现系统及方法与流程

文档序号:14022932阅读:364来源:国知局
一种军事信息系统信息流的复现系统及方法与流程

本发明具体涉及一种军事信息系统信息流的复现系统及方

法,属于军事信息系统技术领域。



背景技术:

军事信息系统的信息流即是军事信息系统在实际工作过程中产生的业务信息流。研究军事信息系统信息流,对于信息化条件下上的军事训练分析具有重要作用,但目前还没有对军事信息系统信息流进行采集、分析以及复现的工具。

军事信息系统是分布式系统,各节点通过计算机网络进行通信。由于分布式系统的物理和逻辑资源的分散性以及系统异构网络的复杂性,采集各个分布式单元的底层报文信息并对其信息进行整合分析就比较困难。多代理系统是指多个独立自主的代理组成的系统,每个代理都是一个智能的实体,它们能够互相协作共同解决复杂的问题。代理技术作为下一代分布式计算技术,具有灵活性和代理功能,能够有效地解决分布式军事信息系统底层信息分析所面临的问题。

代理开发平台有aglet平台、voyager平台和jade平台。aglet平台的名字是agent和applet的结合,它可以看作是一个具有代理行为特征的applet对象,aglet代理可以在两台具有aglet环境的主机上实现迁移,所以其本质是一个移动代理对象。voyager平台的功能有远程对象生成、引用、迁移、applet通信、垃圾回收等,它既可以用来开发移动代理,又可以创建分布式应用程序,但由于开发的停滞,目前关于voyager平台的研究和使用较少。jade平台是用纯java语言编写的代理开发平台,它遵循制定代理通信规范的国际组织(fipa)的通信规则,支持多代理之间的协作,具有很好的平台无关性。



技术实现要素:

本发明目的是提供一种军事信息系统信息流的复现系统及方法,把军事信息系统工作过程中产生的业务指令以图形化的方式展现出来,方便用户从不同的维度去观察信息流的实际情况。以军事信息系统底层业务报文为数据源,结合jade多代理系统和web图形化界面展现,设计了一种信息流复现系统及方法。

本发明的技术方案具体为:

军事信息系统信息流的复现系统,包括数据采集层、数据分析层、数据应用层。数据采集层负责采集军事信息系统底层业务报文数据包并分析报文信息,并将报文信息发送到数据分析层;数据分析层负责获取数据采集层传递来的报文信息,并对报文信息进行去重和匹配处理,同时分析军事信息系统网络节点信息,对网络节点状态进行周期性监控;数据应用层负责与用户直接交互,维护信息流复现系统的数据库,提供信息流复现系统的服务,接收用户在客户端的浏览器上的操作,将服务器处理结果以web图形界面的方式呈现给用户。

如上所述的数据采集层包括数据采集模块:

数据采集模块的功能由多个数据采集代理实现。在军事信息系统工作过程中,上下级节点之间会产生不同类型的交互数据。通过采集军事信息系统底层数据包,分析数据包报文信息即可得到的业务记录信息。考虑到在军事信息系统上部署数据包捕获程序可能会影响军事信息系统工作性能,为了不影响信息系统正常工作,数据采集代理采用交换机端口镜像的方式将流经网卡的数据包复制到镜像端口,在镜像端口利用数据包采集工具(jpcap函数库)对包含业务信息的军事信息系统数据包进行采集,利用伯克利数据包过滤机制(bpf)对数据包进行过滤,将过滤后的数据包存在本地磁盘中。数据采集代理对存储到磁盘的数据包进行传输协议解析和业务协议解析,将解析得到的报文信息映射为相应的xml文档,报文信息包括收方ip地址、发方ip地址、业务类型、时间这些信息,相应的xml文档通过套接字socket发送到数据分析层的数据分析代理。

如上所述的数据分析层包括数据分析模块:

数据分析模块的功能由数据分析代理实现。数据分析代理接收多个数据采集代理发送的包含报文信息的xml文件,将xml文件解析后的业务记录信息存储到本地数据库。一条正常的业务指令会在两个数据采集代理中都有记录。因此,数据分析代理通过对比数据库中业务记录的源地址、目的地址、数据类型以及时间,完成对所有业务记录信息的去重和匹配。

在军事信息系统进行部署时会产生一个xml文件,它包括了系统拓扑结构信息。数据分析代理利用xml解析api(dom4j)解析此xml文件,获得军事信息系统网络节点的层级、军用车类型、ip地址这些信息,并将其写入到本地数据库中。

利用解析xml文件可以获取到规划的军事信息系统拓扑结构信息,但在实际使用过程中,受外部因素以及系统自身的稳定性影响,军事信息系统局部节点可能会出现网络中断。实时的信息流复现时需要网络拓扑进行实时监测,判断网络节点是否出现故障,更新军事系统网络节点状态。数据分析代理利用ping工具开启多个线程,探测数据库中各ip地址所代表的网络节点是否能够正常通信,通过周期性监控判断网络监控代理所解析到的系统拓扑结构信息是否发生变化,如果某ip地址不能正常通信,则将该ip地址所代表的网络节点在数据库中的属性改为异常。

在完成对数据库中业务记录和网络节点状态的分析后,数据分析代理将数据库中的信息映射到xml文件,通过套接字socket发送到数据应用层的服务端代理。

如上所述的数据应用层,服务端代理接收数据分析代理发送的xml文件,将解析后的信息存储到本地数据库中。数据应用层功能模块包括:用户管理模块、数据采集与分析模块、业务记录查询模块、信息流复现模块。

(1)用户管理模块

用户管理模块包括增加用户和删除用户功能。为了保证信息流复现系统的安全性,系统设置了三种用户类型:超极管理员、管理员、普通用户。每种不同类型的用户具有不同的系统使用权限。超极管理员具有添加、删除管理员以及普通用户的权限,还具有查询、删除业务记录的权限,管理员具有查询、删除业务记录的权限,普通用户只具有查询业务记录权限。

(2)数据采集与分析模块

数据采集与分析模块与数据采集层中的数据采集模块、数据分析层中的数据分析模块相对应。在用户登录系统后,选择数据采集与分析模块中的数据采集,启动所有的数据采集代理,选择数据分析则启动数据分析代理,完成对采集到数据的分析和系统网络节点信息的监测,并将分析后的结果存储到本地的数据库表,通过xml文件发送到服务端代理。

(3)业务记录操作模块

业务记录操作模块包括业务记录查询和业务记录删除两个功能。业务记录查询能够查看业务记录,并能够按照收方、发方、业务类型、时间这些条件对业务记录进行搜索。业务记录删除能够按照特定业务收方、发方、业务类型以及时间段对业务记录进行删除。方便用户对特定的收方、发方、业务类型以及时间的业务进行关注。

(4)信息流复现模块

web界面展示图的主要形式包括三个组件:时间轴组件、信息交互图组件、业务信息表格组件。

时间轴组件,能够在时间轴上以柱状图的形式呈现不同时刻所有业务类型的报文数量,该柱状图的横轴为时间轴,纵轴为报文总数,在每个柱体中用不同的颜色区分该时间段内不同业务类型的报文;信息交互图组件,表示军事信息系统之间的业务信息流走向,同颜色的线条表示不同的业务类型;业务信息表格组件包括分类汇总表格和消息汇总表格,分别表示设置的时间范围内不同业务类型的报文信息的分类统计和每一条业务记录的具体收发方、时间、业务类型。

所述方法利用上述系统实现,具体为:

步骤1,启动信息流复现系统,登陆系统;

步骤2,点击数据采集,执行军事信息系统各系统单元的数据采集代理和服务端代理;

步骤2a,数据采集代理通过端口镜像的方式,将流经网卡的数据包复制到镜像端口;

步骤2b,数据采集代理利用数据包捕获函数库(jpcap),函数库捕获数据包,实现对军事信息系统业务数据包的采集,

步骤2c,数据采集代理利用伯克利数据包过滤器(bpf)包过滤机制对捕获的数据包进行过滤,并将过滤后的数据包以.pcap文件的形式存储到本地磁盘中;

步骤3,点击暂停采集,数据采集代理停止对业务信息数据包的采集;

步骤4,点击数据分析,数据分析代理开始对存储的数据包进行解析,并启动数据分析代理;

步骤4a,首先对存储的数据包进行传输协议解析,再根据军事信息系统各业务报文的协议格式进行业务协议解析,将解析得到的业务信息映射到xml文件;

步骤4b,数据采集代理通过套接字socket将业务信息xml文件发送到数据分析代理;

步骤4c,数据分析代理接收多个数据采集代理发送的包含业务信息的xml文件,通过xml文件解析api(dom4j)将xml文件解析后的业务信息存储到本地数据库;

步骤4d,数据分析代理通过对比数据库中业务记录的源地址、目的地址、数据类型以及时间,对多个代理所采集到的所有业务记录信息进行去重和匹配;

步骤4e,数据分析代理利用dom4j解析军事信息系统部署时产生的xml文件,获取各节点的层级、军用车类型和ip地址这些信息,并将其写入到本地数据库中;

步骤4f,数据分析代理利用ping工具开启多个线程,探测数据库中各ip地址所代表的网络节点是否能够正常通信。若某ip地址不能正常通信,则将该ip地址所代表的网络节点在数据库中的属性改为异常。

步骤4g,数据分析代理将业务记录数据表和网络节点数据表中的信息映射到两个xml文件,通过套接字socket将这两个xml文件发送到数据应用层的服务端代理。

步骤5,服务端代理对数据分析代理发送的数据进行处理,服务端代理提供web服务以及与用户交互的接口;

步骤5a,服务端代理接收数据分析代理发送的xml文件,解析文件信息,写入到业务记录数据表和网络节点信息数据表中;

步骤5b,用户通过业务记录操作,查看或删除数据表中的业务记录信息。

步骤6,信息流复现;

步骤6a,服务端代理对业务记录数据表和网络节点信息数据表进行关联分析,生成信息流数据表;

步骤6b,信息流复现客户端通过访问服务端代理通过的web服务,查看数据采集分析的结果以及复现的时间轴、信息交互图以及业务信息表格。

本发明的有益效果在于:本发明采用eclipse开发工具编程,利用jade平台开发多代理系统,结合mysql数据库和javaweb技术,设计了军事信息系统信息流的复现系统,通过时间轴、信息交互图、业务信息表格三个组件实现对军事信息系统信息流的复现。系统中各个代理能够分解信息流复现的数据采集、处理和运算工作,减少服务器过量的处理负担。在实际环境下的试验表明,该系统为用户及时、准确地掌握军事信息系统业务的信息流提供了一种行之有效的方法。

附图说明

图1是本发明的系统体系架构图;

图2是本发明的系统各层次中的代理;

图3是本发明的网络监测流程图;

图4是本发明的数据应用层的功能模块结构图;

图5本发明的数据应用层的数据库结构图;

图6是本发明的系统运行流程图;

图7是本发明的系统部署图。

具体实施方式

下面结合附图对本发明的具体实施方式进行说明:

实施例1

本系统以eclipse平台作为开发环境,利用java语言编写军事信息系统信息流的复现系统,将信息流业务记录的采集、分析以及复现任务分解到多个代理。系统以数据包分析为基础,通过端口镜像的方式与军事信息系统相连,利用jpcap函数库捕获数据包,完成对军事信息系统业务记录信息的采集。通过解析军事信息系统部署信息的xml文件,获取各节点的层级、军用车类型和ip地址这些信息,并辅以ping工具完成对系统拓扑结构监控。在此基础上,对采集的数据进行分析并通过web图形化形式完成对信息流的复现。

系统体系架构图如图1所示。系统分为数据采集层、数据分析层、数据应用层三个层次。军事信息系统信息流的复现系统中各层的主要功能依靠各个代理实现,系统中各个代理相互关联,支撑起系统中数据采集层、数据分析层以及数据应用层的功能,互相合作完成信息流的复现。系统各层次中的代理如图2所示。利用jade代理平台开发多个代理,各代理之间采用基于同步的socket通信,把有用的信息作为封装在xml文档中,数据信息的传输通过xml文件的传输来实现。

各层次所实现的主要功能如下:

数据采集层:负责采集军事信息系统底层业务报文数据包并分析报文信息,并将其信息发送到数据分析层;

数据分析层:负责获取采集层传递来的报文信息,并对其进行去重和匹配处理,同时分析军事信息系统拓扑结构,对网络节点状态进行周期性监控保证拓扑信息的正确性

数据应用层:负责与用户直接交互,维护信息流复现系统的数据库,提供信息流复现系统的服务器,接收用户在客户端的浏览器上的操作,将服务器处理结果以web图形界面的方式呈现给用户。

各层的具体实现如下:

(1)数据采集层

数据采集层包括数据采集模块,数据采集模块的功能由多个数据采集代理和一个网络监控代理实现。

数据采集代理

在军事信息系统工作过程中,上下级节点之间会产生不同类型的交互数据。通过采集军事信息系统底层数据包,分析数据包报文信息即可得到的业务记录信息。考虑到在军事信息系统上部署数据包捕获程序可能会影响军事信息系统工作性能,为了不影响军事信息系统正常工作,数据采集代理采用交换机端口镜像的方式将流经网卡的数据包复制到镜像端口,在镜像端口利用数据包采集工具(jpcap函数库)对包含业务信息的军事信息系统数据包进行采集,利用伯克利数据包过滤机制(bpf),根据数据包的源地址、目的地址、端口号等信息的组合来对数据包进行过滤,将过滤后的数据包存在本地磁盘中。数据采集代理对存储到磁盘的数据包进行传输协议解析和业务协议解析,将解析得到的报文信息映射为相应的xml文档,业务记录包括源地址(sourceaddr)、目的地址(destaddr)、指令类型(commtype)、时间(timestamp)、这些信息,此xml文件通过套接字socket发送到数据分析代理。

数据采集代理中对镜像口中数据包的捕获使用了循环代理行为cyclicbehaviour,对数据包进行捕获。在cyclicbehaviours的action()中调用数据包捕获函数库(jpcap),通过getdevicelist()获取网络接口列表,通过opendevice()选择用于捕获数据包的网络接口,利用回调函数processpacket()捕获数据包。调用jpcap.handlepacket()函数根据数据包的源地址、目的地址、端口号等信息的组合对数据进行过滤,把过滤后的数据包存储到磁盘中。

(2)数据分析层

数据分析层包括数据分析模块,数据分析模块的功能由数据分析代理实现。

数据分析代理

数据分析代理接收多个数据采集代理发送的多个xml文件,通过dom4j解析xml文件获取业务记录信息,将业务记录信息存储到数据库中。数据分析代理通过对比数据库中各业务记录的收方ip地址、发方ip地址以及业务类型,完成对所有业务记录信息的去重和匹配。

数据分析代理对军事信息系统部署时产生的xml文件进行解析,将军事信息系统的拓扑结构中的网络节点信息存储到数据库中,网络节点属性包括层级(hierarchy)、军用车类型(vehicletype)、ip地址(ipaddr)、是否异常(isnormal)。通过解析xml文件可以获取到规划的系统节点信息,但在实际环境下中,受系统自身以及外部因素影响,军事信息系统局部节点可能会出现网络中断。数据分析代理利用ping工具开启多个线程,探测系统拓扑结构信息的各ip地址所代表的网络节点是否能够正常通信,通过周期性监控判断网络监控代理所解析到的系统拓扑结构信息是否发生变化。网络监测流程图如图3所示,监测程序创建10个探测线程和统计线程,在探测线程中周期性向所有数据库中网络节点的ip地址方向发送icmp探测包,对其链路状态进行监测;在统计线程中通过分析icmp响应包判断网络节点是否能够正常通信。通常情况下,响应时间大于1s的网络是不可用网络,属于严重堵塞或中断状态。当收到响应的时延大于1s的时候,记录该icmp响应包的发送ip地址,将该ip地址所代表的网络节点在数据库中的属性改为异常。

在完成对数据库中业务记录和网络节点状态的分析后,数据分析代理将数据库中的信息通过dom4j写入到xml文件,通过套接字socket发送到数据应用层的服务端代理。

(3)数据应用层

数据应用层的数据库结构图如图4所示。军事信息系统信息流的复现系统采用mysql数据库,通过java数据库连接api(jdbc)来完成对数据库的操作。数据库包括用户数据表、业务记录数据表、网络节点数据表以及信息流数据表。用户数据表中存放着系统的用户信息,用户实体的属性包括用户名、密码以及用户权限,在初始条件下,用户数据表中只有一个默认用户名和密码均为admin的超级管理员用户。业务记录数据表中存放着业务记录信息,业务记录实体的属性包括发方ip地址、收方ip地址、业务类型、时间。网络节点数据表中存放着军事信息系统网络节点信息,网络节点实体的属性包括层级、军用车类型、ip地址、是否异常。服务端代理接收数据分析代理利用套接字socket发送的业务记录xml文件以及网络节点xml文件,通过dom4j对两个xml进行解析,分别将业务记录和网络节点信息存入本地的业务记录数据表和网络节点数据表。在用户完成对业务记录的操作,进行信息流复现时,根据ip地址对业务记录数据表和网络节点数据表的进行关联,生成信息流数据表,信息流数据表中包含信息流信息,信息流实体的属性包括发方军用车类型、发方层级、收方军用车类型、收方层级、业务类型、时间、是否异常。

数据应用层包括用户管理模块、数据采集与分析模块、业务记录操作模块、信息流复现模块。系统数据应用层的功能模块结构图如图5所示,系统运行流程图如图6所示。

服务端代理启动web服务与客户端进行交互,将数据采集、分析的结果以及复现的信息流以web形式展现给用户。

用户管理模块:用户管理模块包括增加用户和删除用户功能。为了保证信息流复现系统的安全性,系统设置了三种用户类型:超极管理员、管理员、普通用户。每种不同类型的用户具有不同的系统使用权限。超极管理员具有添加、删除管理员以及普通用户的权限,具有查询、删除业务记录的权限,管理员具有查询、删除业务记录的权限,普通用户只具有查询业务记录权限。

用户管理模块中的用户信息存储在users数据库中。users数据库中用户实体的属性包括,用户名、密码、用户权限。在初始条件下,用户数据表中只有一个默认用户名和密码均为admin的超级管理员用户,超极管理员可以更改自己的密码,可以增加、删除用户满足系统使用需求。

数据采集与分析模块:数据采集与分析模块与数据采集层中的数据采集模块、数据分析层中的数据分析模块相对应。在用户登录系统后,选择数据采集与分析模块中的数据采集即启动网络监控代理和所有的数据采集代理,选择数据分析则启动数据分析代理完成对采集到数据的分析,并将分析后的结果发送到服务端代理存储到业务记录数据表中。

业务记录操作模块:业务记录操作模块包括业务记录查询和业务记录删除两个功能。在完成对业务信息的数据采集和分析后,业务记录查询能够查看数据采集模块采集到业务记录,业务记录按时间先后进行排序。并能够按照搜索条件对业务记录进行搜索,搜索条件包括收方、发方、业务类型、时间段,方便用户对特定业务收方、发方、业务类型以及时间段的业务进行关注。业务记录删除能够按照特定业务收方、发方、业务类型以及时间段对业务记录进行删除。业务记录操作模块的操作的数据来自于业务记录数据表。

信息流复现模块:

信息流复现的目标是以图形化界面方式展示对军事信息系统底层业务报文数据的采集分析结果,并根据获取到的网络拓扑结构信息,在网络拓扑图中对业务信息流的走向进行模拟复现。

用户完成对业务记录的操作后,选择信息流复现,把信息流表中的信息流进行复现。web界面展示图的主要形式包括三个组件:①时间轴组件,能够在时间轴上以柱状图的形式呈现不同时刻所有业务类型的报文数量,该柱状图的横轴为时间轴,纵轴为报文总数,在每个柱体中用不同的颜色区分该时间段内不同业务类型的报文。②信息交互图组件,表示军事信息系统之间的业务信息流走向,不同颜色的线条表示不同的业务类型。③业务信息表格组件,分别表示在设置的时间范围内不同业务类型的报文信息的分类统计和每一条报文信息的具体收发方、时间、业务类型。

信息流复现的图形化展示界面的设计采用mvc设计模式,以服务端代理生成的数据库为信息源,通过javascript实现图形的绘制。

时间轴组件通过echarts中的堆叠柱状图构建,它的底层依赖与轻量级的canvas类库zrender,能够提供形象、可交互的数据可视化图表,在此图中的一个柱体中通过颜色的不同可以表示该时间范围内所包含的业务报文类型以及这些业务类型的数量多少。

信息交互图组件通过d3.js和svg构建。svg支持对矢量图形的缩放和平移而不失真。通过d3绘制出不同的军事信息系统的军用车,构建出各层级军用车之间拓扑关系展现图,根据数据库中的业务记录实现对信息流的复现。

业务信息表格组件表示的是设置时间范围内的业务报文的统计和将具体信息,其内容是不断刷新的,为保证数据刷新时界面的连续性,利用ajax实现网页的异步更新。后台根据前端请求的字段从数据库中查询信息,返回json格式的信息,在对json格式信息解析后,在前端进行渲染,实现表格消息的刷新。

实施例2

在实验室搭建了军事信息系统环境以及jade代理运行环境,并对系统进行了部署应用。系统部署图如图7所示,图7中包括:路由器1,主交换机2,交换机3,军事信息系统训练单元4,数据采集代理5,数据分析代理6,服务端代理7,客户端8。使用一台h3cs5000系列的路由器和七台华为s5700s系列的二层交换机搭建了一个小型的局域网,此局域网通过单臂路由的方式连接,除主交换机外,其余各交换机以及与其相连接的主机代表一个网段,军事信息系统的训练单元主机与各自的数据采集代理处于局域网的同一网段之中,不同的数据采集代理处于不同的网段,但它们能够互相通信。数据包捕获代理通过交换机与军事信息系统主机相连,它所在主机的网口连接在做了端口镜像设置的交换机的监控端口上,能够获取到军事信息系统主机之间通信的底层数据包。

通过对该系统的使用,能够采集到军事信息系统工作时的业务信息,帮助用户从收发方、业务类型、时间段等角度分析军事信息系统发送的典型业务信息,并利用采集到的数据实现信息流的复现,为军事人员分析军事信息系统训练流程,研究新的军事训练方法提供了有效的数据支持。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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