亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        鄧 健

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

        0 引言

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

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

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

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

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

        1.2 信號點位表

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

        表1 信號點位表主要字段Tab.1 Main fields of signal point table

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

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

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

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

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

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

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

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

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

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

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

        1.3.2 信號點位數(shù)字值解析方法

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

        (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ù)字值。

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

        圖3 信號點位數(shù)字值解析Fig.3 Analysis of signal point digital value

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

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

        2 實驗測試驗證

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

        2.1 測試驗證環(huán)境

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

        2.2 測試驗證方法

        實驗a:編寫測試程序讀取1 條要解析的報文記錄,輸出解析結(jié)果,并將解析結(jié)果與項目具體案例對比,核對其解析的正確性。

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

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

        2.3 測試驗證結(jié)果

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

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

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

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

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

        2.4 測試驗證結(jié)論及分析

        實驗a 結(jié)果表明,車輛數(shù)據(jù)自動解析模塊能夠根據(jù)信號點位表完全正確地解析出數(shù)據(jù)報文中的信號點位數(shù)字值。

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

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

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

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

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

        4 結(jié)語

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

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

        猜你喜歡
        點位引擎報文
        1年期國債收益率跌至1%
        銀行家(2025年1期)2025-02-08 00:00:00
        基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        機器人快速示教方法及示教點位姿變換的研究
        CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        藍(lán)谷: “涉藍(lán)”新引擎
        商周刊(2017年22期)2017-11-09 05:08:31
        ATS與列車通信報文分析
        垂直面內(nèi)建立基線的特殊點位高程測量法
        無形的引擎
        河南電力(2015年5期)2015-06-08 06:01:46
        基于Cocos2d引擎的PuzzleGame開發(fā)
        国产精品高清一区二区三区人妖| 116美女极品a级毛片| 青草热久精品视频在线观看| 国产一区二区三区观看视频| 亚洲视频专区一区二区三区| 在教室伦流澡到高潮hgl动漫| 欧美成人精品一区二区综合| 亚洲一区二区三区久久蜜桃| 91中文在线九色视频| 国产成人精品免费久久久久 | 国产黄色三级一区二区三区四区| 国产欧美一区二区精品久久久| 内射中出无码护士在线| avtt一区| 国产在线精品观看一区二区三区| 人妻精品久久久久中文字幕69| 免费观看又污又黄的网站| 精品久久久久88久久久| 国产一区二区黑丝美胸| 亚洲成aⅴ人片久青草影院| 婷婷丁香社区| 无码AV无码免费一区二区| 日本高级黄色一区二区三区| 亚洲成a∨人片在线观看不卡| 久久精品国产日本波多麻结衣| 水蜜桃视频在线观看免费18| 国产视频一区二区在线免费观看| 日本一卡2卡3卡4卡无卡免费网站| 国产一区二区精品在线观看 | 亚洲一区二区刺激的视频| 国产乱码一区二区三区爽爽爽| 国产成人久久综合热| 国产一级av理论手机在线| 日本在线视频www色| 影音先锋每日av色资源站| 草莓视频中文字幕人妻系列| 亚洲一区二区三区视频免费看| 免费a级毛片18以上观看精品| 久久精品国产亚洲vr| 国产精品自产拍av在线| 波多野结衣绝顶大高潮|