吳思 謝汶姝 賈麗
中國(guó)運(yùn)載火箭技術(shù)研究院 北京 100076
數(shù)據(jù)庫(kù)技術(shù)起源于20世紀(jì)60年代,隨著計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)開(kāi)始迅速發(fā)展起來(lái),作為計(jì)算機(jī)信息的核心技術(shù)在最近幾年發(fā)展也是非常迅速的,目前數(shù)據(jù)庫(kù)技術(shù)已經(jīng)和計(jì)算機(jī)技術(shù)緊密地結(jié)合起來(lái),相互發(fā)展、相輔相成,逐漸成為目前社會(huì)上應(yīng)用最廣的兩大技術(shù)。目前我國(guó)的各行各業(yè)都開(kāi)始利用數(shù)據(jù)庫(kù)技術(shù),這樣也使得更多的人認(rèn)識(shí)數(shù)據(jù)庫(kù)技術(shù),同時(shí)對(duì)數(shù)據(jù)庫(kù)技術(shù)的研發(fā)投入也不斷增加,這也使得數(shù)據(jù)庫(kù)技術(shù)正在不斷完善,應(yīng)用的領(lǐng)域也不斷擴(kuò)大。傳統(tǒng)的數(shù)據(jù)庫(kù)主要以關(guān)系型數(shù)據(jù)庫(kù)為代表,國(guó)外的有ORACLE、MYSQL;國(guó)內(nèi)的有達(dá)夢(mèng),Kingbase等。
而隨著用戶業(yè)務(wù)需求不斷更新,數(shù)據(jù)庫(kù)也在不斷根據(jù)時(shí)代變化而發(fā)展。時(shí)序數(shù)據(jù)庫(kù)也就應(yīng)運(yùn)而生。其中,國(guó)外代表有InfluxDB,OpenTSDB等。時(shí)序數(shù)據(jù)庫(kù)全稱(chēng)為時(shí)間序列數(shù)據(jù)庫(kù)。時(shí)間序列數(shù)據(jù)庫(kù)主要用于處理帶時(shí)間標(biāo)簽(按照時(shí)間的順序變化,即時(shí)間序列化)的數(shù)據(jù),帶時(shí)間標(biāo)簽的數(shù)據(jù)也稱(chēng)為時(shí)間序列數(shù)據(jù)[1]。
時(shí)間序列數(shù)據(jù)主要由電力行業(yè)、化工行業(yè)等各類(lèi)型實(shí)時(shí)監(jiān)測(cè)、檢查與分析設(shè)備所采集、產(chǎn)生的數(shù)據(jù),這些工業(yè)數(shù)據(jù)的典型特點(diǎn)是:產(chǎn)生頻率快(每一個(gè)監(jiān)測(cè)點(diǎn)一秒鐘內(nèi)可產(chǎn)生多條數(shù)據(jù))、嚴(yán)重依賴于采集時(shí)間(每一條數(shù)據(jù)均要求對(duì)應(yīng)唯一的時(shí)間)、測(cè)點(diǎn)多信息量大(常規(guī)的實(shí)時(shí)監(jiān)測(cè)系統(tǒng)均有成千上萬(wàn)的監(jiān)測(cè)點(diǎn),監(jiān)測(cè)點(diǎn)每秒鐘都產(chǎn)生數(shù)據(jù),每天產(chǎn)生幾十GB的數(shù)據(jù)量)。
實(shí)時(shí)數(shù)據(jù)庫(kù)是工業(yè)領(lǐng)域信息化的核心基礎(chǔ)軟件,在工業(yè)企業(yè)實(shí)現(xiàn)數(shù)字化及智能化轉(zhuǎn)變過(guò)程中發(fā)揮著重要作用,可廣泛應(yīng)用于能源電力、鋼鐵、石油、石化、航空航天、設(shè)備制造、交通、環(huán)保等重要行業(yè)和領(lǐng)域,主要集中于設(shè)備管理服務(wù)、生產(chǎn)過(guò)程管控與企業(yè)運(yùn)營(yíng)管理三大類(lèi)場(chǎng)景。
基于實(shí)時(shí)數(shù)據(jù)庫(kù)的“模型+深度數(shù)據(jù)分析”在設(shè)備運(yùn)維、資產(chǎn)管理、能耗管理、質(zhì)量管控、工藝調(diào)優(yōu)等場(chǎng)景可獲得大量應(yīng)用,可取得較為顯著的經(jīng)濟(jì)效益。
基于實(shí)時(shí)數(shù)據(jù)庫(kù)的“連接+數(shù)據(jù)可視化”在生產(chǎn)監(jiān)控、物料管理、排產(chǎn)調(diào)度分析領(lǐng)域應(yīng)用最為廣泛,并可進(jìn)一步深化探索。
基于實(shí)時(shí)數(shù)據(jù)庫(kù)的“軟件上云+簡(jiǎn)單數(shù)據(jù)分析”在客戶關(guān)系管理、供應(yīng)鏈管理和企業(yè)計(jì)劃資源管理領(lǐng)域獲得應(yīng)用,能有效降低中小企業(yè)軟件使用成本。
自主可控?cái)?shù)據(jù)庫(kù)需采用先進(jìn)的技術(shù)和架構(gòu),可安全、穩(wěn)定地實(shí)現(xiàn)與現(xiàn)場(chǎng)各監(jiān)測(cè)儀器數(shù)據(jù)的接口,并能對(duì)采集的數(shù)據(jù)進(jìn)行高效的數(shù)據(jù)壓縮和長(zhǎng)期的歷史存儲(chǔ),同時(shí)提供方便易用的客戶端應(yīng)用和通用的對(duì)外數(shù)據(jù)訪問(wèn)接口(如API/ODBC/JDBC/OPC/WebAPI等),使企業(yè)的管理和決策人員能及時(shí)、全面地了解當(dāng)前的現(xiàn)場(chǎng)情況,也可方便地回顧歷史,及時(shí)發(fā)現(xiàn)現(xiàn)場(chǎng)所存在的問(wèn)題,提高決策準(zhǔn)確度,增強(qiáng)企業(yè)的核心競(jìng)爭(zhēng)力。
實(shí)時(shí)數(shù)據(jù)系統(tǒng),核心部分便是為客戶提供的實(shí)時(shí)/歷史數(shù)據(jù)服務(wù)。系統(tǒng)包含采集數(shù)據(jù)流接入、數(shù)據(jù)分析過(guò)濾、數(shù)據(jù)壓縮整理、實(shí)時(shí)數(shù)據(jù)服務(wù)、歷史數(shù)據(jù)歸檔、數(shù)據(jù)檢索、權(quán)限檢查、報(bào)警點(diǎn)計(jì)算、計(jì)算點(diǎn)計(jì)算、SQL引擎支持等多個(gè)復(fù)雜的交叉步驟。
圖1 系統(tǒng)架構(gòu)圖
數(shù)據(jù)處理流程大致包含:數(shù)據(jù)流分析、數(shù)據(jù)過(guò)濾、實(shí)時(shí)數(shù)據(jù)更新、視圖展示、數(shù)據(jù)壓縮、歷史數(shù)據(jù)表、數(shù)據(jù)歸檔等部分。
數(shù)據(jù)流分析:是指對(duì)現(xiàn)場(chǎng)設(shè)備數(shù)據(jù)、二次加工運(yùn)算數(shù)據(jù)、其他軟件程序等發(fā)送到來(lái)要求寫(xiě)入的數(shù)據(jù)包進(jìn)行數(shù)據(jù)分解。其中包含數(shù)據(jù)解包、數(shù)據(jù)解密、規(guī)范性檢查等步序。
數(shù)據(jù)過(guò)濾:經(jīng)由數(shù)據(jù)解析后產(chǎn)生的數(shù)據(jù)寫(xiě)入請(qǐng)求,將進(jìn)行錯(cuò)誤數(shù)據(jù)丟棄、合理數(shù)據(jù)過(guò)濾檢查,從而完成數(shù)據(jù)請(qǐng)求分類(lèi),識(shí)別出實(shí)時(shí)數(shù)據(jù)與歷史數(shù)據(jù)分支。
實(shí)時(shí)數(shù)據(jù)處理:對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行分析檢查,完成實(shí)時(shí)數(shù)據(jù)視圖更新。
視圖展示:提供實(shí)時(shí)數(shù)據(jù)展示視圖。
數(shù)據(jù)壓縮:當(dāng)過(guò)濾反饋為歷史數(shù)據(jù)寫(xiě)入請(qǐng)求時(shí),數(shù)據(jù)庫(kù)將進(jìn)行數(shù)據(jù)包壓縮處理動(dòng)作,并更新歷史數(shù)據(jù)表。
歷史數(shù)據(jù)表:提供歷史數(shù)據(jù)視圖。
數(shù)據(jù)歸檔:將更新的歷史數(shù)據(jù)進(jìn)行歸檔,寫(xiě)入磁盤(pán)操作。
圖2 數(shù)據(jù)流圖
為完成數(shù)據(jù)庫(kù)系統(tǒng)可視化多元化的業(yè)務(wù)呈現(xiàn),數(shù)據(jù)庫(kù)系統(tǒng)都配套帶有各類(lèi)管理工具和應(yīng)用工具。一般而言,會(huì)提供控制臺(tái)管理工具、組態(tài)繪制工具、組態(tài)展示程序、數(shù)據(jù)接口等。
豐富、高效、穩(wěn)定的I/O驅(qū)動(dòng)是數(shù)據(jù)庫(kù)實(shí)現(xiàn)自身價(jià)值的一個(gè)重要保障。實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng),需要適配現(xiàn)場(chǎng)的各種接口,并經(jīng)過(guò)采集程序的核心處理,完成數(shù)據(jù)的采集接入、實(shí)時(shí)處理、報(bào)警、計(jì)算以及其他應(yīng)用,實(shí)時(shí)數(shù)據(jù)被不斷存入磁盤(pán)歷史存儲(chǔ),形成可追溯的歷史信息,同時(shí)通過(guò)向應(yīng)用層提供各種適配接口,支持各種開(kāi)發(fā)語(yǔ)言和各種應(yīng)用需求的訪問(wèn)。
在工業(yè)現(xiàn)場(chǎng)場(chǎng)景中,由于各工業(yè)設(shè)備/設(shè)施廠家不同,提供的對(duì)外數(shù)據(jù)服務(wù)接口方式多種多樣。從物理的對(duì)外數(shù)據(jù)接口標(biāo)準(zhǔn)就包括RS232/422/485、AO/DO等,工業(yè)標(biāo)準(zhǔn)接口協(xié)議包括PLC、MODBUS、IEC101/102/104等,其他各廠家定義的協(xié)議模型各式各樣,據(jù)不完全統(tǒng)計(jì),市面上可見(jiàn)的數(shù)據(jù)通信協(xié)議組合上千種。數(shù)據(jù)采集驅(qū)動(dòng)是需要不斷完善、豐富的一個(gè)資源庫(kù)。但是數(shù)據(jù)采集的編寫(xiě)方式由于業(yè)內(nèi)沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),導(dǎo)致開(kāi)發(fā)者每次均需要獨(dú)立從頭開(kāi)始完成其驅(qū)動(dòng)開(kāi)發(fā),費(fèi)時(shí)費(fèi)力。
為保障數(shù)據(jù)采集的資源庫(kù)可不斷地通過(guò)一個(gè)標(biāo)準(zhǔn)模式進(jìn)行豐富,解決設(shè)備數(shù)據(jù)接口適配,所以構(gòu)建一套遵循標(biāo)準(zhǔn)結(jié)構(gòu)的數(shù)據(jù)采集插件系統(tǒng)尤為重要。通過(guò)調(diào)研國(guó)內(nèi)工控領(lǐng)域主流的系統(tǒng)、設(shè)備,了解其接口協(xié)議規(guī)范,確定數(shù)據(jù)庫(kù)需要開(kāi)發(fā)的接口模塊的優(yōu)先次序;通過(guò)調(diào)研數(shù)據(jù)庫(kù)的系統(tǒng)集成商,了解其主流開(kāi)發(fā)平臺(tái)、工具、基本需求,確立數(shù)據(jù)庫(kù)的開(kāi)放接口規(guī)范。由于其數(shù)據(jù)處理過(guò)程是標(biāo)準(zhǔn)模塊,插件系統(tǒng)的建立可減少大量的重復(fù)開(kāi)發(fā)活動(dòng),提升數(shù)據(jù)收集處理的能力,同時(shí)極大地提高數(shù)據(jù)接口的穩(wěn)定性和可靠性。
在強(qiáng)調(diào)海量存儲(chǔ)和高時(shí)效性的工業(yè)制造等領(lǐng)域,實(shí)時(shí)數(shù)據(jù)庫(kù)起到了重要作用,它填補(bǔ)了關(guān)系型數(shù)據(jù)庫(kù)的不足,提高了運(yùn)行效率。目前,外國(guó)的實(shí)時(shí)數(shù)據(jù)庫(kù)還處于技術(shù)絕對(duì)領(lǐng)先的地位,在受到國(guó)外技術(shù)封鎖日趨嚴(yán)重的今天,擁有我國(guó)自主可控的實(shí)時(shí)數(shù)據(jù)庫(kù)將必不可少。