CN104363169A - 一种基于RapidIO消息模式的数据动态路由系统及方法 - Google Patents
一种基于RapidIO消息模式的数据动态路由系统及方法 Download PDFInfo
- Publication number
- CN104363169A CN104363169A CN201410675077.9A CN201410675077A CN104363169A CN 104363169 A CN104363169 A CN 104363169A CN 201410675077 A CN201410675077 A CN 201410675077A CN 104363169 A CN104363169 A CN 104363169A
- Authority
- CN
- China
- Prior art keywords
- data
- customer
- representative
- application component
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于RapidIO消息模式的数据动态路由系统及方法。采用订阅发布机制,应用组件通过客户代理声明其需要订阅或者发布的数据类型,由服务代理来决定数据的来源和去向,而应用组件自身不需关心。其主要特点是:信息与设备地址无关,信息按内容来标识,订阅或者发布数据仅需要识别数据类型,无需源地址和目的地址。通信设备数量增减不影响系统运行。因此,基于订阅发布机制的数据动态路由方法是实现处理资源虚拟化的中间件,位于应用组件和硬件之间,以全交换RapidIO网络为基础,应用程序调用中间件提供的数据收发接口,实现两个节点之间的透明数据传输。
Description
技术领域
本发明涉及一种基于RapidIO消息模式的数据动态路由系统及方法,特别是涉及一种适用于基于RapidIO协议的RapidIO消息模式数据动态路由系统及方法。
背景技术
RapidIO技术是一种高性能、低引脚数、基于数据包交换的互连体系结构,是符合OPEN-VPX标准的最常用的传输协议之一,是为满足高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO传输协议提供的数据传输模式有两种:消息传输模式和DMA传输模式。消息模式类似于以太网数据包传输,适合于多个节点之间的数据互传,优点是传输灵活,缺点是处理器在消息模式下需要频繁响应中断,导致传输效率相对较低;而DMA模式下,接收方必须事先分配好一段存储空间,然后由发送方将数据直接写入,优点是传输效率高,缺点是当多节点互传数据时,由于要事先为每个节点分配好内存,故操作复杂,对资源要求高。
目前,RapidIO传输协议在装备中已经得到广泛使用,使用方式基本都是采用DMA传输模式,用户必须在应用程序中规定好通信的目的地址和源地址,这就导致硬件物理位置必须固定,且每个软件与其对应的硬件之间也必须是紧耦合的对应关系。
发明内容
本发明要解决的技术问题是提供一种设备硬件通用化、软件可重构的基于RapidIO消息模式的数据动态路由系统及方法。
本发明采用的技术方案如下:
一种基于RapidIO消息模式的数据动态路由系统,系统物理架构为全交换网络架构,其特征在于,还包括:
应用组件模块,通过客户代理模块声明其需要订阅或发布的数据类型;由服务代理模块来决定数据的来源和去向;
服务代理模块,为处理器类服务代理模块,负责网络中节点的管理和维护;
客户代理模块,包括处理器类客户代理模块,以静态库形式与具体的应用组件集成,FPGA类客户代理模块,以IP核形式与具体的应用组件集成;为应用组件提供各类接口。
基于上述数据动态路由系统的数据动态路由方法,具体方法为:
A、上电后,服务代理启动并开始运行,逐一对RapidIO网络上的各个节点进行枚举,使每个节点获得网络中唯一RapidIO地址;
B、应用组件通过调用客户代理提供的接口进行注册,同时进行数据的订阅或发布的声明,包括订阅发布的数据名称、数据标识、字段定义信息,使服务代理获得该应用节点所能发布或订阅的数据信息;
C、服务代理收集各个应用节点发送来的注册信息,根据这些注册信息,结合部署时指定的数据连接关系进行比对确认,对所有有效的数据类型建立数据接收和发送的逻辑通信映射关系表;并保存到本地,对每个应用节点生成与之相关的数据收发的逻辑通信映射表,并通过RapidIO下发到对应的应用节点;
D、各个节点的客户代理接收到所述映射表后,解析并为每个链路建立地址空间映射关系;
E、应用组件需要发送数据时,客户代理先进行数据检查,然后将该数据打包,根据通信映射关系,发送到指定的节点;当客户代理接收到数据时,对数据进行解包,然后通知应用组件取走数据。
作为优选,所述方法还包括,应用组件需要退出时,向客户代理发起注销信息,客户代理将注销信息发送到服务代理,服务代理向客户代理更新与之相关的通信映射表,以及与之相关的应用组件的映射表,实现网络的动态重组。
作为优选,所述方法还包括,服务代理定时向各个客户代理发送状态监测信息,客户代理返回运行状态。
与现有技术相比,本发明的有益效果是:
高可扩展性的开放式体系架构:对于应用组件而言,其无需了解系统具体的网络形态,与其他应用组件的通信通过主题完成,第三方网络节点的加入\退出导致的网络形态变化对组件间数据通信毫无影响;
低成本的系统集成:如图2所示,以数据为中心,不需要考虑数据发布者和数据订阅者的实际物理地址和在组织架构中的位置,打破如图1所示的传统处理器和FPGA处理芯片物理地址绑定的紧耦合关系,使用户可以专注于应用程序的逻辑设计,降低集成成本;
高灵活性,运行时可重构;当系统中某一节点发生故障,导致应用组件失效时,可在系统中其他网络节点启动具有相同功能的应用组件,只要具有相同的主题发布/订阅关系,就可以继续进行逻辑处理和数据处理,完成系统的运行时可重构。
附图说明
图1为现有技术中软硬件之间紧耦合示意图。
图2为本发明其中一实施例的软硬件之间松耦合示意图。
图3为本发明其中一实施例的数据动态路由方法逻辑拓扑示意图。
图4为本发明其中一实施例的数据动态路由方法工作流程图。
图5为本发明其中一实施例的雷达数据动态路由框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
如图5所示,本具体实施例一典型的雷达数据动态路由为例进行具体说明。中频数据经过采集处理板中的A/D变换后,送到检测处理模块,FPGA客户代理将检测处理形成的PDW通过RapidIO交换网络路由到网络中的PowerPC服务代理指定的PowerPC客户代理,PowerPC客户代理对接收到的数据进行解析,再将结果发送给信号分选模块,在这个过程中检测处理模块和信号分选模块并不关心数据的去向和来源。
基于RapidIO消息模式的数据动态路由系统,系统物理架构为全交换网络架构,网络内任意节点之间可以实现数据传输;实现采用订阅发布机制,应用组件模块通过客户代理模块声明其需要订阅或发布的数据类型,并由服务代理模块来决定数据的来源和去向,而应用组件自身不需关心;其主要特点是:信息与设备地址无关,信息按内容来标识,订阅或者发布数据仅需要识别数据类型,无需源地址和目的地址。通信设备数量增减不影响系统运行。因此,基于订阅发布机制的数据动态路由方法是实现处理资源虚拟化的中间件,位于应用组件和硬件之间,以全交换RapidIO网络为基础,应用程序调用中间件提供的数据收发接口,实现两个节点之间的透明数据传输。
如图3所示,网络中包含三种类型的节点:服务代理,为处理器类服务代理,为整个网络的控制中心,负责网络中节点的管理和维护:RapidIO网络的枚举、节点初始化、应用组件注册注销管理、应用数据订阅发布管理、逻辑链路管理维护等工作;处理器类客户代理,以静态库形式与具体的应用组件集成,FPGA类客户代理,以IP核形式与具体的应用组件集成;客户代理为应用组件提供各类接口(注册注销接口、订阅发布接口、数据发送接口、数据接收接口),通过接口可以完成数据发送、数据分包传输、数据打包接收、数据达到处理等工作。通过客户代理和服务代理的协调工作,为每个应用组件之间的数据传输提供透明通路,而屏蔽底层细节,实现数据传输与位置无关。
如图4所示,具体数据动态路由方法为:
A、上电后,服务代理启动并开始运行,逐一对RapidIO网络上的各个节点进行枚举(每个RapidIO网络,最多支持255个节点,整个枚举过程类似于以太网中的动态IP地址分配),使每个节点获得网络中唯一RapidIO地址。在本具体实施中,系统上电后,PowerPC服务代理开始运行,初始化整个RapidIO交换网络,为PowerPC应用节点和FPGA应用节点分配ID地址。
B、应用组件通过调用客户代理提供的接口进行注册,同时进行数据的订阅或发布的声明,包括订阅发布的数据名称、数据标识、字段定义信息,使服务代理获得该应用节点所能发布或订阅的数据信息。在本具体实施例中,系统的应用组件包括FPGA节点中的雷达数据检测处理组件和PowerPC节点中的信号分选组件,雷达数据检测处理组件发布经过检测处理生成的PDW应用数据,而信号分选组件订阅该PDW数据用于分选。网络初始化完成后,分别调用各自客户代理提供的注册接口向PowerPC服务代理进行注册。
C、服务代理收集各个(已初始化的)应用节点发送来的注册信息,根据这些注册信息,结合部署时指定的数据连接关系进行比对确认,对所有有效的数据类型建立数据接收和发送的逻辑通信映射关系表;并保存到本地,对每个应用节点生成与之相关的数据收发的逻辑通信映射表(RapidIO地址和数据类型的映射关系),并通过RapidIO下发到对应的应用节点。在本具体实施例中,PowerPC服务代理接收到PowerPC客户代理和FPGA客户代理发送来的注册信息后,经过解析获得节点之间的数据订阅发布关系,对每个应用节点建立通信映射表,并将PowerPC应用节点的ID地址下发到FPGA应用节点,FPGA应用节点客户代理保存通信映射关系。
D、各个节点的客户代理接收到所述映射表后,解析并为每个链路建立地址空间映射关系。
E、应用组件需要发送数据时,客户代理先进行数据检查,然后将该数据打包,根据通信映射关系,发送到指定的节点;当客户代理接收到数据时,对数据进行解包,然后通知应用组件取走数据。在本具体实施例中,当检测处理组件需要发送PDW数据时,直接调用客户代理提供的数据发送接口,客户代理根据通信映射关系将数据发送到PowerPC应用节点,PowerPC客户代理解析出PDW数据,并通知信号分选组件读取数据。
所述方法还包括,应用组件需要退出时,向客户代理发起注销信息,客户代理将注销信息发送到服务代理,服务代理向客户代理更新与之相关的通信映射表,以及与之相关的应用组件的映射表,实现网络的动态重组。在本具体实施例中,当应用组件需要退出时,调用客户代理提供的注销接口,客户代理将注销信息发送到PowerPC服务代理,服务代理向客户代理更新与之相关的通信映射表,以及与之相关的应用节点客户代理的通信映射关系。
所述方法还包括,为了动态监测各个节点的运行情况,服务代理定时向各个客户代理发送状态监测信息,客户代理返回运行状态,从而避免客户代理出现异常时,服务代理能够及时处理,重新对其进行初始化。在本具体实施例中,PowerPC服务代理每1秒向PowerPC客户代理和FPGA客户代理发送状态监测信息,客户代理返回各自运行状态,当客户代理出现状态异常时,PowerPC服务代理及时处理,重新对其进行初始化。
Claims (4)
1.一种基于RapidIO消息模式的数据动态路由系统,系统物理架构为全交换网络架构,其特征在于,还包括:
应用组件模块,通过客户代理模块声明其需要订阅或发布的数据类型;由服务代理模块来决定数据的来源和去向;
服务代理模块,为处理器类服务代理模块,负责网络中节点的管理和维护;
客户代理模块,包括处理器类客户代理模块,以静态库形式与具体的应用组件集成,FPGA类客户代理模块,以IP核形式与具体的应用组件集成;为应用组件提供各类接口。
2.基于权利要求1所述的数据动态路由系统的数据动态路由方法,具体方法为:
A、上电后,服务代理启动并开始运行,逐一对RapidIO网络上的各个节点进行枚举,使每个节点获得网络中唯一RapidIO地址;
B、应用组件通过调用客户代理提供的接口进行注册,同时进行数据的订阅或发布的声明,包括订阅发布的数据名称、数据标识、字段定义信息,使服务代理获得该应用节点所能发布或订阅的数据信息;
C、服务代理收集各个应用节点发送来的注册信息,根据这些注册信息,结合部署时指定的数据连接关系进行比对确认,对所有有效的数据类型建立数据接收和发送的逻辑通信映射关系表;并保存到本地,对每个应用节点生成与之相关的数据收发的逻辑通信映射表,并通过RapidIO下发到对应的应用节点;
D、各个节点的客户代理接收到所述映射表后,解析并为每个链路建立地址空间映射关系;
E、应用组件需要发送数据时,客户代理先进行数据检查,然后将该数据打包,根据通信映射关系,发送到指定的节点;当客户代理接收到数据时,对数据进行解包,然后通知应用组件取走数据。
3.根据权利要求2所述的数据动态路由方法,所述方法还包括,应用组件需要退出时,向客户代理发起注销信息,客户代理将注销信息发送到服务代理,服务代理向客户代理更新与之相关的通信映射表,以及与之相关的应用组件的映射表,实现网络的动态重组。
4.根据权利要求2或3所述的数据动态路由方法,所述方法还包括,服务代理定时向各个客户代理发送状态监测信息,客户代理返回运行状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410675077.9A CN104363169B (zh) | 2014-11-24 | 2014-11-24 | 一种基于RapidIO消息模式的数据动态路由系统的数据动态路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410675077.9A CN104363169B (zh) | 2014-11-24 | 2014-11-24 | 一种基于RapidIO消息模式的数据动态路由系统的数据动态路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104363169A true CN104363169A (zh) | 2015-02-18 |
CN104363169B CN104363169B (zh) | 2017-05-31 |
Family
ID=52530396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410675077.9A Active CN104363169B (zh) | 2014-11-24 | 2014-11-24 | 一种基于RapidIO消息模式的数据动态路由系统的数据动态路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104363169B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335221A (zh) * | 2015-10-09 | 2016-02-17 | 中国电子科技集团公司第二十九研究所 | 基于可重构的分布式软件总线 |
CN106230738A (zh) * | 2016-07-26 | 2016-12-14 | 中国电子科技集团公司第十研究所 | 块发送通信网络数据的传输方法 |
CN107018075A (zh) * | 2017-04-06 | 2017-08-04 | 安徽国防科技职业学院 | 一种综合数据处理服务器系统 |
CN107255975A (zh) * | 2017-07-21 | 2017-10-17 | 中国电子科技集团公司第二十九研究所 | 一种利用高速总线实现fpga程序快速加载的装置及方法 |
CN107395486A (zh) * | 2017-04-18 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 数据通信方法、装置、系统及消息中间件 |
CN107920001A (zh) * | 2017-12-07 | 2018-04-17 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | RapidIO通信中间件的调试装置 |
CN111131535A (zh) * | 2019-12-05 | 2020-05-08 | 天津芯海创科技有限公司 | 一种RapidIO动态地址映射系统 |
CN111641667A (zh) * | 2019-03-01 | 2020-09-08 | Abb瑞士股份有限公司 | 网络中心过程控制 |
CN112738190A (zh) * | 2020-12-24 | 2021-04-30 | 湖南博匠信息科技有限公司 | 一种RapidIO通信动态管理方法及系统 |
CN113177636A (zh) * | 2021-05-08 | 2021-07-27 | 中国电子科技集团公司第二十九研究所 | 一种基于多约束条件的网络动态路由方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347098A (zh) * | 2013-05-28 | 2013-10-09 | 中国电子科技集团公司第十研究所 | RapidIO总线互联系统的网络枚举方法 |
CN203590251U (zh) * | 2013-11-22 | 2014-05-07 | 中国电子科技集团公司第三十二研究所 | 基于串行RapidIO总线的FlexRay控制系统 |
-
2014
- 2014-11-24 CN CN201410675077.9A patent/CN104363169B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103347098A (zh) * | 2013-05-28 | 2013-10-09 | 中国电子科技集团公司第十研究所 | RapidIO总线互联系统的网络枚举方法 |
CN203590251U (zh) * | 2013-11-22 | 2014-05-07 | 中国电子科技集团公司第三十二研究所 | 基于串行RapidIO总线的FlexRay控制系统 |
Non-Patent Citations (2)
Title |
---|
苏伟: "DDS在嵌入式航电分布系统中的应用研", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
邬国安 等: "分布式仿真系统的自适应通信中间件设计", 《计算机技术与发展》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335221B (zh) * | 2015-10-09 | 2019-03-22 | 中国电子科技集团公司第二十九研究所 | 基于可重构的分布式软件总线 |
CN105335221A (zh) * | 2015-10-09 | 2016-02-17 | 中国电子科技集团公司第二十九研究所 | 基于可重构的分布式软件总线 |
CN106230738A (zh) * | 2016-07-26 | 2016-12-14 | 中国电子科技集团公司第十研究所 | 块发送通信网络数据的传输方法 |
CN106230738B (zh) * | 2016-07-26 | 2019-03-19 | 中国电子科技集团公司第十研究所 | 块发送通信网络数据的传输方法 |
CN107018075A (zh) * | 2017-04-06 | 2017-08-04 | 安徽国防科技职业学院 | 一种综合数据处理服务器系统 |
CN107395486A (zh) * | 2017-04-18 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 数据通信方法、装置、系统及消息中间件 |
CN107395486B (zh) * | 2017-04-18 | 2020-09-04 | 阿里巴巴集团控股有限公司 | 数据通信方法、装置、系统及消息中间件 |
CN107255975A (zh) * | 2017-07-21 | 2017-10-17 | 中国电子科技集团公司第二十九研究所 | 一种利用高速总线实现fpga程序快速加载的装置及方法 |
CN107920001A (zh) * | 2017-12-07 | 2018-04-17 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | RapidIO通信中间件的调试装置 |
CN111641667B (zh) * | 2019-03-01 | 2024-03-22 | Abb瑞士股份有限公司 | 网络中心过程控制 |
CN111641667A (zh) * | 2019-03-01 | 2020-09-08 | Abb瑞士股份有限公司 | 网络中心过程控制 |
CN111131535A (zh) * | 2019-12-05 | 2020-05-08 | 天津芯海创科技有限公司 | 一种RapidIO动态地址映射系统 |
CN111131535B (zh) * | 2019-12-05 | 2022-05-06 | 天津芯海创科技有限公司 | 一种RapidIO动态地址映射系统 |
CN112738190B (zh) * | 2020-12-24 | 2022-06-17 | 湖南博匠信息科技有限公司 | 一种RapidIO通信动态管理方法及系统 |
CN112738190A (zh) * | 2020-12-24 | 2021-04-30 | 湖南博匠信息科技有限公司 | 一种RapidIO通信动态管理方法及系统 |
CN113177636A (zh) * | 2021-05-08 | 2021-07-27 | 中国电子科技集团公司第二十九研究所 | 一种基于多约束条件的网络动态路由方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104363169B (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104363169A (zh) | 一种基于RapidIO消息模式的数据动态路由系统及方法 | |
US10862760B2 (en) | Network functions virtualization | |
CN103905426A (zh) | 用于使PCIe构造上的主机到主机消息收发安全和分离的方法和装置 | |
WO2017206422A1 (zh) | 一种网络设备中的远程过程调用方法及网络设备 | |
JP2020533892A (ja) | モノのインターネットのリソースサブスクリプション方法、デバイス、およびシステム | |
KR102184512B1 (ko) | 관리 방법 및 디바이스 | |
CN106663033B (zh) | 在事务中间件机器环境支持绕域和代理模型并更新服务信息以跨域消息传送的系统和方法 | |
US20040019465A1 (en) | Event router and method for handling events in distributing computing applications | |
KR101413295B1 (ko) | 확장성과 적응성을 가지는 dds 구조 및 dds를 구성하는 노드 | |
CN105024855A (zh) | 分布式集群管理系统和方法 | |
JP2007158870A (ja) | 仮想計算機システム及びそのネットワーク通信方法 | |
WO2021129008A1 (zh) | 服务调用方法、装置、设备及介质 | |
US10198538B1 (en) | Relocate targets to different domains in an emulator | |
CN114189525B (zh) | 服务请求方法、装置和电子设备 | |
CN102843432B (zh) | 适用于多客户端数据共享和同步更新的网络通信系统 | |
CN115562757A (zh) | 数据处理方法、配置中心系统、电子设备及存储介质 | |
WO2022160714A1 (zh) | 一种通信方法、装置以及系统 | |
CN103827830A (zh) | 用于在事务性中间件机器环境中防止单点瓶颈的系统和方法 | |
Nguyen et al. | Toward a programmable software-defined IoT architecture for sensor service provision on demand | |
CN114172753A (zh) | 地址预留的方法、网络设备和系统 | |
KR101242662B1 (ko) | 원격 플러그인 장치, 로봇 플러그인 실행 엔진 장치 및 로봇 플러그인 실행 시스템 | |
CN103428270A (zh) | 一种适用于分布式环境的网络通信方法 | |
US20150282221A1 (en) | Machine-to-machine domain proxy | |
CN112231405B (zh) | 数据存储装置 | |
KR20080058409A (ko) | 양 종점 간의 투명한 독립 통신 설계 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |