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