《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > Linux下實(shí)時(shí)文件系統(tǒng)的設(shè)計(jì)
Linux下實(shí)時(shí)文件系統(tǒng)的設(shè)計(jì)
2016年微型機(jī)與應(yīng)用第14期
計(jì)劉煒東,張玉生,康衛(wèi),胡愛蘭
(華北計(jì)算機(jī)系統(tǒng)工程研究所,北京 100083)
摘要: Linux下常見的十余種文件系統(tǒng)的實(shí)時(shí)性都不理想。針對(duì)歸檔存儲(chǔ)數(shù)據(jù)的特點(diǎn),提出一種實(shí)時(shí)文件系統(tǒng)設(shè)計(jì)方案,并且設(shè)計(jì)了一種按照時(shí)間點(diǎn)檢索的檢索算法。文件系統(tǒng)的設(shè)計(jì)以減少讀寫文件時(shí)的不確定延遲為目的,主要減少寫時(shí)尋道時(shí)間,簡(jiǎn)化索引機(jī)制,簡(jiǎn)化空閑磁盤塊管理。
Abstract:
Key words :

  劉煒東,張玉生,康衛(wèi),胡愛蘭

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

  摘要:Linux下常見的十余種文件系統(tǒng)的實(shí)時(shí)性都不理想。針對(duì)歸檔存儲(chǔ)數(shù)據(jù)的特點(diǎn),提出一種實(shí)時(shí)文件系統(tǒng)設(shè)計(jì)方案,并且設(shè)計(jì)了一種按照時(shí)間點(diǎn)檢索的檢索算法。文件系統(tǒng)的設(shè)計(jì)以減少讀寫文件時(shí)的不確定延遲為目的,主要減少寫時(shí)尋道時(shí)間,簡(jiǎn)化索引機(jī)制,簡(jiǎn)化空閑磁盤塊管理。

  關(guān)鍵詞:實(shí)時(shí)文件系統(tǒng);數(shù)據(jù)索引;檢索方法

0引言

  工業(yè)生產(chǎn)環(huán)境對(duì)大規(guī)模數(shù)據(jù)的高效存儲(chǔ)和訪問(wèn)有較高的需求。目前通用的關(guān)系型數(shù)據(jù)庫(kù)的存儲(chǔ)和檢索速度不能滿足這些場(chǎng)景的需求,而數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的存儲(chǔ)和檢索與文件系統(tǒng)對(duì)數(shù)據(jù)的組織管理和檢索方式有較密切關(guān)系。

  實(shí)時(shí)數(shù)據(jù)的采集、存儲(chǔ)及傳輸?shù)缺粡V泛應(yīng)用在軍事、工業(yè)控制、民用以及實(shí)驗(yàn)室等場(chǎng)合。

  目前,Linux操作系統(tǒng)已有文件系統(tǒng)的內(nèi)部設(shè)計(jì)大多十分復(fù)雜,通用性好,功能多。但是針對(duì)特殊場(chǎng)景下的數(shù)據(jù)文件存儲(chǔ),它們復(fù)雜的存儲(chǔ)結(jié)構(gòu)導(dǎo)致存儲(chǔ)延時(shí)大,限制系統(tǒng)性能,而且這些復(fù)雜設(shè)計(jì)中很多功能不會(huì)用到。因此,針對(duì)特定業(yè)務(wù)需求推出自己的文件系統(tǒng)是十分必要的。

1國(guó)內(nèi)外研究現(xiàn)狀

  目前,文件系統(tǒng)實(shí)時(shí)化方案主要通過(guò)消除文件系統(tǒng)讀寫文件時(shí)給進(jìn)程的執(zhí)行引入的不確定時(shí)間延遲來(lái)實(shí)現(xiàn)[1],如文件的存取空間分配一次完成,采用文件分級(jí)機(jī)制[2];對(duì)同一文件的物理磁盤塊采取連續(xù)分配策略,減少尋址消耗[3];簡(jiǎn)化文件系統(tǒng)目錄結(jié)構(gòu),只有一個(gè)根目錄,允許存入127個(gè)文件,其索引節(jié)點(diǎn)全部保存在超級(jí)塊中,繞過(guò)I/O高速緩沖,在外存與內(nèi)存空間之間直接傳輸數(shù)據(jù)[1]。同時(shí),另一方面研究在實(shí)時(shí)前提下提高文件系統(tǒng)的可靠性、可恢復(fù)性,如把文件存儲(chǔ)到一塊或多塊,將文件特征信息保存到Flash塊第一頁(yè),通過(guò)掃描文件特征恢復(fù)文件[4]。文件系統(tǒng)任務(wù)調(diào)度的實(shí)現(xiàn)也是一個(gè)研究方向,通過(guò)優(yōu)化調(diào)整任務(wù)調(diào)度,提高文件服務(wù)的靈活性[5]。

2文件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

  針對(duì)應(yīng)用設(shè)計(jì)的文件系統(tǒng),其設(shè)計(jì)目的因具體應(yīng)用場(chǎng)景不同而不同。因此,文件組織、文件管理、文件索引等方面的設(shè)計(jì)也不盡相同。專用的文件系統(tǒng)往往根據(jù)其獨(dú)特的需求做修改,去掉不需要的功能,增加輔助接口,根據(jù)情境簡(jiǎn)化磁盤塊管理的復(fù)雜度。

  2.1數(shù)據(jù)索引方式

  簡(jiǎn)化文件系統(tǒng)結(jié)構(gòu),只保留啟動(dòng)塊、超級(jí)塊和i_node區(qū),一個(gè)文件對(duì)應(yīng)一個(gè)i_node,重新設(shè)計(jì)文件內(nèi)部數(shù)據(jù)塊以及數(shù)據(jù)塊的索引方式。如圖1所示,數(shù)據(jù)索引使用兩種索引:(1)數(shù)據(jù)索引,索引塊之間通過(guò)鏈表的形式連接,當(dāng)前索引塊存儲(chǔ)下一個(gè)數(shù)據(jù)索引塊的位置;(2)數(shù)據(jù)索引的索引(二級(jí)索引),存儲(chǔ)所有數(shù)據(jù)索引塊的位置,可能有多塊,在文件關(guān)閉時(shí),為二級(jí)索引分配連續(xù)磁盤塊。i_node存儲(chǔ)第一塊數(shù)據(jù)索引的位置以及數(shù)據(jù)二級(jí)索引的位置和塊數(shù)。

  根據(jù)二級(jí)索引和索引可以計(jì)算出指定文件的指定數(shù)據(jù)塊所在的磁盤塊號(hào)。數(shù)據(jù)塊使用1 KB,磁盤塊號(hào)大小為32 bit,則一個(gè)索引塊可以索引256 KB數(shù)據(jù),一個(gè)二級(jí)索引塊可以索引64 MB數(shù)據(jù)。一個(gè)1 TB硬盤中二級(jí)索引大小為16 MB。為減少讀寫數(shù)據(jù)時(shí)磁盤訪問(wèn)次數(shù),在打開文件時(shí),將二級(jí)索引全部緩存到內(nèi)存;在關(guān)閉文件時(shí),將二級(jí)索引一次性寫回或者同步到磁盤。這樣在讀數(shù)據(jù)時(shí),每次只需要兩次讀盤操作。在讀寫過(guò)程中,出現(xiàn)斷電等情況可能導(dǎo)致二級(jí)索引沒(méi)有寫到磁盤,此時(shí)二級(jí)索引不可用。針對(duì)這種情況,文件系統(tǒng)可以通過(guò)順序讀取文件一級(jí)索引鏈恢復(fù)出文件二級(jí)索引。

  

001.jpg

  2.2磁盤組織方式

  由于存儲(chǔ)的是歸檔歷史數(shù)據(jù),文件系統(tǒng)不提供刪除文件功能,故可以簡(jiǎn)化磁盤空閑塊管理(磁盤空閑塊連續(xù))和i_node管理,只需要記錄下一個(gè)可以分配的磁盤塊號(hào)或i_node即可,不再需要使用位示圖等機(jī)制管理空閑塊,減少了申請(qǐng)塊等待時(shí)間[2]。文件系統(tǒng)在掛載時(shí),讀取超級(jí)塊信息掛載磁盤,但不向VFS提供一致接口[6],單獨(dú)增加系統(tǒng)調(diào)用,在核心中增加代碼向用戶提供接口[7]。

  如圖2所示,文件i_node指向第一索引塊,每一塊索引存儲(chǔ)下一索引塊的塊號(hào),連接形式類似鏈表。這樣保證了索引與數(shù)據(jù)相距不遠(yuǎn),節(jié)省磁盤尋道時(shí)間。由于出現(xiàn)多個(gè)文件同時(shí)寫,文件的索引塊、文件的數(shù)據(jù)塊都不連續(xù),文件系統(tǒng)只保證二級(jí)索引是存儲(chǔ)在內(nèi)存中,在文件關(guān)閉時(shí)強(qiáng)制分配連續(xù)磁盤塊一次性寫入。

002.jpg

  (1)數(shù)據(jù)塊直接寫到磁盤;數(shù)據(jù)塊索引在存滿后才寫入磁盤,后于它索引的數(shù)據(jù),如果在此期間出現(xiàn)問(wèn)題,將導(dǎo)致索引丟失;索引的索引文件關(guān)閉時(shí)寫到磁盤。

  (2)超級(jí)塊使用緩存,在空閑時(shí)或者一定時(shí)間內(nèi)強(qiáng)制刷新;i_node區(qū)改寫時(shí)同步到磁盤。

3數(shù)據(jù)檢索機(jī)制

  將歸檔數(shù)據(jù)的索引方式和文件系統(tǒng)中數(shù)據(jù)的索引方式融合在一起,即數(shù)據(jù)庫(kù)和文件系統(tǒng)融合將提高數(shù)據(jù)庫(kù)索引速度。

  本文提出的文件系統(tǒng)設(shè)計(jì)方案針對(duì)的是存儲(chǔ)數(shù)據(jù),是按時(shí)間遞增且采集頻率在小范圍內(nèi)波動(dòng)的歸檔歷史數(shù)據(jù)。文件系統(tǒng)假設(shè)了每個(gè)文件存儲(chǔ)的數(shù)據(jù)都是同類的格式化數(shù)據(jù)記錄,也即每條記錄的字段組成、字段長(zhǎng)度相同。經(jīng)過(guò)分析要存儲(chǔ)的歸檔數(shù)據(jù)的特點(diǎn),本文提出一種融合到文件系統(tǒng)中的數(shù)據(jù)檢索算法,可以按時(shí)間點(diǎn)快速檢索要查找數(shù)據(jù)記錄所在的數(shù)據(jù)塊。

  3.1算法描述

  通過(guò)已經(jīng)讀取的數(shù)據(jù)塊中的時(shí)間點(diǎn)信息估算要搜索的時(shí)間點(diǎn)所在的索引塊號(hào)。假設(shè)每個(gè)數(shù)據(jù)塊中記錄的時(shí)間跨度是Δt,Index0表示待搜索數(shù)據(jù)段的起始?jí)K號(hào),t0、t′0分別表示起始?jí)K中起始時(shí)間、結(jié)束時(shí)間,t表示要搜索的時(shí)間點(diǎn),則根據(jù)公式:

  Index=Index0+(t-t0)/Δt

  可以估算出數(shù)據(jù)塊的位置Index,其中,Δt初始值Δt=t′0-t0,Index0=0。然后根據(jù)公式:

  Δt′=(t′1-t0)·Δt/(t-t0)

  計(jì)算當(dāng)前段內(nèi)平均每個(gè)數(shù)據(jù)塊的時(shí)間跨度,其中,t1、t′1分別表示Index指向數(shù)據(jù)塊的起始時(shí)間、結(jié)束時(shí)間;然后根據(jù)以下原則調(diào)整Δt、Index0、t0:

  if(t1>t)

  if(Δt<=Δt′+α)

  Δt′=Δt′+α

  Δt=Δt′

  elif(t′1<t)

  if(Index==TOTAL)

  return-1//failed

  if(Δt>=Δt′-α)

  Δt′=Δt′-α

  Δt=Δt′

  if(Δt==0)return-1//failed

  Index0=Index

  t0=t1

  else

  return Index//find

  重復(fù)以上步驟,可以逐漸逼近t所在的數(shù)據(jù)塊。實(shí)際實(shí)現(xiàn)時(shí),代碼中添加了一些技巧,減少重復(fù)步驟,如估算t在當(dāng)前讀取位置附件直接查找前一塊或者后一塊而不再循環(huán)估計(jì)、每次循環(huán)Δt最小變化α等。3.2與二分查找作比較

  通過(guò)與二分查找作比較來(lái)評(píng)估算法性能。對(duì)比結(jié)果是兩種方法在相同的數(shù)據(jù)文件(時(shí)間點(diǎn)隨機(jī)生成)中查找相同的時(shí)間點(diǎn)作比較,結(jié)果如表1所示。

003.jpg

注:文件是隨機(jī)生成的1 000萬(wàn)條記錄,隨機(jī)查找給定時(shí)間范圍內(nèi)10萬(wàn)條記錄。多次運(yùn)行取平均結(jié)果。

  從表1可以看出,在采集頻率在小范圍內(nèi)波動(dòng)的歸檔數(shù)據(jù)上按時(shí)間點(diǎn)檢索數(shù)據(jù),本文提出的檢索算法優(yōu)于二分檢索,且兩種算法檢索成功和檢索失敗耗時(shí)相差不多,這是由于磁盤數(shù)據(jù)檢索耗時(shí)主要在尋道和讀磁盤塊。

4結(jié)論

  本文提出了一種新的文件數(shù)據(jù)組織索引結(jié)構(gòu),針對(duì)這種索引結(jié)構(gòu)簡(jiǎn)化了磁盤上超級(jí)塊、i_node等信息的組織結(jié)構(gòu)。這種新的磁盤文件組織結(jié)構(gòu)中新的空閑管理方式幾乎可以保證只在寫文件時(shí)磁頭單向移動(dòng),減少了磁盤的尋道時(shí)間。同時(shí),針對(duì)歸檔歷史數(shù)據(jù)的特點(diǎn)設(shè)計(jì)了一種數(shù)據(jù)檢索方式,通過(guò)與二分檢索比較可以看出,這種檢索方式對(duì)采集頻率在一定范圍波動(dòng)的歸檔數(shù)據(jù)進(jìn)行檢索有顯著的優(yōu)勢(shì)。

  參考文獻(xiàn)

  [1] 王振宇. Unix實(shí)時(shí)文件系統(tǒng)的設(shè)計(jì)[J]. 微電子學(xué)與計(jì)算機(jī), 1996(4):3539.

  [2] 姜守旭, 蔣宗禮, 王麗. Linux下的實(shí)時(shí)文件系統(tǒng)研究[J]. 哈爾濱商業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2002, 18(2):151155.

  [3] 劉云生, 郭元蘇. 實(shí)時(shí)文件系統(tǒng)的體系結(jié)構(gòu)與調(diào)度策略[J].計(jì)算機(jī)工程,2003,29(8):3233.

  [4] 張少波, 徐廣輝, 田小鋒,等. 基于NandFLASH高可靠自恢復(fù)實(shí)時(shí)文件系統(tǒng)[J]. 計(jì)算機(jī)工程與科學(xué), 2012,34(6):169173.

  [5] 陳天洲, 趙懿, 沙峰, 等. 一種嵌入式實(shí)時(shí)文件系統(tǒng)任務(wù)調(diào)度的實(shí)現(xiàn)方法[P].中國(guó): CN 1877534 A, 20061213.

  [6] 顧喜梅, 顧寶根. 基于LINUX的文件系統(tǒng)機(jī)制的研究及實(shí)現(xiàn)方法[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2002, 23(7):2022.

  [7] 谷建華, 朱慶九. UNIX文件系統(tǒng)實(shí)時(shí)化的實(shí)現(xiàn)[J]. 微電子學(xué)與計(jì)算機(jī), 1995(5):1012.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩人成在线播放| 亚洲国产三级在线| 精品成人国产在线观看男人呻吟| 欧美视频中文字幕| 欧美日本中文字幕| 免费看成人av| 鲁大师影院一区二区三区| 亚洲欧美网站| 亚洲一区二区三区在线看 | 亚洲网站在线| 99国产精品国产精品久久| 欧美天天视频| 亚洲一区二区三区视频播放| 中文在线不卡视频| 裸体一区二区| 欧美成人xxx| 亚洲小说春色综合另类电影| 性欧美xxxx视频在线观看| 99视频精品全部免费在线| 亚洲人成毛片在线播放女女| 极品尤物av久久免费看| 樱桃成人精品视频在线播放| 国产一区二区三区久久久久久久久| 久久精品一本| 亚洲女人天堂成人av在线| 亚洲一区二区三区在线播放| 亚洲国产精品悠悠久久琪琪| 国产欧美日韩在线观看| 欧美一区国产一区| 欧美日韩在线大尺度| 亚洲国产精品免费| 国产一区视频网站| 亚洲日本在线视频观看| 玖玖玖国产精品| 在线成人www免费观看视频| 亚洲高清在线播放| 欧美成人激情在线| 亚洲茄子视频| 亚洲靠逼com| 欧美激情1区2区3区| 伊人久久亚洲热| 亚洲一区在线观看免费观看电影高清 | 欧美精品三级日韩久久| 亚洲国产日韩欧美综合久久| 国产日产精品一区二区三区四区的观看方式 | 欧美日韩亚洲视频一区| 午夜视频一区在线观看| 欧美精品一区三区在线观看| 亚洲国产欧美一区二区三区久久 | 欧美专区亚洲专区| 精品1区2区3区4区| 亚洲国产午夜| 一区二区三区欧美亚洲| 亚洲欧美另类在线| 亚洲国产日本| 亚洲一区精品在线| 久久国产精品黑丝| 欧美大片免费观看| 国产精品欧美日韩一区二区| 亚洲精品久久久久中文字幕欢迎你| 亚洲精品免费在线| 亚洲一区二区三区免费观看| 香蕉成人久久| 免费久久99精品国产自| 国产精品盗摄久久久| 国产一区欧美日韩| 亚洲精品一区二区三区四区高清| 正在播放亚洲| 亚洲国产成人精品久久| 一区二区欧美国产| 久久精品二区亚洲w码| 免费亚洲网站| 欧美性做爰毛片| 一区二区在线观看视频在线观看| 亚洲国产精品久久精品怡红院| 一区二区三区视频在线播放| 欧美一区二区三区四区在线观看地址 | 亚洲日韩欧美视频一区| 亚洲一区二区综合| 亚洲三级观看| 亚洲一区二区三区免费视频| 蜜臀av性久久久久蜜臀aⅴ| 欧美日韩亚洲视频| 黄色亚洲网站| 亚洲一区二区成人在线观看| 亚洲日本成人网| 久久精品国产96久久久香蕉| 欧美视频在线观看| 黄色av成人| 99精品欧美一区二区三区综合在线 | 亚洲欧美一级二级三级| 亚洲精品国产精品国自产在线 | 欧美一区二区三区喷汁尤物| 欧美精品大片| 激情偷拍久久| 午夜免费久久久久| 亚洲系列中文字幕| 欧美大片免费观看| 国产综合色在线| 亚洲一区视频在线| 亚洲视频免费| 欧美精品在线网站| 亚洲激情啪啪| 亚洲国产成人精品视频| 久久9热精品视频| 国产精品美女久久久久aⅴ国产馆| 伊人久久综合97精品| 先锋亚洲精品| 欧美一区二区三区免费视频| 欧美电影电视剧在线观看| 激情欧美一区| 久久国产色av| 午夜亚洲福利在线老司机| 欧美日韩理论| 亚洲国产精品美女| 亚洲人成绝费网站色www| 久久影视精品| 国内精品久久久久久久97牛牛| 亚洲免费视频观看| 午夜在线一区二区| 国产精品免费电影| 中文亚洲视频在线| 亚洲午夜高清视频| 欧美日韩亚洲一区在线观看| 在线日韩日本国产亚洲| 久久精品国产一区二区三区免费看| 国内精品久久久久影院 日本资源| 这里只有精品视频| 欧美成人r级一区二区三区| 樱花yy私人影院亚洲| 亚洲第一福利在线观看| 久久精品官网| 红桃视频一区| 亚洲国产美女久久久久| 免费看亚洲片| 亚洲国产精品久久| 99精品国产在热久久婷婷| 欧美暴力喷水在线| 激情亚洲网站| 亚洲国产乱码最新视频| 欧美www视频在线观看| 亚洲精品综合久久中文字幕| 亚洲视频精选| 国产精品视频免费观看www| 午夜精品福利一区二区三区av| 久久精品国产亚洲a| 一区二区亚洲精品国产| 亚洲激情视频在线| 欧美sm视频| 日韩一级黄色av| 亚洲欧美日韩国产综合在线| 国产精品萝li| 欧美资源在线观看| 女同性一区二区三区人了人一| 亚洲日本欧美日韩高观看| 国产精品99久久99久久久二8| 国产精品久久久久久久久果冻传媒| 亚洲午夜日本在线观看| 欧美中文在线观看| 亚洲激情午夜| 亚洲欧美卡通另类91av | 在线不卡亚洲| 一本色道久久综合亚洲精品高清| 欧美日韩在线三级| 亚洲欧美大片| 免费成人av在线看| 99re8这里有精品热视频免费| 久久精品国产清高在天天线| 影音先锋日韩有码| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩视频在线观看一区二区三区| 亚洲视频免费在线| 久久一区二区三区四区| 亚洲精品一区二区三区99| 欧美影院一区| 亚洲国产欧美精品| 午夜激情综合网| 一区二区在线观看视频在线观看| 在线视频你懂得一区 | 国产日韩欧美精品一区| 亚洲高清影视| 欧美视频一区二| 亚洲精品免费在线播放| 在线视频你懂得一区| 国产日韩精品一区二区三区| 亚洲国产婷婷香蕉久久久久久99| 欧美日韩精品免费观看视频完整 | 国产午夜久久久久| 亚洲激情在线| 国产精品美女久久久浪潮软件| 亚洲国产高清在线观看视频| 亚洲欧美日韩另类精品一区二区三区 | 国产综合网站| 亚洲在线日韩| 亚洲高清视频一区二区| 欧美一级在线亚洲天堂| 亚洲精品国久久99热| 久久久高清一区二区三区| 99精品热视频只有精品10| 久久综合电影一区|