當前位置:機電之家首頁 >> PLC技術(shù)>> plc應用 >> ab plc應用 >> AB FThistorian 數(shù)據(jù)存儲機制揭秘
AB FThistorian 數(shù)據(jù)存儲機制揭秘

     FThistorian是如何存儲歷史數(shù)據(jù)的。例如,在FThistorian存儲一條32位浮點型的變量的記錄平均只需5個字節(jié),客戶就很難想明白FThistorian是怎么做到的。因為一條記錄至少需要包含三個字段VQT(V:Value,指變量值;Q:Quality,指數(shù)據(jù)質(zhì)量;T:Timestamp,指變量值對應的時間戳),對于32位浮點型變量而言,變量值V就需要4個字節(jié)存儲,這就意味著Q和T平均只占用一個字節(jié),這幾乎不可能,但是FThistorian做到了,接下來我們就來具體看看FThistorian是如何做到這點的。
    首先簡單介紹一下FThistorian的歷史數(shù)據(jù)文件的基本格式,F(xiàn)Thistorian的歷史數(shù)據(jù)都存儲在形如piarch.001這樣的數(shù)據(jù)文件中,與之相對應的還有一個形如piarch.001.ann這樣的文件,后者是用來存儲針對變量記錄的注釋用的,一般很少使用,我也未做分析。對于形如piarch.001這樣的數(shù)據(jù)文件內(nèi)部,PI采用的是分塊(分頁)的管理方式,每塊(頁)的大小為1024字節(jié),這實質(zhì)上隱含限制了一條變量記錄的長度是不可能超過1000字節(jié)的。頁從文件開頭開始編號,第一個頁號為0,用于存儲跟文件相關(guān)的信息。之后的頁就用于存儲變量歷史數(shù)據(jù),每個變量初始被分配一個頁用于存儲數(shù)據(jù),隨著記錄的追加,更多的頁被分配給變量,當頁數(shù)多余3時(根據(jù)我的觀察)時,F(xiàn)Thistorian采用如下的數(shù)據(jù)結(jié)構(gòu)來組織變量數(shù)據(jù)。FThistorian采用的是一種兩層的簡單存儲結(jié)構(gòu),而不是大家通常想象的多層樹型結(jié)構(gòu)(例如B+樹)。每一層相鄰的兩個頁之間是互相鏈接在一起的,同時葉子節(jié)點(記錄節(jié)點)也維護到父節(jié)點(索引節(jié)點)的反向引用指針。在索引節(jié)點上存儲的記錄是每個記錄節(jié)點的起始時間和對應的頁號。這樣的存儲結(jié)構(gòu)有什么優(yōu)點、有什么缺點,相信大家都是一目了然,我就不多說了。
    接下來說說每個頁(塊)內(nèi)的數(shù)據(jù)組織,前面已經(jīng)說過每個頁的大小為1024字節(jié),除去30字節(jié)左右的固定頁頭(不同數(shù)據(jù)類型的頁頭會有細微差別,但都包含以下信息:變量ID、當前頁號、上一頁號、下一頁號、父頁號、是否為索引節(jié)點標志、記錄條數(shù)、起始時間戳等),每個頁用于存儲歷史數(shù)據(jù)的有效空間為990個字節(jié)左右。
    對于歷史記錄的存儲,F(xiàn)Thistorian最核心的理念就是“不顧一切的盡可能縮減存儲記錄所需要的磁盤空間并滿足運行穩(wěn)定性”。
作者:未知 點擊:364次 [打印] [關(guān)閉] [返回頂部]
本文標簽:AB FThistorian 數(shù)據(jù)存儲機制揭秘
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《AB FThistorian 數(shù)據(jù)存儲機制揭秘》相關(guān)權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

趙焱 【求購】  電氣溫控閥  2025-11-28
張揚瓊 【求購】  ABB火檢...  2025-11-27
張雪根 【求購】  固體除垢劑  2025-11-26
趙經(jīng)理 【求購】  變壓器  2025-11-26
羅經(jīng)理 【求購】  巡邏車跟蹤...  2025-11-26
趙經(jīng)理 【求購】  柴油發(fā)電機  2025-11-26
沈雙 【求購】  柴油過濾紙  2025-11-26
陳經(jīng)理 【求購】  濰柴船用發(fā)...  2025-11-26
VIP公司推薦