日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

最新廣告
關注中國自動化產業發展的先行者!
工業智能邊緣計算2025年會
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

一個實時歷史數據存儲文件結構的設計
  • 企業:控制網     領域:儀器儀表     行業:建筑樓宇    
  • 點擊數:5222     發布時間:2008-05-15 22:16:27
  • 分享到:


    張永軍(1981-)
男,碩士研究生,(華北計算機系統工程研究所  北京 100101)主要研究方向為實時數據庫,MES。

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

關鍵詞:實時數據庫;存儲;文件系統

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     引言

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

2    實時數據特點

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

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

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

    此處歷史記錄保存的信息包括記錄點、記錄值和相應的時間戳,共8字節。工廠記錄點的多少根據工廠的規模而不同,但是一般工廠的采集點都要上萬個。如此規模的歷史數據庫運行幾年后數據量會非常龐大,數據庫查詢時效率也必然很低。

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

    (3)存儲格式相對簡單、固定和獨立。雖然從應用的角度看,保存的數據有I/O整型、實數型、離散型、內存整型、開關類型等,但是從技術實現的角度看,都可以總結為1字節,2字節或者4字節數據三種情況,同時歷史記錄點之間不存在依存關系,即不存在類似關系數據庫中數據之間錯綜復雜的關系,所以記錄格式少而固定,沒有復雜的關系。

    (4)保存的時間間隔相差很大。通常在流程工業現場存在這樣的情況,就是某些記錄點變化頻率非常高,甚至是幾十毫秒變化一次,而有些則是很長一段時間才會發生變化,據此必然對實時歷史數據庫的存儲提出了異樣的保存要求,所以歷史數據存儲時必須統籌兼顧又細化要求。

    由于數據量的龐大性,我們無法將實時數據全都存到關系數據庫中。即使可以,進行實時數據庫產品開發后的最終產品受關系數據庫接口的制約,靈活性、效率等無法保證,而且項目實施成本較高。在此情況下,我們設計了一個存儲數據文件的格式,該數據文件可以提高系統運行效率和數據壓縮率,適應復雜的生產運行環境,具有較好的市場和應用前景,同時能滿足歷史數據庫的長期性和魯棒性。下面講闡述該數據文件的結構。

3   文件結構

    存儲系統使用兩種類型的文件:“數據文件索引文件”(以下簡稱索引文件)和“數據文件”。索引文件只能有一個,它記錄所有數據文件的基本信息;數據文件可以有多個,它們記錄實際的生產數據。



圖1  文件結構圖

    如上圖所示,索引文件由一些索引項構成,每一項對應一個數據文件。索引項中的內容包括與其相對應的數據文件的路徑、開始時間和結束時間。所有索引項以開始時間為序排列。在這里對數據文件進行詳細介紹。

    數據文件由文件頭、點目錄、數據目錄和數據區四部分構成

    3.1   文件頭

    文件頭包含此文件的基本信息,結構如圖1所示。



圖2 文件頭結構圖

    3.2   點目錄

    點目錄存儲點在數據目錄中的第一項的位置和點類型。為了查找方便,其中的點嚴格按點id(點的唯一標識,一個整數)排序。每個點目錄項長8字節(64位),結構如圖3所示。



圖3

    整個點目錄就是一個上述結構的數組,它能包含的項數由文件頭的“最大點數”決定。

   
3.3   數據目錄

    數據目錄記錄了點使用的所有數據片,數據區的最小分配單元,詳見數據區),它是由數據目錄項構成的數組,每個數據目錄項對應一個數據片,其大小也占用8字節,結構如圖4所示



圖4

    其中,開始時間是它所對應的數據片的開始時間,這是一個相對于文件頭中的“開始時間”的值,以秒、0.1秒或0.01秒為單位。下一項索引是同一個點使用的下一個數據目錄項的索引。這樣,每個點使用的所有數據目錄項構成了一個鏈表。

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



圖5  數據區結構圖

    如圖5所示,數據目錄項和數據片具有一一對應的關系,第n個數據目錄項對應的就是第n個數據片。點3的第一個數據目錄項是6,第二個數據目錄項是101,所以它使用的數據片也是第6片和第101片;同理,點5使用的數據片是8、103和105。

    當某個點需要一個新的數據片時,分配給它的總是當前使用的最后一個數據片的下一個,如圖6所示。
圖6中每個小格代表一個數據片,一開始,點1—5分別使用數據片1—5;一段時間之后,點2的數據寫滿了2號數據片,這時就必須給它分配新的數據片,而分配給它的將是6號數據片;又過一段時間,點5也需要新的數據片了,這時將分配給它7號數據片。



圖6

    從圖6中也可以發現,同一個時間段內,點2寫的數據量最大,點5次之,點1、3、4則相對較少。我們把單位時間內一個點寫的數據量稱為點的速度,簡稱點速。同一個點在不同時刻的點速也是不一樣的,但總體上看,當點數達到一定的規模以后,所有點的點速將呈正態分布。



圖7

    圖7是數據片中的數據存儲結構:

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

4   二級索引文件管理

    文件結構設計好之后,文件的存儲管理又是一個問題。因為在文件使用和管理中,對于一個包含大量文件的文件夾,在打開的時候要消耗很長時間,而只有少量文件的文件夾在打開的時候需要的時間幾乎可以忽略。嘗試打開一個包含有10000個文件(每個文件大小為10M)的文件夾,打開所需的時間在10秒鐘以上,而一個只有10個文件的文件夾,打開的時間少于0.5秒鐘。從直觀的角度上看,一個目錄的文件過多會嚴重影響系統的訪問性能,因此有必要將大量的文件建立子目錄進行存儲。

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

    表1 單級和二級目錄查詢時間比較

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

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

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

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



圖8   二級索引結構

5   結論

    本文給出了一個實時數據庫存儲文件的實現方案,該方案可以提高實時數據庫中歷史數據庫的存取速度,該方案已經在和利時的實時數據庫HIRIS中得到應用,取得了不錯的效果。

其他作者:

    劉   波(華北計算機系統工程研究所  北京 100101)

參考文獻:

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

    [2] 劉云生.現代數據庫技術.國防工業出版社,2001.

    [3] [美」Raghu Ramakrishnan著,周立柱,張志強等譯.數據庫管理系統原理與設計.清華大學出版社,2004.

    [4] 馬國華.實時數據庫及其管理系統,自動化博覽,2002,(5).

    [5] 周東球等.先進控制軟件系統實時數據庫的設計,自動化博覽,2002,(7).

熱點新聞

推薦產品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 五月天婷婷缴情五月免费观看,久久综合热,高清中国一级毛片免费,国产一级高清免费观看,普通话对白国产精品一级毛片,日韩在线不卡视频 | 国产一级一级一级成人毛片-国产一级一级片-国产一级网站-国产一级特黄在线播放-午夜影院一区二区三区-午夜影院小视频 | 五月婷婷六月丁香,国产免费高清mv视频在线观看,久久青草18免费观看网站,欧美一级爱爱,色青五月天,国产欧美另类久久精品91 | 欧美一级视频精品观看-欧美一级三级-欧美一级日韩一级亚洲一级va-欧美一级日韩一级亚洲一级-中文字幕精品一区-中文字幕精品视频在线观看 | 午夜国产小视频-午夜国产视频-午夜国产情侣拍视频-午夜国产精品影院在线观看-国产日产高清欧美一区二区三区-国产日本在线视频 | 国产内射大片-国产男人午夜视频在线观看-国产免费一级片-国产免费一级精品视频-国产免费网站看v片元遮挡-国产免费久久爱久久啪 | 亚洲精品在线观看视频-亚洲精品在线观看-亚洲精品在线第一页-亚洲精品在线播放视频-护士伦理-护士撩起裙子让你桶的视频 | 在线免费观看国产精品,日韩经典在线,香蕉久久网,爽妇网s,国内在线观看精品免费视频,欧美另类图片亚洲偷 | 日韩伦理在线-日韩伦理片-日韩久久网-日韩精选-日韩精品综合-日韩精品资源 | 手机看片福利永久国产日韩-手机看片369-手机精品在线-手机国产乱子伦精品视频-国产精品嫩草影院在线观看免费-国产精品嫩草影院在线播放 | 欧洲免费极品videos-欧洲美女高清一级毛片-欧洲精品欧美精品-欧洲精品不卡1卡2卡三卡四卡-中午字幕在线观看-中文字日产幕码三区的做法大全 | 久久久久久久久国产-久久久久久久久97-久久久久久久国产视频-久久久久久久国产精品影院-午夜精-午夜寂寞院 | 欧美日日操,日日爱网站,99久久久久久久,日本高清不卡免费,久久免费观看国产精品,秋霞在线观看视频一区二区三区 | 国产精品视频视频久久-国产精品视频全国免费观看-国产精品视频区-国产精品视频免费视频-四虎国产精品永免费-四虎国产精品永久在线播放 | 欧美日韩一区二区三区在线观看-欧美日韩一区二区三区在线播放-欧美日韩一区二区三区在线-欧美日韩一区二区三区四区-欧美日韩一区二区三区视视频-欧美日韩一区二区三区视频播 | www五月天,国产精品视频网站你懂得,精品国产你懂的在线观看,久久伊人成人,国产精品黄页网站在线播放免费,国产va在线 | 欧美性动态图-欧美性精品人妖-欧美性久久-欧美性狂猛AAAAAA-欧美性狂猛bbbbbbxxxx-欧美性类s0x | 波多野在线-波多野衣结在线精品二区-波多野一区二区三区在线-波多野一区二区-波多野一区-波多野结在线 | 久久精品久噜噜噜久久-久久精品久久久久-久久精品久久久-久久精品久久精品久久精品-亚洲影视一区-亚洲影视精品 | 免费观看a视频-免费观看a级网站-免费观看a级片-免费高清在线爱做视频-一本色道久久综合亚洲精品高清-一本色道久久综合亚洲精品 | 无人 视频 在线观看免费高清-无吗视频-无码中文字幕日韩专区-无码中文字幕乱在线观看-国产区1-国产情侣一区二区 | 精品无码免费黄色网站-精品无码免费一区二区三区-精品无码免费在线播放-精品无码免费专区-精品无码免费专区午夜-精品无码欧美黑人又粗又 | 国产精品成av人在线观看片-国产精品成久久久久三级-国产精品成久久久久三级四虎-国产精品成久久久久三级无码-国产精品成年片在线观看-国产精品成人 | 又大又粗好舒服好爽视频-又大又白g奶-又粗又长又爽又大硬又黄-又粗又长又黄又爽视频-久久久久中文-久久久久这里只有精品 | 麻豆91在线-麻豆91在线视频-麻豆99一区二区在线观看-麻豆ⅴ传媒在线播放免费观看-麻豆aⅴ精品无码一区二区-麻豆app2.24.15.15安卓版下载 | 伊人久久综合成人亚洲-伊人久久综合-伊人久久中文字幕久久cm-伊人久久中文大香线蕉综合-久久国产香蕉-久久国产视频网站 | 色婷婷在线观看视频-色婷婷在线播放-色婷婷一区二区三区四区成人网-色婷婷亚洲综合-黄色免费网站在线看-黄色免费网站在线观看 | 色8影院-色5月综合-色5月婷婷-扫黑决战免费完整版高清-骚五月天-骚婷婷 | 二区乱码综合无码一区二区三-二区女人观看chinese中国真实乱-二区欧美三-二区欧美无遮挡中文字幕人成人-二区啪视频-二区日本成人动漫电影 | 性欧美高清精品video-性欧美高清videofree-性欧美俄罗斯-性欧美xxxx乳高跟-国产真实乱偷人视频-国产真实乱了全集mp4 | 岛国精品在线观看-岛国精品在线-岛国大片在线免费观看-岛国大片在线观看完整版-日本老师xxxx88免费视频-日本久久综合网 | 色网在线免费观看-色网在线观看-色网在线播放-色网在线-黄色片网址大全-黄色片网站在线观看 | 成人a毛片手机免费播放-成人a毛片在线看免费全部播放-成人a视频高清在线观看-成人a视频片在线观看免费-欧美三级中文字幕hd-欧美三极 | 九九国产在线视频-九九国产在线观看-九九国产在线-九九国产视频-亚洲夜色夜色综合网站-亚洲羞羞视频 | 国产91av视频在线-国产91av在-国产91av在线-国产91av在线播放-国产91chinese在线观看-国产91l在线播放 | 日本a天堂,亚洲精品乱码久久久久久,欧美精品一区二区三区在线播放,国产亚洲视频在线观看,国产丰满眼镜女在线观看,亚洲日韩欧美综合 | 成人黄色在线网站-成人黄色在线免费观看-成人黄色在线观看-成人黄色在线播放-成人黄色在线-成人黄色影视 | 亚洲 日韩 色 图网站-亚洲 图片 另类 综合 小说-亚洲 无码 欧美 经典-亚洲 校园 春色 另类 图片-亚洲 校园 欧美 国产 另类-亚洲 在线 成 人色色 | 亚洲尹人-亚洲伊人久久综合影院2021-亚洲伊人久久在-亚洲伊人久久网-免费网站在线观看人数在哪里看的-免费网站在线观看国产v片 | 亚洲黄色网页-亚洲黄色三级视频-亚洲黄色片免费看-亚洲黄色免费在线观看-国产中文字幕免费观看-国产中文字幕乱码一区 | 九九激情网,日韩色综合,成人小视频网站,国产永久在线观看,污黄视频在线观看,看国产一级片 |