面向软件通信体系结构的应用管理类软件的通信方法与流程

文档序号:16855254发布日期:2019-02-12 23:12阅读:143来源:国知局
本发明涉及软件通信体系结构在软件通信体系架构(softwarecommunicationarchitecture,简称sca)多波形环境下波形组件、逻辑设备、核心框架和应用管理类软件的交互接口和通信方式的设计方法。
背景技术
::sca是美军联合战术无线电系统(jointtacticalradiosystem,以下简称jtrs)联合规划执行办公室中制定的软件通信架构标准,目前比较成熟的版本是sca2.2.2。按照sca2.2.2标准的定义,核心框架与波形组件、逻辑设备之间通过公共对象请求代理体系结构(commonobjectrequestbrokerarchitecture,以下简称corba)中间件提供的命名服务进行连接,波形组件和逻辑设备之间通过组件端口进行连接,而未规定应用管理类软件与核心框架、波形应用和逻辑设备之间的连接方式。现有的应用管理类软件与核心框架、波形应用和逻辑设备之间通信方式选择很多,可以直接采用接口调用,或者通过套接字进行通信,但它们均是传统的软件模块间调用方法,如何符合sca应用场景,同时利用sca规定的通信服务方式,将是目前应用管理类软件与核心框架、波形应用和逻辑设备之间通信急需解决的问题。传统的软件模块之间通信主要包括软件模块间相互包含接口、信号量、消息队列、共享内存、套接字等。根据软件模块间通信信息量的大小,这些通信方式分别应用于控制信息的通信和大批量数据的通信。然而,传统软件模块通信方式有以下几点弊端:1)系统复杂度高。当系统软件数量较大时,各个软件模块间交互比较复杂,增加系统设计难度。同时软件模块之间不仅有控制指令的通信,而且也存在大批量数据交互,需要传统模块间几种通信方式的组合才能满足模块间通信的需求,增加了系统的复杂度;2)软件可扩展性和可移植性差。采用传统的软件模块通信方式,各个软件模块相互交联,软件模块之间耦合性高。同时各个软件模块之间不相互独立,影响软件模块之间的加载顺序。这些都会增加软件开发难度,使得系统软件的可扩展性和可移植性变差。以上所涉及到的概念,解释如下:1)应用管理类软件:提供管理sca平台软硬件资源和波形应用的软件。2)核心框架:根据sca2.2.2标准接口实现sca功能。3)波形组件:它是组成波形应用的一个组件,实现波形应用的一部分功能。4)逻辑设备:它是sca平台硬件的软件代理,负责维护sca平台硬件资源。技术实现要素:本发明的目的在于提供一种面向软件通信体系结构的应用管理类软件的通信方法,用以解决现有的软件模块之间通信复杂度高和可移植性差等问题。本发明放弃了传统软件模块之间的通信方式,在sca2.2.2标准未规定的应用管理类软件与核心框架、波形应用和逻辑设备之间提供了一种corba中间件命名服务和波形组件端口相结合的多应用通信方法。应用管理类软件与核心框架之间采用corba中间件命名服务进行通信,它们之间主要进行控制指令的交互;应用管理类软件与波形组件之间采用corba中间件命名服务和波形组件端口相结合的方式进行通信,corba中间件命名服务提供控制指令的交互,波形组件端口提供大批量数据通信;应用管理类软件与逻辑设备之间采用波形组件端口进行通信,它们之间主要进行大批量数据通信。本发明的发明目的通过以下技术方案实现:一种面向软件通信体系结构的应用管理类软件的通信方法,包含应用管理类软件与核心框架之间的通信方法,所述应用管理类软件与核心框架之间的通信方法运行在应用管理类软件方,包含以下步骤:步骤1.1、根据运行核心框架服务的电脑环境的ip地址和端口初始化对象请求代理(objectrequestbroker,简称orb),通过对象请求代理初始化可移植对象适配器(portableobjectadapter,简称poa)和corba中间件命名服务;步骤1.2、调用corba中间件命名服务获取与域管理器名称映射的域管理器对象引用;步骤1.3、验证域管理器对象引用是否为空,如果为空,应用管理类软件获取核心框架对象引用失败,通信结束;否则,进行步骤1.4;步骤1.4、调用域管理器对象引用获取应用工厂序列和波形应用序列;步骤1.5、在波形应用序列中查询当前操作的波形应用是否存在,如果存在,进行步骤1.9;否则,进行步骤1.6;步骤1.6、在应用工厂序列中根据应用工厂名称查找当前应用工厂是否存在,如果存在,进行步骤1.8;否则进行步骤1.7;步骤1.7、通过软件组装文件(softwareassemblydocument,简称sad)创建应用工厂;步骤1.8、调用应用工厂根据应用输入参数创建波形应用;步骤1.9、调用波形应用对象引用进行波形控制操作。一种面向软件通信体系结构的应用管理类软件的通信方法还包含应用管理类软件与波形组件之间通信方法,所述应用管理类软件与波形组件之间通信方法运行在应用管理类软件,包含以下步骤:步骤2.1、根据运行核心框架服务的电脑环境的ip地址和端口初始化对象请求代理,通过对象请求代理初始化可移植对象适配器和corba中间件命名服务;步骤2.2、调用corba中间件命名服务获取与域管理器名称映射的域管理器对象引用;步骤2.3、验证域管理器对象引用是否为空,如果为空,应用管理类软件获取核心框架对象引用失败,通信结束;否则,进行步骤2.4;步骤2.4、调用域管理器对象引用获取波形应用序列;步骤2.5、在波形应用序列中查询当前操作的波形应用是否存在,如果为空,应用管理类软件获取波形对象引用失败,通信结束;否则,进行步骤2.6;步骤2.6、调用波形应用对象引用进行波形控制操作。一种面向软件通信体系结构的应用管理类软件的通信方法还包含应用管理类软件与波形组件之间的通信方法,所述应用管理类软件与波形组件之间的通信方法运行在应用管理类软件方,包含以下步骤:步骤3.1、调用软件组装文件获取所有波形组件端口间的connection节点;步骤3.2、获取其中一个connection节点的id;步骤3.3、通过connection节点信息获取波形组件提供者端口id和对象引用;步骤3.4、通过connection节点信息获取波形组件使用者端口id和对象引用;步骤3.5、通过波形组件使用者对象引用调用connectport操作将波形组件提供者端口的对象引用保存在使用者端口内;步骤3.6、将波形组件使用者端口对象引用和connection节点的id存入端口连接信息表中;步骤3.7、返回步骤3.2,直到遍历完所有的connection节点。与现有技术相比较,本发明具有如下特点:1)本文提供的corba中间件命名服务和波形组件端口相结合的软件模块通信模式,有效地解决了应用管理类软件与核心框架、波形应用和逻辑设备之间控制指令和业务数据传输问题,从而提高软件模块通信灵活度;2)放弃传统软件模块通信方式,不仅降低了软件模块设计的复杂度,而且规避了软件模块之间相互交联,提高软件的可扩展性和可移植性;3)首次将应用管理类软件抽象成逻辑设备,将应用管理类软件封装成sca域内的一员,有效解决它与波形应用和逻辑设备之间的通信问题。附图说明图1是波形组件使用者端口和提供者端口之间的连接示意图。图2是波形组件使用者端口和提供者端口的继承关系图。图3是应用管理类软件与核心框架之间的通信方法流程示意图。图4是应用管理类软件与波形组件之间通信方法。图5是应用管理类软件与波形组件之间的通信方法。具体实施方式下面结合附图和实施例对本发明作进一步的详细说明。本实施例所示的面向软件通信体系结构的应用管理类软件的通信方法,包含应用管理类软件与核心框架之间的通信方法。所述应用管理类软件与核心框架之间的通信方法运行在应用管理类软件方,它采用corba中间件命名服务进行通信,应用管理类软件通过corba命名服务获取核心框架相关的对象引用,通过对象引用实现服务的远程调用。参见图3所示,具体包含以下步骤:步骤1.1、根据运行核心框架服务的电脑环境的ip地址和端口初始化对象请求代理,通过对象请求代理初始化可移植对象适配器和corba中间件命名服务;步骤1.2、调用corba中间件命名服务获取与域管理器名称映射的域管理器对象引用;步骤1.3、验证域管理器对象引用是否为空,如果为空,应用管理类软件获取核心框架对象引用失败,通信结束;否则,进行步骤1.4;步骤1.4、调用域管理器对象引用获取应用工厂序列和波形应用序列;步骤1.5、在波形应用序列中查询当前操作的波形应用是否存在,如果存在,进行步骤1.9步操作;否则,进行步骤1.6;步骤1.6、在应用工厂序列中根据应用工厂名称查找当前应用工厂是否存在,如果存在,进行步骤1.8;否则进行步骤1.7;步骤1.7、通过软件组装文件创建应用工厂;步骤1.8、调用应用工厂根据应用输入参数创建波形应用;步骤1.9、调用波形应用对象引用进行波形控制操作。以上所涉及到的概念,解释如下:域管理器:负责sca域内资源的生命周期管理和维护。应用工厂:该组件提供创建特定应用程序功能。应用程序:由一个或多个应用组件组成的应用。一种面向软件通信体系结构的应用管理类软件的通信方法还包含应用管理类软件与波形组件之间通信方法。所述应用管理类软件与波形组件之间通信方法运行在应用管理类软件方,它采用corba中间件命名服务和波形组件端口相结合的方式进行通信,应用管理类软件通过corba中间件命名服务实现与波形组件的控制指令交互,通过波形组件端口实现业务数据的交互。参见图4所示,具体包含以下步骤:步骤2.1、根据运行核心框架服务的电脑环境的ip地址和端口初始化对象请求代理,通过对象请求代理初始化可移植对象适配器和corba中间件命名服务;步骤2.2、调用corba中间件命名服务获取与域管理器名称映射的域管理器对象引用;步骤2.3、验证域管理器对象引用是否为空,如果为空,应用管理类软件获取核心框架对象引用失败,通信结束;否则,进行步骤2.4;步骤2.4、调用域管理器对象引用获取波形应用序列;步骤2.5、在波形应用序列中查询当前操作的波形应用是否存在,如果为空,应用管理类软件获取波形对象引用失败,通信结束;否则,进行步骤2.6;步骤2.6、调用波形应用对象引用进行波形控制操作。面向软件通信体系结构的应用管理类软件的通信方法还包含应用管理类软件与波形组件之间的通信方法。所述应用管理类软件与波形组件之间的通信方法运行在应用管理类软件方,它采用波形组件端口进行通信,应用管理类软件和逻辑设备通过波形端口连接,应用管理类软件通过提供者端口实现端口的连接和断开,通过使用者端口实现业务数据的传输。参见图5所示,具体包含以下步骤:步骤3.1、调用软件组装文件获取所有波形组件端口(含提供者端口和使用者端口)间的connection节点;步骤3.2、获取其中一个connection节点的id;步骤3.3、通过connection节点信息获取波形组件提供者端口id和对象引用;步骤3.4、通过connection节点信息获取波形组件使用者端口id和对象引用;步骤3.5、通过波形组件使用者对象引用调用connectport操作将波形组件提供者端口的对象引用保存在使用者端口内;步骤3.6、将波形组件使用者端口对象引用和connection节点的id存入端口连接信息表中;步骤3.7、返回步骤3.2,直到遍历完所有的connection节点。请参阅图1所示,是波形组件使用者端口和提供者端口之间的连接示意图。component1和component2代表两个不同的资源组件,各自包含了一套providerport端口(提供者端口)和userport端口(使用者端口),其中userport端口的outport成员变量用来保存它所指向的providerport端口对象的引用。请参阅图2所示,是波形组件提供者端口和使用者端口的继承关系图。消息提供者packetproducer继承自port端口,主要负责端口的连接和断开。消息使用者packetconsumer继承自payloadstatus、mhalpacketconsumer和wf_mhalpacketconsumer接口,主要负责逻辑地址和物理地址的映射、数据的发送。可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1