本發(fā)明涉及軌道交通數(shù)據(jù)驗(yàn)證領(lǐng)域。
背景技術(shù):
::聯(lián)鎖表數(shù)據(jù)正確性是信號(hào)系統(tǒng)安全性的關(guān)鍵影響因素之一,因此驗(yàn)證聯(lián)鎖表數(shù)據(jù)的安全性是開發(fā)聯(lián)鎖系統(tǒng)的關(guān)鍵任務(wù)。現(xiàn)有的人工檢查技術(shù)依賴準(zhǔn)則和對(duì)軌道布置圖紙及進(jìn)路圖紙的識(shí)別,效率較低,而且可能由于人為的錯(cuò)誤導(dǎo)致不能正確驗(yàn)證聯(lián)鎖表。同時(shí),由于聯(lián)鎖數(shù)據(jù)種類的多樣性和邏輯關(guān)系的復(fù)雜性,而且數(shù)據(jù)安全沒有成熟的理論體系,這使得對(duì)數(shù)據(jù)安全進(jìn)行系統(tǒng)化建模和驗(yàn)證非常困難,并且難以證明數(shù)據(jù)安全驗(yàn)證的完備性?,F(xiàn)有的自動(dòng)化檢查方法主要從典型的軌道站型出發(fā),基于線路數(shù)據(jù)連通性和交叉約束關(guān)系進(jìn)行論證,并沒有為其建立完備的軌道模型。而且傳統(tǒng)方法采用單一方法進(jìn)行單一檢查,沒有通過交叉驗(yàn)證,并不能保證檢查結(jié)果的正確性。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于解決聯(lián)鎖表數(shù)據(jù)人工檢查效率低易出錯(cuò),克服現(xiàn)有技術(shù)難以進(jìn)行系統(tǒng)化建模和安全驗(yàn)證的問題,提供基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法。實(shí)現(xiàn)上述目的的技術(shù)方案是:一種基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法,包括:步驟一,通過基于面向?qū)ο蟮姆椒ê突诿嫦蜻^程的方法分別進(jìn)行計(jì)算和檢查;步驟二,對(duì)基于面向?qū)ο蟮姆椒ê突诿嫦蜻^程的方法的檢查結(jié)果進(jìn)行交叉驗(yàn)證。在上述的基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法中,所述步驟一中檢查的內(nèi)容包括:進(jìn)路經(jīng)過的道岔及狀態(tài)、進(jìn)路的側(cè)防道岔及狀態(tài)、側(cè)防解除條件、進(jìn)路經(jīng)過的固定閉塞區(qū)間、方向沖突進(jìn)路、道岔沖突進(jìn)路。在上述的基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法中,所述的基于面向?qū)ο蟮姆椒ǎǎ翰襟Ea1,以統(tǒng)一格式表格(unifiedformattable,簡(jiǎn)稱uft)的數(shù)據(jù)作為數(shù)字化建模的來源,建立軌道數(shù)字化模型;步驟a2,識(shí)別軌道數(shù)字化模型中的聯(lián)鎖道岔;步驟a3,搜索聯(lián)鎖表中進(jìn)路路徑。在上述的基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法中,所述的步驟a1中,統(tǒng)一格式表格中包含了三類軌道元素的數(shù)據(jù):線段元素、點(diǎn)元素和連接元素,線段元素指的是區(qū)段和固定閉塞區(qū)間;點(diǎn)元素指的是信號(hào)機(jī)和計(jì)軸點(diǎn);連接元素指的是道岔;在建模過程中,將所有軌道元素對(duì)象實(shí)例化,選擇區(qū)段對(duì)象作為數(shù)字化模型的骨架,形成拓?fù)渎?lián)接關(guān)系,并按照其它元素與區(qū)段的對(duì)應(yīng)關(guān)系,將其它軌道元素對(duì)象與區(qū)段對(duì)象關(guān)聯(lián);所述的步驟a2中,以各個(gè)道岔為分析對(duì)象,分別以沿里程增加方向和沿里程減小方向,從道岔的定位軌或反位軌出發(fā)向上游搜索所有符合條件的上游道岔,當(dāng)與符合條件的上游道岔的反位軌連接時(shí),則搜索完畢;從當(dāng)前分析道岔到該上游道岔之間經(jīng)過的所有道岔均列為當(dāng)前分析道岔的側(cè)防聯(lián)鎖道岔;對(duì)于交叉渡線的情況,依次分析所有的區(qū)段,當(dāng)某區(qū)段存在交叉區(qū)段時(shí),交叉區(qū)段兩端的道岔均為該區(qū)段兩端道岔的側(cè)防聯(lián)鎖道岔;所述的步驟a3中,利用聯(lián)鎖表中的非檢查項(xiàng)或人工檢查項(xiàng),確定各條進(jìn)路的起止點(diǎn)信號(hào)機(jī),根據(jù)軌道數(shù)字模型確定起點(diǎn)和終點(diǎn)信號(hào)機(jī)所在的起點(diǎn)和終點(diǎn)區(qū)段,利用區(qū)段之間的鄰接關(guān)系及進(jìn)路方向從起點(diǎn)區(qū)段向終點(diǎn)區(qū)段搜索,搜索完成后,進(jìn)路包含的軌道元素即為進(jìn)路所通過的各區(qū)段對(duì)象中,在起止點(diǎn)里程范圍內(nèi)包含的所有軌道元素對(duì)象和衍生的聯(lián)鎖軌道元素對(duì)象,提取出進(jìn)路包含的軌道元素對(duì)象中的屬性與聯(lián)鎖表中檢查項(xiàng)中對(duì)應(yīng)的屬性進(jìn)行對(duì)比,得到對(duì)比結(jié)果。在上述的基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法中,所述步驟a1包括:步驟a1-1,根據(jù)統(tǒng)一格式表格,按類實(shí)例化軌道元素對(duì)象,以表格中的數(shù)據(jù)作為對(duì)象的屬性;步驟a1-2,根據(jù)統(tǒng)一格式表格中的數(shù)據(jù),確定各個(gè)區(qū)段包含的信號(hào)機(jī)、計(jì)軸點(diǎn),并將這些軌道元素對(duì)象與對(duì)應(yīng)的區(qū)段對(duì)象關(guān)聯(lián);步驟a1-3,根據(jù)統(tǒng)一格式表格中的數(shù)據(jù),確定各個(gè)區(qū)段兩端的道岔元素,并將道岔對(duì)象與對(duì)應(yīng)區(qū)段對(duì)象關(guān)聯(lián);步驟a1-4,根據(jù)在步驟a1-2中區(qū)段關(guān)聯(lián)的計(jì)軸點(diǎn),依次以兩個(gè)相連的計(jì)軸點(diǎn)確定一個(gè)固定閉塞區(qū)間,從而確定各個(gè)區(qū)段上包含的固定閉塞區(qū)間,并將固定閉塞區(qū)間對(duì)象與對(duì)應(yīng)的區(qū)段對(duì)象關(guān)聯(lián);步驟a1-5,根據(jù)首尾節(jié)點(diǎn)確定各區(qū)段沿里程增加方向和沿里程減小方向的鄰接區(qū)段,并將區(qū)段對(duì)象與其鄰接區(qū)段對(duì)象關(guān)聯(lián);步驟a1-6,從統(tǒng)一格式表格中提取區(qū)段起止節(jié)點(diǎn)的橫縱坐標(biāo),對(duì)所有的兩兩區(qū)段進(jìn)行交叉情況檢查,確定各個(gè)區(qū)段的交叉區(qū)段,以識(shí)別模型中的交叉渡線。在上述的基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法中,所述的基于面向過程的方法,包括:步驟b1,建立二維數(shù)字化軌道模型:將統(tǒng)一格式表格中各軌道元素分別轉(zhuǎn)化為二維數(shù)組,將聯(lián)鎖表進(jìn)路信息轉(zhuǎn)為二維數(shù)組;步驟b2,建立進(jìn)路結(jié)構(gòu):從聯(lián)鎖表中提取進(jìn)路名稱,然后根據(jù)進(jìn)路名稱以及軌道元素二維數(shù)組確定起止信號(hào)機(jī),建立進(jìn)路結(jié)構(gòu);搜索得到起止信號(hào)機(jī)的里程,根據(jù)里程大小判斷進(jìn)路方向;步驟b3,建立道岔結(jié)構(gòu):根據(jù)不同的進(jìn)路方向搜索進(jìn)路包含的所有道岔,以起始信號(hào)機(jī)對(duì)應(yīng)的結(jié)點(diǎn)作為當(dāng)前結(jié)點(diǎn),根據(jù)二叉樹搜素算法分別搜索直向和側(cè)向的結(jié)點(diǎn),若搜索到重復(fù)結(jié)點(diǎn)或跨區(qū)結(jié)點(diǎn)則停止該方向的搜索,迭代直至搜索到終點(diǎn)結(jié)點(diǎn),通過道岔二維數(shù)組搜索得到道岔結(jié)構(gòu);步驟b4,建立區(qū)間結(jié)構(gòu):根據(jù)不同的進(jìn)路方向搜索進(jìn)路包含的所有區(qū)間,以起始信號(hào)機(jī)對(duì)應(yīng)的區(qū)間為起點(diǎn),結(jié)合步驟b3得到的道岔結(jié)構(gòu),搜索當(dāng)前區(qū)間是否含道岔,如果有將道岔的方向作為下一步搜索方向,搜索直向或者側(cè)向的區(qū)間,直至找到終點(diǎn)區(qū)間;步驟b5,建立側(cè)防道岔結(jié)構(gòu):根據(jù)步驟b3所得的道岔結(jié)構(gòu),根據(jù)道岔的直向和側(cè)向,分別搜索側(cè)向和直向的道岔,根據(jù)側(cè)向防護(hù)條件判定是否需要進(jìn)行防護(hù),直至搜索到可以完全防護(hù)的道岔或者搜索到同向信號(hào)機(jī)或者軌道盡頭,根據(jù)步驟b4所得的區(qū)間結(jié)構(gòu)判定防護(hù)道岔的解鎖區(qū)間;步驟b6,建立沖突進(jìn)路模型:根據(jù)步驟b3-b5所得的道岔結(jié)構(gòu)、區(qū)間結(jié)構(gòu)和側(cè)防道岔結(jié)構(gòu),分別建立道岔位置沖突的進(jìn)路以及方向沖突的進(jìn)路,全部完成后,與聯(lián)鎖表待檢查項(xiàng)對(duì)比得到對(duì)比結(jié)果。本發(fā)明的有益效果是:本發(fā)明同時(shí)基于兩種不同數(shù)據(jù)結(jié)構(gòu)和驗(yàn)證方法,一種利用面向?qū)ο蟮姆椒ǎ瑸橐越y(tǒng)一格式表格中的軌道元素和聯(lián)鎖表中的進(jìn)路建立類結(jié)構(gòu),并根據(jù)項(xiàng)目將各軌道元素的類實(shí)例化為對(duì)象,通過對(duì)象的屬性關(guān)聯(lián)對(duì)象實(shí)體實(shí)現(xiàn)建模和后續(xù)的識(shí)別搜索。另一種利用面向過程的方法,通過建立二維數(shù)組實(shí)現(xiàn)軌道元素的關(guān)聯(lián)性,通過逐步構(gòu)建軌道元素的結(jié)構(gòu)模型完成進(jìn)路屬性的搜索。不同數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的模型及計(jì)算具有差異性的特性,這樣保證了所得出相同結(jié)果的正確性。以此提取數(shù)據(jù)檢查聯(lián)鎖表中的檢查項(xiàng)可以達(dá)到交叉驗(yàn)證的目的。與人工檢查技術(shù)相比,使得檢查效率大大提高,避免了人工檢查可能出現(xiàn)的錯(cuò)誤,提高了聯(lián)鎖數(shù)據(jù)的安全性。與其它自動(dòng)化驗(yàn)證方法相比,本發(fā)明建立了完備的軌道數(shù)字化模型來計(jì)算進(jìn)路,并且能夠用于復(fù)雜的場(chǎng)景和軌道站型。本發(fā)明基于不同的數(shù)據(jù)(對(duì)象和數(shù)組)提出了不同的算法來對(duì)聯(lián)鎖表中的進(jìn)路數(shù)據(jù)進(jìn)行計(jì)算,由于算法的差異性和數(shù)據(jù)結(jié)構(gòu)的不同,不同算法得到的計(jì)算結(jié)果相互具有獨(dú)立性,能夠相互之間交叉檢查,保證了所得相同結(jié)果的正確性。附圖說明圖1是本發(fā)明的基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法的流程圖;圖2是本發(fā)明中交叉渡線的示意圖;圖3a是本發(fā)明中向量和相交的示意圖;圖3b是本發(fā)明中向量和不相交的示意圖;圖4a是本發(fā)明中反位-反位道岔鄰接的示意圖;圖4b是本發(fā)明中定位-反位道岔鄰接的示意圖;圖5是本發(fā)明中以區(qū)段為結(jié)點(diǎn)的軌道布置結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。本發(fā)明的基于軌道數(shù)字化建模的聯(lián)鎖表數(shù)據(jù)安全驗(yàn)證方法,檢查的內(nèi)容包括:進(jìn)路經(jīng)過的道岔及狀態(tài)、進(jìn)路的側(cè)防道岔及狀態(tài)、側(cè)防解除條件、進(jìn)路經(jīng)過的固定閉塞區(qū)間、方向沖突進(jìn)路、道岔沖突進(jìn)路。請(qǐng)參閱圖1,具體包括下列步驟:步驟一,通過基于面向?qū)ο蟮姆椒╝和基于面向過程的方法b分別進(jìn)行計(jì)算和檢查?;诿嫦?qū)ο蟮姆椒?即方法a),包括:步驟a1,以統(tǒng)一格式表格的數(shù)據(jù)作為數(shù)字化建模的來源,建立軌道數(shù)字化模型。統(tǒng)一格式表格中包含了三類軌道元素的數(shù)據(jù):線段元素、點(diǎn)元素和連接元素,線段元素指的是區(qū)段和固定閉塞區(qū)間;點(diǎn)元素指的是信號(hào)機(jī)和計(jì)軸點(diǎn);連接元素指的是道岔;在建模過程中,選擇區(qū)段作為數(shù)字化模型的骨架,按照其它元素與區(qū)段的對(duì)應(yīng)關(guān)系,將其它軌道元素與區(qū)段關(guān)聯(lián)。當(dāng)其它元素與區(qū)段的關(guān)聯(lián)完成后,還需要完成區(qū)段之間的關(guān)聯(lián),確定各區(qū)段沿里程增大方向和沿里程減小方向的鄰接區(qū)段,從而確定區(qū)段的拓?fù)潢P(guān)系。在軌道布置中,還存在交叉渡線的情況,單純的區(qū)段拓?fù)潢P(guān)系不能夠識(shí)別交叉渡線。在本發(fā)明中,從uft表中提取區(qū)段的首尾節(jié)點(diǎn)坐標(biāo),將區(qū)段向量化,通過向量乘法判斷區(qū)段是否相交,從而識(shí)別交叉渡線。具體包括:步驟a1-1,根據(jù)統(tǒng)一格式表格,按類實(shí)例化軌道元素對(duì)象,以表格中的數(shù)據(jù)作為對(duì)象的屬性;步驟a1-2,信號(hào)機(jī)、計(jì)軸點(diǎn)等點(diǎn)元素與區(qū)段的對(duì)應(yīng)關(guān)系是多對(duì)一的關(guān)系,即多個(gè)點(diǎn)元素可關(guān)聯(lián)某個(gè)區(qū)段。根據(jù)統(tǒng)一格式表格中的數(shù)據(jù),確定各個(gè)區(qū)段包含的信號(hào)機(jī)、計(jì)軸點(diǎn)。步驟a1-3,道岔這種連接元素可以連接不同的區(qū)段,而一個(gè)區(qū)段又最多可包含兩個(gè)道岔,形成一種多對(duì)多的關(guān)系。根據(jù)統(tǒng)一格式表格中的數(shù)據(jù),確定各個(gè)區(qū)段兩端的道岔元素。步驟a1-4,固定閉塞區(qū)間是一種線段元素,一個(gè)區(qū)段上可含有多個(gè)閉塞區(qū)間,而一個(gè)閉塞區(qū)間也可以橫跨多個(gè)區(qū)段,形成一種多對(duì)多關(guān)系。一個(gè)固定閉塞區(qū)間是由計(jì)軸點(diǎn)圍成的,所以根據(jù)在步驟a1-1中區(qū)段關(guān)聯(lián)的計(jì)軸點(diǎn),依次以兩個(gè)相鄰的計(jì)軸點(diǎn)確定一個(gè)固定閉塞區(qū)間,從而確定各個(gè)區(qū)段上包含的區(qū)間元素。步驟a1-5,在軌道布置中,區(qū)段是首尾連接的。一個(gè)區(qū)段可以在首尾連接多個(gè)其它相鄰區(qū)段,所以根據(jù)首尾節(jié)點(diǎn)確定區(qū)段沿里程增加方向和沿里程減小方向的鄰接區(qū)段。步驟a1-6,檢查交叉渡線情況。交叉渡線是由區(qū)段交叉形成的。從統(tǒng)一格式表格中提取區(qū)段起止節(jié)點(diǎn)的橫縱坐標(biāo),對(duì)所有的兩兩區(qū)段進(jìn)行檢查,確定各個(gè)區(qū)段的交叉區(qū)段,以識(shí)別模型中的交叉渡線。本實(shí)施例中,如附圖2,具體實(shí)現(xiàn)步驟如下:1)為了提高遍歷效率,首先判斷待比較的兩個(gè)區(qū)段是否滿足交叉渡線的條件。即兩個(gè)區(qū)段的首尾節(jié)點(diǎn)的主軌道編號(hào)(primarytrackid)是否相同。當(dāng)主軌道編號(hào)不相同時(shí),則直接排除交叉渡線的情況不做比較。2)當(dāng)待比較的兩區(qū)段首尾節(jié)點(diǎn)的和主要軌道編號(hào)(primarytrackid)相同時(shí),將待比較的區(qū)段向量化。如附圖2所示,以區(qū)段節(jié)點(diǎn)里程作為橫坐標(biāo),以節(jié)點(diǎn)主軌道編號(hào)作為縱坐標(biāo),將區(qū)段seg1和seg2分別向量化為和每個(gè)向量分別為:3)利用向量乘法判斷區(qū)段是否相交,當(dāng)而且時(shí),向量與相交,如附圖3a所示,當(dāng)條件不滿足時(shí),則向量與不相交,如附圖3b所示。4)根據(jù)3)中的條件,判斷區(qū)段seg1和seg2的相交情況:判斷區(qū)段seg1和seg2相交,seg1與seg2互為相交區(qū)段。步驟a2,采用迭代搜索鄰接道岔的方法,根據(jù)平行進(jìn)路的原則,確定道岔的聯(lián)鎖側(cè)防道岔,目的是對(duì)進(jìn)路中的道岔進(jìn)行側(cè)防保護(hù)。當(dāng)以某方向作為上游方向時(shí),若某道岔的上游方向上的道岔處于定位時(shí)可以與該道岔構(gòu)成平行進(jìn)路,則上游的道岔應(yīng)列為該道岔的側(cè)防聯(lián)鎖道岔。當(dāng)上下游道岔之間存在朝向是下游的信號(hào)機(jī)時(shí),側(cè)面防護(hù)可以由信號(hào)機(jī)而無需道岔來保證,此時(shí)認(rèn)為上游道岔是不符合條件的上游道岔,不列入當(dāng)前分析道岔的側(cè)防聯(lián)鎖道岔。本發(fā)明以各個(gè)道岔為分析對(duì)象,分別以沿里程增加方向和沿里程減小方向,從道岔的定位軌或反位軌出發(fā)向上游搜索所有符合條件的上游道岔,當(dāng)與符合條件的上游道岔的反位軌連接時(shí),則搜索完畢。從當(dāng)前分析道岔到該上游道岔之間經(jīng)過的所有道岔均列為當(dāng)前分析道岔的聯(lián)鎖道岔。對(duì)于交叉渡線的情況,依次分析所有的區(qū)段。當(dāng)某區(qū)段存在交叉區(qū)段時(shí),交叉區(qū)段兩端的道岔均為該區(qū)段兩端道岔的側(cè)防聯(lián)鎖道岔。具體步驟如下:1)在軌道布置中,道岔之間通過區(qū)段來連接,道岔的鄰接關(guān)系可以從軌道數(shù)字模型中得到。2)本發(fā)明中聯(lián)鎖道岔的搜索方法,是從某道岔出發(fā),沿其定位軌或者反位軌方向盡可能深的搜索鄰接道岔,如果當(dāng)前的搜索是通過鄰接道岔的反位軌搜索到鄰接道岔時(shí),如附圖4a和圖4b所示。則構(gòu)成側(cè)防條件,認(rèn)為該搜索路徑上的所有道岔是該道岔的聯(lián)鎖側(cè)防道岔。搜索將回溯到上一個(gè)分支節(jié)點(diǎn),繼續(xù)搜索其它未訪問過的鄰接道岔。3)根據(jù)實(shí)際情況,當(dāng)搜索路徑上遇到朝向起點(diǎn)道岔的信號(hào)機(jī)時(shí),根據(jù)側(cè)防的原則信號(hào)機(jī)之后的道岔不再考慮側(cè)防,則當(dāng)前搜索分支終止,搜索將回溯到上一個(gè)分支節(jié)點(diǎn),繼續(xù)搜索其它未訪問過的鄰接道岔。整個(gè)過程反復(fù)至所有能夠搜索到的鄰接道岔均被訪問為止。4)實(shí)現(xiàn)方式:①初始化道岔列表,switch_list=[]②訪問起點(diǎn)道岔,visted[start_sw.id]=1③將起點(diǎn)道岔添加入道岔列表:switch_list.append(start_sw)④迭代搜索⑤交叉檢查,遍歷所有區(qū)段,當(dāng)該區(qū)段存在交叉區(qū)段時(shí),交叉區(qū)段兩端的道岔均為該區(qū)段兩端道岔的側(cè)防聯(lián)鎖區(qū)段。步驟a3,搜索聯(lián)鎖表中進(jìn)路路徑,以檢查聯(lián)鎖表中的進(jìn)路屬性是否正確。利用聯(lián)鎖表中的非檢查項(xiàng)或人工檢查項(xiàng),確定各條進(jìn)路的起止點(diǎn)(起止信號(hào)機(jī)),根據(jù)軌道數(shù)字模型確定信號(hào)機(jī)所在的區(qū)段,利用區(qū)段之間的鄰接關(guān)系及進(jìn)路方向從起點(diǎn)區(qū)段向終點(diǎn)區(qū)段搜索。在本發(fā)明中采用了一種記錄路徑的搜索方法,本方法基于深度優(yōu)先搜索算法,利用棧結(jié)構(gòu)的原理,在深度搜索過程中以棧結(jié)構(gòu)記錄進(jìn)路區(qū)段的搜索路徑。而且在本發(fā)明中為了確保搜索效率,每次搜索到新區(qū)段(非終點(diǎn)區(qū)段)時(shí)檢查該區(qū)段是否存在同進(jìn)路方向的信號(hào)機(jī),當(dāng)存在時(shí)則當(dāng)前分支搜索結(jié)束,以此提高搜索效率。當(dāng)搜索完成后,進(jìn)路包含的軌道元素即為進(jìn)路所通過的各區(qū)段中,在起止點(diǎn)里程范圍內(nèi)包含的所有軌道元素(計(jì)軸點(diǎn)、道岔、固定閉塞區(qū)間)和衍生的聯(lián)鎖軌道元素(由經(jīng)過的道岔確定的側(cè)防聯(lián)鎖道岔)??梢蕴崛〕鱿嚓P(guān)元素與聯(lián)鎖表中檢查項(xiàng)中對(duì)應(yīng)的屬性進(jìn)行對(duì)比,得到對(duì)比結(jié)果a。具體步驟如下:1)如附圖5所示,在建立了軌道模型后,區(qū)段的鄰接關(guān)系已確定。原先軌道布置的結(jié)構(gòu)可以轉(zhuǎn)換成以區(qū)段為節(jié)點(diǎn)的圖。2)根據(jù)進(jìn)路的方向,從進(jìn)路的起點(diǎn)所在的區(qū)段(起點(diǎn)區(qū)段)開始,對(duì)區(qū)段組成的圖結(jié)構(gòu)進(jìn)行深度優(yōu)先遍歷。即當(dāng)圖中存在未訪問過的相鄰區(qū)段且不是終點(diǎn)區(qū)段時(shí),從此相鄰區(qū)段出發(fā)繼續(xù)搜索,當(dāng)無相鄰區(qū)段則回溯到上一個(gè)出現(xiàn)分支的節(jié)點(diǎn)繼續(xù)搜索,直至搜索至終點(diǎn)區(qū)段則終止搜索。3)在本發(fā)明中,為了提高深度優(yōu)先搜索的效率,采用了剪枝方式。由于聯(lián)鎖表中進(jìn)路的原則是“信號(hào)機(jī)-信號(hào)機(jī)”進(jìn)路,當(dāng)搜索遇到與進(jìn)路同方向的信號(hào)機(jī)(非起點(diǎn)信號(hào)機(jī))時(shí),則繼續(xù)搜索下去已不可能得到所需進(jìn)路的路徑,則回溯到上一個(gè)出現(xiàn)分支的節(jié)點(diǎn)繼續(xù)搜索。4)實(shí)現(xiàn)方式:①確定進(jìn)路方向和起點(diǎn)區(qū)段start_seg和終點(diǎn)區(qū)段end_seg②為深度搜索建立棧結(jié)構(gòu),初始化棧結(jié)構(gòu),stack=[]③訪問起點(diǎn)區(qū)段,visited[start_seg.id]=1④將起點(diǎn)區(qū)段入棧,stack.push(start_seg)⑤深度優(yōu)先搜索5)當(dāng)進(jìn)路通過的區(qū)段路徑明確后,在這些區(qū)段上的而且在進(jìn)路起點(diǎn)和終點(diǎn)范圍內(nèi)的所有元素均是進(jìn)路的關(guān)聯(lián)軌道元素,包括道岔,區(qū)段,側(cè)防道岔和沖突進(jìn)路等所有需要檢查的元素,可以提取出與聯(lián)鎖表中檢查項(xiàng)中對(duì)應(yīng)的屬性進(jìn)行對(duì)比,得到對(duì)比結(jié)果a?;诿嫦蜻^程的方法(即方法b),包括:步驟b1,建立二維數(shù)字化軌道模型:為統(tǒng)一格式表格數(shù)據(jù)表中的區(qū)段、區(qū)間、信號(hào)機(jī)、計(jì)軸點(diǎn)、道岔、結(jié)點(diǎn)等需要的軌道元素分別建立二維數(shù)組,存入所需的軌道元素信息;并為聯(lián)鎖表建立二維數(shù)組,存入進(jìn)路名稱,進(jìn)路編號(hào),進(jìn)路類型,進(jìn)路方向,道岔,區(qū)段,側(cè)防道岔等進(jìn)路信息。其中進(jìn)路名稱,進(jìn)路編號(hào),進(jìn)路類型是進(jìn)行自動(dòng)化檢查的基礎(chǔ)數(shù)據(jù),需要保證其正確性。步驟b2,建立進(jìn)路結(jié)構(gòu)route:從聯(lián)鎖表進(jìn)路的二維數(shù)組中提取進(jìn)路名稱,然后根據(jù)進(jìn)路名稱提取“起始信號(hào)機(jī)”和“終點(diǎn)信號(hào)機(jī)”,建立進(jìn)路結(jié)構(gòu)。搜索信號(hào)機(jī)二維數(shù)組,得到“起始信號(hào)機(jī)”和“終點(diǎn)信號(hào)機(jī)”的里程,根據(jù)里程大小判斷進(jìn)路方向。步驟b3,建立道岔結(jié)構(gòu)switch:搜索信號(hào)機(jī)二維數(shù)組,得到“起始信號(hào)機(jī)”和“終點(diǎn)信號(hào)機(jī)”對(duì)應(yīng)的“起始區(qū)段”和“終點(diǎn)區(qū)段”。搜索區(qū)段二維數(shù)組,得到“起始區(qū)段”對(duì)應(yīng)的“起始信號(hào)機(jī)的起始結(jié)點(diǎn)”和“起始信號(hào)機(jī)的終點(diǎn)結(jié)點(diǎn)”,以及“終點(diǎn)區(qū)段”對(duì)應(yīng)的“終點(diǎn)信號(hào)機(jī)的起始結(jié)點(diǎn)”和“終點(diǎn)信號(hào)機(jī)的終點(diǎn)結(jié)點(diǎn)”。分gd0和gd1方向分別搜索進(jìn)路包含的所有結(jié)點(diǎn)。以gd0方向?yàn)槔云鹗夹盘?hào)機(jī)的起始結(jié)點(diǎn)作為當(dāng)前結(jié)點(diǎn),根據(jù)二叉樹搜素算法分別搜索直向和側(cè)向的結(jié)點(diǎn),若搜索到重復(fù)結(jié)點(diǎn)或跨區(qū)結(jié)點(diǎn)則停止該方向的搜索,直至搜索到終點(diǎn)信號(hào)機(jī)的終點(diǎn)結(jié)點(diǎn)。通過道岔二維數(shù)組搜索得到道岔結(jié)構(gòu)。gd1方向的搜索過程類似。步驟b4,建立區(qū)間結(jié)構(gòu)block:根據(jù)不同的進(jìn)路方向搜索進(jìn)路包含的所有區(qū)間。搜索信號(hào)機(jī)二維數(shù)組,得到“起始信號(hào)機(jī)”和“終點(diǎn)信號(hào)機(jī)”對(duì)應(yīng)的“起始計(jì)軸點(diǎn)”和“終點(diǎn)計(jì)軸點(diǎn)”。搜索區(qū)間二維數(shù)組,得到“起始計(jì)軸點(diǎn)”和“終點(diǎn)計(jì)軸點(diǎn)”對(duì)應(yīng)的“起始區(qū)間”和“終點(diǎn)區(qū)間”。以起始區(qū)間作為當(dāng)前區(qū)間,默認(rèn)搜索方向?yàn)橹毕颍Y(jié)合步驟(b3)得到的道岔結(jié)構(gòu),搜索當(dāng)前區(qū)間是否含道岔,如果有將道岔的方向作為下一步搜索方向,搜索直向或者側(cè)向的區(qū)間,如果不含道岔,則按照默認(rèn)方向搜索,直至找到終點(diǎn)區(qū)間。步驟b5,建立側(cè)防道岔結(jié)構(gòu):根據(jù)步驟b3所得的道岔結(jié)構(gòu),根據(jù)道岔的直向和側(cè)向?qū)傩裕謩e搜索側(cè)向和直向的道岔,根據(jù)側(cè)向防護(hù)條件判定是否需要進(jìn)行防護(hù),直至搜索到可以完全防護(hù)的道岔或者搜索到同向信號(hào)機(jī)或者軌道盡頭,根據(jù)步驟b4所得的區(qū)間結(jié)構(gòu)判定防護(hù)道岔的解鎖區(qū)間。具體如下:①獲取道岔結(jié)構(gòu)列表switch;②獲取區(qū)間結(jié)構(gòu)列表block;③設(shè)置側(cè)防道岔解鎖區(qū)間,如果計(jì)軸侵線,解鎖區(qū)間設(shè)置為進(jìn)路方向上道岔鎖閉區(qū)間的下一個(gè)區(qū)間,否則為道岔鎖閉區(qū)間;④迭代搜索步驟b6,建立沖突進(jìn)路模型:根據(jù)步驟b3-b5所得的道岔結(jié)構(gòu)、區(qū)間結(jié)構(gòu)和側(cè)防道岔結(jié)構(gòu),分別建立道岔位置沖突的進(jìn)路以及方向沖突的進(jìn)路,根據(jù)不同進(jìn)路之間對(duì)應(yīng)的道岔結(jié)構(gòu)和聯(lián)鎖道岔結(jié)構(gòu)的道岔位置,確定是否有相同道岔的道岔位置沖突,如果有,則計(jì)入道岔位置沖突進(jìn)路中,如果沒有,則根據(jù)區(qū)間結(jié)構(gòu)和進(jìn)路方向,確定是否有相同區(qū)間的進(jìn)路方向沖突,如果有則計(jì)入方向沖突進(jìn)路中。循環(huán)此過程,直至兩兩進(jìn)路全部搜索完。全部完成后,與聯(lián)鎖表待檢查項(xiàng)對(duì)比得到對(duì)比結(jié)果b。步驟二,對(duì)基于面向?qū)ο蟮姆椒ê突诿嫦蜻^程的方法的檢查結(jié)果進(jìn)行交叉驗(yàn)證。即:通過將基于面向?qū)ο蟮姆椒╝的對(duì)比結(jié)果a和基于面向過程的方法b的對(duì)比結(jié)果b做比較,如果一致,表明方法a和方法b的驗(yàn)證結(jié)果是有效的。如果一致判定聯(lián)鎖表數(shù)據(jù)正確,則證明了聯(lián)鎖表數(shù)據(jù)的安全性,否則證明聯(lián)鎖表數(shù)據(jù)不安全。以上實(shí)施例僅供說明本發(fā)明之用,而非對(duì)本發(fā)明的限制,有關(guān)
技術(shù)領(lǐng)域:
:的技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以作出各種變換或變型,因此所有等同的技術(shù)方案也應(yīng)該屬于本發(fā)明的范疇,應(yīng)由各權(quán)利要求所限定。當(dāng)前第1頁12當(dāng)前第1頁12