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