用于異構(gòu)非標(biāo)系統(tǒng)的數(shù)據(jù)采集過程統(tǒng)一方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及鐵路信號系統(tǒng),尤其是涉及一種用于異構(gòu)非標(biāo)系統(tǒng)的數(shù)據(jù)采集過程統(tǒng)一方法O
【背景技術(shù)】
[0002]數(shù)據(jù)采集過程統(tǒng)一方法針對異構(gòu)非標(biāo)系統(tǒng)中數(shù)據(jù)采集接入過程進(jìn)行優(yōu)化及提升。采集基礎(chǔ)數(shù)據(jù)的分類、采集過程統(tǒng)一描述語言的設(shè)計(jì)、數(shù)據(jù)通信過程和業(yè)務(wù)規(guī)則解析過程的統(tǒng)一化封裝、語義解釋器的設(shè)計(jì)及實(shí)現(xiàn)等都依賴于數(shù)據(jù)采集過程統(tǒng)一方法。
[0003]由于異構(gòu)非標(biāo)系統(tǒng)需要同時(shí)接入眾多跨系統(tǒng)、跨專業(yè)的外部系統(tǒng)信息,因此對于數(shù)據(jù)采集的開發(fā)占據(jù)了大量的開發(fā)時(shí)間和成本。在傳統(tǒng)的數(shù)據(jù)采集實(shí)現(xiàn)中,通常是針對一個(gè)接入過程,采用編碼級的解析過程來完成面向具體業(yè)務(wù)應(yīng)用細(xì)節(jié)的實(shí)現(xiàn)。由此,大量的接口實(shí)現(xiàn)都是相對獨(dú)立且沒有統(tǒng)一標(biāo)準(zhǔn)的,不利于系統(tǒng)的復(fù)用及統(tǒng)一,同時(shí)提高了接口開發(fā)人員的開發(fā)難度和成本。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種用于異構(gòu)非標(biāo)系統(tǒng)的數(shù)據(jù)采集過程統(tǒng)一方法,通過采用統(tǒng)一的數(shù)據(jù)基礎(chǔ)定義及采集過程描述語言,實(shí)現(xiàn)對異構(gòu)非標(biāo)系統(tǒng)的各類業(yè)務(wù)系統(tǒng)采集數(shù)據(jù)的標(biāo)準(zhǔn)化接入,從而為系統(tǒng)的數(shù)據(jù)匯總提供了標(biāo)準(zhǔn)化基礎(chǔ),同時(shí)降低了接口開發(fā)人員的工作難度及開發(fā)成本。
[0005]本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
[0006]—種用于異構(gòu)非標(biāo)系統(tǒng)的數(shù)據(jù)采集過程統(tǒng)一方法,其特征在于,包括以下步驟:
[0007](I)建立采集基礎(chǔ)數(shù)據(jù)類型定義表,用于全面定義采集數(shù)據(jù)的基礎(chǔ)分類方法及內(nèi)容,分類結(jié)果作為采集過程統(tǒng)一描述規(guī)范的基礎(chǔ);
[0008](2)基于數(shù)據(jù)通信過程的統(tǒng)一封裝及實(shí)現(xiàn),根據(jù)業(yè)務(wù)通信方式,實(shí)現(xiàn)同類通信方式的底層封裝;
[0009](3)基于數(shù)據(jù)業(yè)務(wù)規(guī)則的可擴(kuò)展性封裝及實(shí)現(xiàn),基于數(shù)據(jù)業(yè)務(wù)規(guī)則,提取并建立一套滿足通用性處理要求的基礎(chǔ)處理單元集,實(shí)現(xiàn)對數(shù)據(jù)幀校驗(yàn)和數(shù)據(jù)解析階段的可復(fù)用化處理;同時(shí)提供一套可擴(kuò)展性的機(jī)制,實(shí)現(xiàn)對差異化處理過程的處理;
[0010](4)建立數(shù)據(jù)采集過程統(tǒng)一描述語言規(guī)范,將數(shù)據(jù)采集過程劃分為數(shù)據(jù)幀校驗(yàn)過程和數(shù)據(jù)解析過程,并分別定義兩個(gè)過程的統(tǒng)一描述語言規(guī)范的具體細(xì)節(jié);
[0011 ] (5)實(shí)現(xiàn)語義解釋器解釋執(zhí)行采集運(yùn)算表達(dá)式,根據(jù)該采集運(yùn)算表達(dá)式,實(shí)現(xiàn)一套語義解釋器來解釋并驅(qū)動(dòng)執(zhí)行整個(gè)采集過程的按序進(jìn)行;
[0012](6)實(shí)現(xiàn)采集基礎(chǔ)數(shù)據(jù)的統(tǒng)一輸出及存儲,通過統(tǒng)一的內(nèi)部交互格式實(shí)現(xiàn)采集基礎(chǔ)數(shù)據(jù)的標(biāo)準(zhǔn)化輸出和存儲。
[0013]所述的采集基礎(chǔ)數(shù)據(jù)類型定義表按層次定義接口采集基礎(chǔ)數(shù)據(jù),具體為:
[0014]101)第一層級按數(shù)據(jù)特性分;
[0015]102)第二層級按業(yè)務(wù)要求根據(jù)第一層級分類進(jìn)行進(jìn)一步的細(xì)化分類;
[0016]103)將上述分類關(guān)系整理為具備唯一標(biāo)識表示特定業(yè)務(wù)類型的數(shù)據(jù)表形式,供采集過程統(tǒng)一過程引用。
[0017]所述的基于數(shù)據(jù)通信過程的統(tǒng)一封裝具體包括:
[0018]201)通信過程的封裝,實(shí)現(xiàn)網(wǎng)絡(luò)通信、串口通信、CAN通信的通信過程的底層封裝,將通信連接、通信初始化、數(shù)據(jù)接收、數(shù)據(jù)發(fā)送、通信異常處理、通信狀態(tài)跟蹤的通用通信過程作為組件形式提供;
[0019]202)通信接收數(shù)據(jù)管理的封裝,根據(jù)通信過程的差異,采用隊(duì)列緩存機(jī)制實(shí)現(xiàn)通信接收數(shù)據(jù)的統(tǒng)一管理;
[0020]203)通信數(shù)據(jù)處理參數(shù)的封裝,通過配置決策的方式實(shí)現(xiàn)通信過程數(shù)據(jù)處理參數(shù)的選擇。
[0021]所述的步驟(4)中的數(shù)據(jù)幀校驗(yàn)過程的統(tǒng)一描述語言規(guī)范包括:
[0022]4011)對數(shù)據(jù)幀進(jìn)行分段處理;
[0023]4012)對數(shù)據(jù)幀序號進(jìn)行管理,并預(yù)留接口實(shí)現(xiàn)數(shù)據(jù)幀重復(fù)應(yīng)答、數(shù)據(jù)幀丟失應(yīng)答、數(shù)據(jù)幀次序混亂應(yīng)答、數(shù)據(jù)幀錯(cuò)誤應(yīng)答的異常狀況。
[0024]所述的4011)對數(shù)據(jù)幀進(jìn)行分段處理,具體包括:
[0025]40111)每個(gè)數(shù)據(jù)幀段具有唯一的處理類名,根據(jù)該類名實(shí)現(xiàn)數(shù)據(jù)幀段對象的動(dòng)態(tài)創(chuàng)建,并標(biāo)識是通用處理方法還是擴(kuò)展處理方法;
[0026]40112)每個(gè)數(shù)據(jù)幀段具有以字符串分隔的參數(shù)列表,參數(shù)列表信息應(yīng)滿足數(shù)據(jù)幀段的可復(fù)用處理要求;
[0027]40113)應(yīng)通過標(biāo)記標(biāo)識出數(shù)據(jù)幀頭、數(shù)據(jù)幀尾、數(shù)據(jù)頭這三種特殊幀段。
[0028]所述的數(shù)據(jù)解析過程的統(tǒng)一描述語言規(guī)范包括:
[0029]4021)定義接收數(shù)據(jù)處理模式,對于結(jié)構(gòu)簡單的接收數(shù)據(jù),直接使用一個(gè)數(shù)據(jù)解析單元完成數(shù)據(jù)解析;對于結(jié)構(gòu)復(fù)雜的接收數(shù)據(jù),需要通過多個(gè)解析單元結(jié)合表達(dá)式運(yùn)算來構(gòu)建整個(gè)解析過程;
[0030]4022)定義發(fā)送數(shù)據(jù)處理模式,包括按周期發(fā)送、定點(diǎn)發(fā)送、重啟/重連發(fā)送;
[0031]4023)定義接收數(shù)據(jù)的解析方式,通過數(shù)據(jù)解析單元和表達(dá)式構(gòu)建發(fā)送數(shù)據(jù)信息。
[0032]所述的實(shí)現(xiàn)語義解釋器解釋執(zhí)行采集運(yùn)算表達(dá)式具體為:
[0033]501)語義解釋器啟動(dòng)時(shí),加載并分析采集運(yùn)算表達(dá)式,將表達(dá)式展開分解為只包含數(shù)據(jù)解析單元標(biāo)記和動(dòng)態(tài)前置參數(shù)標(biāo)記兩部分內(nèi)容的內(nèi)部結(jié)構(gòu);
[0034]502)語義解釋器執(zhí)行時(shí),根據(jù)表達(dá)式分解結(jié)果依次執(zhí)行各個(gè)標(biāo)記單元;
[0035]5021)當(dāng)執(zhí)行單元為數(shù)據(jù)解析單元標(biāo)記時(shí),直接執(zhí)行該數(shù)據(jù)解析單元的解析過程,并保存輸出結(jié)果;
[0036]5022)當(dāng)執(zhí)行單元為動(dòng)態(tài)前置參數(shù)標(biāo)記時(shí),首先通過該標(biāo)記動(dòng)態(tài)獲取對應(yīng)數(shù)據(jù)解析單元的解析結(jié)果信息,然后結(jié)合表達(dá)式進(jìn)行二次展開過程,將二次展開過程的執(zhí)行單元列表作為新的預(yù)執(zhí)行單元開始執(zhí)行;
[0037]503)當(dāng)所有執(zhí)行單元都執(zhí)行完成且沒有異常時(shí),該解析過程成功完成。
[0038]與現(xiàn)有技術(shù)相比,本發(fā)明通過數(shù)據(jù)采集過程統(tǒng)一方法,對外部異構(gòu)、非標(biāo)系統(tǒng)的數(shù)據(jù)接入過程進(jìn)行了統(tǒng)一描述及封裝,能夠有效簡化數(shù)據(jù)接口采集的開發(fā)過程,同時(shí)提供了足夠的擴(kuò)展性來滿足差異化的采集過程,形成了完善的數(shù)據(jù)采集開發(fā)模式。通過該方法,為數(shù)據(jù)接入層提供了統(tǒng)一化的采集基礎(chǔ),降低了數(shù)據(jù)接口開發(fā)人員的工作難度及開發(fā)成本,有助于提升系統(tǒng)的穩(wěn)定性及擴(kuò)展性。
【附圖說明】
[0039]圖1是本發(fā)明中對于數(shù)據(jù)幀校驗(yàn)過程規(guī)范的示意圖;
[0040]圖2是本發(fā)明中對于數(shù)據(jù)解析過程規(guī)范的示意圖;
[0041 ]圖3是本發(fā)明中語義解釋器解釋執(zhí)行的流程圖。
【具體實(shí)施方式】
[0042]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。
[0043]本發(fā)明具體過程如下:
[0044]1、建立采集基礎(chǔ)數(shù)據(jù)類型定義表
[0045]首先需要建立采集基礎(chǔ)數(shù)據(jù)類型定義表。通過該表按層次定義接口采集基礎(chǔ)數(shù)據(jù),如下:
[0046](I)第一層級按數(shù)據(jù)特性分為以下主要類型,包括開關(guān)量、多狀態(tài)量、模擬量、字符量、曲線、文本、二進(jìn)制等;
[0047](2)第二層級按業(yè)務(wù)要求根據(jù)第一層級分類進(jìn)行進(jìn)一步的細(xì)化分類,如開關(guān)量可進(jìn)一步細(xì)分為軌道占用開關(guān)量、道岔表示狀態(tài)開關(guān)量;模擬量可進(jìn)一步細(xì)分為軌道電壓模擬量、道岔表示電壓模擬量等;
[0048](3)將上述分類關(guān)系整理為具備唯一標(biāo)識表示特定業(yè)務(wù)類型的數(shù)據(jù)表形式,供采集過程統(tǒng)一過程引用。
[0049]2、基于數(shù)據(jù)通信過程的統(tǒng)一封裝及實(shí)現(xiàn)
[0050]根據(jù)異構(gòu)非標(biāo)系統(tǒng)業(yè)務(wù)通信過程的特點(diǎn),通過將同類通信過程封裝為通用的可復(fù)用組件的形式提供給后續(xù)接口開發(fā)使用。
[0051](I)通信過程的封裝
[0052]實(shí)現(xiàn)網(wǎng)絡(luò)通信(TCP、UDP)、串口通信、CAN通信等通信過程的底層封裝,將通信連接、通信初始化、數(shù)據(jù)接收、數(shù)據(jù)發(fā)送、通信異常處理、通信狀態(tài)跟蹤等通用的通信過程作為組件形式提供。
[0053](2)通信接收數(shù)據(jù)管理的封裝
[0054]根據(jù)通信過程的差異,采用隊(duì)列緩存機(jī)制實(shí)現(xiàn)通信接收數(shù)據(jù)的統(tǒng)一管理。針對TCP通信、串口通信過程采用基于數(shù)據(jù)流管理方式結(jié)合數(shù)據(jù)幀校驗(yàn)來實(shí)現(xiàn)數(shù)據(jù)包的識別及解析;針對UDP通信、CAN通信過程采用基于數(shù)據(jù)報(bào)管理方式直接對數(shù)據(jù)進(jìn)行校驗(yàn)及解析。
[0055](3)通信數(shù)據(jù)處理參數(shù)的封裝
[0056]通過配置決策的方式實(shí)現(xiàn)通信過程數(shù)據(jù)處理參數(shù)的選擇,可選擇的處理參數(shù)主要包括通信線程創(chuàng)建模式(單線程、發(fā)送/接收處理雙線程、發(fā)送/接收/處理三線程)、通信數(shù)據(jù)緩沖區(qū)參數(shù)(發(fā)送、接收緩沖區(qū)大小)、通信超時(shí)參數(shù)、通信異常處理方式等。
[0057]3、基于數(shù)據(jù)業(yè)務(wù)規(guī)則的可擴(kuò)展性封裝及實(shí)現(xiàn)
[0058]數(shù)據(jù)業(yè)務(wù)規(guī)則主要由接口應(yīng)用層的通信協(xié)議來約束,因此可以嚴(yán)格劃分為數(shù)據(jù)幀校驗(yàn)過程和數(shù)據(jù)解析過程。通過對接口業(yè)務(wù)規(guī)則共通部分的封裝來實(shí)現(xiàn)接口解析過程的可復(fù)用性,同時(shí)通過預(yù)留可擴(kuò)展性的方式來滿足差異化的接口解析過程。
[0059](I)數(shù)據(jù)幀、數(shù)據(jù)幀段,如圖1所示。
[0060]數(shù)據(jù)幀根據(jù)業(yè)務(wù)規(guī)則可分解為獨(dú)立的數(shù)據(jù)幀段,每個(gè)數(shù)據(jù)幀段作為數(shù)據(jù)幀校驗(yàn)過程的一個(gè)單元,只有嚴(yán)格按序完成所有數(shù)據(jù)幀段的逐段校驗(yàn),才認(rèn)為該幀數(shù)據(jù)是可靠的數(shù)據(jù)幀。
[0061]數(shù)據(jù)幀段的實(shí)現(xiàn):數(shù)據(jù)幀段在實(shí)現(xiàn)上可定義為基類,供通用和擴(kuò)展的數(shù)據(jù)幀段繼承,并實(shí)現(xiàn)校驗(yàn)過程。
[0062]通用的數(shù)據(jù)幀段:通用的數(shù)據(jù)幀段可實(shí)現(xiàn)局部數(shù)據(jù)幀類似的校驗(yàn)過程,通過配置參數(shù)化可進(jìn)一步提升通用性(如字節(jié)長度、數(shù)據(jù)標(biāo)志等)。例如:幀頭、幀尾、長度-數(shù)據(jù)等基本數(shù)據(jù)幀段都可以采用這種方法實(shí)現(xiàn)復(fù)用性。
[0063]擴(kuò)展的數(shù)據(jù)幀段:擴(kuò)展的數(shù)據(jù)幀段可實(shí)現(xiàn)差異化的局部數(shù)據(jù)幀校驗(yàn)過程,由此提供了靈活性和可擴(kuò)展性。
[0064]所有的數(shù)