基于消息队列的进程通信方法

文档序号:9646490阅读:1047来源:国知局
基于消息队列的进程通信方法
【技术领域】
[0001]本发明涉及软件无线电台,具体地,涉及一种基于消息队列的进程通信方法。
【背景技术】
[0002]在软件无线电台终端模块中,数据传输模块和人机交互模块是其重要组成部分。数据传输模块采用C0RBA中间件技术适应软件无线电台中多操作环境的软件通信,人机交互模块基于QT GUI技术开发,两者相互协作完成用户对软件无线电台的设置和使用操作。不同的开发环境及流程会让上述两个应用程序的开发过程变得复杂和繁琐,影响工作效率。

【发明内容】

[0003]针对现有技术中的缺陷,本发明的目的是提供一种基于消息队列的进程通信方法,即基于消息队列实现不同环境下应用程序间的通信方法
[0004]根据本发明提供的一种基于消息队列的进程通信方法,包括如下步骤:
[0005]步骤S1:人机交互模块和数据传输模块通过消息队列建立第一消息通道和第二消息通道;
[0006]步骤S2:人机交互模块从界面终端获取用户的操作指令,通过所述第一消息通道向数据传输模块发送所述操作指令,数据传输模块从所述第一消息通道获取所述操作指令;
[0007]步骤S3:数据传输模块接收电台后端的电台状态信息,通过第二消息通道,向人机交互模块传输电台状态信息,人机交互模块通过读取所述电台状态信息将接收到的电台状态信息显示在人机交互模块的人机交互界面上。
[0008]优选地,还包括如下步骤:
[0009]-数据传输模块接收人机交互模块发送过来的电台波形加载命令和射频参数设置命令并解析所述电台波形加载命令和所述射频参数设置命令并调用电台后端对应接口实现波形加载及射频参数设置。
[0010]优选地,所述数据传输模块和所述人机交互模块的通信步骤如下:
[0011]步骤A1:发送端将待发送内容构建数据包,并将数据包的数据长度通过消息队列发送给接收端;
[0012]步骤A2:接收端接收到所述数据长度后发送接收确认信号;
[0013]步骤A3:发送端接收到确认信号后再发送数据包的数据内容;
[0014]步骤A4:接收端接收到数据内容后确认数据长度,与步骤A2中的数据长度一致后,则发送成功确认信号;
[0015]步骤A5:发送端接收到成功确认信号后,则通信成功。
[0016]优选地,所述步骤S1具体为,人机交互模块和数据传输模块通过两个消息队列来建立一个双向的数据通信通道。
[0017]优选地,所述数据包的构建能够实现多功能多命令的消息传递。
[0018]优选地,所述步骤S2具体为:人机交互模块从界面终端获取用户的操作指令,通过第一消息通道向数据传输模块所述操作指令;数据传输模块通过指定内存读取第一消息通道键值从而获取第一消息通,再挂起第一接收消息通道的线程,接收人机交互模块发送的操作指令。
[0019]优选地,所述步骤S3具体为:数据传输模块接收电台后端的电台状态信息,通过所述第二消息通道向人机交互模块传输电台状态信息;人机交互模块通过指定内存读取第二消息通道键值从而获取第二消息通道,挂起接收第二消息通道的线程,进行解析后,将接收到的电台状态信息显示在人机交互界面上。
[0020]与现有技术相比,本发明具有如下的有益效果:
[0021]1、本发明能实现软无电台前端不同应用下可靠的数据通信,具有良好地兼容性,为后期功能扩充提供较好地支持;
[0022]2、本发明为不同应用间,即人机交互模块和数据传输模块的通信提供一种新的解决方法,并且避免不同开发环境融合带来的低效率的软件应用开发。
【附图说明】
[0023]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0024]图1为本发明中通信数据包格式图;
[0025]图2为本发明中所述数据传输模块和所述人机交互模块的通信流程示意图;
[0026]图3为本发明中人机交互模块中的主线程的工作流程图;
[0027]图4为本发明中人机交互模块中的子线程的工作流程图;
[0028]图5为本发明中数据传输模块中的主线程的工作流程图;
[0029]图6为本发明中数据传输模块中的子线程的工作流程图。
【具体实施方式】
[0030]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0031 ] 在本实施例中,本发明提供的基于消息队列的进程通信方法,包括如下步骤:
[0032]步骤S1:人机交互模块和数据传输模块通过消息队列建立第一消息通道和第二消息通道;
[0033]步骤S2:人机交互模块从界面终端获取用户的操作指令,通过所述第一消息通道向数据传输模块发送所述操作指令,数据传输模块从所述第一消息通道获取所述操作指令;
[0034]步骤S3:数据传输模块接收电台后端的电台状态信息,通过第二消息通道,向人机交互模块传输电台状态信息,人机交互模块通过读取所述电台状态信息将接收到的电台状态信息显示在人机交互模块的人机交互界面上。
[0035]本发明提供的基于消息队列的进程通信方法,还包括如下步骤:
[0036]-数据传输模块接收人机交互模块发送过来的电台波形加载命令和射频参数设置命令并解析所述电台波形加载命令和所述射频参数设置命令并调用电台后端对应接口实现波形加载及射频参数设置。
[0037]所述数据传输模块和所述人机交互模块的通信步骤如下:
[0038]步骤A1:发送端将待发送内容构建数据包,并将数据包的数据长度通过消息队列发送给接收端;
[0039]步骤A2:接收端接收到所述数据长度后发送接收确认信号;
[0040]步骤A3:发送端接收到确认信号后再发送数据包的数据内容;
[0041]步骤A4:接收端接收到数据内容后确认数据长度,与步骤A2中的数据长度一致后,则发送成功确认信号;
[0042]步骤A5:发送端接收到成功确
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1