CN112527522A - 一种基于两级数据池的分区消息订阅、发布方法 - Google Patents
一种基于两级数据池的分区消息订阅、发布方法 Download PDFInfo
- Publication number
- CN112527522A CN112527522A CN202011414699.8A CN202011414699A CN112527522A CN 112527522 A CN112527522 A CN 112527522A CN 202011414699 A CN202011414699 A CN 202011414699A CN 112527522 A CN112527522 A CN 112527522A
- Authority
- CN
- China
- Prior art keywords
- data pool
- partition
- message
- operating system
- application
- 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
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000005192 partition Methods 0.000 claims abstract description 72
- 238000004891 communication Methods 0.000 claims abstract description 35
- 238000012546 transfer Methods 0.000 claims description 6
- 230000008878 coupling Effects 0.000 abstract description 5
- 238000010168 coupling process Methods 0.000 abstract description 5
- 238000005859 coupling reaction Methods 0.000 abstract description 5
- 230000002093 peripheral effect Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种基于两级数据池的分区消息订阅发布方法,其特征在于,基于局部和全局两级数据池的消息订阅发布方法,局部数据池用于应用分区与同一操作系统之上的其他应用分区之间的通信,全局数据池用于应用分区与非同一操作系统之上的外部应用之间的通信,局部数据池内存属性设置为Cache使能,全局数据池内存属性设置为Cache禁止,应用分区与局部数据池和全局数据池之间的通信数据采用CPU搬移方式,外部I/O缓存区与全局数据池之间的通信数据采用DMA搬移方式。本发明通过消息订阅/发布机制,降低了应用分区与外围软件的耦合度,通过设置局部和全局两级数据池,并采取不同的数据搬移策略,有效地提高了应用分区的通信效率。
Description
技术领域
本发明属于嵌入式实时操作系统分时分区技术。
背景技术
嵌入式实时操作系统通过分时分区技术为应用分区提供了时、空隔离的运行环境支撑。除此之外,应用分区还需要满足与外界的通信需求。通信需求有两种,一种是同一操作系统之上,各个应用分区相互之间的通信,另一种是应用分区与非同一操作系统之上的外部应用之间的通信。
同一操作系统之上的各个应用分区可通过共享内存方式进行通信,这种通信方式简单直接,但要求通信分区之间的变量地址映射一致,这会造成分区之间耦合严重。
应用分区与非同一操作系统之上的外部应用直接进行通信,这在一方面会造成应用分区与外部应用的耦合,另一方面,多个应用分区可能与外部应用存在共同的通信需求,重复收发浪费通信带宽。
采用消息订阅发布方法,通过建立消息数据池,可有效降低应用分区与外界的耦合度,提高应用分区的可移植性。考虑两种通信需求的差异,同一操作系统之上的各个应用分区之间的通信数据量少,通信介质为高速RAM,速度快;应用分区与非同一操作系统之上的外部应用通信数据量多,通信介质为慢速总线(如串口、1394总线,以太网等),速度慢。采用单一数据池无法兼顾两者的通信需求,通信性能无法充分挖掘。
发明内容
发明目的
提供一种基于两级数据池的应用分区通信机制,能够兼顾应用分区与同一操作系统之上的其他应用分区,以及应用分区与非同一操作系统之上的外部应用差异化的通信需求。
发明技术解决方案
本发明的实施包括以下步骤:
1)嵌入式实时操作系统设置局部数据池,用于存放并维护同一操作系统之上的应用分区之间的通信消息;
2)嵌入式实时操作系统设置全局数据池,用于存放并维护应用分区与非同一操作系统之上的外部应用的通信消息,外部应用通信数据通过总线传输,存放在外部I/O缓存区;
3)嵌入式实时操作系统设置局部数据池的内存区域Cache使能;
4)嵌入式实时操作系统设置全局数据池的内存区域Cache禁止;
5)应用分区设置消息的订阅和发布缓存区Cache使能;
6)嵌入式实时操作系统设置专门的输入和输出分区负责全局数据池与外部I/O缓存区之间的数据搬移,采用DMA搬移方式;
7)应用分区与全局数据池和局部数据池之间的订阅/发布消息通信采用CPU搬移方式;
8)应用分区在初始化时注册消息订阅/发布表,告知嵌入式实时操作系统需要订阅和发布的消息ID,消息的长度,以及消息在应用分区的内存区域;
9)应用分区在实时速率组中,通过嵌入式实时操作系统的订阅/发布系统调用,将订阅消息由局部/全局数据池搬移至应用分区指定的内存区域,将发布消息由应用分区指定的内存区域搬移至局部/全局数据池。
积极效果
本发明通过消息订阅/发布机制,降低了应用分区与外围软件的耦合度,通过设置局部和全局两级数据池,并采取不同的数据搬移策略,有效地提高了应用分区的通信效率。
附图说明
图1为一种基于两级数据池的分区消息订阅、发布方法图。
具体实施方式
以图1所示的示例详细说明具体的实施方式。
1)应用分区初始化时注册消息订阅/发布表,告知嵌入式实时操作系统需要订阅哪些消息和发布哪些消息,消息的长度,以及消息在应用分区的内存区域;
2)嵌入式实时操作系统通过输入分区将外部I/O缓存区的数据搬移至操作系统的全局数据池,数据搬移方式采用DMA方式;
3)应用分区在实时速率组中,通过嵌入式实时操作系统的消息订阅系统调用,将需要订阅的同一操作系统之上的其他应用分区消息,从局部数据池搬移至应用分区指定的内存区域,数据搬移方式采用CPU方式;
4)应用分区在实时速率组中,通过嵌入式实时操作系统的消息订阅系统调用,将需要订阅的非同一个操作系统之上的外部应用消息,从全局数据池搬移至应用分区指定的内存区域,数据搬移方式采用CPU方式;
5)应用分区在实时速率组中,利用订阅获得的消息,完成任务处理后,将待发布的消息放置应用分区指定的内存区域;
6)应用分区在实时速率组中,通过嵌入式实时操作系统的消息发布系统调用,将需要发布的同一操作系统之上的其他分区消息,从应用分区指定的内存区域搬移至局部数据池,数据搬移方式采用CPU方式;
7)应用分区在实时速率组中,通过嵌入式实时操作系统的消息发布系统调用,将需要发布的非同一操作系统之上的外部应用消息,从应用分区指定的内存区域搬移至全局数据池,数据搬移方式采用CPU方式;
8)嵌入式实时操作系统通过输出分区将消息从操作系统的全局数据池搬移至外部I/O缓存区,数据搬移方式采用DMA方式;
9)由计算机硬件将外部I/O缓存区消息数据通过总线发送给外部应用。
Claims (10)
1.一种基于两级数据池的分区消息订阅发布方法,其特征在于,基于局部和全局两级数据池的消息订阅发布方法,局部数据池用于应用分区与同一操作系统之上的其他应用分区之间的通信,全局数据池用于应用分区与非同一操作系统之上的外部应用之间的通信,局部数据池内存属性设置为Cache使能,全局数据池内存属性设置为Cache禁止,应用分区与局部数据池和全局数据池之间的通信数据采用CPU搬移方式,外部I/O缓存区与全局数据池之间的通信数据采用DMA搬移方式。
2.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤1)嵌入式实时操作系统设置局部数据池,用于存放并维护同一操作系统之上的应用分区之间的通信消息。
3.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤2)嵌入式实时操作系统设置全局数据池,用于存放并维护应用分区与非同一操作系统之上的外部应用的通信消息,外部应用通信数据通过总线传输,存放在外部I/O缓存区。
4.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤3)嵌入式实时操作系统设置局部数据池的内存区域Cache使能。
5.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤4)嵌入式实时操作系统设置全局数据池的内存区域Cache禁止。
6.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤5)应用分区设置消息的订阅和发布缓存区Cache使能。
7.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤6)嵌入式实时操作系统设置专门的输入和输出分区负责全局数据池与外部I/O缓存区之间的数据搬移,采用DMA搬移方式。
8.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤7)应用分区与全局数据池和局部数据池之间的订阅/发布消息通信采用CPU搬移方式。
9.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤8)应用分区在初始化时注册消息订阅/发布表,告知嵌入式实时操作系统需要订阅和发布的消息ID,消息的长度,以及消息在应用分区的内存区域。
10.如权利要求1所述的基于两级数据池的分区消息订阅发布方法,其特征在于,包括步骤9)应用分区在实时速率组中,通过嵌入式实时操作系统的订阅/发布系统调用,将订阅消息由局部/全局数据池搬移至应用分区指定的内存区域,将发布消息由应用分区指定的内存区域搬移至局部/全局数据池。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011414699.8A CN112527522B (zh) | 2020-12-04 | 2020-12-04 | 一种基于两级数据池的分区消息订阅、发布方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011414699.8A CN112527522B (zh) | 2020-12-04 | 2020-12-04 | 一种基于两级数据池的分区消息订阅、发布方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527522A true CN112527522A (zh) | 2021-03-19 |
CN112527522B CN112527522B (zh) | 2024-07-23 |
Family
ID=74997818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011414699.8A Active CN112527522B (zh) | 2020-12-04 | 2020-12-04 | 一种基于两级数据池的分区消息订阅、发布方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527522B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914393A (zh) * | 2022-11-29 | 2023-04-04 | 北京科银京成技术有限公司 | 一种通信方法、装置、设备和介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010036692A (ko) * | 1999-10-11 | 2001-05-07 | 구자홍 | 자동은행 거래단말기에서의 실시간 운영체제를 이용한 데이터 통신장치 |
CN1779646A (zh) * | 2005-09-12 | 2006-05-31 | 浙江大学 | 嵌入式实时操作系统中基于消息对象的任务间通信方法 |
KR20090059308A (ko) * | 2007-12-06 | 2009-06-11 | 주식회사 현대오토넷 | 실시간운영체제의 큐모듈을 이용한 메시지기반의 미들웨어장치 및 이를 이용한 메시지 처리방법 |
EP2172857A1 (en) * | 2008-09-26 | 2010-04-07 | Robert Bosch Gmbh | Rapid prototyping system using multi core host computer system |
CN103942178A (zh) * | 2014-03-03 | 2014-07-23 | 浙江大学 | 多核处理器上实时操作系统与非实时操作系统之间的通信方法 |
CN105306559A (zh) * | 2015-10-12 | 2016-02-03 | 国电南瑞科技股份有限公司 | 用于区域电网调控系统的无中心分区多分区消息控制系统 |
KR20160097073A (ko) * | 2015-02-06 | 2016-08-17 | 한국전자통신연구원 | 실시간 운영 체제 분할들 간의 통신 무결성 보증 장치 및 방법 |
CN106357761A (zh) * | 2016-09-13 | 2017-01-25 | 中国电子科技集团公司第三十二研究所 | 基于实时操作系统的分布式消息通信中间件实现软件系统 |
CN108319513A (zh) * | 2018-01-23 | 2018-07-24 | 北京东土科技股份有限公司 | 一种多分区操作系统中的消息传递方法及装置 |
CN109815029A (zh) * | 2019-01-10 | 2019-05-28 | 西北工业大学 | 一种嵌入式分区操作系统分区间通信的实现方法 |
US20190332449A1 (en) * | 2018-04-27 | 2019-10-31 | Nasdaq Technology Ab | Publish-subscribe framework for application execution |
CN111813522A (zh) * | 2020-07-09 | 2020-10-23 | 西北工业大学 | 一种虚拟arinc 653仿真验证平台 |
-
2020
- 2020-12-04 CN CN202011414699.8A patent/CN112527522B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010036692A (ko) * | 1999-10-11 | 2001-05-07 | 구자홍 | 자동은행 거래단말기에서의 실시간 운영체제를 이용한 데이터 통신장치 |
CN1779646A (zh) * | 2005-09-12 | 2006-05-31 | 浙江大学 | 嵌入式实时操作系统中基于消息对象的任务间通信方法 |
KR20090059308A (ko) * | 2007-12-06 | 2009-06-11 | 주식회사 현대오토넷 | 실시간운영체제의 큐모듈을 이용한 메시지기반의 미들웨어장치 및 이를 이용한 메시지 처리방법 |
EP2172857A1 (en) * | 2008-09-26 | 2010-04-07 | Robert Bosch Gmbh | Rapid prototyping system using multi core host computer system |
CN103942178A (zh) * | 2014-03-03 | 2014-07-23 | 浙江大学 | 多核处理器上实时操作系统与非实时操作系统之间的通信方法 |
KR20160097073A (ko) * | 2015-02-06 | 2016-08-17 | 한국전자통신연구원 | 실시간 운영 체제 분할들 간의 통신 무결성 보증 장치 및 방법 |
CN105306559A (zh) * | 2015-10-12 | 2016-02-03 | 国电南瑞科技股份有限公司 | 用于区域电网调控系统的无中心分区多分区消息控制系统 |
CN106357761A (zh) * | 2016-09-13 | 2017-01-25 | 中国电子科技集团公司第三十二研究所 | 基于实时操作系统的分布式消息通信中间件实现软件系统 |
CN108319513A (zh) * | 2018-01-23 | 2018-07-24 | 北京东土科技股份有限公司 | 一种多分区操作系统中的消息传递方法及装置 |
US20190332449A1 (en) * | 2018-04-27 | 2019-10-31 | Nasdaq Technology Ab | Publish-subscribe framework for application execution |
CN109815029A (zh) * | 2019-01-10 | 2019-05-28 | 西北工业大学 | 一种嵌入式分区操作系统分区间通信的实现方法 |
CN111813522A (zh) * | 2020-07-09 | 2020-10-23 | 西北工业大学 | 一种虚拟arinc 653仿真验证平台 |
Non-Patent Citations (4)
Title |
---|
俞慎;李宁波;: "航空电子嵌入式实时操作系统的安全策略", 计算机工程, no. 20, 20 October 2008 (2008-10-20), pages 173 - 175 * |
徐晓光;海顺;邢亮;: "分区操作系统下的分区间通信的设计", 现代电子技术, no. 14, 15 July 2013 (2013-07-15), pages 66 - 68 * |
楚育军: "基于实时内核的嵌入式网络通信系统研究与设计", 中国优秀硕士学位论文全文数据库, 31 January 2002 (2002-01-31), pages 139 - 16 * |
蒋鲲鹏, 缪敬, 芦东昕: "一种分布式操作系统进程间消息通信方法的设计", 中兴通讯技术, no. 05, 25 October 2003 (2003-10-25), pages 56 - 59 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914393A (zh) * | 2022-11-29 | 2023-04-04 | 北京科银京成技术有限公司 | 一种通信方法、装置、设备和介质 |
CN115914393B (zh) * | 2022-11-29 | 2024-11-08 | 北京科银京成技术有限公司 | 一种通信方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112527522B (zh) | 2024-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10216419B2 (en) | Direct interface between graphics processing unit and data storage unit | |
EP3529706B1 (en) | Gpu remote communication with triggered operations | |
CN100573497C (zh) | 一种多核多操作系统之间的通信方法及系统 | |
CN100489814C (zh) | 一种共享缓存系统及实现方法 | |
CN102906726B (zh) | 协处理加速方法、装置及系统 | |
US7970960B2 (en) | Direct memory access controller and data transmitting method of direct memory access channel | |
US11579921B2 (en) | Method and system for performing parallel computations to generate multiple output feature maps | |
CN117312229B (zh) | 一种数据传输装置、数据处理设备、系统、方法及介质 | |
CN117493237B (zh) | 计算设备、服务器、数据处理方法和存储介质 | |
CN102291298A (zh) | 一种高效的面向长消息的计算机网络通信方法 | |
EP3036648A2 (en) | Enhanced data transfer in multi-cpu systems | |
CN103986602A (zh) | 一种启动操作系统的方法、相关设备和系统 | |
CN114817965A (zh) | 基于多算法ip核实现msi中断处理的高速加解密系统及方法 | |
CN104699641A (zh) | 一种多核dsp系统中edma控制器并行控制的方法 | |
CN112527522B (zh) | 一种基于两级数据池的分区消息订阅、发布方法 | |
CN115174673B (zh) | 具备低延迟处理器的数据处理装置、数据处理方法及设备 | |
CN114827151B (zh) | 一种异构服务器集群以及数据转发方法、装置和设备 | |
CN112486402A (zh) | 一种存储节点及系统 | |
US8473966B2 (en) | Iterative exchange communication | |
CN111190840A (zh) | 基于现场可编程门阵列控制的多方中央处理器通信架构 | |
WO2022227563A1 (zh) | 一种硬件电路、数据搬移方法、芯片和电子设备 | |
CN116897581A (zh) | 计算任务调度装置、计算装置、计算任务调度方法和计算方法 | |
CN112740193B (zh) | 大数据运算加速系统执行运算的方法 | |
CN114253733A (zh) | 一种内存管理方法、装置、计算机设备和存储介质 | |
CN110928818A (zh) | 直接存储访问、处理器和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |