• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種城市軌道交通車輛數(shù)據(jù)自動(dòng)解析模塊的設(shè)計(jì)與應(yīng)用

      2022-09-07 07:02:12
      控制與信息技術(shù) 2022年4期
      關(guān)鍵詞:點(diǎn)位引擎報(bào)文

      鄧 健

      (株洲中車時(shí)代電氣股份有限公司,湖南 株洲 412001)

      0 引言

      隨著互聯(lián)網(wǎng)+、大數(shù)據(jù)、云計(jì)算等信息技術(shù)的快速發(fā)展及其在城市軌道交通建設(shè)中的不斷應(yīng)用,自動(dòng)化、信息化、數(shù)字化、智能化將成為地鐵車輛運(yùn)維的重要發(fā)展方向[1]。車輛各終端設(shè)備采集的數(shù)據(jù)將被打包發(fā)送至地面數(shù)據(jù)中心,在進(jìn)行狀態(tài)分析和應(yīng)用展示前需要對(duì)采集到的特定信號(hào)點(diǎn)位值進(jìn)行解析處理。為了提升數(shù)據(jù)的傳輸效率、增加數(shù)據(jù)內(nèi)容的機(jī)密性,車地實(shí)時(shí)數(shù)據(jù)采用二進(jìn)制編碼[2‐4],地面信息系統(tǒng)需根據(jù)數(shù)據(jù)協(xié)議將原始二進(jìn)制數(shù)據(jù)解析成具有具體含義的信號(hào)值。目前數(shù)據(jù)報(bào)文點(diǎn)位解析一般采用編寫解析代碼[5‐6]或配置可擴(kuò)展標(biāo)記語(yǔ)言(extensible markup language,XML)文件定義解析邏輯[7]等方法。采用編寫解析代碼法處理會(huì)存在編碼工作量巨大、編寫易出錯(cuò)的問(wèn)題;且由于不同車型的設(shè)備數(shù)據(jù)和信號(hào)點(diǎn)位差異性大,無(wú)法做到數(shù)據(jù)解析代碼的跨項(xiàng)目復(fù)用。而XML文件結(jié)構(gòu)內(nèi)嵌層次復(fù)雜[8],不能直觀展示信號(hào)點(diǎn)位屬性,且需要專業(yè)人士才能對(duì)XML 文件進(jìn)行配置,或者需要配合第三方專用XML 文件解析模塊[9],不方便項(xiàng)目交付人員現(xiàn)場(chǎng)調(diào)試和校準(zhǔn)信號(hào)點(diǎn)位解析邏輯,存在調(diào)試工作量大、數(shù)據(jù)校準(zhǔn)難等問(wèn)題。為此,本文設(shè)計(jì)了一種車輛實(shí)時(shí)數(shù)據(jù)自動(dòng)解析模塊,其利用關(guān)系型數(shù)據(jù)表保存信號(hào)點(diǎn)位信息,數(shù)據(jù)解析引擎根據(jù)信號(hào)點(diǎn)位表解析數(shù)據(jù),具備信號(hào)點(diǎn)位表字段清楚、結(jié)構(gòu)簡(jiǎn)單、易維護(hù)以及數(shù)據(jù)解析引擎邏輯確定、方法可復(fù)用等特點(diǎn),能快速、準(zhǔn)確地實(shí)現(xiàn)不同車型車輛的實(shí)時(shí)數(shù)據(jù)解析。

      1 車輛數(shù)據(jù)自動(dòng)解析模塊

      車輛數(shù)據(jù)自動(dòng)解析模塊以數(shù)據(jù)解析引擎為核心,通過(guò)加載數(shù)據(jù)庫(kù)中的信號(hào)點(diǎn)位表將原始二進(jìn)制數(shù)據(jù)解析成具有特殊意義的信號(hào)值,達(dá)到僅需項(xiàng)目開(kāi)發(fā)人員配置和維護(hù)信號(hào)點(diǎn)位表,無(wú)需修改解析代碼的目的。

      1.1 總體結(jié)構(gòu)

      車輛數(shù)據(jù)自動(dòng)解析模塊從總體結(jié)構(gòu)上可以分為信號(hào)點(diǎn)位表和數(shù)據(jù)自動(dòng)解析引擎[10]。信號(hào)點(diǎn)位表用于描述每個(gè)信號(hào)的基本屬性,如信號(hào)的編碼類型、位置偏移、數(shù)據(jù)長(zhǎng)度、換算邏輯等。數(shù)據(jù)自動(dòng)解析引擎為包含相應(yīng)數(shù)據(jù)編碼解析和換算方法的程序代碼,其可根據(jù)信號(hào)點(diǎn)位表中的信號(hào)點(diǎn)位描述信息,將原始二進(jìn)制數(shù)據(jù)包解析成具有特殊意義的鍵-值對(duì)(Key‐Value)信號(hào)點(diǎn)位數(shù)據(jù),具體架構(gòu)如圖1所示。

      1.2 信號(hào)點(diǎn)位表

      為能夠清楚描述信號(hào)點(diǎn)位基本屬性的關(guān)系型數(shù)據(jù)庫(kù)表,信號(hào)點(diǎn)位表定義了信號(hào)所在的數(shù)據(jù)包類型、位置偏移、數(shù)據(jù)長(zhǎng)度、編碼方式、大小端以及換算方法等屬性。數(shù)據(jù)自動(dòng)解析引擎可以根據(jù)信號(hào)點(diǎn)位表中的記錄完成信號(hào)的解析和換算操作。信號(hào)點(diǎn)位表所涉及的主要字段內(nèi)容如表1所示。

      表1 信號(hào)點(diǎn)位表主要字段Tab.1 Main fields of signal point table

      表1中序號(hào)2~4用于確定信號(hào)所屬的數(shù)據(jù)報(bào)文(即報(bào)文標(biāo)識(shí)符),數(shù)據(jù)解析引擎根據(jù)收到的數(shù)據(jù)報(bào)文標(biāo)識(shí),能夠從信號(hào)點(diǎn)位表中獲取該數(shù)據(jù)報(bào)文所包含的信號(hào)點(diǎn)位集合;序號(hào)5~11 為數(shù)據(jù)解析核心字段,數(shù)據(jù)解析引擎可以根據(jù)該字段確定信號(hào)類型、偏移位置、數(shù)據(jù)長(zhǎng)度、編碼方式,從而實(shí)現(xiàn)信號(hào)點(diǎn)位基本解析;序號(hào)12和序號(hào)13定義解析出來(lái)的數(shù)據(jù)換算關(guān)系,根據(jù)換算符和換算參數(shù)進(jìn)行信號(hào)點(diǎn)位的單位換算;序號(hào)16為信號(hào)的標(biāo)識(shí)符,給解析出來(lái)的值賦予唯一的信號(hào)標(biāo)識(shí)名;序號(hào)17為設(shè)定的一個(gè)信號(hào)有效開(kāi)關(guān),用于過(guò)濾暫時(shí)預(yù)留或無(wú)效的信號(hào)點(diǎn)位。

      1.3 數(shù)據(jù)自動(dòng)解析引擎

      數(shù)據(jù)自動(dòng)解析引擎根據(jù)信號(hào)點(diǎn)位表中的各信號(hào)描述信息,將原始的二進(jìn)制報(bào)文信息按照數(shù)據(jù)類型、編碼格式、換算關(guān)系解析成具備特定含義的數(shù)字值。

      1.3.1 數(shù)據(jù)自動(dòng)解析步驟

      數(shù)據(jù)自動(dòng)解析具體步驟如下:

      第1步,根據(jù)要解析的數(shù)據(jù)報(bào)文,提取報(bào)文標(biāo)識(shí)符(即數(shù)據(jù)包所屬的line_name、vehicle_type、package_type)。

      第2 步,根據(jù)報(bào)文標(biāo)識(shí)符查找緩存中是否已經(jīng)存在該數(shù)據(jù)報(bào)文信號(hào)點(diǎn)位集合,如果存在,直接從緩存中獲?。环駝t,根據(jù)line_name、vehicle_type、package_type字段從數(shù)據(jù)庫(kù)點(diǎn)位表中查詢?cè)搱?bào)文對(duì)應(yīng)的信號(hào)點(diǎn)位集合,同時(shí)保存到緩存中。

      第3步,對(duì)數(shù)據(jù)報(bào)文信號(hào)點(diǎn)位集合中的每個(gè)信號(hào)點(diǎn)位按照數(shù)據(jù)解析核心字段(signal_type、endian、coding_type、byte_offset、byte_length、bit_length)從二進(jìn)制報(bào)文中解析出信號(hào)點(diǎn)位數(shù)字值,根據(jù)convert_operator、convert_parameter 字段對(duì)需要做特殊換算的信號(hào)點(diǎn)位數(shù)據(jù)轉(zhuǎn)化處理得到最終的解析值,并將解析結(jié)果以Key‐Value的結(jié)構(gòu)保存到解析后的Map(一種數(shù)據(jù)結(jié)構(gòu),由一組鍵值對(duì)組成的抽象數(shù)據(jù)結(jié)構(gòu),并且鍵只會(huì)出現(xiàn)一次)對(duì)象中,其中Key 為信號(hào)點(diǎn)位的signal_code,Value為解析值。

      第4 步,將報(bào)文解析后的Map 對(duì)象返回給上層調(diào)用模塊,完成整個(gè)數(shù)據(jù)自動(dòng)解析。

      具體數(shù)據(jù)自動(dòng)解析引擎流程如圖2所示。

      圖2 數(shù)據(jù)自動(dòng)解析引擎流程Fig.2 Engine process of data automatic analysis

      1.3.2 信號(hào)點(diǎn)位數(shù)字值解析方法

      在整個(gè)數(shù)據(jù)自動(dòng)解析過(guò)程中,對(duì)每個(gè)信號(hào)點(diǎn)位的信號(hào)值解析為最核心的處理邏輯。根據(jù)信號(hào)點(diǎn)位的byte_offset 和byte_length 從二進(jìn)制報(bào)文中獲取該信號(hào)對(duì)應(yīng)的字節(jié)數(shù)據(jù)內(nèi)容,通過(guò)signal_type 和coding_type字段調(diào)用對(duì)應(yīng)的數(shù)據(jù)解析方法得到信號(hào)解析值:

      (1)若signal_type 為模擬量,根據(jù)具體coding_type將字節(jié)數(shù)據(jù)內(nèi)容轉(zhuǎn)換成相應(yīng)的數(shù)字值;

      (2)若signal_type 為數(shù)字量,則根據(jù)bit_offset 和bit_length 字段從字節(jié)數(shù)據(jù)中獲取以位為單位的數(shù)字值。

      具體信號(hào)解析邏輯如圖3 所示。例如,信號(hào)“空調(diào)總開(kāi)關(guān)”點(diǎn)位,信號(hào)類型為數(shù)字量,編碼類型為Bit(按位編碼),字節(jié)偏移為261,字節(jié)長(zhǎng)度為1,位偏移為0,位長(zhǎng)度為1,根據(jù)該點(diǎn)位的描述信息,從數(shù)據(jù)報(bào)文中提取261 字節(jié)的數(shù)據(jù)內(nèi)容,并獲取該字節(jié)中的bit 0 的內(nèi)容,得到信號(hào)解析值為0。同理,信號(hào)“障礙監(jiān)測(cè)次數(shù)”點(diǎn)位,信號(hào)類型為模擬量,編碼類型為UINT8,字節(jié)偏移為721,字節(jié)長(zhǎng)度為1,根據(jù)該點(diǎn)位的描述信息,從數(shù)據(jù)報(bào)文中提取721字節(jié)的數(shù)據(jù)內(nèi)容,按照無(wú)符號(hào)8位編碼模式(UINT8)解析處理方法,得到信號(hào)解析值為178。

      圖3 信號(hào)點(diǎn)位數(shù)字值解析Fig.3 Analysis of signal point digital value

      1.3.3 主要數(shù)據(jù)編碼類型

      數(shù)據(jù)解析引擎內(nèi)置通用信號(hào)點(diǎn)位的編碼類型(如Bit、INT8、UINT8、INT16、UINT16、INT32、UINT32 和UINT64等),并且能夠根據(jù)項(xiàng)目需要,通過(guò)在數(shù)據(jù)解析引擎內(nèi)增加特殊的編碼類型處理方法,實(shí)現(xiàn)解析模塊的編碼類型逐步擴(kuò)充的需求。

      2 實(shí)驗(yàn)測(cè)試驗(yàn)證

      為驗(yàn)證數(shù)據(jù)自動(dòng)解析模塊的功能和效率,編寫測(cè)試程序調(diào)用數(shù)據(jù)自動(dòng)解析模塊對(duì)不同報(bào)文數(shù)量和不同信號(hào)點(diǎn)位的報(bào)文類型進(jìn)行測(cè)試,結(jié)合項(xiàng)目驗(yàn)證解析結(jié)果的正確性,并縱向?qū)Ρ葦?shù)據(jù)解析時(shí)間效率。

      2.1 測(cè)試驗(yàn)證環(huán)境

      測(cè)試軟硬件環(huán)境為:臺(tái)式工作站(Intel i7‐7820HQ處理器,4 核2.90 GHz,16 GB 內(nèi)存,500 GB SSD 硬盤),Windows10 操 作 系 統(tǒng),JDK1.8 運(yùn) 行 環(huán) 境,mysql5.7.23數(shù)據(jù)庫(kù)。

      2.2 測(cè)試驗(yàn)證方法

      實(shí)驗(yàn)a:編寫測(cè)試程序讀取1 條要解析的報(bào)文記錄,輸出解析結(jié)果,并將解析結(jié)果與項(xiàng)目具體案例對(duì)比,核對(duì)其解析的正確性。

      實(shí)驗(yàn)b:編寫測(cè)試程序分別讀取1 條、100 條、10 000條和1 000 000條報(bào)文記錄文件,測(cè)試解析不同數(shù)量的報(bào)文記錄所消耗的時(shí)間,不輸出和保存解析結(jié)果。

      實(shí)驗(yàn)c:選取包含不同信號(hào)點(diǎn)位的信號(hào)報(bào)文記錄文件,測(cè)試其解析10 000條記錄所消耗的時(shí)間,不輸出和保存解析結(jié)果。

      2.3 測(cè)試驗(yàn)證結(jié)果

      實(shí)驗(yàn)a 結(jié)果,按照配置的協(xié)議點(diǎn)位表測(cè)試輸出的解析結(jié)果與項(xiàng)目案例真實(shí)點(diǎn)位值完全一致,數(shù)據(jù)解析正確率100%。

      實(shí)驗(yàn)b 結(jié)果,解析不同數(shù)量的相同報(bào)文類型所用的時(shí)間如表2所示,該報(bào)文包含2 124個(gè)信號(hào)點(diǎn)位。

      表2 不同數(shù)量的相同報(bào)文解析耗時(shí)Tab.2 Time‐consuming of parsing of different numbers of the same packets

      實(shí)驗(yàn)c 結(jié)果,解析相同數(shù)量(10 000 條)的不同信號(hào)點(diǎn)位報(bào)文類型所用的時(shí)間如表3所示。

      表3 相同數(shù)量的不同報(bào)文解析耗時(shí)Tab.3 Time‐consuming of parsing of the same number of different packets

      2.4 測(cè)試驗(yàn)證結(jié)論及分析

      實(shí)驗(yàn)a 結(jié)果表明,車輛數(shù)據(jù)自動(dòng)解析模塊能夠根據(jù)信號(hào)點(diǎn)位表完全正確地解析出數(shù)據(jù)報(bào)文中的信號(hào)點(diǎn)位數(shù)字值。

      實(shí)驗(yàn)b結(jié)果表明,數(shù)據(jù)解析時(shí)間和報(bào)文數(shù)量存在正相關(guān)性,由于模塊第一次接收到數(shù)據(jù)報(bào)文后需要從數(shù)據(jù)庫(kù)中查詢?cè)搱?bào)文的信號(hào)點(diǎn)位集合,而后面的數(shù)據(jù)報(bào)文處理則直接從緩存中獲取點(diǎn)位集合,因此驗(yàn)證解析1條報(bào)文耗時(shí)較多,除去獲取數(shù)據(jù)庫(kù)中報(bào)文點(diǎn)位集合外,數(shù)據(jù)解析的時(shí)間消耗隨著數(shù)據(jù)報(bào)文條目增加而線性增長(zhǎng)。

      實(shí)驗(yàn)c 結(jié)果表明,數(shù)據(jù)解析的耗時(shí)與報(bào)文的信號(hào)點(diǎn)位數(shù)量存在正相關(guān)性,即數(shù)據(jù)報(bào)文包含的信號(hào)點(diǎn)位越多則數(shù)據(jù)解析的時(shí)間消耗越多。

      3 車輛數(shù)據(jù)自動(dòng)解析模塊應(yīng)用

      數(shù)據(jù)解析作為車輛運(yùn)營(yíng)監(jiān)視和運(yùn)維評(píng)估的基礎(chǔ)前提,是車輛實(shí)時(shí)展示、狀態(tài)分析的上游數(shù)據(jù)處理過(guò)程,其準(zhǔn)確性和開(kāi)發(fā)效率直接影響項(xiàng)目的交付周期和投入成本。本文設(shè)計(jì)的車輛數(shù)據(jù)自動(dòng)解析模塊,具備準(zhǔn)確率高、信號(hào)點(diǎn)位表結(jié)構(gòu)清晰、解析開(kāi)發(fā)效率高等特點(diǎn),其已經(jīng)在車輛智能運(yùn)維系統(tǒng)、車輛調(diào)度系統(tǒng)及相關(guān)衍生產(chǎn)品中推廣應(yīng)用,在車輛智能運(yùn)維系統(tǒng)中的具體應(yīng)用模式如圖4所示。

      前期上海13 號(hào)線智能運(yùn)維項(xiàng)目采用javolution 方法編寫數(shù)據(jù)解析代碼來(lái)解析數(shù)據(jù)報(bào)文中的信號(hào)點(diǎn)位,需要開(kāi)發(fā)人員為每一個(gè)信號(hào)點(diǎn)位編寫一個(gè)結(jié)構(gòu)變量,并在程序里為該變量指定解析方法,存在解析代碼開(kāi)發(fā)工作量巨大并且容易出錯(cuò)等問(wèn)題。而對(duì)于本文設(shè)計(jì)的車輛數(shù)據(jù)協(xié)議自動(dòng)解析模塊,采用數(shù)據(jù)庫(kù)表作為信號(hào)點(diǎn)位關(guān)系描述載體,項(xiàng)目交付人員只需要生成和維護(hù)好信號(hào)點(diǎn)位表,相比采用javolution 和文獻(xiàn)[5‐6]編寫解析代碼模式,其具有無(wú)需修改數(shù)據(jù)解析引擎代碼、簡(jiǎn)化開(kāi)發(fā)成本、提高解析準(zhǔn)確性的優(yōu)勢(shì);相比文獻(xiàn)[7]采用XML 配置文件方式,其具有信號(hào)點(diǎn)位表可直觀展示、易維護(hù)等優(yōu)勢(shì)。通過(guò)車輛智能運(yùn)維特定項(xiàng)目開(kāi)發(fā)對(duì)比,在解析2 124 個(gè)信號(hào)點(diǎn)位情況下,采用javolution編碼解析需要2人花2周時(shí)間完成,出現(xiàn)6處解析代碼編寫錯(cuò)誤;采用本文設(shè)計(jì)的數(shù)據(jù)自動(dòng)解析模塊僅需1 人3 天完成,出現(xiàn)1 處解析協(xié)議配置錯(cuò)誤。因此,采用車輛數(shù)據(jù)協(xié)議自動(dòng)解析模塊后項(xiàng)目開(kāi)發(fā)由原來(lái)的20人天減少到3人天,效率提升5.6倍,且信號(hào)點(diǎn)位解析正確率提升了0.24%。目前,該模塊在產(chǎn)品推廣中得到高度認(rèn)可,已成為車輛智能運(yùn)維系統(tǒng)、車輛調(diào)度系統(tǒng)等產(chǎn)品的標(biāo)準(zhǔn)數(shù)據(jù)處理模塊。

      4 結(jié)語(yǔ)

      本文設(shè)計(jì)了一種車輛數(shù)據(jù)自動(dòng)解析模塊,其采用數(shù)據(jù)解析引擎和信號(hào)點(diǎn)位配置表分離的模式,實(shí)現(xiàn)了車輛數(shù)據(jù)報(bào)文信號(hào)點(diǎn)位可直觀配置以及數(shù)據(jù)報(bào)文所包含的信號(hào)點(diǎn)位自動(dòng)解析的功能。通過(guò)實(shí)驗(yàn)測(cè)試和現(xiàn)場(chǎng)應(yīng)用驗(yàn)證,該模塊能夠支撐車輛智能運(yùn)維、車輛調(diào)度以及其他衍生產(chǎn)品的數(shù)據(jù)解析功能,可減少數(shù)據(jù)報(bào)文解析開(kāi)發(fā)和調(diào)試時(shí)間,縮短項(xiàng)目開(kāi)發(fā)周期,具備很好的應(yīng)用前景和推廣價(jià)值。

      由于目前該模塊只能將信號(hào)點(diǎn)位解析成數(shù)字值,無(wú)法將點(diǎn)位解析后的數(shù)字值與其真實(shí)表達(dá)的含義關(guān)聯(lián),后續(xù)將優(yōu)化數(shù)據(jù)解析模塊,完善該部分功能,實(shí)現(xiàn)信號(hào)點(diǎn)位的量綱含義的完全解析。

      猜你喜歡
      點(diǎn)位引擎報(bào)文
      1年期國(guó)債收益率跌至1%
      銀行家(2025年1期)2025-02-08 00:00:00
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      機(jī)器人快速示教方法及示教點(diǎn)位姿變換的研究
      CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      淺析反駁類報(bào)文要點(diǎn)
      藍(lán)谷: “涉藍(lán)”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      ATS與列車通信報(bào)文分析
      垂直面內(nèi)建立基線的特殊點(diǎn)位高程測(cè)量法
      無(wú)形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于Cocos2d引擎的PuzzleGame開(kāi)發(fā)
      乡宁县| 玉树县| 久治县| 两当县| 德安县| 开平市| 永福县| 微博| 长治市| 黑河市| 连江县| 廉江市| 青田县| 定陶县| 六枝特区| 凤冈县| 威远县| 宣汉县| 苍溪县| 海丰县| 泾阳县| 丹棱县| 孝义市| 鱼台县| 茶陵县| 金坛市| 巴东县| 枣阳市| 永川市| 饶平县| 蒙山县| 福贡县| 民权县| 辰溪县| 沙洋县| 宣城市| 杂多县| 互助| 永丰县| 麻栗坡县| 阿克苏市|