版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)時數(shù)據(jù)庫介紹拖太久了,最終我還是要將這篇文章寫出來,希望能夠?qū)ν蕚冇兴鶐椭?。在此文章中,我?jì)劃主要介紹如下主題:注:圖其實(shí)都很清晰,如看不清,純屬CEC博客功能問 看大圖。談到實(shí)時數(shù)據(jù)庫,有些同仁還頗感神秘,我寫此文結(jié)合我05年開始做的MES RTDBE實(shí)時數(shù)據(jù)庫工程師培訓(xùn)教材來開展,逐漸解開面紗,給大家展示一個真 實(shí)的實(shí)時數(shù)據(jù)庫世界。題,用鼠標(biāo)點(diǎn)一下圖,中程SUPCON虹)J實(shí)時數(shù)據(jù)犀概念先了解概念,再深入原理。中理 5UPCON實(shí)時數(shù)據(jù)犀概念.歷史:會起,美國8WR中期【工業(yè)監(jiān)控)PI, UnifonnarKe(PHD), InfoPlus, InSql Eagle Speed RTD
2、BMS 硬賣時裁據(jù)庫推廣應(yīng)用:世界范圍內(nèi)90任代(工業(yè)監(jiān)控、控筆、公用工程)PI, Uniformartce(PHD), InfoPlus. InSql國內(nèi)廣證應(yīng)用:網(wǎng)0今(工業(yè)監(jiān)控、控制.經(jīng)用工程.環(huán)境.應(yīng). 智能交通.智能整.通阻PI, ESP-iSYS , InfbPlus. Agilor大型分布式網(wǎng)堵賣時裁據(jù)庫Uniform a rkcef PHD, ConRTDB, 5 叩 er Into CJS 分布式史時敦 據(jù)庫InSql中小行口 S分布式數(shù)據(jù)庫說道實(shí)時數(shù)據(jù)庫,當(dāng)時誕生于美國,隨著流程工業(yè)和航天工業(yè)的發(fā)展,大量的測 量數(shù)據(jù)需要集成和存儲,采用關(guān)系數(shù)據(jù)庫難以滿足速度和容量的要求,而
3、且接口 訪問復(fù)雜,不適合科研和監(jiān)控的需要,因此80年代中期,開始誕生了以工業(yè)監(jiān) 控為目的的實(shí)時數(shù)據(jù)庫。今天大家看到的一些實(shí)時數(shù)據(jù)庫,如PI、Uniformance、Infoplus、InSql等工業(yè) 監(jiān)控類實(shí)時數(shù)據(jù)庫均先后誕生于此階段。而當(dāng)時還有另外一個分支,即所謂硬實(shí) 時數(shù)據(jù)庫,它的采集速度和響應(yīng)速度均是毫秒級的,而大家知道,今天大量應(yīng)用 實(shí)時數(shù)據(jù)庫,主動采集速度均是秒級的,響應(yīng)速度也不嚴(yán)格,在Windows平臺 下,小于40ms的響應(yīng)均不準(zhǔn)確,但當(dāng)時卻有這類產(chǎn)品,目前多用于軍事和科研 了。到了上世紀(jì)90年代,實(shí)時數(shù)據(jù)庫在流程工業(yè)全世界范圍內(nèi)大行其道,源于 以太網(wǎng)的逐步普及;主要應(yīng)用于工業(yè)監(jiān)
4、控、控制和公用工程。國內(nèi)的實(shí)時數(shù)據(jù)庫 發(fā)展較為緩慢,這和技術(shù)封鎖和政治風(fēng)氣都有關(guān)系,到了 2000年之后,國內(nèi)的 實(shí)時數(shù)據(jù)庫逐漸展露頭角,如ESP-iSYS、Agilor等與國外的PI、InfoPlus均屬 于大型分布式網(wǎng)絡(luò)實(shí)時數(shù)據(jù)庫。規(guī)模相對較小的,如PHD、ConRTDB、Super Info,在國內(nèi)開始應(yīng)用。由于應(yīng)用場景的不同,好多企業(yè)開始還只是解決現(xiàn)場監(jiān) 控的問題,分不清RTDB與SCADA的概念,結(jié)果InSql獲得了一個發(fā)展的機(jī)會。中 1受-SUPCON實(shí)時數(shù)據(jù)庫概念實(shí)時數(shù)庫是對實(shí)時性要求言的時標(biāo)型信息的數(shù)庫管理 系繞實(shí)時數(shù)據(jù)庫主要購能包括:集成各神昇枸通訊協(xié)詼的數(shù)據(jù)毫,形成蘊(yùn)一的妨
5、問實(shí)時數(shù)據(jù)接口完成對實(shí)時救據(jù)的集中海最存儲支持實(shí)時數(shù)據(jù)該寫揉作和歷史數(shù)據(jù)的高效查詢提供實(shí)時計(jì)算、實(shí)時分析處理等功能實(shí)時數(shù)據(jù)的組糾和訪問權(quán)限管理那么,什么是實(shí)時數(shù)據(jù)庫呢,過去國人老將其與SCADA搞混,倒也給SCADA 一個發(fā)展的機(jī)會。實(shí)際上實(shí)時數(shù)據(jù)庫是“對實(shí)時性要求高的時標(biāo)型信息的數(shù)據(jù)庫 管理系統(tǒng)”,注意,這里特別提醒,是管理系統(tǒng),而非單獨(dú)一個數(shù)據(jù)庫。實(shí)時數(shù) 據(jù)庫雖是系統(tǒng)軟件,但更多是一個應(yīng)用平臺軟件,原因是實(shí)時數(shù)據(jù)庫還沒有一個 像SQL 一樣的標(biāo)準(zhǔn),而且其功能太過綜合,各廠商推出的產(chǎn)品功能各有側(cè)重。 但以上的膜片中至少總結(jié)了實(shí)時數(shù)據(jù)庫的主要功能。目前實(shí)時數(shù)據(jù)庫已經(jīng)應(yīng)用到眾多領(lǐng)域,它的應(yīng)用范圍
6、還在不斷擴(kuò)展,業(yè)界的同仁 在不斷創(chuàng)造出實(shí)時數(shù)據(jù)庫的應(yīng)用模式。只要有時標(biāo)型數(shù)據(jù),實(shí)時數(shù)據(jù)庫就可以在 一定程度上發(fā)揮威力。中壬空-SUPCON實(shí)時數(shù)據(jù)庫概念時標(biāo)型數(shù)據(jù)(案時性數(shù)據(jù))Vai ue + Umestanip + QualityVai ue + Timestamp + Quality + FrequencyCnmeSpan)說到這里,漸漸要講原理了。與一般認(rèn)識不同,時標(biāo)型數(shù)據(jù)并非僅僅指時間戳、 值和質(zhì)量碼,還有一個很重要的屬性,那就是及時性,及時性有兩重含義,采樣 間隔和數(shù)據(jù)的新鮮度。時標(biāo)型數(shù)據(jù)的價值隨新鮮度降低而遞減。1秒鐘內(nèi)的數(shù)據(jù) 可以用來流程工業(yè)中的控制,5秒鐘之內(nèi)可以用來監(jiān)視,半小
7、時內(nèi)的數(shù)據(jù)可以用 來分析和優(yōu)化,一天內(nèi)的數(shù)據(jù)可以用來日報(bào)表,如果是半年前的數(shù)據(jù),則只能做 對比和追溯了。而得到數(shù)據(jù)的新鮮程度往往取決于采樣頻率,這就是為什么如此 重視實(shí)時數(shù)據(jù)庫的采樣快速性。同時采樣的頻率還進(jìn)一步?jīng)Q定了實(shí)時數(shù)據(jù)庫保存 信息的豐富程度。請看下一張膜片:中段SUPCON實(shí)時數(shù)據(jù)庫概念.玲一誠采祥定理:采祥轉(zhuǎn)率心頸高于信號中最高有效獨(dú)率的兩倍Z-3 TOC o 1-5 h z n_大J I-IM . 一 一卜L f 一 _ F 7 W2 、入 卜- L槌J P $V j7 、jTrISjO一|:72. S.3. S/li Ai St 3. = A 3. jMi A 3. Mi S.
8、Mi ? S.IX -V A HiT _q fA u_Ai-f 、廣、/、l %Ix/、p、/氣/、:、阿n A n 片色 /i成 A, fl A.X項(xiàng)一一?.U比羊土口7_/_區(qū)虻宴車1;二此企KU翌直號!H I?二,二三二二三家三w:二二午二丑辛三二:1 d亍:壬二mw1:二二:于二壬-產(chǎn)-二三二二f二:=?::二::行:二三:-nn:x:二V:,1 , 1 1 1 = 1 =, 31 3 A1 1 * 1 , 7 1 T* X 2. ,, 1 ,二 、. F 一_/ 尸X二 1-313.4 B T X 9 Z.Z 二 - =%= X L - T MH MH =大家都知道采樣定理,根據(jù)拉普
9、拉斯變換,任何信號都可以被分解為頻率不同、 幅值不同的正弦波疊加,而如果要讓采到的數(shù)據(jù)中包含一個頻率的信息,則采樣 頻率至少為此頻率的2倍。所以大家不要過分關(guān)心實(shí)時數(shù)據(jù)庫宣稱的無損壓縮, 更重要的是要明白,信息的最大損失就在于采樣。更簡單的例子,當(dāng)你以10秒 鐘的周期去采樣,可能裝置運(yùn)行過程中出現(xiàn)了異常的超調(diào),在5秒內(nèi)又恢復(fù)了, 而你的實(shí)時數(shù)據(jù)庫中卻根本不存在這些信息。從另一個方面講,實(shí)時數(shù)據(jù)庫中存 儲的數(shù)據(jù)永遠(yuǎn)是濾波后數(shù)據(jù),實(shí)時數(shù)據(jù)庫就像一個低通濾波器。中1受SUPCON枝*技術(shù)原理接下去,要講到實(shí)時數(shù)據(jù)庫的核心技術(shù)原理了,理解了這些原理,在設(shè)定實(shí)時數(shù) 據(jù)庫運(yùn)行參數(shù)的時候,才能得到更好的效果
10、。也就會明白,一個RTDBA(RTD B Administrator)的存在價值。中手空-SUPCON 核心技術(shù)原理整體架構(gòu)分析接口技術(shù)數(shù)據(jù)存儲技術(shù)數(shù)據(jù)壓縮技術(shù)數(shù)據(jù)實(shí)時處理技術(shù)數(shù)據(jù)安全技術(shù)看看這些標(biāo)題,就知道,我下面會講很多關(guān)鍵的東西,之前很多Q友在群里面 抱怨我不提供完整的實(shí)時數(shù)據(jù)庫原理知識材料,抱歉,太忙了。不是吝惜什么或 技術(shù)保密,今天,只要你努力,都可以做出一個實(shí)時數(shù)據(jù)庫的核來,但從一個內(nèi) 核到產(chǎn)品的質(zhì)變,是需要公司正規(guī)研發(fā)投入的,因此,原理實(shí)在不需要保密,講 個明白,大家能更好地使用實(shí)時數(shù)據(jù)庫。中至-SUPCON核*技術(shù)原理.整體架構(gòu)分析應(yīng)用接口適配層磁盤歷史存儲實(shí)時核心現(xiàn)場接口適配
11、層首先看看,任何復(fù)雜的大型實(shí)時數(shù)據(jù)庫,其基本體系架構(gòu),也不外乎如圖所示, 通過現(xiàn)場適配層適配現(xiàn)場的各種接口,做工控的都知道,這是一個復(fù)雜的工作。 然后通過實(shí)時核心,完成數(shù)據(jù)的采集、實(shí)時計(jì)算、報(bào)警計(jì)算、其它處理,實(shí)時數(shù) 據(jù)被不斷泵入磁盤歷時存儲,形成可追溯的歷時信息,同時通過向應(yīng)用層提供各 種適配接口,支持各種開發(fā)語言和各種應(yīng)用需求的訪問。認(rèn)識好這個基礎(chǔ)架構(gòu), 下面看核心原理,就思路清晰了。中理-5UPCON_核心技術(shù)原理平臺相關(guān)性通用協(xié)諛OPC DDE平臺無關(guān)性通訊協(xié)諛ModBus、PiofiBus平臺無關(guān)專有協(xié)諛大部分DCS陸諛、工業(yè)以未阿協(xié)諛特殊俗諛:編程口、打印口等特殊方式取得的俗諛 T
12、CP U DP事口并口其他上層逸用裝體:HTTP SOAP等總的來說,目前工業(yè)通訊、傳輸?shù)膮f(xié)議種類繁多,主要有兩方面原因:1、歷史 遺留;2、人為壟斷;二者的合力就是上邊這張膜片的內(nèi)容,搭建看看,難啊, 很多時候,為了不付出廠商提出的巨額接口或接口板卡費(fèi)用,廣大的業(yè)界同仁采 取編程口、打印口等極端方式,以獲得可以接受的性價比。在協(xié)議載體上,主要 是串行和以太兩種,當(dāng)然在串行通訊中又有很多專用總線分支,例如Profibus 等。未來在載體上是相當(dāng)?shù)那逦?,請大家看我的另一篇文章工業(yè)以太網(wǎng)技術(shù)有 望統(tǒng)一現(xiàn)場總線,以太網(wǎng)通訊技術(shù)已經(jīng)勢如破竹,所以,前途光明,但另一 個困擾更大,就是封閉的協(xié)議,目前大部
13、分廠商都宣稱自己開放了,但開放的是 上層,而非底層。雖然,至少可以做到采用OPC訪問實(shí)時數(shù)據(jù)庫,但要想簡單 地將For InSql的接口用于Agilor,則很難,這就是底層沒有協(xié)議的問題。前兩 天在接收今日自動化采訪的時候,我也提出,如果底層協(xié)議不統(tǒng)一,實(shí)時數(shù) 據(jù)庫的市場將繼續(xù)存在混亂和低速發(fā)展。中玲 SUPCON核心技術(shù)原理接口一般框架DDEOPCModBusProfiBus談到接口,小型實(shí)時數(shù)據(jù)庫(許多是號稱自己是實(shí)時數(shù)據(jù)庫的組態(tài)軟件)均采用 了以上的架構(gòu),即將核心和接口做在一起,用戶使用起來較為簡單,但如果出現(xiàn) 任何一個不穩(wěn)定的接口或局部異常,那整個實(shí)時數(shù)據(jù)庫就崩潰了。另外對于大型 應(yīng)用
14、,這種結(jié)構(gòu)也較難擴(kuò)展。對于大型分布式實(shí)時數(shù)據(jù)庫,基本按照如下的配置:supcon核心技術(shù)原理接口一般框架接口軟件被獨(dú)立出來,即可以與實(shí)時數(shù)據(jù)庫核心集中部署在1臺計(jì)算機(jī)上,也可 以與部署在接口機(jī)上,在大規(guī)模應(yīng)用的時候,接口的負(fù)載不會影響核心的穩(wěn)定, 同時任意一個接口出現(xiàn)Crash,都不會導(dǎo)致實(shí)時數(shù)據(jù)庫整體宕機(jī)。從而提供了更 好的可擴(kuò)展性和穩(wěn)定性。談到影響接口效率的因素,主要如下:中垣 SUPCON核心技術(shù)原理影響接口效能的因素:協(xié)議網(wǎng)絡(luò)狀況設(shè)備效率工作站負(fù)載底層軟件質(zhì)量首先協(xié)議如果慢,那是沒招了,這主要可以看看DDE協(xié)議,在OPC出現(xiàn)前, 也曾經(jīng)紅火了一段時間,DDE使計(jì)算機(jī)上跨進(jìn)程數(shù)據(jù)可以方便
15、通訊,但這種通 訊協(xié)議本身效率很低。計(jì)算機(jī)再快,容量不能大幅度上升,幾百個位號就很不錯 了。就這一點(diǎn),就決定了其退出了歷史舞臺。第二在于網(wǎng)絡(luò)狀況。沒有有效地組 網(wǎng),以太網(wǎng)也會十分緩慢。有效的帶寬變低,使得快速協(xié)議也變得緩慢而不穩(wěn)定。 網(wǎng)絡(luò)狀況有兩方面:1、物理結(jié)構(gòu)合理性,多少次經(jīng)驗(yàn)告訴我們,沒有合理組織 的以太網(wǎng),往往導(dǎo)致數(shù)據(jù)的阻塞,梳理以太網(wǎng)就像控制交通流量,任何地方出現(xiàn) 瓶頸,都會導(dǎo)致數(shù)據(jù)緩慢;2、病毒,尤其是占用大量帶寬的蠕蟲,一旦感染了 這個,接口中斷就很有可能了。設(shè)備效率也一樣關(guān)鍵,經(jīng)常出現(xiàn)DCS工作壓力 很大了,這時再看其通訊,就很難了。針對這種情況往往應(yīng)該增加通訊卡件來提 高效率
16、;工作站負(fù)載也是影響大型系統(tǒng)接口效率的關(guān)鍵,很多大型系統(tǒng)的OPC 都在工作站上,這時,如果工作站負(fù)載很重,OPC能分到的運(yùn)行時間不足,又 會影響效率,最終數(shù)據(jù)傳輸還是很緩慢,而且不穩(wěn)定。談到這里,大家可以看看 我的另一篇文章OPC資本和崇洋豢養(yǎng)的病態(tài)協(xié)議,OPC并非什么好協(xié) 議,只不過因是中立國出的協(xié)議而如此廣泛被使用罷了。如果這些都沒有問題, 那么最終協(xié)議總歸協(xié)議,實(shí)現(xiàn)協(xié)議交互的軟件質(zhì)量還十分關(guān)鍵,在實(shí)施中,我們 也經(jīng)常會碰到因?yàn)橘|(zhì)量不好的OPC,效率低、穩(wěn)定性差導(dǎo)致整個系統(tǒng)不穩(wěn)定的。 知道了以上內(nèi)容,現(xiàn)場遇到問題,應(yīng)逐個排除,不要一開始就責(zé)怪實(shí)時數(shù)據(jù)庫不 好,只有對癥下藥地解決問題,才能獲
17、得高效的系統(tǒng)。接下去的內(nèi)容將更加精彩,我們將探尋接口內(nèi)部的奧秘,先給大家一張預(yù)覽圖:中 I空, SUPCON核心技術(shù)原理接口內(nèi)部結(jié)構(gòu)談到這里,就要談到實(shí)時數(shù)據(jù)庫為做到實(shí)時的考慮了。為了做到實(shí)時,實(shí)時數(shù)據(jù) 庫采取了“實(shí)時”的反面-“緩存”,緩存是為了提高交互效率,從而使整體更加實(shí) 時,這點(diǎn)后面將詳細(xì)介紹。那么一個接口程序內(nèi)部有什么呢?主要有兩部分:現(xiàn) 場接口協(xié)議棧和位號分組。當(dāng)然,對于小型的接口,位號分組被省略了。位號分 組是按照實(shí)時數(shù)據(jù)庫組態(tài)的要求,按不同的頻率采集實(shí)時數(shù)據(jù)。分組的優(yōu)勢在于 降低了位號采集的工作量。要知道很多協(xié)議是慢速的(如串口協(xié)議)。如果實(shí)時 數(shù)據(jù)庫中僅要求5秒鐘的采樣頻率,
18、而下端卻不作區(qū)分,按最快的頻率采集,則 往往效率就會降低,甚至影響到配置為高速采集的其它位號。因此,分組往往是 必須的。協(xié)議棧則不用解釋,大家都知道必須實(shí)現(xiàn)的。實(shí)現(xiàn)的好,則效率高、穩(wěn) 定性好。實(shí)時數(shù)據(jù)庫接口中有定時器,在Windows平臺上能獲得的最高定時精 度為40ms,因此采樣周期高于40ms,沒有意義。一般主動采集的頻率都是1 赫茲以下的(慢于1秒/次),更加快速的時候,均采用主動通知的方法,即當(dāng) 數(shù)據(jù)變化的時候,主動向?qū)崟r數(shù)據(jù)庫內(nèi)核發(fā)送變化的數(shù)據(jù),以達(dá)到更高效率。接 口就簡單介紹到這里,要明確的是,對于主動采集方式下,接口相當(dāng)于多了一層 緩存,在今后的講解中,大家會發(fā)現(xiàn),實(shí)時數(shù)據(jù)庫的效
19、率和緩存的層次多少很有 關(guān)系。中 1空 SUPCON 核心技術(shù)原理分時技術(shù)特點(diǎn):COM/DCOM一言斂、璋定,但缺乏疇平臺能力, Windows集成的權(quán)限住往難于H任復(fù)雜的工網(wǎng)絡(luò)環(huán) 境J2EE 一平臺無關(guān),效率低 不適合實(shí)時系統(tǒng)專用TCP/IP協(xié)設(shè)效率與協(xié)詼的設(shè)計(jì)相關(guān),不開故, 但住住提供API簡單談?wù)劮植际郊夹g(shù),大型分布式實(shí)時數(shù)據(jù)庫都采用了一定的分布式技術(shù),采用 的技術(shù)不同,局限性也不同。COM/DCOM被熟知,被業(yè)界認(rèn)同,是微軟主要分 布式技術(shù),因此被廣泛應(yīng)用。但逃不出DCOM安全性的魔障,與Windows權(quán) 限捆綁緊密。而且對于連接效率低的時候容易出錯。跨平臺能力則更是徹底不具 備了。J
20、2EE很好,但效率有些低,最近JAVA6出現(xiàn)后,效率已經(jīng)有了顯著提 升。甚至比.Net快,但作為底層研發(fā)來說,采用J2EE很不合適,原因是其對硬 件的訪問能力較弱。隨著以太網(wǎng)和工業(yè)通訊標(biāo)準(zhǔn)的提升,J2EE平臺也許在工業(yè) 應(yīng)用上有后勁。目前多數(shù)實(shí)時數(shù)據(jù)庫廠商采用了專用TCP/IP協(xié)議,優(yōu)勢是易跨 平臺,部署方便,穩(wěn)定性容易掌控。但增加了掌控能力的同時也降低了對已有框 架的集成,開發(fā)工作量大。從實(shí)時數(shù)據(jù)庫所面向的應(yīng)用場景來說,專用TCP/IP 協(xié)議更加適合一些。下面給出實(shí)時數(shù)據(jù)庫的簡化模型,后面的原理將結(jié)合這張圖來講解。EP1S-SUPCON核心技術(shù)原理簡化實(shí)時數(shù)據(jù)庫核心構(gòu)架應(yīng)用接口實(shí)時數(shù)據(jù)庫被簡
21、化成由多個接口、一個接口管理模塊、一個組態(tài)模塊、一個實(shí)時 模塊、一個高速緩存和一個歷史模塊組成,上面覆以應(yīng)用接口。這個結(jié)構(gòu)基本適 合大部分實(shí)時數(shù)據(jù)庫,各模塊運(yùn)行需要的組態(tài)信息往往從組態(tài)模塊中獲取,高速 緩存往往和歷史模塊、實(shí)時模塊都發(fā)生關(guān)系。接下去將講解實(shí)時數(shù)據(jù)庫的核心IO策略。中 I空 SUPCON前面已經(jīng)講過了,實(shí)時數(shù)據(jù)庫一般采用緩存來增加讀實(shí)時數(shù)據(jù)的及時性,因此實(shí) 時數(shù)據(jù)庫核心中都有高速緩存,如上圖所示,通過接口的采集,高速緩存的數(shù)據(jù) 得到不斷的更新,而當(dāng)上層讀位號的時候,實(shí)時數(shù)據(jù)庫通過返回緩存的值來快速 響應(yīng)。因此,讀一般是異步的。但寫則一般是同步的,寫意味著控制,控制意味 著嚴(yán)格的時
22、序性,同時,寫也可能失敗的,如果寫是異步的,則可能以為成功了, 但實(shí)際失敗了,后果不堪設(shè)想。寫的效率嚴(yán)重依賴于接口通訊效率和執(zhí)行機(jī)構(gòu)。 如果只是修改設(shè)定值,則可以較快返回,如果直接寫閥位等需要機(jī)械執(zhí)行的值, 那就慢了。由于緩存,則必然會產(chǎn)生時滯。實(shí)時數(shù)據(jù)庫的采集手段使時滯不止存 在于一處。假設(shè)實(shí)時數(shù)據(jù)庫從OPC中采集數(shù)據(jù),而OPC從設(shè)備上采集數(shù)據(jù), 如果OPC1秒采集一次,實(shí)時數(shù)據(jù)庫5秒采集一次,實(shí)時數(shù)據(jù)庫上有一個應(yīng)用 軟件,也5秒采集一次,則此應(yīng)用軟件讀到的數(shù)據(jù)的最大時滯為11秒(各時滯 的相加和),最小時滯為5秒(幾個時滯中最大的一個),在一般的情況下,時 滯符合正態(tài)分布。時滯頻域的角度上
23、來分析,實(shí)際上是波的相變。或稱之為相移。相移在低速變化 數(shù)據(jù)上顯現(xiàn)的問題不是很明顯,比如溫度最快每分鐘上升2度,影響并不明顯, 但對于快速開關(guān)量,則十分致命,這個很容易理解,如果時滯1秒,而開關(guān)的變 化周期也接近1秒,則會出現(xiàn)一個現(xiàn)象,數(shù)據(jù)采集上來是關(guān),實(shí)際現(xiàn)場則是開的, 現(xiàn)場與采集值總是相反,如果這時進(jìn)行控制,就會發(fā)現(xiàn)控制實(shí)效,關(guān)閉已經(jīng)關(guān)閉 的開關(guān)或打開已經(jīng)打開的開關(guān),沒有意義。因此,實(shí)時數(shù)據(jù)庫不適宜對快速開關(guān) 量的控制。這是一種極端的情況,另一種則是波動較快的窄帶控制,意味著必須 將被控量控制在一個較窄的區(qū)域內(nèi),這時必須考慮時滯問題,如果時滯穩(wěn)定,則 可以按照控制理論采用抵消時滯或者前饋的
24、方式獲得較好的控制效果。而如果時 滯變化很大,則通過實(shí)時數(shù)據(jù)庫之上進(jìn)行的控制則效果不明顯了,很容易失控。 講這些不是說實(shí)時數(shù)據(jù)庫不能用于有控制的場合,知道哪些不適合,才能更加正 確地使用實(shí)時數(shù)據(jù)庫,應(yīng)用好各種適合的場景。談到核心調(diào)度策略,就得講講多線程的核心,很少有實(shí)時數(shù)據(jù)庫是單線程的,大 型實(shí)時數(shù)據(jù)庫中往往都有線程池,對于需要實(shí)時處理讀、寫、采集等任務(wù)的實(shí)時 數(shù)據(jù)庫核心,其調(diào)度策略必須慎重考慮。首先,為難的是往往很難判斷那些任務(wù) 的優(yōu)先級更高。所以實(shí)時數(shù)據(jù)庫內(nèi)部往往通過判斷位號的更新周期來間接揣測任 務(wù)的優(yōu)先級。雖然往往可以讓多個現(xiàn)成自己競爭,但如果某個位號的更新周期位 1秒,而另一個的更新
25、周期為10秒,那么,可想而知,應(yīng)用對1秒更新的實(shí)時 數(shù)據(jù)的實(shí)時性要求高于10秒的。因此,如果有1秒的為好讀任務(wù)沒有完成,則 不執(zhí)行10秒的,對于CPU數(shù)量小于等待線程數(shù)量的時候,特別適用。另外, 讀即時值的任務(wù)優(yōu)先級應(yīng)該高于讀歷時值的任務(wù),這個也可想而知的,讀一段歷 時數(shù)據(jù),往往不在乎晚響應(yīng)幾十微秒,而讀實(shí)時值,則是越實(shí)時越好。這樣,在 實(shí)時數(shù)據(jù)庫中就形成了一個內(nèi)核級的讀隊(duì)列,任務(wù)可以被線程順序執(zhí)行,而如果 低優(yōu)先級的現(xiàn)成得以執(zhí)行的時候,會檢查一下是否還有更高優(yōu)先級的隊(duì)列中需要 執(zhí)行,如果有,則讓出時間片??兹谧尷?,保證更需要實(shí)時的任務(wù)先完成。對于 寫任務(wù),往往可以和讀任務(wù)并行,但CPU是昂貴
26、資源,如果當(dāng)前CPU被讀占 用而耽誤了寫,則不應(yīng)該,因此,寫更重要,排在更高的優(yōu)先級。那么采集的優(yōu) 先級和讀的優(yōu)先級誰高呢?如果采集被滯后,那么多個可能讀同一個位號的任務(wù) 都將讀到老的數(shù)據(jù),因此,采集往往是一個與讀優(yōu)先級的最高優(yōu)先級相當(dāng)?shù)娜蝿?wù)。 具體到不同的實(shí)現(xiàn)者,以上的理論未必被完全的實(shí)現(xiàn),有的小型和中型實(shí)時數(shù)據(jù) 庫甚至根本沒有這些策略的實(shí)現(xiàn),因?yàn)檫\(yùn)行在其上的應(yīng)用也不嚴(yán)格,因此也可以 避繁就簡。呵呵,是不是對自己實(shí)現(xiàn)一個實(shí)時數(shù)據(jù)庫更加有信心了?其實(shí)不那么容易,看這 些原理,最重要的是幫助理解,不在于模仿,實(shí)現(xiàn)一個商用的實(shí)時數(shù)據(jù)庫是公司 的事情,個人沒有必要將時間浪費(fèi)到自己實(shí)現(xiàn)上,還是選一個合
27、適的產(chǎn)品來使用。 使用時通過原理來加深理解。中I空 5UPCON 核心技術(shù)原理核心壓縮策略接下去,將講到很多人想研究的實(shí)時數(shù)據(jù)庫壓縮算法,這個好像挺神秘的,我將 結(jié)合PI的專利技術(shù),旋轉(zhuǎn)門壓縮算法給予詳細(xì)的講解,撥開云霧見太陽,世上 沒有神秘的事情,只有不耐心的觀眾和不盡心的講師。呵呵。雖然今天很疲憊了,但是還是繼續(xù)寫吧,linkman已經(jīng)開始對我不滿了,呵呵。 的確十分忙,但當(dāng)一件事情開始做了以后,就放不下來。這里小跑一下題,(一), 關(guān)于實(shí)時數(shù)據(jù)庫行業(yè)協(xié)會,網(wǎng)站在年底之前肯定預(yù)上線,這是我把它當(dāng)作中心工 作之一的。我十分期望等到網(wǎng)站一有,國內(nèi)實(shí)時數(shù)據(jù)庫行業(yè)的同仁有個平等交流 的場所。(二)
28、Linkman 一直關(guān)心標(biāo)準(zhǔn)的事情,我指的標(biāo)準(zhǔn)是數(shù)據(jù)采集接口的標(biāo) 準(zhǔn),這個標(biāo)準(zhǔn)比上層API更加重要,預(yù)計(jì)2007年底2008年初,SUPCON將 向協(xié)會成員發(fā)出第一個討論稿。言歸正傳了。說到數(shù)據(jù)壓縮,無非有損和無損。無損的一般通過各類近似霍夫曼 編碼的方法壓縮數(shù)據(jù),二有損則是采用線性擬合的方法。實(shí)時數(shù)據(jù)是如此海量, 大家真的能用的方法都用上了。無損壓縮不是我講的重點(diǎn),我自己也編寫過這類 壓縮工具,zip、rar等等,基本上是這一思路,大家另行搜索來學(xué)習(xí)。這里講的 是實(shí)時數(shù)據(jù)庫中最常用的有損線性擬合算法。擬合方式很多,最著名的無過于O SI的“旋轉(zhuǎn)門”,這個太著名了,以至于很多用戶都知道。到底旋
29、轉(zhuǎn)門是怎么回 事呢?娓娓道來如下:首先講當(dāng)前采集的一個數(shù)據(jù)位門軸,看著上面的膜片哦,最左下角的就是門軸, 然后每新采一個點(diǎn),就將這個點(diǎn)和門軸畫一條線,就是所謂的門,當(dāng)再采下一個 點(diǎn)的時候,就從門軸向新點(diǎn)畫一條線,作為新的門位置,看看,門就“旋轉(zhuǎn)”了一 定角度,然后看看從門軸到門邊中所有的點(diǎn)是否都距離門在一個閾值內(nèi),如果是, 也就是說可以用兩點(diǎn)一線的門擬合中間若干點(diǎn),顯然壓縮掉了大量數(shù)據(jù)。如果不 行了,則將原來與門軸組成門的那個點(diǎn)記錄下來(此點(diǎn)將寫入歷時數(shù)據(jù)庫),然 后將此點(diǎn)作為新的門軸,以此門軸與最新的點(diǎn)構(gòu)成新的門。這顯然是一個迭代算法,而且好處是明顯的,這樣計(jì)算,涉及到的乘除法很少, 效率應(yīng)
30、該較高。所以PI 一直用這個算法作為其核心壓縮算法。SUPCON采取了 最小二次擬合的方法,原因是現(xiàn)在的計(jì)算機(jī)浮點(diǎn)能力大大增強(qiáng),同時發(fā)現(xiàn)最小二 次線性擬合的方法的迭代算法運(yùn)算量也很小。效果和效率都很好。因此申請了專 利。國內(nèi)很多實(shí)時數(shù)據(jù)庫迄今沒有自己的算法,仍然侵犯著PI的專利,呵呵。不過這也沒有什么,OSI不計(jì)較,它在國內(nèi)沒有申請旋轉(zhuǎn)門的專利,因此“旋轉(zhuǎn) 門”是一個很好的教材。所有的有損壓縮算法基本類似,有的數(shù)據(jù)庫還將無損和有損兩種結(jié)合起來,即先 有損壓縮,然后再無損壓縮,最終保存壓縮結(jié)果,這樣查詢歷時數(shù)據(jù)的時候多了 解壓過程,速度會進(jìn)一步降低,但空間也進(jìn)一步節(jié)省。壓縮是雙刃劍。我特別告 訴大家,千萬不要相信某些產(chǎn)品宣揚(yáng)自己的壓縮比如何高,通過以上原理知道, 壓縮比高的原因就是因?yàn)殚撝荡?,閾值大,損失就多,得到的趨勢反應(yīng)的細(xì)節(jié)就 少。一般實(shí)際應(yīng)用,流程工業(yè)采用10: 1的壓縮很合適,超過此數(shù)據(jù),會發(fā)現(xiàn) 大量有用的細(xì)節(jié)都不見了。這樣方法也是一種低通濾波,低通濾波伴隨著時滯增 大,因此不要迷信。呵呵。掌握原理,合理設(shè)定壓縮閾值,才是最好的方法。實(shí)際上,實(shí)時數(shù)據(jù)庫中也使用了大量的索引技術(shù),絕對不是關(guān)系數(shù)據(jù)庫的專利, 因此,接下去將講講索引技術(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)球拍球童拍行業(yè)銷售工作總結(jié)
- 金屬礦產(chǎn)行業(yè)技術(shù)工作總結(jié)
- 《澳門國際機(jī)場》課件
- 藥店衛(wèi)生消毒標(biāo)準(zhǔn)
- 采礦行業(yè)人事工作總結(jié)
- 翻譯行業(yè)服務(wù)員工作總結(jié)
- 《列車環(huán)境與衛(wèi)生》課件
- 2023年河北省唐山市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年山東省東營市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年湖北省武漢市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 停車場管理系統(tǒng)說明書
- 醫(yī)院藥劑科年終總結(jié)
- (2024年)AED(自動體外除顫器)使用指南
- 麻醉藥品精神藥品管理
- 抽錯血標(biāo)本護(hù)理不良事件
- 科技成果轉(zhuǎn)化培訓(xùn)資料
- 社會穩(wěn)定風(fēng)險評估 投標(biāo)方案(技術(shù)標(biāo))
- 生產(chǎn)線能耗分析報(bào)告模板
- 上海市松江區(qū)2023-2024學(xué)年高一上學(xué)期期末質(zhì)量監(jiān)控?cái)?shù)學(xué)試卷 (解析版)
- 校外安全教育課件
- GB/T 43474-2023江河生態(tài)安全評估技術(shù)指南
評論
0/150
提交評論