《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 解決方案 > 世紀(jì)星的數(shù)據(jù)存儲策略

世紀(jì)星的數(shù)據(jù)存儲策略

2010-11-08
作者:徐向農(nóng)

  隨著組態(tài)軟件在各行業(yè)的應(yīng)用越來越廣泛,了解和使用組態(tài)軟件的人越來越多,同時(shí)對組態(tài)軟件各方面的功能要求也越來越高。


  一般,組態(tài)軟件在實(shí)際應(yīng)用中都會用到幾個(gè)基本功能,比如數(shù)據(jù)采集、實(shí)時(shí)數(shù)據(jù)展示、報(bào)警、報(bào)表等,而歷史數(shù)據(jù)存儲更是必不可少。通過自動記錄下系統(tǒng)運(yùn)行時(shí)的數(shù)據(jù)變化,可以對以后的事故分析,趨勢統(tǒng)計(jì)提供必要的數(shù)據(jù)來源,大大提高系統(tǒng)運(yùn)行的穩(wěn)定性,減少出現(xiàn)生產(chǎn)事故的機(jī)會。


  目前市面上組態(tài)軟件種類繁多,采用的存儲策略不盡相同,有采用外部數(shù)據(jù)庫作為歷史庫,這種方式具有功能強(qiáng)大、運(yùn)行穩(wěn)定的優(yōu)點(diǎn),但缺點(diǎn)也非常很明顯,運(yùn)行速度慢、占用空間大、軟件集成性不好等。因此很多公司都自己開發(fā)歷史數(shù)據(jù)存儲功能,開發(fā)的歷史庫不僅具有速度快、占用空間小的優(yōu)點(diǎn),而且保密性較好,不像通用數(shù)據(jù)庫可以隨便打開。


  世紀(jì)星組態(tài)軟件也是使用獨(dú)立開發(fā)的歷史庫。為保證歷史數(shù)據(jù)存儲速度快、占用空間小,世紀(jì)星組態(tài)軟件主要采用以下三種方案。


  第一種是盡量減少數(shù)據(jù)存儲量,從根本上降低對歷史數(shù)據(jù)庫的要求。


  組態(tài)軟件記錄的數(shù)據(jù)都是現(xiàn)場采集上來的各種參量,比如溫度、壓力等,需要保存的信息包括變量標(biāo)識、值和精確到毫秒的時(shí)間。為達(dá)到減小存儲量的目的,世紀(jì)星采用兩個(gè)方法:


  一是以存儲變量ID代替存儲變量名,這是顯而易見的道理,變量ID以4個(gè)字節(jié)表示,而變量名通常都會超過4個(gè)字節(jié)。在盡量減小存儲空間的前提下,當(dāng)然要選擇以變量ID代替變量名進(jìn)行保存。


  二就是記錄時(shí)間的方法,每一個(gè)變量都需要記錄一個(gè)精確到毫秒的時(shí)間。時(shí)間的存儲也可以有多種方式,以字符串方式保存、以一個(gè)長整數(shù)來保存等等。有些人可能不清楚如何以一個(gè)長整數(shù)來保存時(shí)間,只需要一個(gè)特定的換算方法換算一下即可。當(dāng)然,以長整數(shù)來保存時(shí)間會減小存儲量,這里還有一個(gè)問題,一個(gè)長整數(shù)是無法保存包括年、月、日、小時(shí)、分鐘、秒、毫秒所有這些值,在世紀(jì)星中采用的辦法是以日期作為歷史數(shù)據(jù)文件的名稱,這樣在文件中的時(shí)間只要表示小時(shí)、分鐘、秒、毫秒就沒問題了。


  第二種就是建立索引。這個(gè)方法在通用數(shù)據(jù)庫中也被廣泛的使用,但由于工控行業(yè)有其自己的特殊性,比如數(shù)據(jù)都是定時(shí)存儲,數(shù)據(jù)在文件中的位置順序有規(guī)律,因此這種建立索引的方法更能發(fā)揮巨大的作用。

  世紀(jì)星組態(tài)軟件的工程中保存兩種類型的歷史文件,一種以IDX結(jié)尾的索引文件,一種以LGH結(jié)尾的數(shù)據(jù)文件。在IDX文件中以分鐘為最小單元,記錄歷史數(shù)據(jù)在LGH文件中的確定位置。查詢數(shù)據(jù)時(shí),根據(jù)使用者提供的查詢時(shí)間,能夠很快的在IDX文件中確定數(shù)據(jù)的確切位置,無視LGH數(shù)據(jù)文件的大小,達(dá)到快速查詢的目的。

  下圖是數(shù)據(jù)查詢時(shí)的示意圖:

 

  最后一個(gè)策略就是數(shù)據(jù)壓縮。工控行業(yè)有時(shí)候需要保存的數(shù)據(jù)量很大,有時(shí)變化速率在100毫秒以內(nèi),而且需要保存的時(shí)間很長,為保存這些數(shù)據(jù),同時(shí)確保占用空間小,就必須采用數(shù)據(jù)壓縮。世紀(jì)星采用zlib庫提供的壓縮算法,zlib是一種可以免費(fèi)使用的壓縮庫,壓縮效果好,解壓速度快。是目前比較成熟的數(shù)據(jù)壓縮方法。

  采用這三種方法之后,效果顯而易見。經(jīng)過測試,包含1w個(gè)變量的工程,其中4k個(gè)變量每200毫秒記錄一次,在查詢10分鐘的數(shù)據(jù)時(shí)所用時(shí)間不超過200毫秒;查詢4個(gè)小時(shí)的數(shù)據(jù),查詢時(shí)間不超過2秒。

  在實(shí)際應(yīng)用中也會發(fā)現(xiàn)一些不足,比如工程中變量很多,要求存儲的數(shù)據(jù)量很大,這時(shí)歷史文件會很大,即使有索引文件,在查詢時(shí)的速度也會降低。改進(jìn)的方法是可以把一個(gè)文件分成多個(gè),比如變量ID小于5000的數(shù)據(jù)保存成一個(gè)文件,變量ID在5000到10000之間的保存成一個(gè)文件,以此類推,這樣就可以減小文件的規(guī)模,從而提高查詢速度。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 久久综合九色综合网站| 欧美黑人xxxx性高清版| 男女裸体影院高潮| 波多野结衣av无码久久一区| 欧美国产亚洲日韩在线二区| 日韩欧美一区二区三区四区 | 全免费a级毛片免费看| 人妻无码αv中文字幕久久琪琪布| 亚洲成a人片在线网站| 久久亚洲精品成人综合| zmw5app字幕网下载| 老司机精品视频在线| 色多多成视频人在线观看| 特一级黄色毛片| 最近中文字幕mv手机免费高清| 护士与税务干部完整2av| 国外成人免费高清激情视频 | 国模精品一区二区三区视频| 国产女人18毛片水真多18精品| 六月婷婷综合激情| 亚洲另类专区欧美制服| 中文字幕无码人妻aaa片| 91青青草视频| 色婷婷六月亚洲综合香蕉| 波多野结衣在线观看3人| 日韩三级在线免费观看| 天天碰天天摸天天操| 国产大片黄在线观看| 亚洲黄色网址大全| 久久国产成人精品国产成人亚洲 | 欧美一区二区三区久久综| 波多野结衣中文字幕一区| 老司机午夜在线视频免费观| 美妇班主任浑圆硕大| 欧美无人区码卡二三卡四卡| 把水管开水放b里是什么感觉 | 丰满人妻一区二区三区视频53| 99国产精品视频久久久久| 丁香六月久久久| 爽爽爽爽爽爽爽成人免费观看| 日本免费一区二区三区最新|