基于消息隊列的進程通信方法
【技術領域】
[0001]本發(fā)明涉及軟件無線電臺,具體地,涉及一種基于消息隊列的進程通信方法。
【背景技術】
[0002]在軟件無線電臺終端模塊中,數(shù)據(jù)傳輸模塊和人機交互模塊是其重要組成部分。數(shù)據(jù)傳輸模塊采用C0RBA中間件技術適應軟件無線電臺中多操作環(huán)境的軟件通信,人機交互模塊基于QT GUI技術開發(fā),兩者相互協(xié)作完成用戶對軟件無線電臺的設置和使用操作。不同的開發(fā)環(huán)境及流程會讓上述兩個應用程序的開發(fā)過程變得復雜和繁瑣,影響工作效率。
【發(fā)明內(nèi)容】
[0003]針對現(xiàn)有技術中的缺陷,本發(fā)明的目的是提供一種基于消息隊列的進程通信方法,即基于消息隊列實現(xiàn)不同環(huán)境下應用程序間的通信方法
[0004]根據(jù)本發(fā)明提供的一種基于消息隊列的進程通信方法,包括如下步驟:
[0005]步驟S1:人機交互模塊和數(shù)據(jù)傳輸模塊通過消息隊列建立第一消息通道和第二消息通道;
[0006]步驟S2:人機交互模塊從界面終端獲取用戶的操作指令,通過所述第一消息通道向數(shù)據(jù)傳輸模塊發(fā)送所述操作指令,數(shù)據(jù)傳輸模塊從所述第一消息通道獲取所述操作指令;
[0007]步驟S3:數(shù)據(jù)傳輸模塊接收電臺后端的電臺狀態(tài)信息,通過第二消息通道,向人機交互模塊傳輸電臺狀態(tài)信息,人機交互模塊通過讀取所述電臺狀態(tài)信息將接收到的電臺狀態(tài)信息顯示在人機交互模塊的人機交互界面上。
[0008]優(yōu)選地,還包括如下步驟:
[0009]-數(shù)據(jù)傳輸模塊接收人機交互模塊發(fā)送過來的電臺波形加載命令和射頻參數(shù)設置命令并解析所述電臺波形加載命令和所述射頻參數(shù)設置命令并調(diào)用電臺后端對應接口實現(xiàn)波形加載及射頻參數(shù)設置。
[0010]優(yōu)選地,所述數(shù)據(jù)傳輸模塊和所述人機交互模塊的通信步驟如下:
[0011]步驟A1:發(fā)送端將待發(fā)送內(nèi)容構建數(shù)據(jù)包,并將數(shù)據(jù)包的數(shù)據(jù)長度通過消息隊列發(fā)送給接收端;
[0012]步驟A2:接收端接收到所述數(shù)據(jù)長度后發(fā)送接收確認信號;
[0013]步驟A3:發(fā)送端接收到確認信號后再發(fā)送數(shù)據(jù)包的數(shù)據(jù)內(nèi)容;
[0014]步驟A4:接收端接收到數(shù)據(jù)內(nèi)容后確認數(shù)據(jù)長度,與步驟A2中的數(shù)據(jù)長度一致后,則發(fā)送成功確認信號;
[0015]步驟A5:發(fā)送端接收到成功確認信號后,則通信成功。
[0016]優(yōu)選地,所述步驟S1具體為,人機交互模塊和數(shù)據(jù)傳輸模塊通過兩個消息隊列來建立一個雙向的數(shù)據(jù)通信通道。
[0017]優(yōu)選地,所述數(shù)據(jù)包的構建能夠?qū)崿F(xiàn)多功能多命令的消息傳遞。
[0018]優(yōu)選地,所述步驟S2具體為:人機交互模塊從界面終端獲取用戶的操作指令,通過第一消息通道向數(shù)據(jù)傳輸模塊所述操作指令;數(shù)據(jù)傳輸模塊通過指定內(nèi)存讀取第一消息通道鍵值從而獲取第一消息通,再掛起第一接收消息通道的線程,接收人機交互模塊發(fā)送的操作指令。
[0019]優(yōu)選地,所述步驟S3具體為:數(shù)據(jù)傳輸模塊接收電臺后端的電臺狀態(tài)信息,通過所述第二消息通道向人機交互模塊傳輸電臺狀態(tài)信息;人機交互模塊通過指定內(nèi)存讀取第二消息通道鍵值從而獲取第二消息通道,掛起接收第二消息通道的線程,進行解析后,將接收到的電臺狀態(tài)信息顯示在人機交互界面上。
[0020]與現(xiàn)有技術相比,本發(fā)明具有如下的有益效果:
[0021]1、本發(fā)明能實現(xiàn)軟無電臺前端不同應用下可靠的數(shù)據(jù)通信,具有良好地兼容性,為后期功能擴充提供較好地支持;
[0022]2、本發(fā)明為不同應用間,即人機交互模塊和數(shù)據(jù)傳輸模塊的通信提供一種新的解決方法,并且避免不同開發(fā)環(huán)境融合帶來的低效率的軟件應用開發(fā)。
【附圖說明】
[0023]通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
[0024]圖1為本發(fā)明中通信數(shù)據(jù)包格式圖;
[0025]圖2為本發(fā)明中所述數(shù)據(jù)傳輸模塊和所述人機交互模塊的通信流程示意圖;
[0026]圖3為本發(fā)明中人機交互模塊中的主線程的工作流程圖;
[0027]圖4為本發(fā)明中人機交互模塊中的子線程的工作流程圖;
[0028]圖5為本發(fā)明中數(shù)據(jù)傳輸模塊中的主線程的工作流程圖;
[0029]圖6為本發(fā)明中數(shù)據(jù)傳輸模塊中的子線程的工作流程圖。
【具體實施方式】
[0030]下面結合具體實施例對本發(fā)明進行詳細說明。以下實施例將有助于本領域的技術人員進一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應當指出的是,對本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進。這些都屬于本發(fā)明的保護范圍。
[0031 ] 在本實施例中,本發(fā)明提供的基于消息隊列的進程通信方法,包括如下步驟:
[0032]步驟S1:人機交互模塊和數(shù)據(jù)傳輸模塊通過消息隊列建立第一消息通道和第二消息通道;
[0033]步驟S2:人機交互模塊從界面終端獲取用戶的操作指令,通過所述第一消息通道向數(shù)據(jù)傳輸模塊發(fā)送所述操作指令,數(shù)據(jù)傳輸模塊從所述第一消息通道獲取所述操作指令;
[0034]步驟S3:數(shù)據(jù)傳輸模塊接收電臺后端的電臺狀態(tài)信息,通過第二消息通道,向人機交互模塊傳輸電臺狀態(tài)信息,人機交互模塊通過讀取所述電臺狀態(tài)信息將接收到的電臺狀態(tài)信息顯示在人機交互模塊的人機交互界面上。
[0035]本發(fā)明提供的基于消息隊列的進程通信方法,還包括如下步驟:
[0036]-數(shù)據(jù)傳輸模塊接收人機交互模塊發(fā)送過來的電臺波形加載命令和射頻參數(shù)設置命令并解析所述電臺波形加載命令和所述射頻參數(shù)設置命令并調(diào)用電臺后端對應接口實現(xiàn)波形加載及射頻參數(shù)設置。
[0037]所述數(shù)據(jù)傳輸模塊和所述人機交互模塊的通信步驟如下:
[0038]步驟A1:發(fā)送端將待發(fā)送內(nèi)容構建數(shù)據(jù)包,并將數(shù)據(jù)包的數(shù)據(jù)長度通過消息隊列發(fā)送給接收端;
[0039]步驟A2:接收端接收到所述數(shù)據(jù)長度后發(fā)送接收確認信號;
[0040]步驟A3:發(fā)送端接收到確認信號后再發(fā)送數(shù)據(jù)包的數(shù)據(jù)內(nèi)容;
[0041]步驟A4:接收端接收到數(shù)據(jù)內(nèi)容后確認數(shù)據(jù)長度,與步驟A2中的數(shù)據(jù)長度一致后,則發(fā)送成功確認信號;
[0042]步驟A5:發(fā)送端接收到成功確