一種機載端航電總線狀態交換協議處理方法與流程
2023-11-05 07:33:12

該設計屬於計算機軟體-系統應用軟體領域,涉及一種機載端航電總線狀態交換協議處理方法。
背景技術:
隨著民用航空電子系統的發展,飛機內部的航電總線種類越來越多,機載航電數據信息管理系統負責對航電總線上數據進行實時地採集,並且將採集的數據通過某種方式發送給外部應用。當外部應用接收不到航電數據信息管理系統發送的數據時,需要某種遠程方式能夠獲得總線上的歷史信息,根據歷史信息來分析總線的歷史狀態和當前所處的狀態。如何遠程獲取機載航電總線的歷史信息,這就需要用戶自定義一套輕量級的遠程獲取機載航電總線管理信息的協議,輕量級的機載航電總線管理信息協議佔用的機載設備資源少,並且交互方式簡單易行,利於在機載設備上實現,並且能夠達到很好的使用效果。
技術實現要素:
本發明的目的:
本發明提供一種機載端航電總線狀態交換協議處理方法,能夠在機載設備上開發機載航電總線管理的服務,進而對航電總線狀態信息進行實時監控和管理,從而給遠程的外部應用獲取機載端航電總線狀態信息提供了便利,便於外部管理人員實時了解機載設備的航電總線的狀態,便於發現航電總線的故障信息,從而利於對航電設備的維護和維修。
本發明的技術方案:
一種機載端航電總線狀態交換協議處理方法,包括:
步驟1、等待接收外部應用請求消息;如果接收到外部應用請求消息,解析所述請求消息;
步驟2、如果解析得到所述請求消息為訪問命令A消息,根據訪問命令A消息中總線類型和總線ID請求的總線狀態信息,獲取機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息;
步驟3、組裝訪問命令A的響應消息並發送給外部應用,返回步驟1;
步驟4、如果解析得到所述請求消息為訪問命令R消息,根據訪問命令R消息中總線類型和總線ID請求的總線狀態信息,獲取機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息;
步驟5、組裝訪問命令R的響應消息並發送給外部應用,返回步驟1;
步驟6、如果解析得到所述請求消息為訪問命令S消息,根據訪問命令S消息中總線類型和總線ID請求的總線狀態信息,獲取機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息;
步驟7、組裝訪問命令S的響應消息並發送給外部應用,返回步驟1;
航電總線管理信息庫中機載端航電總線管理信息模型為:
(1)機載端航電總線管理信息模型採用樹形結構,模型採用四層樹,根節點是管理信息庫,一層是總線類型節點,二層是總線號節點,三層是記錄的航電總線狀態信息;
(2)航電總線管理信息模型的狀態信息中包含如下關係:
當正常接收情況:
a.接收總線數據總字節數次數*4294967296+接收總線數據總字節數=(接收數據成功總字節數次數*4294967296+接收總線數據成功總字節數)+(接收數據失敗總字節數次數*4294967296+接收總線數據失敗總字節數);
b.當接收總線數據總字節數等於4294967296時,接收總線數據總字節數次數加1;
c.當接收總線數據成功總字節數等於4294967296,接收數據成功總字節數次數加1;
d.每當接收一次數據,數據通過完整性校驗,則接收總線數據成功總字節數更新為原來的值加上本次接收的數據的字節數,接收總線數據總字節數更新為原來的值加上本次接收的數據的字節數,接收成功次數加1,最近一次接收總線數據成功時間更新為接收數據時時間;當接收數據是第一個數據包時,記錄第一次接收數據時間;
e.當接收總線數據失敗總字節數等於4294967296,接收數據失敗總字節數次數加1;
f.每當接收一次數據,數據未能通過完整性校驗,則接收總線數據失敗總字節數更新為原來的值加上本次接收的數據的字節數,接收總線數據總字節數更新為原來的值加上本次接收的數據的字節數,接收失敗次數加1,最近一次接收總線數據失敗時間更新為接收數據時時間;當接收數據是第一個數據包時,記錄第一次接收數據時間;
g.當接收失敗次數達到設定的閾值後,接收總線狀態設置為失效狀態,否則接收總線狀態設置為正常工作狀態;
當正常發送情況:
a.發送總線數據總字節數次數*4294967296+發送總線數據總字節數=(發送數據成功總字節數次數*4294967296+發送總線數據成功總字節數)+(發送數據失敗總字節數次數*4294967296+發送總線數據失敗總字節數次數);
b.當發送總線數據總字節數等於4294967296時,發送總線數據總字節數次數加1;
c.當發送總線數據成功總字節數等於4294967296時,發送數據成功總字節數次數加1;
d.每當發送一次數據,數據發送成功,則發送總線數據成功總字節數更新為原來的值加上本次發送的數據的字節數,發送總線數據總字節數更新為原來的值加上本次發送的數據的字節數,發送成功次數加1,最近一次發送總線數據成功時間更新為發送數據時時間;當發送數據是第一個數據包時,記錄第一次發送數據時間;
e.當發送總線數據失敗總字節數等於4294967296,發送數據失敗總字節數次數加1;
f.每當發送一次數據,數據發送失敗,則發送總線數據失敗總字節數更新為原來的值加上本次發送的數據的字節數,發送總線數據總字節數更新為原來的值加上本次發送的數據的字節數,發送失敗次數加1,最近一次發送總線數據失敗時間更新為發送數據時時間;當發送數據是第一個數據包時,記錄第一次發送數據時間;
g.當發送失敗次數達到設置的閾值後,發送總線狀態設置為失效狀態,否則閾值內,發送總線狀態設置為正常工作狀態。
訪問命令A、R、S消息中總線類型和總線ID請求的總線狀態信息時,機載航電總線信息管理協議交互流程包括:
一、訪問命令A交互過程:應用向機載端發送訪問命令A的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應;
二、訪問命令R交互過程:應用向機載端發送訪問命令R的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應;
三、訪問命令S交互過程:應用向機載端發送訪問命令S的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應。
訪問命令A、R、S消息中總線類型和總線ID請求的總線狀態信息時,機載航電總線信息管理協議交互流程的交互協議數據模型具體為:
分為請求消息和響應消息兩部分,兩個消息的欄位定義如下:
(1)總線類型:表示請求總線類型;
(2)總線ID:表示請求的具體的某條總線。
(3)訪問命令:表示請求的總線狀態信息,訪問命令分為:
A:表示獲取此總線下面所有狀態信息;
R:表示獲取此總線下面與接收有關的狀態信息;
S:表示獲取此總線下面與發送有關的狀態信息。
(4)請求消息狀態碼:表示請求的消息正確與否,狀態碼分為:
0:表示請求消息中所有欄位都正確;
1:表示請求消息的CRC校驗錯誤;
2:表示請求消息中無此總線類型;
3:表示請求消息中無此總線ID;
4:表示請求消息中無此訪問命令。
(5)響應命令:表示對請求消息中訪問命令的回覆,響應命令分為:
AR:表示對訪問命令A的響應;
RR:表示對訪問命令R的響應;
SR:表示對訪問命令S的響應。
(6)數據:當請求消息內容檢查正確和通過,則響應消息包含此欄位,如果請求消息檢查出現錯誤,則響應消息不包含此欄位。
(7)CRC:表示消息的CRC校驗碼。
本發明具有的優點效果:
本設計在使用過程中可以獲取以下有益效果:
(1)提供對機載航電總線的狀態監控和管理,通過對每一類航電總線的每一條航電總線的狀態信息的統計,便於機載維護人員和管理人員及時地通過遠程方式獲悉航電總線的歷史狀態信息,分析機載航電總線是否發生故障,故障發生的時間點和發生的頻率,提高了設備的可維護性和維修性。
(2)方法的通用性:本方法是一種輕量級的協議,機載端實現協議時佔用的硬體資源少,便於實現和可操作性,不論是採用TCP還是UDP都可實現此協議。
附圖說明
圖1為機載端航電總線管理信息模型示意圖。
圖2為機載航電總線信息管理交互協議數據模型示意圖。
圖3為機載航電總線信息管理協議交互流程示意圖。
圖4為機載端航電總線交換協議數據處理流程示意圖。
具體實施方式
一種機載端航電總線狀態交換協議處理方法,包括:
步驟1、等待接收外部應用請求消息;如果接收到外部應用請求消息,解析所述請求消息;
步驟2、如果解析得到所述請求消息為訪問命令A消息,根據訪問命令A消息中總線類型和總線ID請求的總線狀態信息,獲取機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息;
步驟3、組裝訪問命令A的響應消息並發送給外部應用,返回步驟1;
步驟4、如果解析得到所述請求消息為訪問命令R消息,根據訪問命令R消息中總線類型和總線ID請求的總線狀態信息,獲取機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息;
步驟5、組裝訪問命令R的響應消息並發送給外部應用,返回步驟1;
步驟6、如果解析得到所述請求消息為訪問命令S消息,根據訪問命令S消息中總線類型和總線ID請求的總線狀態信息,獲取機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息;
步驟7、組裝訪問命令S的響應消息並發送給外部應用,返回步驟1。
航電總線管理信息庫中機載端航電總線管理信息模型為:
(1)機載端航電總線管理信息模型採用樹形結構,模型採用四層樹,根節點是管理信息庫,一層是總線類型節點,二層是總線號節點,三層是記錄的航電總線狀態信息;
(2)航電總線管理信息模型的狀態信息中包含如下關係:
當正常接收情況:
a.接收總線數據總字節數次數*4294967296+接收總線數據總字節數=(接收數據成功總字節數次數*4294967296+接收總線數據成功總字節數)+(接收數據失敗總字節數次數*4294967296+接收總線數據失敗總字節數);
b.當接收總線數據總字節數等於4294967296時,接收總線數據總字節數次數加1;
c.當接收總線數據成功總字節數等於4294967296,接收數據成功總字節數次數加1;
d.每當接收一次數據,數據通過完整性校驗,則接收總線數據成功總字節數更新為原來的值加上本次接收的數據的字節數,接收總線數據總字節數更新為原來的值加上本次接收的數據的字節數,接收成功次數加1,最近一次接收總線數據成功時間更新為接收數據時時間;當接收數據是第一個數據包時,記錄第一次接收數據時間;
e.當接收總線數據失敗總字節數等於4294967296,接收數據失敗總字節數次數加1;
f.每當接收一次數據,數據未能通過完整性校驗,則接收總線數據失敗總字節數更新為原來的值加上本次接收的數據的字節數,接收總線數據總字節數更新為原來的值加上本次接收的數據的字節數,接收失敗次數加1,最近一次接收總線數據失敗時間更新為接收數據時時間;當接收數據是第一個數據包時,記錄第一次接收數據時間;
g.當接收失敗次數達到設定的閾值後,接收總線狀態設置為失效狀態,否則接收總線狀態設置為正常工作狀態;
當正常發送情況:
a.發送總線數據總字節數次數*4294967296+發送總線數據總字節數=(發送數據成功總字節數次數*4294967296+發送總線數據成功總字節數)+(發送數據失敗總字節數次數*4294967296+發送總線數據失敗總字節數次數);
b.當發送總線數據總字節數等於4294967296時,發送總線數據總字節數次數加1;
c.當發送總線數據成功總字節數等於4294967296時,發送數據成功總字節數次數加1;
d.每當發送一次數據,數據發送成功,則發送總線數據成功總字節數更新為原來的值加上本次發送的數據的字節數,發送總線數據總字節數更新為原來的值加上本次發送的數據的字節數,發送成功次數加1,最近一次發送總線數據成功時間更新為發送數據時時間;當發送數據是第一個數據包時,記錄第一次發送數據時間;
e.當發送總線數據失敗總字節數等於4294967296,發送數據失敗總字節數次數加1;
f.每當發送一次數據,數據發送失敗,則發送總線數據失敗總字節數更新為原來的值加上本次發送的數據的字節數,發送總線數據總字節數更新為原來的值加上本次發送的數據的字節數,發送失敗次數加1,最近一次發送總線數據失敗時間更新為發送數據時時間;當發送數據是第一個數據包時,記錄第一次發送數據時間;
g.當發送失敗次數達到設置的閾值後,發送總線狀態設置為失效狀態,否則閾值內,發送總線狀態設置為正常工作狀態。
訪問命令A、R、S消息中總線類型和總線ID請求的總線狀態信息時,機載航電總線信息管理協議交互流程包括:
一、訪問命令A交互過程:應用向機載端發送訪問命令A的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應;
二、訪問命令R交互過程:應用向機載端發送訪問命令R的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應;
三、訪問命令S交互過程:應用向機載端發送訪問命令S的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應。
訪問命令A、R、S消息中總線類型和總線ID請求的總線狀態信息時,機載航電總線信息管理協議交互流程的交互協議數據模型具體為:
分為請求消息和響應消息兩部分,兩個消息的欄位定義如下:
(1)總線類型:表示請求總線類型;
(2)總線ID:表示請求的具體的某條總線。
(3)訪問命令:表示請求的總線狀態信息,訪問命令分為:
A:表示獲取此總線下面所有狀態信息;
R:表示獲取此總線下面與接收有關的狀態信息;
S:表示獲取此總線下面與發送有關的狀態信息。
(4)請求消息狀態碼:表示請求的消息正確與否,狀態碼分為:
0:表示請求消息中所有欄位都正確;
1:表示請求消息的CRC校驗錯誤;
2:表示請求消息中無此總線類型;
3:表示請求消息中無此總線ID;
4:表示請求消息中無此訪問命令。
(5)響應命令:表示對請求消息中訪問命令的回覆,響應命令分為:
AR:表示對訪問命令A的響應;
RR:表示對訪問命令R的響應;
SR:表示對訪問命令S的響應。
(6)數據:當請求消息內容檢查正確和通過,則響應消息包含此欄位,如果請求消息檢查出現錯誤,則響應消息不包含此欄位。
(7)CRC:表示消息的CRC校驗碼。
實施例
機載端航電總線交互協議數據處理流程描述了機載端航電總線交互協議服務處理的過程和流程,如圖4所示。
(1)機載端服務等待接收外部應用請求消息,無消息則一直等待,有消息時轉到(2);
(2)解析外部應用發送的請求消息,根據請求消息格式(圖2請求消息)來解析消息;若請求消息正確,且訪問命令是A,則執行圖3中的訪問命令A過程,轉到(3);若訪問命令是R,則執行圖3中的訪問命令R過程,轉到(6);若訪問命令是S,則執行圖3中的訪問命令S過程,轉到(9);若解析請求消息錯誤,則轉到(1);
(3)根據請求消息中的訪問命令A、總線類型和總線ID,獲取圖1中機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息,獲取成功後,轉到(4);
(4)按圖2中響應消息格式組裝訪問命令A的響應消息,組裝成功後,轉到(5);
(5)向外部應用發送請求訪問命令A對應的響應消息。發送完成後,轉到(1);
(6)根據請求消息中的訪問命令R、總線類型和總線ID,獲取圖1中機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息,獲取成功後,轉到(7);
(7)按圖2中響應消息格式組裝訪問命令R的響應消息,組裝成功後,轉到(8);
(8)向外部應用發送請求訪問命令R對應的響應消息。發送完成後,轉到(1);
(9)根據請求消息中的訪問命令S、總線類型和總線ID,獲取圖1中機載端航電總線管理信息庫中對應的總線類型和總線ID上的總線狀態信息,獲取成功後,轉到(10);
(10)按圖2中響應消息格式組裝訪問命令S的響應消息,組裝成功後,轉到(11);
(11)向外部應用發送訪問命令S對應的響應消息。發送完成後,轉到(1);
1.機載端航電總線管理信息模型
機載端航電總線管理信息模型如圖1所示。
(1)機載端航電總線管理信息模型採用樹形結構,模型採用四層樹,根節點是管理信息庫,一層是總線類型節點,二層是總線號節點,三層是記錄的航電總線狀態信息。
(2)航電總線管理信息模型的狀態信息中包含如下關係:
當正常接收情況:
h.接收總線數據總字節數次數*4294967296+接收總線數據總字節數=(接收數據成功總字節數次數*4294967296+接收總線數據成功總字節數)+(接收數據失敗總字節數次數*4294967296+接收總線數據失敗總字節數);
i.當接收總線數據總字節數等於4294967296時,接收總線數據總字節數次數加1;
j.當接收總線數據成功總字節數等於4294967296,接收數據成功總字節數次數加1;
k.每當接收一次數據,數據通過完整性校驗,則接收總線數據成功總字節數更新為原來的值加上本次接收的數據的字節數,接收總線數據總字節數更新為原來的值加上本次接收的數據的字節數,接收成功次數加1,最近一次接收總線數據成功時間更新為接收數據時時間;當接收數據是第一個數據包時,記錄第一次接收數據時間。
l.當接收總線數據失敗總字節數等於4294967296,接收數據失敗總字節數次數加1;
m.每當接收一次數據,數據未能通過完整性校驗,則接收總線數據失敗總字節數更新為原來的值加上本次接收的數據的字節數,接收總線數據總字節數更新為原來的值加上本次接收的數據的字節數,接收失敗次數加1,最近一次接收總線數據失敗時間更新為接收數據時時間;當接收數據是第一個數據包時,記錄第一次接收數據時間。
n.當接收失敗次數達到設定的閾值後,接收總線狀態設置為失效狀態,否則接收總線狀態設置為正常工作狀態。
當正常發送情況:
h.發送總線數據總字節數次數*4294967296+發送總線數據總字節數=(發送數據成功總字節數次數*4294967296+發送總線數據成功總字節數)+(發送數據失敗總字節數次數*4294967296+發送總線數據失敗總字節數次數)
i.當發送總線數據總字節數等於4294967296時,發送總線數據總字節數次數加1;
j.當發送總線數據成功總字節數等於4294967296時,發送數據成功總字節數次數加1;
k.每當發送一次數據,數據發送成功,則發送總線數據成功總字節數更新為原來的值加上本次發送的數據的字節數,發送總線數據總字節數更新為原來的值加上本次發送的數據的字節數,發送成功次數加1,最近一次發送總線數據成功時間更新為發送數據時時間;當發送數據是第一個數據包時,記錄第一次發送數據時間。
l.當發送總線數據失敗總字節數等於4294967296,發送數據失敗總字節數次數加1;
m.每當發送一次數據,數據發送失敗,則發送總線數據失敗總字節數更新為原來的值加上本次發送的數據的字節數,發送總線數據總字節數更新為原來的值加上本次發送的數據的字節數,發送失敗次數加1,最近一次發送總線數據失敗時間更新為發送數據時時間;當發送數據是第一個數據包時,記錄第一次發送數據時間。
n.當發送失敗次數達到設置的閾值後,發送總線狀態設置為失效狀態,否則閾值內,發送總線狀態設置為正常工作狀態。
2.機載航電總線信息管理交互協議數據模型
機載航電總線信息管理交互協議數據模型如圖2所示,
交互協議數據模型的分為請求消息和響應消息兩部分,兩個消息的欄位定義如下:
(1)總線類型:表示請求總線類型;
(2)總線ID:表示請求的具體的某條總線。
(3)訪問命令:表示請求的總線狀態信息,訪問命令分為:
A:表示獲取此總線下面所有狀態信息;
R:表示獲取此總線下面與接收有關的狀態信息;
S:表示獲取此總線下面與發送有關的狀態信息。
(4)請求消息狀態碼:表示請求的消息正確與否,狀態碼分為:
0:表示請求消息中所有欄位都正確;
1:表示請求消息的CRC校驗錯誤;
2:表示請求消息中無此總線類型;
3:表示請求消息中無此總線ID;
4:表示請求消息中無此訪問命令。
(5)響應命令:表示對請求消息中訪問命令的回覆,響應命令分為:
AR:表示對訪問命令A的響應;
RR:表示對訪問命令R的響應;
SR:表示對訪問命令S的響應。
(6)數據:當請求消息內容檢查正確和通過,則響應消息包含此欄位,如果請求消息檢查出現錯誤,則響應消息不包含此欄位。
(7)CRC:表示消息的CRC校驗碼。
3.機載航電總線信息管理協議交互流程
機載航電總線信息管理協議交互流程如圖3所示,用於描述應用與機載端航電總線信息管理協議服務的交互過程。
(1)訪問命令A交互過程:應用向機載端發送訪問命令A的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應。
(2)訪問命令R交互過程:應用向機載端發送訪問命令R的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應。
(3)訪問命令S交互過程:應用向機載端發送訪問命令S的請求消息,機載端收到請求消息後進行處理,當請求消息內容完全正確,回復包含數據欄位的響應;當請求消息內容檢查出現錯誤,則回復不包含數據欄位的響應。
4.機載端航電總線交互協議數據處理流程
機載端航電總線交互協議數據處理流程描述了機載端航電總線交互協議服務處理的過程和流程,如圖4所示。
機載端航電總線交互協議處理流程通過圖4所示的過程,對來自應用的請求消息進行解析,並且根據航電總線類型、總線ID和訪問命令獲取相應的數據,最後將響應發送給應用。
在MA700機載信息管理系統機載航電總線數據採集功能中,採用本方法來管理機載航電總線的狀態信息和遠程獲取機載航電總線的狀態信息。