一种基于RapidIO消息模式的数据动态路由系统及方法

文档序号:7820458阅读:350来源:国知局
一种基于RapidIO消息模式的数据动态路由系统及方法
【专利摘要】本发明提供了一种基于RapidIO消息模式的数据动态路由系统及方法。采用订阅发布机制,应用组件通过客户代理声明其需要订阅或者发布的数据类型,由服务代理来决定数据的来源和去向,而应用组件自身不需关心。其主要特点是:信息与设备地址无关,信息按内容来标识,订阅或者发布数据仅需要识别数据类型,无需源地址和目的地址。通信设备数量增减不影响系统运行。因此,基于订阅发布机制的数据动态路由方法是实现处理资源虚拟化的中间件,位于应用组件和硬件之间,以全交换RapidIO网络为基础,应用程序调用中间件提供的数据收发接口,实现两个节点之间的透明数据传输。
【专利说明】—种基于Rapid1消息模式的数据动态路由系统及方法

【技术领域】
[0001]本发明涉及一种基于Rapid1消息模式的数据动态路由系统及方法,特别是涉及一种适用于基于Rapid1协议的Rapid1消息模式数据动态路由系统及方法。

【背景技术】
[0002]Rapid1技术是一种高性能、低引脚数、基于数据包交换的互连体系结构,是符合OPEN-VPX标准的最常用的传输协议之一,是为满足高性能嵌入式系统需求而设计的一种开放式互连技术标准。Rapid1传输协议提供的数据传输模式有两种:消息传输模式和DMA传输模式。消息模式类似于以太网数据包传输,适合于多个节点之间的数据互传,优点是传输灵活,缺点是处理器在消息模式下需要频繁响应中断,导致传输效率相对较低;而DMA模式下,接收方必须事先分配好一段存储空间,然后由发送方将数据直接写入,优点是传输效率高,缺点是当多节点互传数据时,由于要事先为每个节点分配好内存,故操作复杂,对资源要求高。
[0003]目前,Rapid1传输协议在装备中已经得到广泛使用,使用方式基本都是采用DMA传输模式,用户必须在应用程序中规定好通信的目的地址和源地址,这就导致硬件物理位置必须固定,且每个软件与其对应的硬件之间也必须是紧耦合的对应关系。


【发明内容】

[0004]本发明要解决的技术问题是提供一种设备硬件通用化、软件可重构的基于Rapid1消息模式的数据动态路由系统及方法。
[0005]本发明采用的技术方案如下:
一种基于Rapid1消息模式的数据动态路由系统,系统物理架构为全交换网络架构,其特征在于,还包括:
应用组件模块,通过客户代理模块声明其需要订阅或发布的数据类型;由服务代理模块来决定数据的来源和去向;
服务代理模块,为处理器类服务代理模块,负责网络中节点的管理和维护;
客户代理模块,包括处理器类客户代理模块,以静态库形式与具体的应用组件集成,FPGA类客户代理模块,以IP核形式与具体的应用组件集成;为应用组件提供各类接口。
[0006]基于上述数据动态路由系统的数据动态路由方法,具体方法为:
A、上电后,服务代理启动并开始运行,逐一对Rapid1网络上的各个节点进行枚举,使每个节点获得网络中唯一 Rapid1地址;
B、应用组件通过调用客户代理提供的接口进行注册,同时进行数据的订阅或发布的声明,包括订阅发布的数据名称、数据标识、字段定义信息,使服务代理获得该应用节点所能发布或订阅的数据信息;
C、服务代理收集各个应用节点发送来的注册信息,根据这些注册信息,结合部署时指定的数据连接关系进行比对确认,对所有有效的数据类型建立数据接收和发送的逻辑通信映射关系表;并保存到本地,对每个应用节点生成与之相关的数据收发的逻辑通信映射表,并通过Rapid1下发到对应的应用节点;
D、各个节点的客户代理接收到所述映射表后,解析并为每个链路建立地址空间映射关系;
E、应用组件需要发送数据时,客户代理先进行数据检查,然后将该数据打包,根据通信映射关系,发送到指定的节点;当客户代理接收到数据时,对数据进行解包,然后通知应用组件取走数据。
[0007]作为优选,所述方法还包括,应用组件需要退出时,向客户代理发起注销信息,客户代理将注销信息发送到服务代理,服务代理向客户代理更新与之相关的通信映射表,以及与之相关的应用组件的映射表,实现网络的动态重组。
[0008]作为优选,所述方法还包括,服务代理定时向各个客户代理发送状态监测信息,客户代理返回运行状态。
[0009]与现有技术相比,本发明的有益效果是:
高可扩展性的开放式体系架构:对于应用组件而言,其无需了解系统具体的网络形态,与其他应用组件的通信通过主题完成,第三方网络节点的加入\退出导致的网络形态变化对组件间数据通信毫无影响;
低成本的系统集成:如图2所示,以数据为中心,不需要考虑数据发布者和数据订阅者的实际物理地址和在组织架构中的位置,打破如图1所示的传统处理器和FPGA处理芯片物理地址绑定的紧耦合关系,使用户可以专注于应用程序的逻辑设计,降低集成成本;
高灵活性,运行时可重构;当系统中某一节点发生故障,导致应用组件失效时,可在系统中其他网络节点启动具有相同功能的应用组件,只要具有相同的主题发布/订阅关系,就可以继续进行逻辑处理和数据处理,完成系统的运行时可重构。

【专利附图】

【附图说明】
[0010]图1为现有技术中软硬件之间紧耦合示意图。
[0011]图2为本发明其中一实施例的软硬件之间松耦合示意图。
[0012]图3为本发明其中一实施例的数据动态路由方法逻辑拓扑示意图。
[0013]图4为本发明其中一实施例的数据动态路由方法工作流程图。
[0014]图5为本发明其中一实施例的雷达数据动态路由框图。

【具体实施方式】
[0015]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0016]本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0017]如图5所示,本具体实施例一典型的雷达数据动态路由为例进行具体说明。中频数据经过采集处理板中的A/D变换后,送到检测处理模块,FPGA客户代理将检测处理形成的PDW通过Rapid1交换网络路由到网络中的PowerPC服务代理指定的PowerPC客户代理,PowerPC客户代理对接收到的数据进行解析,再将结果发送给信号分选模块,在这个过程中检测处理模块和信号分选模块并不关心数据的去向和来源。
[0018]基于Rapid1消息模式的数据动态路由系统,系统物理架构为全交换网络架构,网络内任意节点之间可以实现数据传输;实现采用订阅发布机制,应用组件模块通过客户代理模块声明其需要订阅或发布的数据类型,并由服务代理模块来决定数据的来源和去向,而应用组件自身不需关心;其主要特点是:信息与设备地址无关,信息按内容来标识,订阅或者发布数据仅需要识别数据类型,无需源地址和目的地址。通信设备数量增减不影响系统运行。因此,基于订阅发布机制的数据动态路由方法是实现处理资源虚拟化的中间件,位于应用组件和硬件之间,以全交换Rapid1网络为基础,应用程序调用中间件提供的数据收发接口,实现两个节点之间的透明数据传输。
[0019]如图3所示,网络中包含三种类型的节点:服务代理,为处理器类服务代理,为整个网络的控制中心,负责网络中节点的管理和维护:Ra P i d 1网络的枚举、节点初始化、应用组件注册注销管理、应用数据订阅发布管理、逻辑链路管理维护等工作;处理器类客户代理,以静态库形式与具体的应用组件集成,FPGA类客户代理,以IP核形式与具体的应用组件集成;客户代理为应用组件提供各类接口(注册注销接口、订阅发布接口、数据发送接口、数据接收接口),通过接口可以完成数据发送、数据分包传输、数据打包接收、数据达到处理等工作。通过客户代理和服务代理的协调工作,为每个应用组件之间的数据传输提供透明通路,而屏蔽底层细节,实现数据传输与位置无关。
[0020]如图4所示,具体数据动态路由方法为:
A、上电后,服务代理启动并开始运行,逐一对Rapid1网络上的各个节点进行枚举(每个Rapid1网络,最多支持255个节点,整个枚举过程类似于以太网中的动态IP地址分配),使每个节点获得网络中唯一 Rapid1地址。在本具体实施中,系统上电后,PowerPC服务代理开始运行,初始化整个Rapid1交换网络,为PowerPC应用节点和FPGA应用节点分配ID地址。
[0021]B、应用组件通过调用客户代理提供的接口进行注册,同时进行数据的订阅或发布的声明,包括订阅发布的数据名称、数据标识、字段定义信息,使服务代理获得该应用节点所能发布或订阅的数据信息。在本具体实施例中,系统的应用组件包括FPGA节点中的雷达数据检测处理组件和PowerPC节点中的信号分选组件,雷达数据检测处理组件发布经过检测处理生成的PDW应用数据,而信号分选组件订阅该PDW数据用于分选。网络初始化完成后,分别调用各自客户代理提供的注册接口向PowerPC服务代理进行注册。
[0022]C、服务代理收集各个(已初始化的)应用节点发送来的注册信息,根据这些注册信息,结合部署时指定的数据连接关系进行比对确认,对所有有效的数据类型建立数据接收和发送的逻辑通信映射关系表;并保存到本地,对每个应用节点生成与之相关的数据收发的逻辑通信映射表(Rapid1地址和数据类型的映射关系),并通过Rapid1下发到对应的应用节点。在本具体实施例中,PowerPC服务代理接收到PowerPC客户代理和FPGA客户代理发送来的注册信息后,经过解析获得节点之间的数据订阅发布关系,对每个应用节点建立通信映射表,并将PowerPC应用节点的ID地址下发到FPGA应用节点,FPGA应用节点客户代理保存通信映射关系。
[0023]D、各个节点的客户代理接收到所述映射表后,解析并为每个链路建立地址空间映身寸关系。
[0024]E、应用组件需要发送数据时,客户代理先进行数据检查,然后将该数据打包,根据通信映射关系,发送到指定的节点;当客户代理接收到数据时,对数据进行解包,然后通知应用组件取走数据。在本具体实施例中,当检测处理组件需要发送PDW数据时,直接调用客户代理提供的数据发送接口,客户代理根据通信映射关系将数据发送到PowerPC应用节点,PowerPC客户代理解析出PDW数据,并通知信号分选组件读取数据。
[0025]所述方法还包括,应用组件需要退出时,向客户代理发起注销信息,客户代理将注销信息发送到服务代理,服务代理向客户代理更新与之相关的通信映射表,以及与之相关的应用组件的映射表,实现网络的动态重组。在本具体实施例中,当应用组件需要退出时,调用客户代理提供的注销接口,客户代理将注销信息发送到PowerPC服务代理,服务代理向客户代理更新与之相关的通信映射表,以及与之相关的应用节点客户代理的通信映射关系O
[0026]所述方法还包括,为了动态监测各个节点的运行情况,服务代理定时向各个客户代理发送状态监测信息,客户代理返回运行状态,从而避免客户代理出现异常时,服务代理能够及时处理,重新对其进行初始化。在本具体实施例中,PowerPC服务代理每I秒向PowerPC客户代理和FPGA客户代理发送状态监测信息,客户代理返回各自运行状态,当客户代理出现状态异常时,PowerPC服务代理及时处理,重新对其进行初始化。
【权利要求】
1.一种基于Rapid1消息模式的数据动态路由系统,系统物理架构为全交换网络架构,其特征在于,还包括: 应用组件模块,通过客户代理模块声明其需要订阅或发布的数据类型;由服务代理模块来决定数据的来源和去向; 服务代理模块,为处理器类服务代理模块,负责网络中节点的管理和维护; 客户代理模块,包括处理器类客户代理模块,以静态库形式与具体的应用组件集成,FPGA类客户代理模块,以IP核形式与具体的应用组件集成;为应用组件提供各类接口。
2.基于权利要求1所述的数据动态路由系统的数据动态路由方法,具体方法为: A、上电后,服务代理启动并开始运行,逐一对Rapid1网络上的各个节点进行枚举,使每个节点获得网络中唯一 Rapid1地址; B、应用组件通过调用客户代理提供的接口进行注册,同时进行数据的订阅或发布的声明,包括订阅发布的数据名称、数据标识、字段定义信息,使服务代理获得该应用节点所能发布或订阅的数据信息; C、服务代理收集各个应用节点发送来的注册信息,根据这些注册信息,结合部署时指定的数据连接关系进行比对确认,对所有有效的数据类型建立数据接收和发送的逻辑通信映射关系表;并保存到本地,对每个应用节点生成与之相关的数据收发的逻辑通信映射表,并通过Rapid1下发到对应的应用节点; D、各个节点的客户代理接收到所述映射表后,解析并为每个链路建立地址空间映射关系; E、应用组件需要发送数据时,客户代理先进行数据检查,然后将该数据打包,根据通信映射关系,发送到指定的节点;当客户代理接收到数据时,对数据进行解包,然后通知应用组件取走数据。
3.根据权利要求2所述的数据动态路由方法,所述方法还包括,应用组件需要退出时,向客户代理发起注销信息,客户代理将注销信息发送到服务代理,服务代理向客户代理更新与之相关的通信映射表,以及与之相关的应用组件的映射表,实现网络的动态重组。
4.根据权利要求2或3所述的数据动态路由方法,所述方法还包括,服务代理定时向各个客户代理发送状态监测信息,客户代理返回运行状态。
【文档编号】H04L29/08GK104363169SQ201410675077
【公开日】2015年2月18日 申请日期:2014年11月24日 优先权日:2014年11月24日
【发明者】宋升金, 黄悦, 肖金敏, 廖崇琦 申请人:中国电子科技集团公司第二十九研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1