国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
隨著會(huì)計(jì)的發(fā)展,追蹤碳足跡
CAIAC 2025
2024
工業(yè)智能邊緣計(jì)算2024年會(huì)
2023年工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

一個(gè)實(shí)時(shí)歷史數(shù)據(jù)存儲(chǔ)文件結(jié)構(gòu)的設(shè)計(jì)
  • 企業(yè):控制網(wǎng)     領(lǐng)域:儀器儀表     行業(yè):建筑樓宇    
  • 點(diǎn)擊數(shù):5086     發(fā)布時(shí)間:2008-05-15 22:16:27
  • 分享到:


    張永軍(1981-)
男,碩士研究生,(華北計(jì)算機(jī)系統(tǒng)工程研究所  北京 100101)主要研究方向?yàn)閷?shí)時(shí)數(shù)據(jù)庫,MES。

摘要:實(shí)時(shí)數(shù)據(jù)庫是大數(shù)據(jù)量的應(yīng)用,因此它的存儲(chǔ)方案必須具有很高的讀寫效率。同時(shí)實(shí)時(shí)庫的應(yīng)用要求滿足長期性和魯棒性。但是長期性和魯棒性是相互矛盾的。本文給出了一個(gè)緩和長期性和魯棒性矛盾的實(shí)時(shí)歷史數(shù)據(jù)庫文件系統(tǒng)的解決方案。

關(guān)鍵詞:實(shí)時(shí)數(shù)據(jù)庫;存儲(chǔ);文件系統(tǒng)

Abstract: Real time database is an application of mass data. Therefore, its storage scheme requires not only high efficiency of read and write, but also longtime and robustness. In fact, it is contradictory between longtime and robustness. A solution for real time historical database file system is presented in this paper, which satisfies the said requirements. 

Key words:  Real time database; Storage; File system architecture

1     引言

    現(xiàn)代工業(yè)的飛速發(fā)展,尤其是計(jì)算機(jī)在工業(yè)過程控制中的廣泛應(yīng)用,極大地提高了生產(chǎn)過程的自動(dòng)化程度,同時(shí)也對(duì)工業(yè)監(jiān)控軟件提出了更高的要求。系統(tǒng)一方面需要維護(hù)大量共享數(shù)據(jù)和控制知識(shí);另一方面其應(yīng)用活動(dòng)有很強(qiáng)的時(shí)間性,要求在一定的時(shí)刻和一定的時(shí)間區(qū)段內(nèi)對(duì)外部環(huán)境采集數(shù)據(jù),按彼此間的聯(lián)系存取已獲得的數(shù)據(jù)和處理采集的數(shù)據(jù),再及時(shí)做出響應(yīng)。同時(shí),他們所處理的數(shù)據(jù)往往是“短暫”的,即只在一定的時(shí)間范圍內(nèi)有效,過時(shí)則無意義,所以這種應(yīng)用同時(shí)需要數(shù)據(jù)庫技術(shù)和實(shí)時(shí)數(shù)據(jù)處理技術(shù)。但傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)旨在處理永久性數(shù)據(jù),其設(shè)計(jì)與開發(fā)主要強(qiáng)調(diào)維護(hù)數(shù)據(jù)的完整性、一致性,提高系統(tǒng)的吞吐量和降低系統(tǒng)代價(jià),根本不考慮與數(shù)據(jù)及其處理相關(guān)聯(lián)的定時(shí)限制,因而傳統(tǒng)的商務(wù)和管理事務(wù)型 DBMS 不能滿足這種實(shí)時(shí)應(yīng)用的需求。而傳統(tǒng)的實(shí)時(shí)系統(tǒng)雖然支持處理的定時(shí)限制,但它們典型地是針對(duì)具有簡(jiǎn)單結(jié)構(gòu)與聯(lián)系、穩(wěn)定并且可預(yù)報(bào)的數(shù)據(jù)的要求,不涉及維護(hù)共享數(shù)據(jù)的完整性、一致性。因此,只有將數(shù)據(jù)庫與實(shí)時(shí)系統(tǒng)兩者的概念、技術(shù)、方法與機(jī)制“完善”地集成在一起的實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)才能同時(shí)支持定時(shí)性和一致性要求。

2    實(shí)時(shí)數(shù)據(jù)特點(diǎn)

    由于實(shí)時(shí)數(shù)據(jù)庫與時(shí)間緊密相關(guān),它所存儲(chǔ)的數(shù)據(jù)通常是指那些基于時(shí)間的連續(xù)模擬量或數(shù)字量(例如溫度、壓力、流量、閥門開關(guān)等),這些數(shù)據(jù)有如下四個(gè)鮮明特點(diǎn):

    (1)數(shù)據(jù)量龐大。流程工業(yè)中一套工業(yè)設(shè)備從投入使用到設(shè)備報(bào)廢封存,一般都要經(jīng)歷至少幾十年的運(yùn)行時(shí)間,在運(yùn)行期間需要連續(xù)記錄生產(chǎn)過程中的關(guān)鍵數(shù)據(jù),作為改進(jìn)生產(chǎn)工藝、提高生產(chǎn)效率、監(jiān)視故障信息的重要參考。但是經(jīng)過數(shù)據(jù)長年累月的累積,其龐大程度幾乎難以想象。我們以一個(gè)記錄1000個(gè)歷史記錄點(diǎn)的實(shí)時(shí)歷史數(shù)據(jù)庫為例,假如記錄類型都為浮點(diǎn)型,記錄周期為1秒,該系統(tǒng)運(yùn)行1年大致的數(shù)據(jù)量為:

    8×10000×365×24×3600=2522880000000字節(jié)(約2350G)

    此處歷史記錄保存的信息包括記錄點(diǎn)、記錄值和相應(yīng)的時(shí)間戳,共8字節(jié)。工廠記錄點(diǎn)的多少根據(jù)工廠的規(guī)模而不同,但是一般工廠的采集點(diǎn)都要上萬個(gè)。如此規(guī)模的歷史數(shù)據(jù)庫運(yùn)行幾年后數(shù)據(jù)量會(huì)非常龐大,數(shù)據(jù)庫查詢時(shí)效率也必然很低。

    (2)時(shí)效性:每個(gè)需要記錄的值都與時(shí)間相關(guān),一秒鐘之后的數(shù)據(jù)與一秒鐘之前的數(shù)據(jù)可能就不一樣了。因此,在記錄值的同時(shí)必須通過某種方法將其對(duì)應(yīng)的時(shí)間(時(shí)間戳)也記錄下來。

    (3)存儲(chǔ)格式相對(duì)簡(jiǎn)單、固定和獨(dú)立。雖然從應(yīng)用的角度看,保存的數(shù)據(jù)有I/O整型、實(shí)數(shù)型、離散型、內(nèi)存整型、開關(guān)類型等,但是從技術(shù)實(shí)現(xiàn)的角度看,都可以總結(jié)為1字節(jié),2字節(jié)或者4字節(jié)數(shù)據(jù)三種情況,同時(shí)歷史記錄點(diǎn)之間不存在依存關(guān)系,即不存在類似關(guān)系數(shù)據(jù)庫中數(shù)據(jù)之間錯(cuò)綜復(fù)雜的關(guān)系,所以記錄格式少而固定,沒有復(fù)雜的關(guān)系。

    (4)保存的時(shí)間間隔相差很大。通常在流程工業(yè)現(xiàn)場(chǎng)存在這樣的情況,就是某些記錄點(diǎn)變化頻率非常高,甚至是幾十毫秒變化一次,而有些則是很長一段時(shí)間才會(huì)發(fā)生變化,據(jù)此必然對(duì)實(shí)時(shí)歷史數(shù)據(jù)庫的存儲(chǔ)提出了異樣的保存要求,所以歷史數(shù)據(jù)存儲(chǔ)時(shí)必須統(tǒng)籌兼顧又細(xì)化要求。

    由于數(shù)據(jù)量的龐大性,我們無法將實(shí)時(shí)數(shù)據(jù)全都存到關(guān)系數(shù)據(jù)庫中。即使可以,進(jìn)行實(shí)時(shí)數(shù)據(jù)庫產(chǎn)品開發(fā)后的最終產(chǎn)品受關(guān)系數(shù)據(jù)庫接口的制約,靈活性、效率等無法保證,而且項(xiàng)目實(shí)施成本較高。在此情況下,我們?cè)O(shè)計(jì)了一個(gè)存儲(chǔ)數(shù)據(jù)文件的格式,該數(shù)據(jù)文件可以提高系統(tǒng)運(yùn)行效率和數(shù)據(jù)壓縮率,適應(yīng)復(fù)雜的生產(chǎn)運(yùn)行環(huán)境,具有較好的市場(chǎng)和應(yīng)用前景,同時(shí)能滿足歷史數(shù)據(jù)庫的長期性和魯棒性。下面講闡述該數(shù)據(jù)文件的結(jié)構(gòu)。

3   文件結(jié)構(gòu)

    存儲(chǔ)系統(tǒng)使用兩種類型的文件:“數(shù)據(jù)文件索引文件”(以下簡(jiǎn)稱索引文件)和“數(shù)據(jù)文件”。索引文件只能有一個(gè),它記錄所有數(shù)據(jù)文件的基本信息;數(shù)據(jù)文件可以有多個(gè),它們記錄實(shí)際的生產(chǎn)數(shù)據(jù)。



圖1  文件結(jié)構(gòu)圖

    如上圖所示,索引文件由一些索引項(xiàng)構(gòu)成,每一項(xiàng)對(duì)應(yīng)一個(gè)數(shù)據(jù)文件。索引項(xiàng)中的內(nèi)容包括與其相對(duì)應(yīng)的數(shù)據(jù)文件的路徑、開始時(shí)間和結(jié)束時(shí)間。所有索引項(xiàng)以開始時(shí)間為序排列。在這里對(duì)數(shù)據(jù)文件進(jìn)行詳細(xì)介紹。

    數(shù)據(jù)文件由文件頭、點(diǎn)目錄、數(shù)據(jù)目錄和數(shù)據(jù)區(qū)四部分構(gòu)成

    3.1   文件頭

    文件頭包含此文件的基本信息,結(jié)構(gòu)如圖1所示。



圖2 文件頭結(jié)構(gòu)圖

    3.2   點(diǎn)目錄

    點(diǎn)目錄存儲(chǔ)點(diǎn)在數(shù)據(jù)目錄中的第一項(xiàng)的位置和點(diǎn)類型。為了查找方便,其中的點(diǎn)嚴(yán)格按點(diǎn)id(點(diǎn)的唯一標(biāo)識(shí),一個(gè)整數(shù))排序。每個(gè)點(diǎn)目錄項(xiàng)長8字節(jié)(64位),結(jié)構(gòu)如圖3所示。



圖3

    整個(gè)點(diǎn)目錄就是一個(gè)上述結(jié)構(gòu)的數(shù)組,它能包含的項(xiàng)數(shù)由文件頭的“最大點(diǎn)數(shù)”決定。

   
3.3   數(shù)據(jù)目錄

    數(shù)據(jù)目錄記錄了點(diǎn)使用的所有數(shù)據(jù)片,數(shù)據(jù)區(qū)的最小分配單元,詳見數(shù)據(jù)區(qū)),它是由數(shù)據(jù)目錄項(xiàng)構(gòu)成的數(shù)組,每個(gè)數(shù)據(jù)目錄項(xiàng)對(duì)應(yīng)一個(gè)數(shù)據(jù)片,其大小也占用8字節(jié),結(jié)構(gòu)如圖4所示



圖4

    其中,開始時(shí)間是它所對(duì)應(yīng)的數(shù)據(jù)片的開始時(shí)間,這是一個(gè)相對(duì)于文件頭中的“開始時(shí)間”的值,以秒、0.1秒或0.01秒為單位。下一項(xiàng)索引是同一個(gè)點(diǎn)使用的下一個(gè)數(shù)據(jù)目錄項(xiàng)的索引。這樣,每個(gè)點(diǎn)使用的所有數(shù)據(jù)目錄項(xiàng)構(gòu)成了一個(gè)鏈表。

    數(shù)據(jù)區(qū)是真正保存歷史數(shù)據(jù)的位置,為提高讀寫效率,將它劃分為大小相等的數(shù)據(jù)片,根據(jù)實(shí)際效率測(cè)試結(jié)果,片的大小可取1024、2048、4096等值(后文的討論以2048字節(jié)為例),但應(yīng)保證其大小是磁盤扇區(qū)大小的整數(shù)倍。數(shù)據(jù)區(qū)的分配以片為單位。下圖說明了點(diǎn)目錄、數(shù)據(jù)目錄和數(shù)據(jù)片之間的關(guān)系。



圖5  數(shù)據(jù)區(qū)結(jié)構(gòu)圖

    如圖5所示,數(shù)據(jù)目錄項(xiàng)和數(shù)據(jù)片具有一一對(duì)應(yīng)的關(guān)系,第n個(gè)數(shù)據(jù)目錄項(xiàng)對(duì)應(yīng)的就是第n個(gè)數(shù)據(jù)片。點(diǎn)3的第一個(gè)數(shù)據(jù)目錄項(xiàng)是6,第二個(gè)數(shù)據(jù)目錄項(xiàng)是101,所以它使用的數(shù)據(jù)片也是第6片和第101片;同理,點(diǎn)5使用的數(shù)據(jù)片是8、103和105。

    當(dāng)某個(gè)點(diǎn)需要一個(gè)新的數(shù)據(jù)片時(shí),分配給它的總是當(dāng)前使用的最后一個(gè)數(shù)據(jù)片的下一個(gè),如圖6所示。
圖6中每個(gè)小格代表一個(gè)數(shù)據(jù)片,一開始,點(diǎn)1—5分別使用數(shù)據(jù)片1—5;一段時(shí)間之后,點(diǎn)2的數(shù)據(jù)寫滿了2號(hào)數(shù)據(jù)片,這時(shí)就必須給它分配新的數(shù)據(jù)片,而分配給它的將是6號(hào)數(shù)據(jù)片;又過一段時(shí)間,點(diǎn)5也需要新的數(shù)據(jù)片了,這時(shí)將分配給它7號(hào)數(shù)據(jù)片。



圖6

    從圖6中也可以發(fā)現(xiàn),同一個(gè)時(shí)間段內(nèi),點(diǎn)2寫的數(shù)據(jù)量最大,點(diǎn)5次之,點(diǎn)1、3、4則相對(duì)較少。我們把單位時(shí)間內(nèi)一個(gè)點(diǎn)寫的數(shù)據(jù)量稱為點(diǎn)的速度,簡(jiǎn)稱點(diǎn)速。同一個(gè)點(diǎn)在不同時(shí)刻的點(diǎn)速也是不一樣的,但總體上看,當(dāng)點(diǎn)數(shù)達(dá)到一定的規(guī)模以后,所有點(diǎn)的點(diǎn)速將呈正態(tài)分布。



圖7

    圖7是數(shù)據(jù)片中的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu):

    開始時(shí)間是一個(gè)絕對(duì)時(shí)間,本數(shù)據(jù)片中的所有數(shù)據(jù)的時(shí)間戳都晚于它。它的取值有兩個(gè)選擇,一是上一個(gè)數(shù)據(jù)片最后一個(gè)數(shù)據(jù)的時(shí)間,一是本數(shù)據(jù)片第一個(gè)數(shù)據(jù)的時(shí)間,為了查詢時(shí)的方便,選擇前者。數(shù)據(jù)片存儲(chǔ)“上一片的最后一個(gè)數(shù)據(jù)”也是為了特殊情況的查詢方便。特別的,如果沒有上一個(gè)數(shù)據(jù)片,則開始時(shí)間為本片的第一個(gè)數(shù)據(jù)的時(shí)間,“上一片的最后一個(gè)數(shù)據(jù)”的質(zhì)量字段將被置為invalid(無效)。

4   二級(jí)索引文件管理

    文件結(jié)構(gòu)設(shè)計(jì)好之后,文件的存儲(chǔ)管理又是一個(gè)問題。因?yàn)樵谖募褂煤凸芾碇校瑢?duì)于一個(gè)包含大量文件的文件夾,在打開的時(shí)候要消耗很長時(shí)間,而只有少量文件的文件夾在打開的時(shí)候需要的時(shí)間幾乎可以忽略。嘗試打開一個(gè)包含有10000個(gè)文件(每個(gè)文件大小為10M)的文件夾,打開所需的時(shí)間在10秒鐘以上,而一個(gè)只有10個(gè)文件的文件夾,打開的時(shí)間少于0.5秒鐘。從直觀的角度上看,一個(gè)目錄的文件過多會(huì)嚴(yán)重影響系統(tǒng)的訪問性能,因此有必要將大量的文件建立子目錄進(jìn)行存儲(chǔ)。

    我們?cè)O(shè)定系統(tǒng)中的數(shù)據(jù)文件(每個(gè)文件大小固定為10M)為10000個(gè),從測(cè)試效果上對(duì)這個(gè)問題給出確定性答案,并研究在實(shí)時(shí)歷史數(shù)據(jù)庫中可以采用的有實(shí)際意義的分配方案。由于文件總數(shù)是一定的,因而可以說我們的研究是建立在對(duì)不同目錄級(jí)數(shù)的比較之上,為了方便,將一個(gè)目錄下存儲(chǔ)10000個(gè)文件稱為單級(jí)目錄方案,而分成若100個(gè)子目錄存儲(chǔ)則稱為二級(jí)目錄方案(每個(gè)子目錄存儲(chǔ)10個(gè)文件)。表1為兩種存儲(chǔ)情況下查找一個(gè)文件的時(shí)間。

    表1 單級(jí)和二級(jí)目錄查詢時(shí)間比較

    從對(duì)比中我們可以清晰的看出,兩級(jí)目錄在同樣條件下,相比與根目錄下的文件訪問速度有很大的優(yōu)勢(shì)。而多級(jí)目錄的組織原則如下(設(shè)單級(jí)目錄為A):

    (1)當(dāng)A文件大小不超過1簇(在FAT32文件系統(tǒng)中,存儲(chǔ)的單位是扇區(qū),每一個(gè)扇區(qū)的大小是固定的512字節(jié),若干個(gè)扇區(qū)組成一個(gè)簇,每個(gè)簇可以包含的扇區(qū)數(shù)必須是2的整數(shù)次方,這樣簇的大小可以是512B,1k,2k,4k,8k,16k,32k或者64k其中之一)的時(shí)候,是不需要設(shè)立子目錄的,所有的文件在一簇空間之內(nèi)都可以訪問到;

    (2)當(dāng)A的文件大小超過1簇的時(shí)候,若設(shè)立子目錄,則所有項(xiàng)都需要通過兩級(jí)目錄才能 夠訪問,其對(duì)硬盤的平均訪問次數(shù)為2。 若不設(shè)立子目錄,則A的目錄文件就需要分配新的簇,若A的目錄文件共需要N個(gè)簇,對(duì)文件的訪問遵從平均分布,則硬盤的平均訪問次數(shù)T為:T=1×1/N+2×1/N+3×1/N+…+N×1/N,

    令T=2,對(duì)這個(gè)關(guān)于N的函數(shù)求解得N=3。也就是說,在A的目錄文件總共需要3個(gè)簇的時(shí)候,其平均硬盤訪問次數(shù)達(dá)到2, 而在此之前,單級(jí)目錄的效率會(huì)更高一些。對(duì)于大小為16KB的簇,當(dāng)存儲(chǔ)名字不超過13個(gè)字符的文件時(shí),目錄文件為3簇大小的時(shí)候,其目錄下一共有1024×16×3/(32×2) =768個(gè)文件。二級(jí)索引結(jié)構(gòu)如圖8所示。



圖8   二級(jí)索引結(jié)構(gòu)

5   結(jié)論

    本文給出了一個(gè)實(shí)時(shí)數(shù)據(jù)庫存儲(chǔ)文件的實(shí)現(xiàn)方案,該方案可以提高實(shí)時(shí)數(shù)據(jù)庫中歷史數(shù)據(jù)庫的存取速度,該方案已經(jīng)在和利時(shí)的實(shí)時(shí)數(shù)據(jù)庫HIRIS中得到應(yīng)用,取得了不錯(cuò)的效果。

其他作者:

    劉   波(華北計(jì)算機(jī)系統(tǒng)工程研究所  北京 100101)

參考文獻(xiàn):

    [1] Ben Kao、Hector Garcia-Molina:AN OVERVIEW OF REAL-TIME DATABASE SYSTEMS.

    [2] 劉云生.現(xiàn)代數(shù)據(jù)庫技術(shù).國防工業(yè)出版社,2001.

    [3] [美」Raghu Ramakrishnan著,周立柱,張志強(qiáng)等譯.數(shù)據(jù)庫管理系統(tǒng)原理與設(shè)計(jì).清華大學(xué)出版社,2004.

    [4] 馬國華.實(shí)時(shí)數(shù)據(jù)庫及其管理系統(tǒng),自動(dòng)化博覽,2002,(5).

    [5] 周東球等.先進(jìn)控制軟件系統(tǒng)實(shí)時(shí)數(shù)據(jù)庫的設(shè)計(jì),自動(dòng)化博覽,2002,(7).

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 国产永久免费视频m3u8 | 日韩永久在线观看免费视频 | 亚洲综合无码一区二区 | 一个人看的免费观看日本视频www | 一级毛片aaaaaa视频免费看 | 日韩成人一级 | 国产乱理片在线观看夜 | 自拍 欧美 在线 综合 另类 | 一级做a爰全过程免费视频毛片 | 午夜三级理论在线观看视频 | 五月久久亚洲七七综合中文网 | 欧美叫床戏做爰无遮挡 | 狼伊千合综网中文 | 亚洲综合亚洲 | 成人亚洲欧美日韩中文字幕 | 国产一区二区成人 | 久草视频网址 | 欧美色综合高清视频在线 | 性做久久久久久 | 国产日韩欧美一区二区 | 成人综合在线视频 | 免费视频久久久 | 波多野结衣在线播放 | 韩国免费特一级毛片 | 综合久久久久久中文字幕 | 日韩精品亚洲专区在线观看 | 欧美大片毛片大片 | 欧美成人三级伦在线观看 | 成人午夜性视频欧美成人 | 亚洲日韩精品欧美一区二区一 | 国产在线综合一区二区三区 | 欧美另类videosgrstv变态 欧美另类高清xxxxx | 波多野结衣一区二区在线 | 在线色网址 | 国产成人18黄网站在线观看网站 | 成人欧美视频在线观看 | 黑人一级黄色片 | 成人国产欧美精品一区二区 | 欧美午夜伦y4480私人影院 | 99精品视频在线观看免费 | 毛片毛片毛是个毛毛片 |