《電子技術應用》
您所在的位置:首頁 > 其他 > 解決方案 > 世紀星的數據存儲策略

世紀星的數據存儲策略

2010-11-08
作者:徐向農

  隨著組態軟件在各行業的應用越來越廣泛,了解和使用組態軟件的人越來越多,同時對組態軟件各方面的功能要求也越來越高。


  一般,組態軟件在實際應用中都會用到幾個基本功能,比如數據采集、實時數據展示、報警、報表等,而歷史數據存儲更是必不可少。通過自動記錄下系統運行時的數據變化,可以對以后的事故分析,趨勢統計提供必要的數據來源,大大提高系統運行的穩定性,減少出現生產事故的機會。


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


  世紀星組態軟件也是使用獨立開發的歷史庫。為保證歷史數據存儲速度快、占用空間小,世紀星組態軟件主要采用以下三種方案。


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


  組態軟件記錄的數據都是現場采集上來的各種參量,比如溫度、壓力等,需要保存的信息包括變量標識、值和精確到毫秒的時間。為達到減小存儲量的目的,世紀星采用兩個方法:


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


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


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

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

  下圖是數據查詢時的示意圖:

 

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

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

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

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 二区三区在线观看| 四虎国产精品永免费| 99精品国产在热久久| 日本最新免费二区| 亚洲欧美综合国产精品一区| 美国一级毛片在线观看| 国产无遮挡又黄又爽免费网站 | 久久人人爽人人爽大片aw| 污污的视频在线播放| 吃奶摸下激烈视频无遮挡| 国产精品嫩草影院人体模特| 在线中文字幕网| 一级毛片人与动免费观看| 日本欧美大码aⅴ在线播放| 亚洲国产成人高清在线观看 | 国语自产精品视频在线区| 两根硕大一起挤进小h| 日韩a级无码免费视频| 亚洲国产成人高清在线观看| 狠狠久久精品中文字幕无码| 四虎影院wwww| 麻豆一二三四区乱码| 国产精品入口麻豆电影网| AV无码久久久久久不卡网站| 成人午夜免费视频免费看| 久久久久波多野结衣高潮| 朝鲜女**又多又黑毛片全免播放| 亚洲熟妇AV乱码在线观看| 男插女高潮一区二区| 啊灬啊别停灬用力啊呻吟| 香蕉视频在线观看网站| 国产精品久久久久久久久| 91麻豆精品激情在线观看最新| 娇妻第一次被多p| 中文字幕人妻三级中文无码视频| 日韩日韩日韩日韩日韩| 亚洲丰满熟女一区二区v| 欧美特黄视频在线观看| 亚洲色中文字幕在线播放| 第三种爱情免费完整版观看| 四虎免费久久影院|