国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于散列的長(zhǎng)鏈處理算法

2021-04-03 02:23郁文斌
關(guān)鍵詞:長(zhǎng)鏈里程標(biāo)志

郁文斌

(北京全路通信信號(hào)研究設(shè)計(jì)院集團(tuán)有限公司,北京 100070)

1 概述

截止2020 年底,國(guó)內(nèi)鐵路營(yíng)業(yè)里程達(dá)到14 萬(wàn)公里以上,其中高鐵3.6 萬(wàn)公里以上。高鐵的發(fā)展已經(jīng)全面影響和提升了人們的日常出行和生活,因此,高鐵的高安全性、高可靠性尤為重要。高鐵的安全性主要由列車運(yùn)行控制系統(tǒng)來(lái)保障,其中信號(hào)安全為關(guān)鍵。

列控系統(tǒng)[1]主要是通過(guò)列車與地面之間的信息傳輸來(lái)實(shí)現(xiàn)運(yùn)行控制的。ATP 要實(shí)現(xiàn)超速防護(hù)必須通過(guò)計(jì)算生成連續(xù)的目標(biāo)距離制動(dòng)曲線,而要生成這條曲線就必須獲得地面線路的坡度、速度、限速及目標(biāo)距離等參數(shù)信息。地面設(shè)備需要存儲(chǔ)這些地面線路數(shù)據(jù)信息,并對(duì)其進(jìn)行計(jì)算將處理后生成的信息提供給ATP 用于動(dòng)態(tài)速度曲線的計(jì)算。列控系統(tǒng)尤其是地面設(shè)備列控中心[2]、無(wú)線閉塞中心[3]、臨時(shí)限速服務(wù)器[4]等各產(chǎn)品功能嚴(yán)格遵循中國(guó)國(guó)家鐵路集團(tuán)有限公司(簡(jiǎn)稱國(guó)鐵集團(tuán))發(fā)布的技術(shù)條件,其基于勘查鐵路線路的數(shù)據(jù)承載上層信號(hào)功能,這些勘查的數(shù)據(jù)是具有工程屬性的復(fù)雜數(shù)據(jù)[5],地面線路數(shù)據(jù)包含一些固定信息包括線路的坡度、閉塞分區(qū)或軌道電路長(zhǎng)度、載頻、線路固定限速等。本文僅對(duì)其中的長(zhǎng)鏈數(shù)據(jù)進(jìn)行處理。

本文參考鐵路相關(guān)線路數(shù)據(jù)的研究[6],以及考察了目前高鐵信號(hào)安全產(chǎn)品列控中心、無(wú)線閉塞中心、臨時(shí)限速服務(wù)器等產(chǎn)品技術(shù)條件中對(duì)于各自處理配置的線路數(shù)據(jù)中長(zhǎng)鏈處理邏輯普遍存在的問(wèn)題(例如計(jì)算的線路方向不同但配置冗余,輸入源相同但實(shí)現(xiàn)各不相同等),提出一種散列的處理算法,從而達(dá)到通過(guò)配置最少、最簡(jiǎn)單的數(shù)據(jù)生成長(zhǎng)鏈計(jì)算所需的關(guān)鍵信息,從而提供長(zhǎng)鏈計(jì)算接口給用戶,使用戶不需要考慮長(zhǎng)鏈的處理而達(dá)到提高開發(fā)效率的目的。

2 長(zhǎng)鏈介紹

對(duì)于線路長(zhǎng)鏈,舊規(guī)范[7](以下簡(jiǎn)稱規(guī)范一)停止使用,但是由于歷史原因,目前各產(chǎn)品設(shè)備的線路數(shù)據(jù)對(duì)于長(zhǎng)鏈的處理仍舊保留對(duì)于規(guī)范一的兼容性。根據(jù)國(guó)鐵集團(tuán)發(fā)布的最新規(guī)范[8](以下簡(jiǎn)稱規(guī)范二),長(zhǎng)鏈定義為:鐵路線路里程斷鏈為因線路改造、復(fù)測(cè)等原因,使線路里程產(chǎn)生不連續(xù)的處所。斷鏈前后兩里程之差小于實(shí)際長(zhǎng)度時(shí)為長(zhǎng)鏈。

目前,按各產(chǎn)品長(zhǎng)鏈處理共識(shí),對(duì)于斷鏈數(shù)據(jù)輸入,根據(jù)所使用協(xié)議版本,識(shí)別長(zhǎng)鏈點(diǎn)的起點(diǎn)、終點(diǎn)、長(zhǎng)度。并對(duì)以下進(jìn)行總結(jié)分析,所分類涵蓋了規(guī)范一和規(guī)范二中規(guī)定的各種情況。

根據(jù)規(guī)范一,長(zhǎng)鏈設(shè)置及標(biāo)注方法匯總?cè)缦拢?/p>

1) 百米標(biāo)處存在長(zhǎng)鏈,例如K218+700 為長(zhǎng)鏈終點(diǎn),長(zhǎng)度為2 000 m,如表 1 所示。

2) 公里標(biāo)處存在長(zhǎng)鏈,例如K219+000 為長(zhǎng)鏈終點(diǎn),長(zhǎng)度為2 000 m,如表 2 所示。

表1 規(guī)范一百米標(biāo)存在長(zhǎng)鏈Tab.1 Long flag at 100m post according to Standard No.1

根據(jù)規(guī)范二,長(zhǎng)鏈設(shè)置及標(biāo)注方法匯總?cè)缦拢?/p>

1) 百米標(biāo)處存在長(zhǎng)鏈,例如K218+700 為長(zhǎng)鏈終點(diǎn),長(zhǎng)度為2 000 m,如表3 所示。

2) 公里標(biāo)處存在長(zhǎng)鏈,例如K219+000 為長(zhǎng)鏈終點(diǎn),長(zhǎng)度為2 000 m,如表4 所示。

表2 規(guī)范一公里標(biāo)存在長(zhǎng)鏈Tab.2 Long flag at kilometer post according to Standard No.1

根據(jù)上述分類匯總得出,長(zhǎng)鏈標(biāo)志按范圍分類:

1)百米標(biāo)處存在長(zhǎng)鏈,第一個(gè)長(zhǎng)鏈標(biāo)志范圍,規(guī)范一和規(guī)范二均相同,為公里標(biāo)無(wú),百米標(biāo)a;

2)百米標(biāo)處存在長(zhǎng)鏈,按規(guī)范一,長(zhǎng)鏈標(biāo)志范圍第二個(gè)起,按公里標(biāo)A,百米標(biāo)a;公里標(biāo)B,百米標(biāo)a ……,依次類推;

表3 規(guī)范二百米標(biāo)存在長(zhǎng)鏈Tab.3 Long flag at 100m post according to Standard No.2

表4 規(guī)范二公里標(biāo)存在長(zhǎng)鏈Tab.4 Long flag at kilometer post according to Standard No.2

3)百米標(biāo)處存在長(zhǎng)鏈,按規(guī)范二,長(zhǎng)鏈標(biāo)志范圍以第二個(gè)為結(jié)尾,為公里標(biāo)A,百米標(biāo)a;

4)公里標(biāo)處存在長(zhǎng)鏈,按規(guī)范一,長(zhǎng)鏈標(biāo)志范圍按公里標(biāo)A,百米標(biāo)a;公里標(biāo)B,百米標(biāo)a……,依次類推;

5)公里標(biāo)處存在長(zhǎng)鏈,按規(guī)范二,長(zhǎng)鏈標(biāo)志范圍僅為公里標(biāo)A,百米標(biāo)a。

3 長(zhǎng)鏈算法

根據(jù)表1~4 的分析得知,長(zhǎng)鏈計(jì)算可以制定如下規(guī)則:

1)定義公里標(biāo)長(zhǎng)鏈標(biāo)志N 是以空串或者字母'A'到'Z'組合而成的字符串;

2)定義百米標(biāo)長(zhǎng)鏈標(biāo)志a;

3)定義公里標(biāo)長(zhǎng)鏈標(biāo)志分類規(guī)則,兼容規(guī)范一和規(guī)范二;

4)定義計(jì)算公式,將公里標(biāo)長(zhǎng)鏈標(biāo)志轉(zhuǎn)換為計(jì)算機(jī)存儲(chǔ)的數(shù)值;

5)對(duì)于給定的長(zhǎng)鏈點(diǎn)配置,定義長(zhǎng)鏈參數(shù)集合,包含已知參數(shù)和未知的參數(shù);

6)定義長(zhǎng)鏈有效參數(shù)集合,其是已知參數(shù)的最小集合,有效參數(shù)必須是能進(jìn)行計(jì)算的數(shù)值;

7)定義長(zhǎng)鏈算法,根據(jù)有效參數(shù)推導(dǎo)出其他參數(shù)。

根據(jù)上述規(guī)則分別提出解決方法如下。

3.1 長(zhǎng)鏈標(biāo)志

根據(jù)公里標(biāo)長(zhǎng)鏈標(biāo)志N的定義,公里標(biāo)根據(jù)協(xié)議規(guī)范一和規(guī)范二的不同涉及到字母A,B,……,Z,AA,……,AZ,……,在內(nèi)部計(jì)算時(shí)需要設(shè)定規(guī)則將長(zhǎng)鏈公里標(biāo)志轉(zhuǎn)換為數(shù)字。在輸出時(shí),再按照設(shè)備接口協(xié)議進(jìn)行轉(zhuǎn)換。

因此,需要對(duì)公里標(biāo)的長(zhǎng)鏈標(biāo)志進(jìn)行公式轉(zhuǎn)換的設(shè)定,以存儲(chǔ)的數(shù)值映射其對(duì)應(yīng)的公里標(biāo)長(zhǎng)鏈標(biāo)志。

以26 進(jìn)制為基礎(chǔ),定義公式如下:

其中,n為正整數(shù),N為長(zhǎng)鏈標(biāo)志字符串。

那么,對(duì)于任意公里標(biāo)長(zhǎng)鏈標(biāo)志x,根據(jù)公式(3)轉(zhuǎn)換為存儲(chǔ)的數(shù)值。

對(duì)于任意整數(shù)y,f-1(y)與f(x)互為反函數(shù),返回對(duì)應(yīng)的長(zhǎng)鏈標(biāo)志字符串。但是由于進(jìn)制B 和字符'Z'的數(shù)字表示都是26,所以f-1(y)反推過(guò)程中,如果遇到余數(shù)為0 時(shí),得到的字符為'Z',值自動(dòng)減1。

其中,n為正整數(shù),M為長(zhǎng)鏈標(biāo)志字符串,Nt到N0可以由y遞推,即f-1(y)可以通過(guò)y遞推得到,遞推公式為:

公式(3)的偽碼實(shí)現(xiàn)如圖1 所示。

圖1 公式(3)偽碼實(shí)現(xiàn)圖Fig.1 Implementation of pseudocodes of Formula (3)

公式(4)~(6)的偽碼實(shí)現(xiàn)如圖2 所示。

3.2 散列規(guī)則

根據(jù)表 1~4 的分析及長(zhǎng)鏈規(guī)則,長(zhǎng)鏈計(jì)算可以制定如下散列規(guī)則:

1) 定義種類集合SC={[f(x),(x,a)]|x為任意公里標(biāo)長(zhǎng)鏈標(biāo)志};

2) 依據(jù)集合SC,定義公里標(biāo)長(zhǎng)鏈標(biāo)志分類序列SCS為[0,(公里標(biāo)無(wú),百米標(biāo)a)];[1,(公里標(biāo)A,百米標(biāo)a)];[2,(公里標(biāo)Β,百米標(biāo)a)],…[i,(f-1(i),百米標(biāo)a)],……,依次類推;

3) 定義范圍集合SS={ [Sf(x),Ef(x))|x為任意公里標(biāo)長(zhǎng)鏈標(biāo)志,本范圍為左閉右開區(qū)間};

4) 對(duì)于給定一個(gè)長(zhǎng)鏈配置,定義長(zhǎng)鏈終點(diǎn)(不帶長(zhǎng)鏈標(biāo)志)LE和長(zhǎng)度LL兩個(gè)參數(shù)為有效參數(shù);

圖2 公式(4)(5)(6)偽碼實(shí)現(xiàn)圖Fig.2 Implementation of pseudocodes of Formula (4)(5)(6)

5) 根據(jù)LE和LL,按照協(xié)議規(guī)范一和規(guī)范二,依次遍歷SCS中每個(gè)元素按順序進(jìn)行散列,確定每個(gè)元素的起點(diǎn)里程標(biāo)和終點(diǎn)里程標(biāo),依據(jù)集合SS,按順序定義序列SSS為{ [0,[起點(diǎn)里程標(biāo)值S0,終點(diǎn)里程標(biāo)值E0)],[1,[起點(diǎn)里程標(biāo)值S1,終點(diǎn)里程標(biāo)值E1)],[2,[起點(diǎn)里程標(biāo)值S2,終點(diǎn)里程標(biāo)值E2)],……,[i,[起點(diǎn)里程標(biāo)值Si,終點(diǎn)里程標(biāo)值Ei)],……依次類推},其中每個(gè)元素的范圍均為左閉右開區(qū)間;

6) 根據(jù)散列結(jié)果,定義距離參數(shù)Di為第i個(gè)長(zhǎng)鏈標(biāo)志范圍的長(zhǎng)度,即Di=Ei-Si。一般情況下,長(zhǎng)鏈在百米標(biāo)上時(shí),Di=1 000,i大 于0 且 不是最后一個(gè)序列;長(zhǎng)鏈在千米標(biāo)上時(shí),Di=1 000,i大于等于0 且不是最后一個(gè)序列。

任意給定長(zhǎng)鏈點(diǎn)P,定義如下計(jì)算規(guī)則:

1) 對(duì)于給定的長(zhǎng)鏈點(diǎn)P,其里程標(biāo)值為PV,判斷其長(zhǎng)鏈標(biāo)志落在SCS和SSS序列內(nèi),得出是否合法;

2) 如果判斷合法,則判斷P落在長(zhǎng)鏈標(biāo)志范圍序號(hào)為i,從而得到其距離第i個(gè)長(zhǎng)鏈標(biāo)志范圍起點(diǎn)里程標(biāo)值的絕對(duì)距離Dx=PV-Si。

則P距離長(zhǎng)鏈起點(diǎn)的絕對(duì)距離為

4 算法實(shí)現(xiàn)

據(jù)此,進(jìn)行算法實(shí)現(xiàn),程序設(shè)計(jì)邏輯如圖 3 所示。

為完成上述程序邏輯,需實(shí)現(xiàn)3.1 的公式(1)、(2)、(3)、(4)、(5)及3.2 的算法,具體如表 5所示。

5 測(cè)試驗(yàn)證

本節(jié)根據(jù)程序?qū)崿F(xiàn)的長(zhǎng)鏈算法設(shè)計(jì)案例進(jìn)行驗(yàn)證。設(shè)計(jì)案例的原則為根據(jù)長(zhǎng)鏈規(guī)范一和規(guī)范二的每種情況設(shè)定等價(jià)類,每種等價(jià)類需要對(duì)邊界值設(shè)定案例,同時(shí)需綜合考慮線路數(shù)據(jù)與長(zhǎng)鏈配置的方向設(shè)定不同場(chǎng)景進(jìn)行遍歷,以此檢驗(yàn)算法的邏輯是否正確,算法是否能兼容長(zhǎng)鏈規(guī)范一和規(guī)范二,是否能適用不同產(chǎn)品的數(shù)據(jù)處理需求,對(duì)用戶透明。設(shè)定線路如下:

圖3 程序邏輯圖Fig.3 Diagram of program logic

表5 算法實(shí)現(xiàn)功能列表Tab.5 List of algorithm functions

線路方向上分別有里程標(biāo)系KA=1,KB=9,KC=11,KD=12,KE=13,范圍分別為(K A10+000,K A238+752),(K B239+123,K B302+000),(K C20+000,K C10+000),(K D20+000,K D10+000),(K E10+000,KE20+000),長(zhǎng)鏈配置點(diǎn)分別以(長(zhǎng)鏈終點(diǎn),長(zhǎng)鏈長(zhǎng)度)給出,為L(zhǎng)G1=(KA15+200,50),LG2=(KA18+000,50),LG3=(KB242+300,2000),LG4=(KB271+000,2200),LG5=(KB302+000,900),L G6=(K D20+000,1000),L G7=(KE15+000,1000)。

選 取 以LG3=(KB242+300,2000)和LG6=(KD20+000,1000)為場(chǎng)景,制定案例如表6 所示。

表6 長(zhǎng)鏈功能測(cè)試案例Tab.6 Test cases of long-flag functions

測(cè)試結(jié)果正確,確認(rèn)算法功能符合預(yù)期。

6 總結(jié)

本文主要通過(guò)分析長(zhǎng)鏈規(guī)范一和規(guī)范二,對(duì)目前各產(chǎn)品處理長(zhǎng)鏈功能差異進(jìn)行分析,根據(jù)分析結(jié)果,提出以公里標(biāo)長(zhǎng)鏈標(biāo)志為基礎(chǔ)的散列算法,以對(duì)各產(chǎn)品在線路處理中對(duì)于長(zhǎng)鏈功能處理提供一種便捷的解決方案。本算法以最簡(jiǎn)單的長(zhǎng)鏈配置規(guī)則,實(shí)現(xiàn)對(duì)于給定任意長(zhǎng)鏈點(diǎn)的校驗(yàn)、處理、計(jì)算,從而簡(jiǎn)化線路數(shù)據(jù)的處理,使用戶處理線路數(shù)據(jù)時(shí)以模塊化的方式加入長(zhǎng)鏈功能,同時(shí)不影響既有功能。因此,提供了一種統(tǒng)一、高效、靈活、簡(jiǎn)便的長(zhǎng)鏈處理方法,并以模塊化的方式進(jìn)行直接應(yīng)用,能最大程度提高開發(fā)、數(shù)據(jù)配置、測(cè)試上線路數(shù)據(jù)的處理效率。

同時(shí),本文沒(méi)有對(duì)本算法在線路數(shù)據(jù)處理的具體應(yīng)用給出實(shí)例,依據(jù)本長(zhǎng)鏈處理算法的思想,可以延伸到整個(gè)線路數(shù)據(jù)處理方法的改進(jìn)??梢葬槍?duì)目前各鐵路安全產(chǎn)品對(duì)于整個(gè)線路數(shù)據(jù)處理的差異、缺陷給出改進(jìn)方法,此工作可以作為對(duì)于后續(xù)工作的展望。

猜你喜歡
長(zhǎng)鏈里程標(biāo)志
我國(guó)科學(xué)家實(shí)現(xiàn)常壓下二氧化碳加氫制備長(zhǎng)鏈烯烴
純電動(dòng)汽車?yán)m(xù)駛里程影響因素
當(dāng)代標(biāo)志設(shè)計(jì)的創(chuàng)意構(gòu)思和發(fā)展趨勢(shì)
多功能標(biāo)志桿的使用
增程式電動(dòng)汽車?yán)m(xù)駛里程的延長(zhǎng)優(yōu)化
農(nóng)村公路總里程突破435萬(wàn)公里
長(zhǎng)鏈非編碼RNA APTR、HEIH、FAS-ASA1、FAM83H-AS1、DICER1-AS1、PR-lncRNA在肺癌中的表達(dá)
首都的標(biāo)志是只熊
騰勢(shì)400 用在上海市區(qū)的來(lái)回穿梭克服里程焦慮
為什么芝士能夠拉絲?