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

?

RT21-ISCS綜合監(jiān)控系統(tǒng)中實(shí)時(shí)歷史數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)

2012-01-16 08:25劉佳寶陳天浩
城市軌道交通研究 2012年1期
關(guān)鍵詞:歷史數(shù)據(jù)跨平臺(tái)模擬量

劉佳寶 梁 奕 陳天浩

(國(guó)電南瑞科技股份有限公司,210061,南京∥第一作者,工程師)

RT21-ISCS綜合監(jiān)控系統(tǒng)是針對(duì)軌道交通和工業(yè)控制領(lǐng)域特點(diǎn),集先進(jìn)的計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)和自動(dòng)控制技術(shù)于一體的大容量、多專(zhuān)業(yè)、高性能的計(jì)算機(jī)軟件系統(tǒng)。它是第一套應(yīng)用廣泛的國(guó)產(chǎn)軌道交通綜合監(jiān)控軟件,目前已成功中標(biāo)北京地鐵9號(hào)線、北京房山線、重慶軌道交通3號(hào)線、廣州珠江新城APM(旅客自動(dòng)輸送系統(tǒng))等的綜合監(jiān)控系統(tǒng)和南京地鐵2號(hào)線綜合信息系統(tǒng)。

對(duì)于綜合監(jiān)控系統(tǒng)而言,歷史數(shù)據(jù)的存儲(chǔ)以及方便、快速的檢索具有重要意義。然而,軌道交通的現(xiàn)場(chǎng)設(shè)備多種多樣,每天將產(chǎn)生大量數(shù)據(jù)(如南京地鐵2號(hào)線RT21-ISCS系統(tǒng)每天產(chǎn)生500萬(wàn)~1 000萬(wàn)條采樣數(shù)據(jù)),普通的關(guān)系型數(shù)據(jù)庫(kù)如ORACLE根本無(wú)法滿足存儲(chǔ)和檢索的效率要求。國(guó)外一些成熟的實(shí)時(shí)歷史數(shù)據(jù)庫(kù)如PI,INSQL價(jià)格昂貴,可以處理的點(diǎn)數(shù)少。而軌道交通綜合監(jiān)控系統(tǒng)具有海量信息,如北京房山線全線預(yù)期約有50萬(wàn)點(diǎn),因此,必須針對(duì)軌道交通綜合監(jiān)控的特點(diǎn),設(shè)計(jì)開(kāi)發(fā)自己的實(shí)時(shí)歷史數(shù)據(jù)庫(kù)來(lái)處理海量的采樣信息。

1 跨平臺(tái)和C/S結(jié)構(gòu)的設(shè)計(jì)

RT21-ISCS綜合監(jiān)控系統(tǒng)整體上都要求是跨平臺(tái)的,支持所有主流的操作系統(tǒng)。因此,其實(shí)時(shí)歷史數(shù)據(jù)庫(kù)軟件FVDB(Full View Data Base)的設(shè)計(jì)必須滿足跨平臺(tái)要求。這就要求在具體的開(kāi)發(fā)中采用跨平臺(tái)的開(kāi)發(fā)語(yǔ)言以及跨平臺(tái)的第三方庫(kù),保證的平臺(tái)無(wú)關(guān)性。

為滿足RT21-ISCS綜合監(jiān)控系統(tǒng)的分布式架構(gòu)及實(shí)際工程的需要,F(xiàn)VDB必須是C/S(客戶端/服務(wù)器)的結(jié)構(gòu)設(shè)計(jì)。C/S結(jié)構(gòu)提供了充分的開(kāi)放性和靈活性。如圖1,由于采用了雙機(jī)熱備份的方式(控制中心需要保存全線各個(gè)車(chē)站的數(shù)據(jù)),每個(gè)車(chē)站的數(shù)據(jù)提交程序fvdb_commit_server至少要同步四臺(tái)FVDB服務(wù)器(本車(chē)站的主、備FVDB服務(wù)器和控制中心的主、備FVDB服務(wù)器)。

2 FVDB核心模塊的設(shè)計(jì)

FVDB的核心模塊主要包括點(diǎn)管理、實(shí)時(shí)數(shù)據(jù)管理、歷史數(shù)據(jù)管理等三個(gè)模塊。

圖1 RT21-ISCS綜合監(jiān)控系統(tǒng)中采樣數(shù)據(jù)的存儲(chǔ)同步過(guò)程

2.1 點(diǎn)管理模塊

“點(diǎn)”(記為point)是對(duì)不同數(shù)據(jù)流唯一性的表示,如電壓電流值、開(kāi)關(guān)狀態(tài)、溫度計(jì)示數(shù)等。任何可測(cè)量的設(shè)備屬性都可以被定義成“point”。點(diǎn)類(lèi)型主要包括數(shù)字量和模擬量。在軌道交通綜合監(jiān)控系統(tǒng)中,數(shù)字量變化頻率較低,模擬量變化頻率較高,因此,其歷史數(shù)據(jù)大部分為模擬量。

在FVDB中,點(diǎn)用一個(gè)18位的字符串來(lái)唯一標(biāo)識(shí),稱之為點(diǎn)標(biāo)簽。單點(diǎn)信息一般包括點(diǎn)標(biāo)簽、類(lèi)型、單位、描述、死區(qū)值、是否保存歷史數(shù)據(jù)、B+樹(shù)根結(jié)點(diǎn)等。其中,點(diǎn)標(biāo)簽是唯一標(biāo)識(shí)一組點(diǎn)信息的關(guān)鍵字。所有點(diǎn)信息的集合構(gòu)成了一張點(diǎn)表,全部放到內(nèi)存中。點(diǎn)管理主要指對(duì)點(diǎn)表的維護(hù),包括點(diǎn)的增加或刪除、點(diǎn)信息的修改、點(diǎn)的快速查找等。

點(diǎn)是數(shù)據(jù)管理的基本單位,對(duì)數(shù)據(jù)的各種操作都是以點(diǎn)為單位進(jìn)行的。因而,快速的點(diǎn)查詢對(duì)提高系統(tǒng)性能具有重要意義。FVDB采用HASH表的索引方式進(jìn)行點(diǎn)查詢,可快速查找到指定點(diǎn)信息。

2.2 實(shí)時(shí)數(shù)據(jù)的管理

實(shí)時(shí)數(shù)據(jù)是點(diǎn)在最近某一時(shí)刻的瞬時(shí)值,是與時(shí)間有關(guān)的數(shù)據(jù)。每一個(gè)實(shí)時(shí)數(shù)據(jù)記錄上都有一個(gè)時(shí)間戳,記錄實(shí)時(shí)數(shù)據(jù)的采樣時(shí)間。一條實(shí)時(shí)數(shù)據(jù)記錄包括點(diǎn)標(biāo)簽、時(shí)間戳、狀態(tài)、數(shù)值等四個(gè)組成部分。

根據(jù)軌道交通監(jiān)控系統(tǒng)中數(shù)字量多、模擬量少,以及數(shù)字量變化慢、模擬量變化快的特點(diǎn),為更好地將實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)化為歷史數(shù)據(jù),本文設(shè)計(jì)了雙緩存的方法。具體如下:

(1)為每個(gè)點(diǎn)設(shè)立一個(gè)相對(duì)較大的緩存(如100條記錄的緩存),記為cache_1。數(shù)據(jù)庫(kù)服務(wù)端接收到實(shí)時(shí)數(shù)據(jù)后,并不直接存入B+樹(shù),而是根據(jù)點(diǎn)名直接寫(xiě)入該點(diǎn)對(duì)應(yīng)的cache_1中;當(dāng)cache_1存儲(chǔ)的記錄數(shù)達(dá)到最大限度后,統(tǒng)一打包存入B+樹(shù)(如圖2所示)。這種以點(diǎn)為單位的批量存儲(chǔ),極大地減少了B+樹(shù)的寫(xiě)入次數(shù),降低了B+樹(shù)的高度,提高了寫(xiě)入和查詢的速度,并且在得到點(diǎn)的一組數(shù)據(jù)后,也能進(jìn)行有效的數(shù)據(jù)壓縮處理。在點(diǎn)數(shù)特別多(如50萬(wàn)點(diǎn))的情況下,可事先開(kāi)辟一定大小的緩存區(qū)max_cahche1s。當(dāng)該緩沖區(qū)全部被占滿后,在調(diào)入新的點(diǎn)的cache_1時(shí),采用最近最久未使用的置換算法把那些久未使用的點(diǎn)調(diào)出內(nèi)存。由于數(shù)字量變化慢、模擬量變化快,故模擬量更頻繁地訪問(wèn)cache_1。但軌道交通監(jiān)控系統(tǒng)中數(shù)字量占絕對(duì)比例而模擬量相對(duì)較少,因此在系統(tǒng)允許的情況下,把 max_cahche1大小設(shè)為接近模擬量點(diǎn)數(shù)×sizeof(cache_1),即可具有較好的命中率。

(2)根據(jù)內(nèi)存大小,為每個(gè)點(diǎn)設(shè)立一個(gè)相對(duì)較小的緩存,記為cache_2,保證所有點(diǎn)的cache_2都能放到內(nèi)存中。實(shí)時(shí)數(shù)據(jù)過(guò)來(lái)后首先存入相應(yīng)點(diǎn)的cache_2緩存中,當(dāng)cache_2存儲(chǔ)的記錄數(shù)達(dá)到上限后,再寫(xiě)入cache_1(見(jiàn)圖2)。設(shè)置緩存cache_2的目的同樣是為了提高速度。由于數(shù)字量多但變化慢(一天可能只有幾條數(shù)據(jù)),這個(gè)較小的緩存對(duì)數(shù)字量而言足夠應(yīng)付很久。通過(guò)cache_2批量處理,極大地減少了訪問(wèn)cache_1的次數(shù),也就減少了程序訪問(wèn)磁盤(pán)的次數(shù),提高了寫(xiě)入速度。

圖2 FVDB的數(shù)據(jù)流

綜上所述,所謂雙緩存技術(shù),即為每個(gè)點(diǎn)分別設(shè)立一個(gè)相對(duì)較大和較小的記錄存儲(chǔ)緩沖。小緩沖始終在內(nèi)存;而大緩沖可以在內(nèi)外存間調(diào)入調(diào)出,采用最近最久未使用的置換算法。這種緩存技術(shù)的使用,極大地提高了數(shù)據(jù)庫(kù)處理歷史數(shù)據(jù)的性能,進(jìn)而可以支持更多的點(diǎn)數(shù)。

2.3 歷史數(shù)據(jù)的管理

當(dāng)實(shí)時(shí)數(shù)據(jù)的存在超過(guò)一定期限后,即被認(rèn)為是歷史數(shù)據(jù),存放在磁盤(pán)中,如圖3所示。

圖3 實(shí)時(shí)和歷史數(shù)據(jù)的關(guān)系

保存歷史數(shù)據(jù)具有重要的實(shí)際意義。通過(guò)分析過(guò)程歷史數(shù)據(jù),不僅可以優(yōu)化企業(yè)生產(chǎn),也為故障分析提供了有力的工具。FVDB能夠保存所有點(diǎn)的歷史數(shù)據(jù),而且可以保存3年以上。

2.3.1 采用B+樹(shù)索引結(jié)構(gòu)

FVDB采用B+樹(shù)來(lái)組織文件數(shù)據(jù)。這是因?yàn)樵诠ぷ骷行虻那闆r下,B+樹(shù)具有較好效率,而FVDB存儲(chǔ)的歷史數(shù)據(jù)由實(shí)時(shí)數(shù)據(jù)產(chǎn)生,所以處理的基本都是時(shí)序數(shù)據(jù)。

當(dāng)點(diǎn)的一組實(shí)時(shí)數(shù)據(jù)過(guò)期后就需要存儲(chǔ)它在B+樹(shù)中。每個(gè)點(diǎn)都擁有一棵以時(shí)間為索引的B+樹(shù),B+樹(shù)的葉結(jié)點(diǎn)就是一組歷史數(shù)據(jù)的壓縮包。

2.3.2 歷史數(shù)據(jù)的壓縮方法

為了能夠在有限存儲(chǔ)空間中保存長(zhǎng)期的歷史數(shù)據(jù),F(xiàn)VDB采用了Huffman壓縮算法(如圖4),分別對(duì)數(shù)值、時(shí)間戳、狀態(tài)進(jìn)行壓縮,從而大大減少歷史數(shù)據(jù)存儲(chǔ)占用的磁盤(pán)空間。當(dāng)需要查詢某個(gè)點(diǎn)的一段歷史數(shù)據(jù)時(shí),先把滿足條件的壓縮包按時(shí)間順序依次讀到內(nèi)存,然后在內(nèi)存中解壓縮,還原成原始數(shù)據(jù),返回給查詢用戶。

圖4 壓縮算法的應(yīng)用

3 結(jié)語(yǔ)

本文根據(jù)軌道交通綜合監(jiān)控的特點(diǎn)設(shè)計(jì)了實(shí)時(shí)歷史數(shù)據(jù)庫(kù)FVDB,它具有數(shù)據(jù)保存時(shí)間長(zhǎng)、存儲(chǔ)和檢索快速的特點(diǎn)。FVDB已經(jīng)在南京地鐵2號(hào)線的RT21-ISCS綜合監(jiān)控系統(tǒng)中應(yīng)用,驗(yàn)證了本文設(shè)計(jì)的可行性。

[1]劉孟覺(jué).RT21-ISCS綜合監(jiān)控?cái)?shù)據(jù)模型功能設(shè)計(jì)[C]∥2008江蘇省電機(jī)工程學(xué)會(huì)自動(dòng)化及計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)委員會(huì)學(xué)術(shù)年會(huì)論文集.南京:江蘇省電機(jī)工程學(xué)會(huì)自動(dòng)化及計(jì)算機(jī)應(yīng)用專(zhuān)業(yè)委員會(huì),2008:587.

[2]劉云生,盧炎生,王道忠.實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)(RTDBS)及其特征[J].華中理工大學(xué)學(xué)報(bào),1994,31(6):66.

[3]錢(qián)笑宇,張彥武.工業(yè)實(shí)時(shí)數(shù)據(jù)庫(kù)的研究和設(shè)計(jì)[J].計(jì)算機(jī)工程,2005,31(1):98.

[4]朱健,王盛明,盧秉亮.基于實(shí)時(shí)數(shù)據(jù)庫(kù)的實(shí)時(shí)數(shù)據(jù)處理研究[J].微處理機(jī),2010,31(1):83.

猜你喜歡
歷史數(shù)據(jù)跨平臺(tái)模擬量
基于設(shè)備PF性能曲線和設(shè)備歷史數(shù)據(jù)實(shí)現(xiàn)CBM的一個(gè)應(yīng)用模型探討
基于故障歷史數(shù)據(jù)和BP神經(jīng)網(wǎng)絡(luò)的接地選線方案研究
基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
跨平臺(tái)APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
基于Hadoop技術(shù)實(shí)現(xiàn)銀行歷史數(shù)據(jù)線上化研究
用好細(xì)節(jié)材料 提高課堂實(shí)效
關(guān)于600MW火電機(jī)組模擬量控制系統(tǒng)設(shè)計(jì)和研究
基于QT的跨平臺(tái)輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
模擬量輸入式合并單元測(cè)試儀的研制
基于OPC跨平臺(tái)通信的電機(jī)監(jiān)測(cè)與診斷系統(tǒng)
朝阳市| 台前县| 保山市| 兴仁县| 汕尾市| 穆棱市| 方正县| 伊宁市| 衡东县| 镇赉县| 维西| 宿迁市| 孝昌县| 伊宁市| 松桃| 吉林省| 安庆市| 安图县| 铅山县| 龙川县| 龙口市| 镇赉县| 木兰县| 青龙| 许昌市| 奈曼旗| 黄陵县| 类乌齐县| 周口市| 盱眙县| 涿鹿县| 汽车| 奉节县| 游戏| 德化县| 固原市| 济宁市| 新野县| 武定县| 康马县| 松滋市|