CN105404557A - 基于消息队列的进程通信方法 - Google Patents
基于消息队列的进程通信方法 Download PDFInfo
- Publication number
- CN105404557A CN105404557A CN201510895010.0A CN201510895010A CN105404557A CN 105404557 A CN105404557 A CN 105404557A CN 201510895010 A CN201510895010 A CN 201510895010A CN 105404557 A CN105404557 A CN 105404557A
- Authority
- CN
- China
- Prior art keywords
- computer interaction
- human
- data transmission
- message
- interaction module
- 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.)
- Pending
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种基于消息队列的进程通信方法,包括:人机交互模块和数据传输模块通过消息队列建立第一消息通道和第二消息通道;人机交互模块从界面终端获取用户的操作指令,通过所述第一消息通道向数据传输模块发送所述操作指令,数据传输模块从所述第一消息通道获取所述操作指令;数据传输模块接收电台后端的电台状态信息,通过第二消息通道,向人机交互模块传输电台状态信息,人机交互模块通过读取所述电台状态信息将接收到的电台状态信息显示在人机交互模块的人机交互界面上。本发明能实现软无电台前端不同应用下可靠的数据通信,具有良好地兼容性,为后期功能扩充提供较好地支持。
Description
技术领域
本发明涉及软件无线电台,具体地,涉及一种基于消息队列的进程通信方法。
背景技术
在软件无线电台终端模块中,数据传输模块和人机交互模块是其重要组成部分。数据传输模块采用CORBA中间件技术适应软件无线电台中多操作环境的软件通信,人机交互模块基于QTGUI技术开发,两者相互协作完成用户对软件无线电台的设置和使用操作。不同的开发环境及流程会让上述两个应用程序的开发过程变得复杂和繁琐,影响工作效率。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于消息队列的进程通信方法,即基于消息队列实现不同环境下应用程序间的通信方法
根据本发明提供的一种基于消息队列的进程通信方法,包括如下步骤:
步骤S1:人机交互模块和数据传输模块通过消息队列建立第一消息通道和第二消息通道;
步骤S2:人机交互模块从界面终端获取用户的操作指令,通过所述第一消息通道向数据传输模块发送所述操作指令,数据传输模块从所述第一消息通道获取所述操作指令;
步骤S3:数据传输模块接收电台后端的电台状态信息,通过第二消息通道,向人机交互模块传输电台状态信息,人机交互模块通过读取所述电台状态信息将接收到的电台状态信息显示在人机交互模块的人机交互界面上。
优选地,还包括如下步骤:
-数据传输模块接收人机交互模块发送过来的电台波形加载命令和射频参数设置命令并解析所述电台波形加载命令和所述射频参数设置命令并调用电台后端对应接口实现波形加载及射频参数设置。
优选地,所述数据传输模块和所述人机交互模块的通信步骤如下:
步骤A1:发送端将待发送内容构建数据包,并将数据包的数据长度通过消息队列发送给接收端;
步骤A2:接收端接收到所述数据长度后发送接收确认信号;
步骤A3:发送端接收到确认信号后再发送数据包的数据内容;
步骤A4:接收端接收到数据内容后确认数据长度,与步骤A2中的数据长度一致后,则发送成功确认信号;
步骤A5:发送端接收到成功确认信号后,则通信成功。
优选地,所述步骤S1具体为,人机交互模块和数据传输模块通过两个消息队列来建立一个双向的数据通信通道。
优选地,所述数据包的构建能够实现多功能多命令的消息传递。
优选地,所述步骤S2具体为:人机交互模块从界面终端获取用户的操作指令,通过第一消息通道向数据传输模块所述操作指令;数据传输模块通过指定内存读取第一消息通道键值从而获取第一消息通,再挂起第一接收消息通道的线程,接收人机交互模块发送的操作指令。
优选地,所述步骤S3具体为:数据传输模块接收电台后端的电台状态信息,通过所述第二消息通道向人机交互模块传输电台状态信息;人机交互模块通过指定内存读取第二消息通道键值从而获取第二消息通道,挂起接收第二消息通道的线程,进行解析后,将接收到的电台状态信息显示在人机交互界面上。
与现有技术相比,本发明具有如下的有益效果:
1、本发明能实现软无电台前端不同应用下可靠的数据通信,具有良好地兼容性,为后期功能扩充提供较好地支持;
2、本发明为不同应用间,即人机交互模块和数据传输模块的通信提供一种新的解决方法,并且避免不同开发环境融合带来的低效率的软件应用开发。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明中通信数据包格式图;
图2为本发明中所述数据传输模块和所述人机交互模块的通信流程示意图;
图3为本发明中人机交互模块中的主线程的工作流程图;
图4为本发明中人机交互模块中的子线程的工作流程图;
图5为本发明中数据传输模块中的主线程的工作流程图;
图6为本发明中数据传输模块中的子线程的工作流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
在本实施例中,本发明提供的基于消息队列的进程通信方法,包括如下步骤:
步骤S1:人机交互模块和数据传输模块通过消息队列建立第一消息通道和第二消息通道;
步骤S2:人机交互模块从界面终端获取用户的操作指令,通过所述第一消息通道向数据传输模块发送所述操作指令,数据传输模块从所述第一消息通道获取所述操作指令;
步骤S3:数据传输模块接收电台后端的电台状态信息,通过第二消息通道,向人机交互模块传输电台状态信息,人机交互模块通过读取所述电台状态信息将接收到的电台状态信息显示在人机交互模块的人机交互界面上。
本发明提供的基于消息队列的进程通信方法,还包括如下步骤:
-数据传输模块接收人机交互模块发送过来的电台波形加载命令和射频参数设置命令并解析所述电台波形加载命令和所述射频参数设置命令并调用电台后端对应接口实现波形加载及射频参数设置。
所述数据传输模块和所述人机交互模块的通信步骤如下:
步骤A1:发送端将待发送内容构建数据包,并将数据包的数据长度通过消息队列发送给接收端;
步骤A2:接收端接收到所述数据长度后发送接收确认信号;
步骤A3:发送端接收到确认信号后再发送数据包的数据内容;
步骤A4:接收端接收到数据内容后确认数据长度,与步骤A2中的数据长度一致后,则发送成功确认信号;
步骤A5:发送端接收到成功确认信号后,则通信成功。
所述步骤S1具体为,人机交互模块和数据传输模块通过两个消息队列来建立一个双向的数据通信通道。
所述数据包的构建能够实现多功能多命令的消息传递。
所述步骤S2具体为:人机交互模块从界面终端获取用户的操作指令,通过第一消息通道向数据传输模块所述操作指令;数据传输模块通过指定内存读取第一消息通道键值从而获取第一消息通1,再挂起第一接收消息通道的线程,接收人机交互模块发送的操作指令。
所述步骤S3具体为:数据传输模块接收电台后端的电台状态信息,通过所述第二消息通道向人机交互模块传输电台状态信息;人机交互模块通过指定内存读取第二消息通道键值从而获取第二消息通道,挂起接收第二消息通道的线程,进行解析后,将接收到的电台状态信息显示在人机交互界面上。
人机交互模块,其界面应用是基于QTGUI技术开发,在其相应的开发环境下开发界面,生成相应编译文件。
数据传输模块,为其适应多操作系统环境采样CORBA中间件开发,利用MPC工具生成相应编译文件。
如图2所示,基于QTGUI的人机交互模块的人机交互界面中可供用户进行波形选择、加载、卸载相关操作和射频参数设置与读取相关操作。人机交互模块中创建第一消息通道用于发送通道,并将其键值写入某固定文件中,再读取该固定文件中相应内容作为接收消息通道键值并获取。人机交互模块的主线程用于监听用户操作消息,根据不同操作类型,构建相应通信数据包,并由发送通道发送出去;人机交互模块的子线程用于接收通道上消息,解析通信数据包并显示在界面的相应位置供用户查看。
如图3所示,基于TAO实现的数据传输模块一边负责与软无电台后端通信,数据传输模块能够很好地屏蔽掉不同硬件平台不同操作系统环境下通信差异性,其中CORBA采用“软总线”概念使得用户可不用关注ARM与PowerPC,Linux与VxWorks平台差异,有效地实现两者之间的通信,且代码移植性高,缩短开发调试周期;同时数据传输应用通过基于消息队列的通信协议实现与人机界面的可靠的数据传输。数据传输模块的主线程负责创建并挂起本地CORBA服务例程,获取后端核心框架相关的服务对象,在后端调用本地服务例程时通过消息队列向人机界面模块发送状态信息;数据传输模块的子线程负责监听接收消息队列上数据消息,根据解析到的接收数据包指令,调用核心框架或射频参数设置相关接口实现波形相关操作和射频参数设置相关操作。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (7)
1.一种基于消息队列的进程通信方法,其特征在于,包括如下步骤:
步骤S1:人机交互模块和数据传输模块通过消息队列建立第一消息通道和第二消息通道;
步骤S2:人机交互模块从界面终端获取用户的操作指令,通过所述第一消息通道向数据传输模块发送所述操作指令,数据传输模块从所述第一消息通道获取所述操作指令;
步骤S3:数据传输模块接收电台后端的电台状态信息,通过第二消息通道,向人机交互模块传输电台状态信息,人机交互模块通过读取所述电台状态信息将接收到的电台状态信息显示在人机交互模块的人机交互界面上。
2.根据权利要求1所述的基于消息队列的进程通信方法,其特征在于,还包括如下步骤:
-数据传输模块接收人机交互模块发送过来的电台波形加载命令和射频参数设置命令并解析所述电台波形加载命令和所述射频参数设置命令并调用电台后端对应接口实现波形加载及射频参数设置。
3.根据权利要求1所述的基于消息队列的进程通信方法,其特征在于,所述数据传输模块和所述人机交互模块的通信步骤如下:
步骤A1:发送端将待发送内容构建数据包,并将数据包的数据长度通过消息队列发送给接收端;
步骤A2:接收端接收到所述数据长度后发送接收确认信号;
步骤A3:发送端接收到确认信号后再发送数据包的数据内容;
步骤A4:接收端接收到数据内容后确认数据长度,与步骤A2中的数据长度一致后,则发送成功确认信号;
步骤A5:发送端接收到成功确认信号后,则通信成功。
4.根据权利要求1所述的基于消息队列的进程通信方法,其特征在于,所述步骤S1具体为,人机交互模块和数据传输模块通过两个消息队列来建立一个双向的数据通信通道。
5.根据权利要求3所述的基于消息队列的进程通信方法,其特征在于,所述数据包的构建能够实现多功能多命令的消息传递。
6.根据权利要求1所述的基于消息队列的进程通信方法,其特征在于,所述步骤S2具体为:人机交互模块从界面终端获取用户的操作指令,通过第一消息通道向数据传输模块所述操作指令;数据传输模块通过指定内存读取第一消息通道键值从而获取第一消息通,再挂起第一接收消息通道的线程,接收人机交互模块发送的操作指令。
7.根据权利要求1所述的基于消息队列的进程通信方法,其特征在于,所述步骤S3具体为:数据传输模块接收电台后端的电台状态信息,通过所述第二消息通道向人机交互模块传输电台状态信息;人机交互模块通过指定内存读取第二消息通道键值从而获取第二消息通道,挂起接收第二消息通道的线程,进行解析后,将接收到的电台状态信息显示在人机交互界面上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510895010.0A CN105404557A (zh) | 2015-12-07 | 2015-12-07 | 基于消息队列的进程通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510895010.0A CN105404557A (zh) | 2015-12-07 | 2015-12-07 | 基于消息队列的进程通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105404557A true CN105404557A (zh) | 2016-03-16 |
Family
ID=55470056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510895010.0A Pending CN105404557A (zh) | 2015-12-07 | 2015-12-07 | 基于消息队列的进程通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105404557A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201667A (zh) * | 2016-06-29 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 一种用户指令队列管理系统及方法 |
CN109669792A (zh) * | 2018-12-24 | 2019-04-23 | 网宿科技股份有限公司 | 分析数据报文的方法及业务服务器 |
CN111722941A (zh) * | 2020-05-28 | 2020-09-29 | 南京国电南自电网自动化有限公司 | 一种兼容异构处理器的监控系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020097338A (ko) * | 2001-06-20 | 2002-12-31 | 엘지전자 주식회사 | 에스디알 시스템에서의 리소스 어댑터 |
CN101141742A (zh) * | 2007-10-12 | 2008-03-12 | 中兴通讯股份有限公司 | 一种终端的应用通信方法 |
US20090037929A1 (en) * | 2007-07-30 | 2009-02-05 | Tresys Technology, Llc | Secure Inter-Process Communications Using Mandatory Access Control Security Policies |
CN101458637A (zh) * | 2007-12-13 | 2009-06-17 | 华为技术有限公司 | 一种实现进程通信的方法、装置及系统 |
CN103916431A (zh) * | 2013-01-04 | 2014-07-09 | 云联(北京)信息技术有限公司 | 一种人机交互系统及方法 |
-
2015
- 2015-12-07 CN CN201510895010.0A patent/CN105404557A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020097338A (ko) * | 2001-06-20 | 2002-12-31 | 엘지전자 주식회사 | 에스디알 시스템에서의 리소스 어댑터 |
US20090037929A1 (en) * | 2007-07-30 | 2009-02-05 | Tresys Technology, Llc | Secure Inter-Process Communications Using Mandatory Access Control Security Policies |
CN101141742A (zh) * | 2007-10-12 | 2008-03-12 | 中兴通讯股份有限公司 | 一种终端的应用通信方法 |
CN101458637A (zh) * | 2007-12-13 | 2009-06-17 | 华为技术有限公司 | 一种实现进程通信的方法、装置及系统 |
CN103916431A (zh) * | 2013-01-04 | 2014-07-09 | 云联(北京)信息技术有限公司 | 一种人机交互系统及方法 |
Non-Patent Citations (2)
Title |
---|
LINYILONG: "TCP中需要了解的东西", 《HTTPS://WWW.CNBLOGS.COM/LINYILONG3/P/3407321.HTML》 * |
王建斌: "ORB与SCA核心框架设计实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201667A (zh) * | 2016-06-29 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 一种用户指令队列管理系统及方法 |
CN106201667B (zh) * | 2016-06-29 | 2020-02-04 | 武汉斗鱼网络科技有限公司 | 一种用户指令队列管理系统及方法 |
CN109669792A (zh) * | 2018-12-24 | 2019-04-23 | 网宿科技股份有限公司 | 分析数据报文的方法及业务服务器 |
CN111722941A (zh) * | 2020-05-28 | 2020-09-29 | 南京国电南自电网自动化有限公司 | 一种兼容异构处理器的监控系统及方法 |
CN111722941B (zh) * | 2020-05-28 | 2022-09-09 | 南京国电南自电网自动化有限公司 | 一种兼容异构处理器的监控系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104754536A (zh) | 一种不同语言间实现通信的方法和系统 | |
CN110941563B (zh) | 自动化脚本测试方法及装置 | |
CN108377232B (zh) | 一种多协议通信方法、装置、电子设备及可读存储介质 | |
WO2019184658A1 (zh) | 配置文件的切换方法、装置与移动终端 | |
CN111464419B (zh) | 一种基于总线网络通信的数据传输控制方法 | |
CN107509051A (zh) | 远程控制方法、装置、终端及计算机可读存储介质 | |
CN105404557A (zh) | 基于消息队列的进程通信方法 | |
EP2466943A1 (en) | Method and device for monitoring running state of card | |
CN110221840B (zh) | 应用程序的功能实现方法及装置、设备及存储介质 | |
CN105094776A (zh) | 列表的处理方法和设备 | |
US11582173B2 (en) | Message processing method and electronic device supporting the same | |
CN107438097B (zh) | 网络请求处理方法及装置 | |
CN104506948A (zh) | 一种中间件与用户界面之间的消息传递方法和系统 | |
CN111240801A (zh) | 生成堆内存快照文件的方法、装置、介质和电子设备 | |
CN114116487B (zh) | 压力测试方法、装置、电子设备及存储介质 | |
CN101834934B (zh) | 双模双待终端中数据的处理方法及相关装置 | |
CN113950034A (zh) | 蓝牙行为的模拟方法、装置和设备 | |
CN113079056A (zh) | 一种终端协议一致性测试方法及装置 | |
CN102487526B (zh) | 协议一致性测试方法及系统 | |
CN112230945A (zh) | 提升设备兼容性的方法、装置、电子设备及存储介质 | |
CN103577177A (zh) | 一种图形库调用方法和设备 | |
CN114090489B (zh) | 基于virtio的IO扩展方法及装置 | |
CN112688863B (zh) | 网关数据处理方法、装置及电子设备 | |
CN109714470B (zh) | 一种基于nodejs实现手机应用模块化的方法及系统 | |
CN109634885B (zh) | 移动终端与智能卡通信的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160316 |