一种雷达终端虚拟总线模块组织方法

文档序号:7935506阅读:202来源:国知局
专利名称:一种雷达终端虚拟总线模块组织方法
技术领域
本发明属于软件模块组织方法,尤其涉及一种基于分布式、跨异构通讯网络的软件模块组织方法。
背景技术
软件模块组织方法的研究始于20世纪70年代,几十年来,随着软件规模不断扩大以及复杂程度不断提高,在大量软件工程实践的过程中,不断有新的软件模块组织形式出现。归纳起来主要有以下二种
1)基于单个可执行程序的模块组织方法
该方法是最早的软件模块组织形式,组织结构简单,可扩展性和适应性都较差,软件内各功能模块耦合度高,适合单人开发。在使用版本控制工具后,虽能多人并行开发,但开发过程中需要反复进行开发协调,效率很低。2)基于单个可执行程序多个动态链接库的模块组织方法
该方法是基于单个可执行文件和多个动态链接库的软件模块组织结构形式,其可以通过添加动态链接库的方式使软件获得扩展性。这种组织形式可以降低软件各功能模块间的耦合度,但可执行文件与动态链接库间是紧密联系的,共用一个进程,所以发生错误后,错误会在整个软件中的扩散,导致整个运行程序停止运行。在这种组织形式下,虽可通过合理的模块划分,将软件功能分配到可执行文件和多个动态链接库中以达到多人并行开发提高开发效率,但由于各动态链接库只能与可执行文件通讯,缺乏动态链接库间的平行通讯手段,常导致模块间功能分配不尽合理。目前雷达终端软件模块组织多采用基于单个可执行程序多个动态链接库的模块组织方法。中国专利《一种带有动态扩展性的分布式任务调度软总线方法》(申请号 200610097815. 1)所公开的是一种通过对单一设备功能节点的增减,实现了在分布式网络中能动态的对设备节点的数据、信息进行有效的管理。现有技术还存在以下不足之处
1)缺少在异构网络不同平台之间的数据传输功能
在雷达终端数据通讯过程中,底层通讯硬件除了用到以太网以外,还经常会用到如PCI 总线、RS232链路等传输方式,而现有技术通常只能适用于以太网的通讯,而无法满足其他通讯链路的需求。2)有多种通讯链路的情况下,缺少对数据传输的合理分配
数据传输可以通过多种通讯链路进行,在传统传输过程中,机器通常只会选择通过网卡收发数据,这样会很大程度的浪费资源,同时降低了效率。雷达终端系统的数据传输速度要求很高,如何善用现有的资源,最大程度提高通讯链路的使用率,应该作为解决方案的指导原则。3)缺少对数据传输过程的监测
数据的传输过程中,对数据传输过程的详细情况是我们需要了解的,现有技术没有对传输的数据量和其他应用程序的工作状态的监测,无法很好地把握整体情况,万一出现错误,无法快速地找出问题所在。4)缺少对应用程序的统一管理
现有技术在对应用程序的管理采用的是从上至下的分级管理模式,这种模式虽然能很好地分配资源,但是无法很直观的进行控制,在发送控制命令的时候需要经过多个节点,降低效率。5)缺少人为操控能力
现有技术在获取端点信息的时候多采用自动获取,虽然可以省时省事,但是在特定的情况下不利于临时修改,同时,自动获取的信息出现错误,在维护方面会很麻烦。

发明内容
本发明的目的是针对背景技术所述不足,提供一种雷达终端软件模块组织方法, 解决现有雷达终端软件设计中面临的扩展性差、适应性不强和开发效率低的技术问题。一种雷达终端虚拟总线模块组织方法,包含以下步骤
步骤1 在机器上运行虚拟总线服务器,通过虚拟总线服务器可连接其客户端信息表中的各个虚拟总线客户端或其他平台的虚拟总线服务器;
步骤2 应用程序在生成的时候附加上虚拟总线客户端的动态链接库,初始化程序的同时对虚拟总线客户端进行初始化,为应用程序提供接入总线的接口 ;
步骤3 虚拟总线服务器在初始化的时候会自动读取本地对应的文件中的信息,获取端口号、虚拟ID号及其客户端信息表中的客户信息;
步骤4:虚拟总线客户端在初始化的时候会自动读取本地对应的文件中的信息,获取端口号、虚拟ID号及其对应的虚拟总线服务器的相关信息;
步骤5 当应用程序要向其他应用程序发送数据的时候,先将数据附加上包头,通过虚拟总线客户端提供的接口发往虚拟总线服务器;
步骤7 虚拟总线服务器根据包头信息的目的ID号,通过底层通讯模块发送查找数据帧到客户端信息表中所列举的异构网络不同平台的虚拟总线服务器,待其找到目的ID号后会返回查找应答帧;
步骤8 根据查找应答帧信息和底层通讯模块返回的情况,虚拟总线服务器会按通讯链路的传输能力的强弱分配数据到可用链路传输数据。其有益效果是虚拟总线软件可以通过对通讯链路的驱动实现异构网络不同平台之间的数据传输的功能,拓展了软件的使用范围,实现其扩展性;将能单独完成某些功能的动态链接库写成应用程序的形式,更利于程序员进行调试工作,而不再依赖于主程序,提高开发效率;由虚拟总线软件进行传输数据代替了以往的动态链接库形式的数据交换,避免了数据交换过程中的错误导致的全局瘫痪状况,更有利于找出问题所在。上述一种雷达终端虚拟总线模块组织方法,其特征在于它还包括步骤6,虚拟总线服务器根据包头信息查找目的ID所在,若能在客户端信息表中找到目的ID号,则通过环回IP地址进行广播发送数据。其有益效果是它还可以实现在本系统的数据转发,数据传输过程主要只与虚拟ID号相关,即便更换了物理环境,虚拟ID号不变也能正常传输,同时使用了环回IP地址,数据的传输直接通过内存完成的,大幅提高传输效率。上述一种雷达终端虚拟总线模块组织方法,其特征在于它还包括步骤9 虚拟总线服务器需要获取各个虚拟总线客户端的运行状态,实现方法是由虚拟总线服务器定时向虚拟总线客户端发送心跳帧,相应的虚拟总线客户端在接收到心跳帧后会返回心跳应答帧,告知虚拟总线服务器其运行状态。其有益效果是虚拟总线服务器能监测虚拟总线客户端的工作状态以及数据在传输过程中的大小,保证了数据传输的稳定性。上述一种雷达终端虚拟总线模块组织方法,其特征在于它还包括步骤10 虚拟总线服务器需要控制各个虚拟总线客户端,实现方法是虚拟总线服务器提供广播发送控制命令的功能,并让虚拟总线客户端能响应该命令。其有益效果是能实现虚拟总线服务器对虚拟总线客户端的统一管理和控制。上述一种雷达终端虚拟总线模块组织方法,其特征在于步骤3和步骤4中虚拟总线客户端和虚拟总线服务器的信息由人工设定。其有益效果是便于修改和编辑,人为操控避免不必要的错误。


图1为本发明流程框图2为本发明数据本平台转发流程图; 图3为本发明数据跨平台转发流程具体实施例方式本发明提供一种雷达终端虚拟总线模块组织方法,其依赖于虚拟总线服务器模块、虚拟总线客户端模块和底层通讯模块。以图1表示其协作关系。虚拟总线客户端与其他虚拟总线客户端是通过虚拟总线服务器相连的,而不同的虚拟总线服务器是由底层通讯模块连接的。虚拟总线客户端模块主要是为应用程序提供一个接入总线的接口,使用由MFC所提供的CSocket类创建的UDP通讯对象,通过127. 0. 0. 1的环回IP地址从总线收发数据, 保证了数据的高效传输性能。为能让数据准确的发送到其他的虚拟总线客户端,在每个虚拟总线客户端初始化的时候读取相应文件夹中人为设定好的ini文件,获取其虚拟ID号和端口号,以及对应的虚拟总线服务器的虚拟ID号和端口号。虚拟ID号是虚拟总线服务器和虚拟总线客户端的唯一的数字标识,不可重复,它作为一个内部标识号用于引导数据在虚拟总线服务器和虚拟总线客户端之间进行数据传输。端口号则是虚拟总线软件中对收发类型的不同而设置的不同的编号,一般每个虚拟总线客户端的端口号也是唯一的。由于虚拟总线客户端可以提供接入总线的接口,以前能单独完成某些功能的动态链接库可以写成附带有虚拟总线客户端的应用程序形式。在应用程序初始化的同时初始化虚拟总线客户端,并告知虚拟总线客户端应用程序的工作状态,由其告诉虚拟总线服务器; 同时虚拟总线客户端在接收到来自虚拟总线服务器的数据时,会发送UDM_REC_DATA的消息,让应用程序做好接收准备。雷达终端软件模块之间的通讯主要是进行数据的转发,图1中,在应用程序1要发送数据的时候,会先把数据帧交给虚拟总线客户端1,经其对数据帧加上帧头后,再通过总线发送至虚拟总线服务器1。其中帧头部分包含了该数据帧的数据类型、发送的目的地以及数据来源等信息。数据帧的帧头长度一般为12字节(见表1),包括了 数据类型ID号(4 字节)、数据发送目的的虚拟ID号(4字节)和数据发送来源的虚拟ID号(4字节)。
权利要求
1.一种雷达终端虚拟总线模块组织方法,其特征在于包含以下步骤步骤1 在机器上运行虚拟总线服务器,通过虚拟总线服务器可连接其客户端信息表中的各个虚拟总线客户端或其他平台的虚拟总线服务器;步骤2 应用程序在生成的时候附加上虚拟总线客户端的动态链接库,初始化程序的同时对虚拟总线客户端进行初始化,为应用程序提供接入总线的接口 ;步骤3 虚拟总线服务器在初始化的时候会自动读取本地对应的文件中的信息,获取端口号、虚拟ID号及其客户端信息表中的客户信息;步骤4 虚拟总线客户端在初始化的时候会自动读取本地对应的文件中的信息,获取端口号、虚拟ID号及其对应的虚拟总线服务器的相关信息;步骤5 当应用程序要向其他应用程序发送数据的时候,先将数据附加上包头,通过虚拟总线客户端提供的接口发往虚拟总线服务器;步骤7 虚拟总线服务器根据包头信息的目的ID号,通过底层通讯模块发送查找数据帧到客户端信息表中所列举的异构网络不同平台的虚拟总线服务器,待其找到目的ID号后会返回查找应答帧;步骤8 根据查找应答帧信息和底层通讯模块返回的情况,虚拟总线服务器会按通讯链路的传输能力的强弱分配数据到可用链路传输数据。
2.根据权利要求1所述的一种雷达终端虚拟总线模块组织方法,其特征在于它还包括步骤6,虚拟总线服务器根据包头信息查找目的ID所在,若能在客户端信息表中找到目的ID号,则通过环回IP地址进行广播发送数据。
3.根据权利要求1或2所述的一种雷达终端虚拟总线模块组织方法,其特征在于它还包括步骤9 虚拟总线服务器需要获取各个虚拟总线客户端的运行状态,实现方法是由虚拟总线服务器定时向虚拟总线客户端发送心跳帧,相应的虚拟总线客户端在接收到心跳帧后会返回心跳应答帧,告知虚拟总线服务器其运行状态。
4.根据权利要求1或2所述的一种雷达终端虚拟总线模块组织方法,其特征在于它还包括步骤10 虚拟总线服务器需要控制各个虚拟总线客户端,实现方法是虚拟总线服务器提供广播发送控制命令的功能,并让虚拟总线客户端能响应该命令。
5.根据权利要求1所述的一种雷达终端虚拟总线模块组织方法,其特征在于步骤3 和步骤4中虚拟总线客户端和虚拟总线服务器的信息由人工设定。
全文摘要
本发明涉及一种雷达终端虚拟总线模块组织方法,尤其涉及一种基于分布式、跨异构通讯网络的软件模块组织方法。本发明包括虚拟总线服务器模块、虚拟总线客户端模块、软件启动模块、通讯链路模块。虚拟总线服务器模块是整个总线的核心模块,起到对总线上各模块进行数据转发、网络发现、通讯负载平衡功能、工作状态监视和对虚拟总线客户端模块的运行控制的功能;虚拟总线客户端模块,获取上层应用软件模块运行状态信息,并提供上层应用软件模块接入总线的接口。本发明具有较好的扩展性、适应性和开发效率,可广泛应用于各种需要良好扩展性的武器系统控制软件、分布式计算网络、自适应组网等技术领域。
文档编号H04L29/06GK102438007SQ20111030593
公开日2012年5月2日 申请日期2011年10月11日 优先权日2011年10月11日
发明者张林兵, 张磊, 张雷, 陈斯 申请人:武汉滨湖电子有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1