




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)時(shí)數(shù)據(jù)庫介紹拖太久了,最終我還是要將這篇文章寫出來,希望能夠?qū)ν蕚冇兴鶐椭?。在此文章中,我?jì)劃主要介紹如下主題:談到實(shí)時(shí)數(shù)據(jù)庫,有些同仁還頗感神秘,我寫此文結(jié)合我05年開始做的MESRTDBE實(shí)時(shí)數(shù)據(jù)庫工程師培訓(xùn)教材來開展,逐漸解開面紗,給大家展示一個(gè)真實(shí)的實(shí)時(shí)數(shù)據(jù)庫世界。注:圖其實(shí)都很清晰,如看不清,純屬CEC博客功能問題,用鼠標(biāo)點(diǎn)一下圖,看大圖。中控-5UPCONrMSSUPCON實(shí)時(shí)數(shù)庫槪念歷史:興起,美國80年代中期工業(yè)監(jiān)控)PLUnifonnancefPHD,InfoPlus,InSql工理類實(shí)時(shí)數(shù)據(jù)庫EagleSpeedRTDBMS殛實(shí)時(shí)數(shù)據(jù)陣推廣應(yīng)用:世界范圍內(nèi)90年代f工業(yè)
2、監(jiān)控、控制、去用工程)PLUniformancefRHD,InfoPIjs.InSql國內(nèi)廣宓用:2000-工鼻豊控、控制.公用工程.環(huán)境.刪.智能交通.智能齢.通訊)PLESP-iSYS,InfoPlus,Agilor大型分布式囲堵實(shí)時(shí)數(shù)據(jù)庫Unifonnarce(PHD,ConRTDB,EuperInfo占分布式實(shí)時(shí)數(shù)據(jù)庫lnql中hfiC/S分布式數(shù)據(jù)陣說道實(shí)時(shí)數(shù)據(jù)庫,當(dāng)時(shí)誕生于美國,隨著流程工業(yè)和航天工業(yè)的發(fā)展,大量的測(cè)量數(shù)據(jù)需要集成和存儲(chǔ),采用關(guān)系數(shù)據(jù)庫難以滿足速度和容量的要求,而且接口訪問復(fù)雜,不適合科研和監(jiān)控的需要,因此80年代中期,開始誕生了以工業(yè)監(jiān)控為目的的實(shí)時(shí)數(shù)據(jù)庫。今天大
3、家看到的一些實(shí)時(shí)數(shù)據(jù)庫,如PI、Uniformance、Infoplus、InSql等工業(yè)監(jiān)控類實(shí)時(shí)數(shù)據(jù)庫均先后誕生于此階段。而當(dāng)時(shí)還有另外一個(gè)分支,即所謂硬實(shí)時(shí)數(shù)據(jù)庫,它的采集速度和響應(yīng)速度均是毫秒級(jí)的,而大家知道,今天大量應(yīng)用實(shí)時(shí)數(shù)據(jù)庫,主動(dòng)采集速度均是秒級(jí)的,響應(yīng)速度也不嚴(yán)格,在Windows平臺(tái)下,小于40ms的響應(yīng)均不準(zhǔn)確,但當(dāng)時(shí)卻有這類產(chǎn)品,目前多用于軍事和科研了。到了上世紀(jì)90年代,實(shí)時(shí)數(shù)據(jù)庫在流程工業(yè)全世界范圍內(nèi)大行其道,源于以太網(wǎng)的逐步普及;主要應(yīng)用于工業(yè)監(jiān)控、控制和公用工程。國內(nèi)的實(shí)時(shí)數(shù)據(jù)庫發(fā)展較為緩慢,這和技術(shù)封鎖和政治風(fēng)氣都有關(guān)系,到了2000年之后,國內(nèi)的實(shí)時(shí)數(shù)據(jù)庫逐
4、漸展露頭角,如ESP-iSYS、Agilor等與國外的PI、InfoPlus均屬于大型分布式網(wǎng)絡(luò)實(shí)時(shí)數(shù)據(jù)庫。規(guī)模相對(duì)較小的,如PHD、ConRTDB、SuperInfo,在國內(nèi)開始應(yīng)用。由于應(yīng)用場(chǎng)景的不同,好多企業(yè)開始還只是解決現(xiàn)場(chǎng)監(jiān)控的問題,分不清RTDB與SCADA的概念,結(jié)果InSql獲得了一個(gè)發(fā)展的機(jī)會(huì)。中孑生SUPCON實(shí)時(shí)數(shù)掲庫概念實(shí)時(shí)數(shù)搖庫是對(duì)實(shí)時(shí)性要求高的時(shí)標(biāo)型信息的數(shù)搖庫管理系統(tǒng)實(shí)時(shí)數(shù)揚(yáng)庫主要功饒包括:集成各種異構(gòu)通訊的謨的數(shù)據(jù)藕,舷成統(tǒng)一的訪冋實(shí)時(shí)數(shù)娠接口完成對(duì)實(shí)時(shí)數(shù)搖的集中海童存儲(chǔ)支持實(shí)時(shí)數(shù)搖逮寫操作和歷蟲數(shù)搖的高潼查詢爭(zhēng)提供實(shí)時(shí)計(jì)算、實(shí)時(shí)分?jǐn)豬t理等功能實(shí)時(shí)數(shù)據(jù)的組紐和
5、訪冋權(quán)醍管理倒也給SCADA那么.什么是實(shí)時(shí)數(shù)據(jù)庫呢.過去國人老將苴與SCADA搞混一個(gè)發(fā)展的機(jī)會(huì)。實(shí)際上實(shí)時(shí)數(shù)據(jù)庫是“對(duì)實(shí)時(shí)性要求高的時(shí)標(biāo)型信息的數(shù)據(jù)庫管理系統(tǒng)”.注意.這里特別提醒.是管理系統(tǒng).而非單獨(dú)一個(gè)數(shù)據(jù)庫。實(shí)時(shí)數(shù)據(jù)庫雖是系統(tǒng)軟件.但更多是一個(gè)應(yīng)用平臺(tái)軟件.原因是實(shí)時(shí)數(shù)據(jù)庫還沒有一個(gè)像SQL一樣的標(biāo)準(zhǔn).而且苴功能太過綜合.各廠商推出的產(chǎn)品功能各有側(cè)重。但以上的膜片中至少總結(jié)了實(shí)時(shí)數(shù)據(jù)庫的主要功能。展.業(yè)界的同仁在不斷創(chuàng)造出實(shí)時(shí)數(shù)據(jù)庫的應(yīng)用模式。只要有時(shí)標(biāo)型數(shù)據(jù).實(shí)時(shí)數(shù)據(jù)庫就可以在一定程度上發(fā)揮威力。中孑空-SUPCON實(shí)時(shí)數(shù)據(jù)庫概念時(shí)標(biāo)型數(shù)據(jù)(實(shí)時(shí)性數(shù)據(jù))Vaiue+Timestam
6、p+QualityVaiue+Timestamp+Quality+Frequency(TmeSpan)說到這里-漸漸要講原理了。與一般認(rèn)識(shí)不同,時(shí)標(biāo)型數(shù)據(jù)并僅僅指時(shí)間戳、值和質(zhì)量碼,還有一個(gè)很重要的屬性,那就是及時(shí)性,及時(shí)性有兩重含義,采樣間隔和數(shù)據(jù)的新鮮度。時(shí)標(biāo)型數(shù)據(jù)的價(jià)值隨新鮮度降低而遞減。1秒鐘內(nèi)的數(shù)據(jù)可以用來流程工業(yè)中的控制,5秒鐘之內(nèi)可以用來監(jiān)視,半小時(shí)內(nèi)的數(shù)據(jù)可以用來分析和優(yōu)化,一天內(nèi)的數(shù)據(jù)可以用來日?qǐng)?bào)表,如果是半年前的數(shù)據(jù),則只能做對(duì)比和追溯了。而得到數(shù)據(jù)的新鮮程度往往取決于采樣頻率,這就是為什么如此重視實(shí)時(shí)數(shù)據(jù)庫的采樣快速性。同時(shí)采樣的頻率還進(jìn)一步?jīng)Q定了實(shí)時(shí)數(shù)據(jù)庫保存信息的豐富
7、程度。請(qǐng)看下一張膜片:中孑至SUP匚ON實(shí)時(shí)數(shù)掲庫挾念稱一鮭慕樣定理,采樣頻率恐鎖高于肓號(hào)中最盲有潼頻率的兩倍大家都知道采樣定理,根據(jù)拉普拉斯變換,任何信號(hào)都可以被分解為頻率不同、幅值不同的正弦波疊加,而如果要讓采到的數(shù)據(jù)中包含一個(gè)頻率的信息,則采樣頻率至少為此頻率的2倍。所以大家不要過分關(guān)心實(shí)時(shí)數(shù)據(jù)庫宣稱的無損壓縮,更重要的是要明白,信息的最大損失就在于采樣。更簡(jiǎn)單的例子,當(dāng)你以10秒鐘的周期去采樣,可能裝置運(yùn)行過程中出現(xiàn)了異常的超調(diào),在5秒內(nèi)又恢復(fù)了,而你的實(shí)時(shí)數(shù)據(jù)庫中卻根本不存在這些信息。從另一個(gè)方面講,實(shí)時(shí)數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)永遠(yuǎn)是濾波后數(shù)據(jù),實(shí)時(shí)數(shù)據(jù)庫就像一個(gè)低通濾波器。接下去,要講到
8、實(shí)時(shí)數(shù)據(jù)庫的核心技術(shù)原理了,理解了這些原理,在設(shè)定實(shí)時(shí)數(shù)據(jù)庫運(yùn)行參數(shù)的時(shí)候,才能得到更好的效果。也就會(huì)明白,一個(gè)RTDBA(RTDBAdministrator)的存在價(jià)值。中孑生SUPCON枝心技術(shù)廩理整體架構(gòu)分析接口技術(shù)數(shù)據(jù)存儲(chǔ)技術(shù)數(shù)據(jù)壓縮技術(shù)數(shù)據(jù)實(shí)時(shí)處理技術(shù)數(shù)據(jù)安全技術(shù)看看這些標(biāo)題,就知道,我下面會(huì)講很多關(guān)鍵的東西,之前很多Q友在群里面抱怨我不提供完整的實(shí)時(shí)數(shù)據(jù)庫原理知識(shí)材料,抱歉,太忙了。不是吝惜什么或技術(shù)保密,今天,只要你努力,都可以做出一個(gè)實(shí)時(shí)數(shù)據(jù)庫的核來,但從一個(gè)內(nèi)核到產(chǎn)品的質(zhì)變,是需要公司正規(guī)研發(fā)投入的,因此,原理實(shí)在不需要保密,講個(gè)明白,大家能更好地使用實(shí)時(shí)數(shù)據(jù)庫。通過現(xiàn)場(chǎng)適配
9、層適配現(xiàn)場(chǎng)的各種接口,做丄控的都知道,這是外乎如圖所示,個(gè)復(fù)雜的工作。然后通過實(shí)時(shí)核心,完成數(shù)據(jù)的采集、實(shí)時(shí)計(jì)算、報(bào)警計(jì)算、其它處理,實(shí)時(shí)數(shù)據(jù)被不斷泵入磁盤歷時(shí)存儲(chǔ),形成可追溯的歷時(shí)信息,同時(shí)通過向應(yīng)用層提供各種適配接口,支持各種開發(fā)語言和各種應(yīng)用需求的訪問。認(rèn)識(shí)好這個(gè)基礎(chǔ)架構(gòu),下面看核心原理,就思路清晰了。rUK?5UPCON核心技術(shù)原理口轉(zhuǎn):平臺(tái)相關(guān)性通用協(xié)逆OPCDDE平臺(tái)無關(guān)性通訊協(xié)逆MoHBiis、PiofiBus平臺(tái)無關(guān)專有協(xié)諛大部分DC協(xié)諛、工業(yè)取木冏協(xié)過特殊協(xié)址:臨程口、打印口等特殊方式取得的協(xié)址WKSff:TCPUDP串口井口其他上層通用覩體:HTTPSOAP等總的米說,曰前
10、丄業(yè)通訊、傳輸?shù)膮f(xié)議種類繁多,王要有兩方面原因:1、歷史遺留;2、人為壟斷;二者的合力就是上邊這張膜片的內(nèi)容,搭建看看,難啊,很多時(shí)候,為了不付出廠商提出的巨額接口或接口板卡費(fèi)用,廣大的業(yè)界同仁采取編程口、打印口等極端方式,以獲得可以接受的性價(jià)比。在協(xié)議載體上,主要是串行和以太兩種,當(dāng)然在串行通訊中又有很多專用總線分支,例如Profibus等。未來在載體上是相當(dāng)?shù)那逦?,?qǐng)大家看我的另一篇文章工業(yè)以太網(wǎng)技術(shù)有望統(tǒng)一現(xiàn)場(chǎng)總線,以太網(wǎng)通訊技術(shù)已經(jīng)勢(shì)如破竹,所以,前途光明,但另一個(gè)困擾更大,就是封閉的協(xié)議,目前大部分廠商都宣稱自己開放了,但開放的是上層,而非底層。雖然,至少可以做到采用OPC訪問實(shí)時(shí)數(shù)
11、據(jù)庫,但要想簡(jiǎn)單地將ForInSql的接口用于Agilor,則很難,這就是底層沒有協(xié)議的問題。前兩天在接收今日自動(dòng)化采訪的時(shí)候,我也提出,如果底層協(xié)議不統(tǒng)一,實(shí)時(shí)數(shù)據(jù)庫的市場(chǎng)將繼續(xù)存在混亂和低速發(fā)展。mS*SUPCCIN核心技術(shù)原理接口一般框架采用出現(xiàn)大型談到接口,小型實(shí)時(shí)數(shù)據(jù)庫許多是號(hào)稱自己占時(shí)數(shù)據(jù)庫的組態(tài)軟件)均了以上的架構(gòu),即將核心和接口做在一起,用戶使用起來較為簡(jiǎn)單,但如果任何一個(gè)不穩(wěn)定的接口或局部異常,那整個(gè)實(shí)時(shí)數(shù)據(jù)庫就崩潰了。另外對(duì)于應(yīng)用,這種結(jié)構(gòu)也較難擴(kuò)展。對(duì)于大型分布式實(shí)時(shí)數(shù)據(jù)庫,基本按照如下的配置:好的可擴(kuò)展性和穩(wěn)定性。談到影響接口效率的因素,主要如下CM空*SUPCON核心
12、技術(shù)原理影晌接口效能的因素:協(xié)過網(wǎng)絡(luò)狀況設(shè)備效率工作站負(fù)載底層軟件質(zhì)量首先協(xié)議如果慢,那是沒招了,這主要可以看看DDE協(xié)議,在OPC出現(xiàn)前,也曾經(jīng)紅火了一段時(shí)間,DDE使計(jì)算機(jī)上跨進(jìn)程數(shù)據(jù)可以方便通訊,但這種通訊協(xié)議本身效率很低。計(jì)算機(jī)再快,容量不能大幅度上升,幾百個(gè)位號(hào)就很不錯(cuò)了。就這一點(diǎn),就決定了其退出了歷史舞臺(tái)。第二在于網(wǎng)絡(luò)狀況。沒有有效地組網(wǎng),以太網(wǎng)也會(huì)十分緩慢。有效的帶寬變低,使得快速協(xié)議也變得緩慢而不穩(wěn)定。網(wǎng)絡(luò)狀況有兩方面:1、物理結(jié)構(gòu)合理性,多少次經(jīng)驗(yàn)告訴我們,沒有合理組織的以太網(wǎng),往往導(dǎo)致數(shù)據(jù)的阻塞,梳理以太網(wǎng)就像控制交通流量,任何地方出現(xiàn)瓶頸,都會(huì)導(dǎo)致數(shù)據(jù)緩慢;2、病毒,尤其
13、是占用大量帶寬的蠕蟲,一旦感染了這個(gè),接口中斷就很有可能了。設(shè)備效率也一樣關(guān)鍵,經(jīng)常出現(xiàn)DCS工作壓力很大了,這時(shí)再看其通訊,就很難了。針對(duì)這種情況往往應(yīng)該增加通訊卡件來提高效率;工作站負(fù)載也是影響大型系統(tǒng)接口效率的關(guān)鍵,很多大型系統(tǒng)的OPC都在工作站上,這時(shí),如果工作站負(fù)載很重,OPC能分到的運(yùn)行時(shí)間不足,又會(huì)影響效率,最終數(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)常會(huì)碰到因
14、為質(zhì)量不好的OPC,效率低、穩(wěn)定性差導(dǎo)致整個(gè)系統(tǒng)不穩(wěn)定的。知道了以上內(nèi)容,現(xiàn)場(chǎng)遇到問題,應(yīng)逐個(gè)排除,不要一開始就責(zé)怪實(shí)時(shí)數(shù)據(jù)庫不好,只有對(duì)癥下藥地解決問題,才能獲得高效的系統(tǒng)。接下去的內(nèi)容將更加精彩,我們將探尋接口內(nèi)部的奧秘,先給大家一張預(yù)覽圖:核心技術(shù)原理接口內(nèi)部結(jié)構(gòu)高呂秒應(yīng)號(hào)組as#典存儲(chǔ)就要談到實(shí)時(shí)數(shù)據(jù)庫為做到實(shí)時(shí)的考慮了。為了做到實(shí)時(shí),實(shí)時(shí)數(shù)據(jù)中孑空.SUP匚oz談到這里,就庫采取了“實(shí)時(shí)”的反面緩存”,緩存是為了提高交互效率,從而使整體更加實(shí)時(shí),這點(diǎn)后面將詳細(xì)介紹。那么一個(gè)接口程序內(nèi)部有什么呢?主要有兩部分:現(xiàn)亠-*場(chǎng)接口協(xié)議棧和位號(hào)分組。當(dāng)然,對(duì)于小型的接口,位號(hào)分組被省略了。位號(hào)
15、分組是按照實(shí)時(shí)數(shù)據(jù)庫組態(tài)的要求,按不同的頻率采集實(shí)時(shí)數(shù)據(jù)。分組的優(yōu)勢(shì)在于降低了位號(hào)米集的丄作量。要知道很多協(xié)議是慢速的(如串口協(xié)議)。如果實(shí)時(shí)數(shù)據(jù)庫中僅要求5秒鐘的采樣頻率,而下端卻不作區(qū)分,按最快的頻率采集,則往往效率就會(huì)降低,甚至影響到配置為高速采集的其它位號(hào)。因此,分組往往是必須的。協(xié)議棧則不用解釋,大家都知道必須實(shí)現(xiàn)的。實(shí)現(xiàn)的好,則效率高、穩(wěn)定性好。實(shí)時(shí)數(shù)據(jù)庫接口中有定時(shí)器,在Windows平臺(tái)上能獲得的最高定時(shí)精度為40ms,因此采樣周期高于40ms,沒有意義。一般主動(dòng)采集的頻率都是1赫茲以下的(慢于1秒/次),更加快速的時(shí)候,均采用主動(dòng)通知的方法,即當(dāng)數(shù)據(jù)變化的時(shí)候,主動(dòng)向?qū)崟r(shí)數(shù)據(jù)
16、庫內(nèi)核發(fā)送變化的數(shù)據(jù),以達(dá)到更高效率。接口就簡(jiǎn)單介紹到這里,要明確的是,對(duì)于主動(dòng)采集方式下,接口相當(dāng)于多了一層緩存,在今后的講解中,大家會(huì)發(fā)現(xiàn),實(shí)時(shí)數(shù)據(jù)庫的效率和緩存的層次多少很有關(guān)系。中促-SUPQDN核心技術(shù)原理分布式技術(shù)特點(diǎn):COM/DCOM-aS.扇定,但缺乏跨平臺(tái)能力,Windows集成的權(quán)限往往難于勝任復(fù)雜的工21k網(wǎng)絡(luò)環(huán)境J2EE-平臺(tái)無關(guān),效率低,不適合實(shí)時(shí)系SE專用TCP/IP協(xié)改效率與協(xié)改的設(shè)計(jì)相關(guān),不開Bb但往往提供API簡(jiǎn)單談?wù)劮植际郊夹g(shù),大型分布式實(shí)時(shí)數(shù)據(jù)庫都采用了一定的分布式技術(shù),采用的技術(shù)不同,局限性也不同。COM/DCOM被熟知,被業(yè)界認(rèn)同,是微軟主要分布式技術(shù)
17、,因此被廣泛應(yīng)用。但逃不出DCOM安全性的魔障,與Windows權(quán)限捆綁緊密。而且對(duì)于連接效率低的時(shí)候容易出錯(cuò)??缙脚_(tái)能力則更是徹底不具備了。J2EE很好,但效率有些低,最近JAVA6出現(xiàn)后,效率已經(jīng)有了顯著提升。甚至比.Net快,但作為底層研發(fā)來說,采用J2EE很不合適,原因是其對(duì)硬件的訪問能力較弱。隨著以太網(wǎng)和工業(yè)通訊標(biāo)準(zhǔn)的提升,J2EE平臺(tái)也許在工業(yè)應(yīng)用上有后勁。目前多數(shù)實(shí)時(shí)數(shù)據(jù)庫廠商采用了專用TCP/IP協(xié)議,優(yōu)勢(shì)是易跨平臺(tái),部署方便,穩(wěn)定性容易掌控。但增加了掌控能力的同時(shí)也降低了對(duì)已有框架的集成,開發(fā)工作量大。從實(shí)時(shí)數(shù)據(jù)庫所面向的應(yīng)用場(chǎng)景來說,專用TCP/IP協(xié)議更加適合一些。面給出
18、實(shí)時(shí)數(shù)據(jù)庫的簡(jiǎn)化模型,后面的原理將結(jié)合這張圖來講解。cplSUPCON核心技術(shù)原理簡(jiǎn)化實(shí)時(shí)數(shù)據(jù)庫核心構(gòu)架實(shí)時(shí)數(shù)據(jù)庫被簡(jiǎn)化成由多個(gè)接口、一個(gè)接口管理模塊、一個(gè)組態(tài)模塊、一個(gè)實(shí)時(shí)模塊、一個(gè)高速緩存和一個(gè)歷史模塊組成,上面覆以應(yīng)用接口。這個(gè)結(jié)構(gòu)基本適合大部分實(shí)時(shí)數(shù)據(jù)庫,各模塊運(yùn)行需要的組態(tài)信息往往從組態(tài)模塊中獲取,高速接下去將講解實(shí)時(shí)數(shù)據(jù)庫的核心IO策略。中(至-SUPCON核心技術(shù)原理響應(yīng)。因此,讀一般是異步的。但寫則一般是同步的,寫意味著控制,控制意味著嚴(yán)格的時(shí)序性,同時(shí),寫也可能失敗的,如果寫是異步的,則可能以為成功了,但實(shí)際失敗了,后果不堪設(shè)想。寫的效率嚴(yán)重依賴于接口通訊效率和執(zhí)行機(jī)構(gòu)。如果
19、只是修改設(shè)定值,則可以較快返回,如果直接寫閥位等需要機(jī)械執(zhí)行的值,那就慢了。由于緩存,則必然會(huì)產(chǎn)生時(shí)滯。實(shí)時(shí)數(shù)據(jù)庫的采集手段使時(shí)滯不止存在于一處。假設(shè)實(shí)時(shí)數(shù)據(jù)庫從OPC中采集數(shù)據(jù),而OPC從設(shè)備上采集數(shù)據(jù),如果0PC1秒采集一次,實(shí)時(shí)數(shù)據(jù)庫5秒采集一次,實(shí)時(shí)數(shù)據(jù)庫上有一個(gè)應(yīng)用軟件,也5秒采集一次,則此應(yīng)用軟件讀到的數(shù)據(jù)的最大時(shí)滯為11秒(各時(shí)滯的相加和),最小時(shí)滯為5秒(幾個(gè)時(shí)滯中最大的一個(gè)),在一般的情況下,時(shí)滯符合正態(tài)分布。核心I/O策略GO實(shí)時(shí)面已接口1都有庫核心數(shù)據(jù)冊(cè)性,因此實(shí)黨庫一般采用緩存來增加讀實(shí)時(shí)數(shù)據(jù)高速緩存,如上圖所示,通過接口的采集1:斷的更新而當(dāng)接口2II接口3I接口4一
20、亠亠號(hào)緩存的數(shù)據(jù)層讀位號(hào)的時(shí)候,實(shí)時(shí)數(shù)據(jù)庫通過返回緩存的值來快速時(shí)滯頻域的角度上來分析,實(shí)際上是波的相變。或稱之為相移。相移在低速變化數(shù)據(jù)上顯現(xiàn)的問題不是很明顯,比如溫度最快每分鐘上升2度,影響并不明顯,但對(duì)于快速開關(guān)量,則十分致命,這個(gè)很容易理解,如果時(shí)滯1秒,而開關(guān)的變化周期也接近1秒,則會(huì)出現(xiàn)一個(gè)現(xiàn)象,數(shù)據(jù)采集上來是關(guān),實(shí)際現(xiàn)場(chǎng)則是開的,現(xiàn)場(chǎng)與采集值總是相反,如果這時(shí)進(jìn)行控制,就會(huì)發(fā)現(xiàn)控制實(shí)效,關(guān)閉已經(jīng)關(guān)閉的開關(guān)或打開已經(jīng)打開的開關(guān),沒有意義。因此,實(shí)時(shí)數(shù)據(jù)庫不適宜對(duì)快速開關(guān)量的控制。這是一種極端的情況,另一種則是波動(dòng)較快的窄帶控制,意味著必須將被控量控制在一個(gè)較窄的區(qū)域內(nèi),這時(shí)必須考慮
21、時(shí)滯問題,如果時(shí)滯穩(wěn)定,則可以按照控制理論采用抵消時(shí)滯或者前饋的方式獲得較好的控制效果。而如果時(shí)滯變化很大,則通過實(shí)時(shí)數(shù)據(jù)庫之上進(jìn)行的控制則效果不明顯了,很容易失控。講這些不是說實(shí)時(shí)數(shù)據(jù)庫不能用于有控制的場(chǎng)合,知道哪些不適合,才能更加正確地使用實(shí)時(shí)數(shù)據(jù)庫,應(yīng)用好各種適合的場(chǎng)景。談到核心調(diào)度策略,就得講講多線程的核心,很少有實(shí)時(shí)數(shù)據(jù)庫是單線程的,大型實(shí)時(shí)數(shù)據(jù)庫中往往都有線程池,對(duì)于需要實(shí)時(shí)處理讀、寫、采集等任務(wù)的實(shí)時(shí)數(shù)據(jù)庫核心,其調(diào)度策略必須慎重考慮。首先,為難的是往往很難判斷那些任務(wù)的優(yōu)先級(jí)更高。所以實(shí)時(shí)數(shù)據(jù)庫內(nèi)部往往通過判斷位號(hào)的更新周期來間接揣測(cè)任務(wù)的優(yōu)先級(jí)。雖然往往可以讓多個(gè)現(xiàn)成自己競(jìng)爭(zhēng)
22、,但如果某個(gè)位號(hào)的更新周期位1秒,而另一個(gè)的更新周期為10秒,那么,可想而知,應(yīng)用對(duì)1秒更新的實(shí)時(shí)數(shù)據(jù)的實(shí)時(shí)性要求高于10秒的。因此,如果有1秒的為好讀任務(wù)沒有完成,則不執(zhí)行10秒的,對(duì)于CPU數(shù)量小于等待線程數(shù)量的時(shí)候,特別適用。另外,讀即時(shí)值的任務(wù)優(yōu)先級(jí)應(yīng)該高于讀歷時(shí)值的任務(wù),這個(gè)也可想而知的,讀一段歷時(shí)數(shù)據(jù),往往不在乎晚響應(yīng)幾十微秒,而讀實(shí)時(shí)值,則是越實(shí)時(shí)越好。這樣,在實(shí)時(shí)數(shù)據(jù)庫中就形成了一個(gè)內(nèi)核級(jí)的讀隊(duì)列,任務(wù)可以被線程順序執(zhí)行,而如果低優(yōu)先級(jí)的現(xiàn)成得以執(zhí)行的時(shí)候,會(huì)檢查一下是否還有更高優(yōu)先級(jí)的隊(duì)列中需要執(zhí)行,如果有,則讓出時(shí)間片??兹谧尷?,保證更需要實(shí)時(shí)的任務(wù)先完成。對(duì)于寫任務(wù),往往
23、可以和讀任務(wù)并行,但CPU是昂貴資源,如果當(dāng)前CPU被讀占用而耽誤了寫,則不應(yīng)該,因此,寫更重要,排在更高的優(yōu)先級(jí)。那么采集的優(yōu)先級(jí)和讀的優(yōu)先級(jí)誰高呢?如果采集被滯后,那么多個(gè)可能讀同一個(gè)位號(hào)的任務(wù)都將讀到老的數(shù)據(jù),因此,采集往往是一個(gè)與讀優(yōu)先級(jí)的最高優(yōu)先級(jí)相當(dāng)?shù)娜蝿?wù)。具體到不同的實(shí)現(xiàn)者,以上的理論未必被完全的實(shí)現(xiàn),有的小型和中型實(shí)時(shí)數(shù)據(jù)庫甚至根本沒有這些策略的實(shí)現(xiàn),因?yàn)檫\(yùn)行在其上的應(yīng)用也不嚴(yán)格,因此也可以避繁就簡(jiǎn)。呵呵,是不是對(duì)自己實(shí)現(xiàn)一個(gè)實(shí)時(shí)數(shù)據(jù)庫更加有信心了?其實(shí)不那么容易,看這些原理,最重要的是幫助理解,不在于模仿,實(shí)現(xiàn)一個(gè)商用的實(shí)時(shí)數(shù)據(jù)庫是公司的事情,個(gè)人沒有必要將時(shí)間浪費(fèi)到自己實(shí)現(xiàn)
24、上,還是選一個(gè)合適的產(chǎn)品來使用。使用時(shí)通過原理來加深理解。5空-SUPCON核心技術(shù)原理核心壓縮策略接下去結(jié)合p沒有神雖然今+最小壓縮周期最大壓縮周期壓縮偏差貝研究的實(shí)時(shí)數(shù)據(jù)庫壓縮算法,這個(gè)好像挺神秘的,我將,旋轉(zhuǎn)門壓縮算法給予詳細(xì)的講解,撥開云霧見太陽,世上的專利扌秘的事情,只有不耐心的觀眾和不盡心的講師。呵呵。天很疲憊了,但是還是繼續(xù)寫吧,linkman已經(jīng)開始對(duì)我不滿了,呵呵。分忙,但當(dāng)一件事情開始做了以后,就放不下來。這里小跑一下題,(一),關(guān)于實(shí)時(shí)數(shù)據(jù)庫行業(yè)協(xié)會(huì),網(wǎng)站在年底之前肯定預(yù)上線,這是我把它當(dāng)作中心工作之一的。我十分期望等到網(wǎng)站一有,國內(nèi)實(shí)時(shí)數(shù)據(jù)庫行業(yè)的同仁有個(gè)平等交流的場(chǎng)所
25、。(一丿linkman直大心標(biāo)準(zhǔn)的事情,我指的標(biāo)準(zhǔn)是數(shù)據(jù)采集接口的標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)比上層API更加重要,預(yù)計(jì)2007年底2008年初,SUPCON將向協(xié)會(huì)成員發(fā)出第一個(gè)討論稿。言歸正傳了。說到數(shù)據(jù)壓縮,無非有損和無損。無損的一般通過各類近似霍夫曼編碼的方法壓縮數(shù)據(jù),一有損則是采用線性擬合的方法。實(shí)時(shí)數(shù)據(jù)是如此海量,大家真的能用的方法都用上了。無損壓縮不是我講的重點(diǎn),我自己也編寫過這類壓縮工具,zip、rar等等,基本上是這一思路,大家另行搜索來學(xué)習(xí)。這里講的是實(shí)時(shí)數(shù)據(jù)庫中最常用的有損線性擬合算法。擬合方式很多,最著名的無過于OSI的“旋轉(zhuǎn)門”,這個(gè)太著名了,以至于很多用戶都知道。到底旋轉(zhuǎn)門是怎么
26、回事呢?娓娓道來如下:首先講當(dāng)前采集的一個(gè)數(shù)據(jù)位門軸,看著上面的膜片哦,最左下角的就是門軸,然后每新采一個(gè)點(diǎn),就將這個(gè)點(diǎn)和門軸畫一條線,就是所謂的門,當(dāng)再采下一個(gè)點(diǎn)的時(shí)候,就從門軸向新點(diǎn)畫一條線,作為新的門位置,看看,門就“旋轉(zhuǎn)”了一定角度,然后看看從門軸到門邊中所有的點(diǎn)是否都距離門在一個(gè)閾值內(nèi),如果是,也就是說可以用兩點(diǎn)一線的門擬合中間若干點(diǎn),顯然壓縮掉了大量數(shù)據(jù)。如果不行了,則將原來與門軸組成門的那個(gè)點(diǎn)記錄下來(此點(diǎn)將寫入歷時(shí)數(shù)據(jù)庫),然后將此點(diǎn)作為新的門軸,以此門軸與最新的點(diǎn)構(gòu)成新的門。這顯然是一個(gè)迭代算法,而且好處是明顯的,這樣計(jì)算,涉及到的乘除法很少,效率應(yīng)該較高。所以PI一直用這個(gè)
27、算法作為其核心壓縮算法。SUPCON采取了最小二次擬合的方法,原因是現(xiàn)在的計(jì)算機(jī)浮點(diǎn)能力大大增強(qiáng),同時(shí)發(fā)現(xiàn)最小二次線性擬合的方法的迭代算法運(yùn)算量也很小。效果和效率都很好。因此申請(qǐng)了專利。國內(nèi)很多實(shí)時(shí)數(shù)據(jù)庫迄今沒有自己的算法,仍然侵犯著PI的專利,呵呵。不過這也沒有什么,OSI不計(jì)較,它在國內(nèi)沒有申請(qǐng)旋轉(zhuǎn)門的專利,因此“旋轉(zhuǎn)門”是一個(gè)很好的教材。所有的有損壓縮算法基本類似,有的數(shù)據(jù)庫還將無損和有損兩種結(jié)合起來,即先有損壓縮,然后再無損壓縮,最終保存壓縮結(jié)果,這樣查詢歷時(shí)數(shù)據(jù)的時(shí)候多了解壓過程,速度會(huì)進(jìn)一步降低,但空間也進(jìn)一步節(jié)省。壓縮是雙刃劍。我特別告訴大家,千萬不要相信某些產(chǎn)品宣揚(yáng)自己的壓縮比如何高,通過以上原理知道,壓縮比高的原因就是因?yàn)殚撝荡?,閾值大,損失就多,得到的趨勢(shì)反應(yīng)的細(xì)節(jié)就少。一般實(shí)際應(yīng)用,流程工業(yè)采用10:1的壓縮很合適,超過此數(shù)據(jù),會(huì)發(fā)現(xiàn)大量有用的細(xì)節(jié)都不見了。這樣方法也是一種低通濾波,低通濾波伴隨著時(shí)滯增大,因此不要迷信。呵呵。掌握原理,合理設(shè)定壓縮閾值,才是最好的方法。實(shí)際上,實(shí)時(shí)數(shù)據(jù)庫中也使用了大量的索引技術(shù),絕對(duì)不是關(guān)系數(shù)據(jù)庫的專利,因此,接下去將講講索引技術(shù):5空*SUPCON核心技術(shù)原理索引技術(shù)位號(hào)名索引一哈希表位號(hào)句柄一快速索引時(shí)間戳索引位號(hào)分組索引做工控和自動(dòng)化這行,年底特別緊張,因此博
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校教學(xué)成果表格
- 農(nóng)學(xué)作物種植技術(shù)測(cè)試題及答案解析
- 高效辦公數(shù)字化解決方案實(shí)踐指南
- 財(cái)務(wù)人員擔(dān)保協(xié)議書
- 水資源智能監(jiān)控與管理合同
- 金融科技反欺詐技術(shù)合作協(xié)議
- 基于人工智能的智能種植管理系統(tǒng)優(yōu)化實(shí)踐
- 月子中心月嫂服務(wù)合同
- 建筑裝修行業(yè)施工安全責(zé)任書
- 西方童話格林童話讀后感和兒童成長影響
- 智能割草機(jī)器人的概述外文翻譯
- 井下作業(yè)工:初級(jí)井下作業(yè)工考試答案二
- 學(xué)生心理健康一生一策檔案模板
- 《胸外按壓》課件
- 2024屆南通二模(又蘇北七市二模)數(shù)學(xué)試題
- 北師大版六年級(jí)下冊(cè)書法練習(xí)指導(dǎo)教案教學(xué)設(shè)計(jì)
- 江西省南昌市2024屆高三一模語文試題及答案解析
- 2023年小學(xué)音樂2022版新課程標(biāo)準(zhǔn)考試測(cè)試題及答案(共五套)
- 第一章村集體經(jīng)濟(jì)組織會(huì)計(jì)制度講解
- 湖北煙草公司招聘考試真題
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
評(píng)論
0/150
提交評(píng)論