本發明涉及數據處理,更具體地說涉及一種多應用負載均衡的車載安全平臺協議數據處理方法。
背景技術:
1、軌道交通列控系統中,atp(automotic?train?protection,列車自動防護系統)、ato(automatic?train?operation,列車自動運行系統)等都運行在車載安全平臺上。車載安全平臺實現了繼電接口、網絡、串口、總線等多種接口類型的數據收發和處理,應用每個周期通過車載安全平臺將驅動命令和狀態數據輸出到不同接口,以驅動車載設備動作,實現與前后列車、地面設備間的信息交互。同時,應用也會接收車載安全平臺采集到的列車接口繼電器的動作狀態和其它外設通信數據來保證列車的安全運行。
2、傳統的車載安全平臺使用單應用架構和較長的主處理周期,不僅浪費硬件和空間資源,而且也無法滿足更高精度的計算要求,因此多應用和更短主處理周期的車載安全平臺應運而生。然而,多應用意味著通信數據量的增加,如何在更短的主處理周期內處理來自多個應用的通信數據是多應用架構車載安全平臺需要解決的關鍵問題之一。
技術實現思路
1、為了克服上述現有技術中存在的缺陷,本發明公開了一種多應用負載均衡的車載安全平臺協議數據處理方法,本發明將多個應用的輸入、輸出通信數據負載均衡到每個主周期上進行處理,不僅解決了多應用大數據量的處理問題,使得平臺運行更加穩定,而且通過雙通道數據域和安全域組合發送的方法使得系統輸出更加安全。
2、為了實現以上目的,本發明采用的技術方案:
3、一種多應用負載均衡的車載安全平臺協議數據處理方法,包括:
4、將多種不同類型協議數據的處理邏輯封裝成多個獨立模塊,每個獨立模塊均設置輸入處理接口、輸出處理接口和發送處理接口,其中:
5、輸入處理接口用于將多應用車載安全平臺采集的外設數據進行協議解析和系內雙通道驗證,生成應用數據;
6、輸出處理接口用于將應用下發的業務數據進行協議封裝和系內雙通道驗證,生成輸出數據;
7、發送處理接口用于在系內雙通道間交換數據安全碼,并由指定通道將輸出數據和安全碼進行組合,發送給外設;
8、多應用車載安全平臺的平臺主處理任務每周期依次調用輸入處理接口、輸出處理接口和發送處理接口執行協議數據的輸入處理、輸出處理和發送處理。
9、優選的,平臺主處理任務每周期執行協議數據的輸入處理包括以下步驟:
10、a1、從總線獲取本周期所有外設輸入數據;
11、a2、根據輸入數據所屬協議類型確定輸入數據優先級和性能消耗比;
12、優選的,a2步驟中,設置輸入數據處理優先級,其中,mvb、trdp協議數據為1,rssp-i協議數據為2,subset-037協議數據為3,其余協議數據為4,數字越小優先級越高。
13、優選的,a2步驟中,設置平臺主處理任務每周期最大輸入處理性能為pi,設置處理不同協議數據所消耗的性能比重,其中,subset-037為1.5,rssp-i為1.2,其余為1,平臺每周期可處理的輸入數據數量滿足:
14、pi>=?1.5x+1.2y+1z
15、其中,pi為平臺主處理任務每周期最大輸入處理性能,x為subset-037數量,y為rssp-i數量,z為其它數據數量。
16、a3、根據輸入數據所屬應用計算輸入數據存活周期;
17、優選的,a3步驟中,計算輸入數據存活周期,一包輸入數據可送給一個或多個應用,計算每個應用周期與平臺周期的倍數m,取最小值mmin作為輸入數據存活周期。
18、a4、刪除輸入數據緩存數組中已過期數據;
19、優選的,a4步驟中,將輸入數據緩存數組中的過期數據刪除,具體方法包括:遍歷輸入數據緩存數組,若數據存活周期為0,表示數據已過期,將其刪除,否則將數據存活周期減1。
20、a5、將本周期輸入數據寫入輸入數據緩存數組中;
21、優選的,a5步驟中,將本周期輸入數據寫入輸入數據緩存數組中,并為每包輸入數據添加性能比重、優先級、存活周期信息。
22、a6、遍歷輸入數據緩存數組,根據輸入數據優先級和存活周期進行排序,生成輸入處理隊列;
23、優選的,a6步驟中,構建二維數組,橫坐標為優先級,縱坐標為存活周期,遍歷輸入數據緩存數組,根據數據優先級和存活周期將數據依次寫入二維數組中,并形成存活周期從小到大,優先級從高到低的輸入數據處理隊列。
24、a7、讀取輸入處理隊列,根據數據類型調用相應協議模塊的輸入處理接口進行處理;
25、a8、判斷計算的輸入處理性能消耗是否已達到最大值,或者輸入處理隊列是否為空;若是則結束輸入處理過程,否則返回a7步驟。
26、優選的,平臺主處理任務執行協議數據的輸出處理包括以下步驟:
27、b1、從應用接口獲取本周期所有應用輸出數據;
28、b2、根據輸出數據所屬協議類型確定輸出數據優先級和性能消耗比;
29、優選的,b2步驟中,設置輸出數據處理優先級,mvb、trdp協議數據為1,rssp-i協議數據為2,subset-037協議數據為3,其余協議數據為4,數字越小優先級越高。
30、優選的,b2步驟中,設置平臺主處理任務每周期最大輸出處理性能為po,設置處理不同協議數據所消耗的性能比重,其中,subset-037為1.2,rssp-i為1.1,其余為1,平臺每周期可處理的輸出數據數量滿足:
31、po>=?1.2x+1.1y+1z
32、其中,po為平臺主處理任務每周期最大輸出處理性能,x為subset-037數量,y為rssp-i數量,z為其它數據數量。
33、b3、根據輸出數據所屬應用計算輸出數據存活周期;
34、優選的,b3步驟中,計算輸出數據存活周期,根據輸出數據來源的應用,計算應用周期與平臺周期的倍數m作為輸出數據存活周期。
35、b4、刪除輸出數據緩存數組中已過期數據;
36、優選的,b4步驟中,將輸出數據緩存數組中的過期數據刪除,具體方法包括:遍歷輸出數據緩存數組,若數據存活周期為0,表示數據已過期,將其刪除,否則將數據存活周期減1。
37、b5、將本周期輸出數據寫入輸出數據緩存數組中;
38、優選的,b5步驟中,將本周期輸出數據寫入輸出數據緩存數組中,并為每包輸出數據添加性能比重、優先級、存活周期信息。
39、b6、遍歷輸出數據緩存數組,根據數據優先級和存活周期進行排序,生成輸出處理隊列;
40、優選的,b6步驟中,構建二維數組,橫坐標為優先級,縱坐標為存活周期,遍歷輸出數據緩存數組,根據數據優先級和存活周期將數據依次寫入二維數組中,并形成存活周期從小到大,優先級從高到低的輸出數據處理隊列。
41、b7、讀取輸出處理隊列,根據數據類型調用相應協議模塊的輸出處理接口進行處理,處理后的數據寫入發送緩存隊列中;
42、b8、判斷計算的輸出處理性能消耗是否已達到最大值,或則輸出處理隊列是否為空,若是則結束輸出處理過程,否則返回b7步驟。
43、優選的,a6步驟中或b6步驟中二維數組排序方法,包括以下步驟:
44、構建二維排序數組,其中橫坐標為數據處理優先級,縱坐標為數據存活周期;
45、讀取輸入或輸出數據,根據數據處理優先級和數據存活周期依次將數據索引寫入二維數組中;
46、根據優先級從大到小,存活周期從小到大的順序遍歷二維數組,并將數據索引依次寫入處理隊列中,形成本周期的數據處理隊列。
47、優選的,平臺主處理任務執行協議數據的發送處理包括以下步驟:
48、c1、平臺雙通道經過相同的輸出處理流程后,將各自的輸出數據校驗碼發送至對通道;
49、c2、比較本通道輸出數據校驗碼與對通道是否一致,若一致則進入c3步驟,若不一致則宕機;
50、c3、通道2獲取本通道所有輸出數據的安全碼信息,并發送至通道1,通道1將接收到的數據安全碼信息與數據域組合,形成完整數據后通過總線發送給通信板,最終由通信板發送給外設。
51、優選的,c3步驟包括以下步驟:
52、c31、系內通道2遍歷發送數據緩存隊列,獲取當前周期所有待發送數據的安全碼,通過2oo2接口發送給系內通道1;
53、c32、系內通道1通過2oo2接口獲取到系內通道2發送的安全碼后,根據安全碼所帶的消息索引號,將安全碼分配到發送數據緩存隊列中對應的數據上;
54、c33、系內通道1從發送數據緩存隊列中依次讀取數據,根據數據對應的協議類型調用相應的協議模塊進行發送處理;
55、c34、系內通道1的協議模塊將每包輸出數據的安全碼組合到數據域中,形成完整的輸出數據,最后通過總線傳送給采集板,由采集板發送給外設,結束發送處理過程。
56、本發明的有益效果:
57、1、本發明提供了一種車載安全平臺協議數據處理的通用框架,使得平臺可處理多類型的協議數據,并且擁有更好的可擴展性。
58、2、本發明實現了多應用架構下協議數據的輸入負載均衡處理,與傳統單應用架構相比,不僅處理效率更快,并且避免當輸入數據集中涌入時處理超時宕機的問題。
59、3、本發明實現了多應用架構下協議數據的輸出負載均衡處理,與傳統單應用架構相比,不僅處理效率更快,并且避免當輸出數據集中涌入時處理超時宕機的問題。
60、4、上本發明實現了一種協議數據安全輸出的方法,輸出數據通過系內雙通道一致性比較后,經過雙通道數據域和安全域組合發送的方法,保證了數據輸出的安全性。