亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        海量可視化數(shù)據(jù)的存儲(chǔ)技術(shù)研究

        2016-11-17 10:24:34張雙雙周麗娟
        關(guān)鍵詞:關(guān)鍵字磁盤字節(jié)

        張雙雙,周麗娟

        (首都師范大學(xué) 信息工程學(xué)院,北京 100048)

        ?

        海量可視化數(shù)據(jù)的存儲(chǔ)技術(shù)研究

        張雙雙,周麗娟

        (首都師范大學(xué) 信息工程學(xué)院,北京 100048)

        可視化是一種將數(shù)據(jù)轉(zhuǎn)換成圖像且進(jìn)行分析的技術(shù),被多個(gè)領(lǐng)域廣泛應(yīng)用;但是當(dāng)前測(cè)控試驗(yàn)平臺(tái)海量數(shù)據(jù)可視化研究領(lǐng)域中,存在數(shù)據(jù)存取耗時(shí)大、展示圖形速度慢等一系列問題;通常測(cè)控試驗(yàn)平臺(tái)通入液氮來模擬太空中的低溫環(huán)境,利用電流產(chǎn)生熱量來模擬高溫環(huán)境;然后周期性的采集溫度、電流、電壓、功率的信息,并將這些存入到本地?cái)?shù)據(jù)庫當(dāng)中用于繪制曲線并進(jìn)行分析;隨著時(shí)間的推移,存入到本地?cái)?shù)據(jù)庫的溫度等數(shù)據(jù)越來越大,關(guān)系型數(shù)據(jù)庫在應(yīng)付如此巨大的數(shù)據(jù)時(shí)需要耗費(fèi)大量時(shí)間;針對(duì)上述問題本文提出一種方法在非關(guān)系型數(shù)據(jù)庫Raptor DB的基礎(chǔ)上改善優(yōu)化其存儲(chǔ)結(jié)構(gòu),從而加快信息的加載速度,從而減少繪制曲線需要等待的時(shí)間。

        信息可視化;曲線展示;優(yōu)化存儲(chǔ)結(jié)構(gòu);Raptor DB

        0 引言

        近幾十年來,計(jì)算機(jī)運(yùn)算存儲(chǔ)能力不斷提高,因而數(shù)據(jù)量越來越大;與此同時(shí),當(dāng)人們針對(duì)巨量數(shù)據(jù)所能直接獲得的信息量愈加有限。為了更好地解決這種數(shù)據(jù)與信息之間地矛盾之處,信息可視化隨即產(chǎn)生[1]。

        設(shè)備在使用之前,需要在地面的模擬環(huán)境中進(jìn)行模擬測(cè)試,以檢驗(yàn)設(shè)備的各器件在高低溫環(huán)境中的穩(wěn)定性,利用容器來模擬設(shè)備使用環(huán)境,向真空容器中通入液氮來模擬低溫環(huán)境,利用電流產(chǎn)生熱量來模擬高溫環(huán)境。然后周期性的采集溫度、電流、電壓、功率的信息,并將這些數(shù)據(jù)存入到本地?cái)?shù)據(jù)庫當(dāng)中用于繪制曲線并進(jìn)行分析。通常繪制曲線所需要的時(shí)間由以下幾個(gè)因素決定:

        曲線繪制時(shí)間消耗=加載繪圖數(shù)據(jù)時(shí)間消耗執(zhí)行繪圖時(shí)間消耗;

        可視化是一種將數(shù)據(jù)轉(zhuǎn)換成圖像且進(jìn)行分析的技術(shù),被多個(gè)領(lǐng)域廣泛應(yīng)用。但是當(dāng)前測(cè)控試驗(yàn)平臺(tái)海量數(shù)據(jù)可視化研究領(lǐng)域中,存在數(shù)據(jù)存取耗時(shí)大、展示圖形速度慢等一系列問題。目前航空熱試驗(yàn)領(lǐng)域里可視化數(shù)據(jù)很大程度上存儲(chǔ)于關(guān)系型數(shù)據(jù)庫中,關(guān)系型數(shù)據(jù)庫將一行中的數(shù)據(jù)值串在一起存儲(chǔ)起來然后存儲(chǔ)第二行數(shù)據(jù),以后數(shù)據(jù)均為此方式存儲(chǔ)[2]。因此每一列數(shù)據(jù)在物理磁盤中所存放位置是間斷不連續(xù)的。而在測(cè)控試驗(yàn)平臺(tái)中可視化數(shù)據(jù)以列為單位進(jìn)行讀取的,因此造成讀取可視化數(shù)據(jù)時(shí)需要進(jìn)行比較多次的磁盤I/O,將需要很長(zhǎng)一段時(shí)間進(jìn)行數(shù)據(jù)讀取。因而,如何建立高效的數(shù)據(jù)緩存機(jī)制提高在測(cè)控平臺(tái)試驗(yàn)領(lǐng)域中可視化數(shù)據(jù)的讀取速度,優(yōu)化海量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)并高效的展現(xiàn)可視化數(shù)據(jù),已經(jīng)變?yōu)楹娇諟y(cè)控平臺(tái)數(shù)據(jù)可視化研究領(lǐng)域中十分重要的課題。伴隨信息技術(shù)的快速發(fā)展,采用大容量計(jì)算機(jī)內(nèi)存進(jìn)行數(shù)據(jù)緩存,進(jìn)行多通道數(shù)據(jù)采集、數(shù)據(jù)可視化分析處理和智能預(yù)警,將會(huì)為航空測(cè)控平臺(tái)領(lǐng)域中數(shù)據(jù)可視化問題提供解決方案成為研究方向的重中之重。

        1 原理與設(shè)計(jì)

        1.1 關(guān)系型數(shù)據(jù)庫針對(duì)海量數(shù)據(jù)的分析研究

        關(guān)系數(shù)據(jù)庫,是以關(guān)系模型為基礎(chǔ)創(chuàng)立的一種數(shù)據(jù)庫,它通過使用集合代數(shù)等與數(shù)學(xué)相關(guān)的知識(shí)來對(duì)針對(duì)數(shù)據(jù)庫里存儲(chǔ)的數(shù)據(jù)進(jìn)行操作[3]。關(guān)系型數(shù)據(jù)庫即為二維表與其之間的一部分相關(guān)聯(lián)系組成的一個(gè)完善的數(shù)據(jù)組織[4]。關(guān)系型數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化、低冗余度、較高的程序和數(shù)據(jù)獨(dú)立性、易于擴(kuò)充、易于編制應(yīng)用程序等優(yōu)點(diǎn)[5]。關(guān)系型數(shù)據(jù)庫是基于行的存儲(chǔ),基于行的存儲(chǔ)就是將數(shù)據(jù)組織成多個(gè)行,舉一張真空熱試驗(yàn)中一張記錄溫度數(shù)據(jù)的二維表如圖1所示。

        圖1 溫度數(shù)據(jù)的二維表

        這一張二維表存儲(chǔ)在計(jì)算機(jī)硬盤中,數(shù)據(jù)庫需要自動(dòng)使這張二維表存儲(chǔ)在一維的字節(jié)數(shù)組中,關(guān)系型數(shù)據(jù)庫需要把任意一行中的數(shù)據(jù)值串聯(lián)起來進(jìn)行存儲(chǔ),之后再進(jìn)行下一行數(shù)據(jù)串聯(lián)存儲(chǔ),以上述方法繼續(xù)進(jìn)行存儲(chǔ)1。所以每一列的所有數(shù)據(jù)存放到物理硬盤中地位置是間斷不連續(xù)的[6]。例如利用SQL語句“Select Series1 from TemperatureTable”讀取第一個(gè)系列的電流數(shù)據(jù)時(shí),則硬盤需要尋址多次才能把這一系列的所有電流讀取到內(nèi)存當(dāng)中。因?yàn)橛脖P尋址時(shí)間相較于計(jì)算機(jī)上其他部件的運(yùn)行速度來說慢的不是一般,通常順序讀取數(shù)據(jù)要比隨機(jī)訪問更快[1]。而且,硬盤尋址時(shí)間的提升比起CPU速度的進(jìn)步要慢得多[2],所以關(guān)系型數(shù)據(jù)庫難以應(yīng)付海量的真空熱試驗(yàn)的可視化數(shù)據(jù)。因此非關(guān)系型數(shù)據(jù)庫是應(yīng)對(duì)海量數(shù)據(jù)的第一選擇也是最優(yōu)的選擇方案[7]。

        1.2 數(shù)據(jù)庫索引的研究分析

        目前大部分?jǐn)?shù)據(jù)庫系統(tǒng)及文件系統(tǒng)都采用B-Tree或其變種的其他變形樹作為索引結(jié)構(gòu),在B- 樹里從事數(shù)據(jù)查找包括2種基本操作[8]:

        (1)在B-樹中查找結(jié)點(diǎn)。

        (2)在結(jié)點(diǎn)中查找關(guān)鍵字。

        鑒于B-樹的存儲(chǔ)通常情況下是在物理磁盤上,因此前一查找也必須是在物理磁盤上進(jìn)行的操作[9],然而后一查找則需要在內(nèi)存中進(jìn)行的操作,也就是說需要在物理磁盤上查找到指針p所指結(jié)點(diǎn)[10],然后先將結(jié)點(diǎn)中的信息讀入內(nèi)存,之后再使用順序查找或折半查找來查詢等于K的關(guān)鍵字[8]。顯而易見的是,內(nèi)存中查找一次比通過磁盤進(jìn)行一次查找速度快的多[11]。因此,在磁盤上進(jìn)行查找的次數(shù)以及查找關(guān)鍵字所在結(jié)點(diǎn)在B- 樹上的層次樹,是決定B-樹查找效率的首要因素。

        雖然B-樹的性能已經(jīng)非常高效了,但是仍然有兩個(gè)因素制約著它的性能:

        (1)在實(shí)際運(yùn)用B-樹作為索引時(shí),其葉面通常實(shí)現(xiàn)為數(shù)組或者指針列表,當(dāng)插入一個(gè)關(guān)鍵字時(shí)程序需要移動(dòng)子節(jié)點(diǎn)在數(shù)組或者指針列表中移動(dòng),這將會(huì)耗費(fèi)時(shí)間。

        (2)在B-樹的分裂一個(gè)頁面需要有效的配合父節(jié)點(diǎn)和子節(jié)點(diǎn),因此這個(gè)時(shí)候,整個(gè)B-樹會(huì)被封鎖一定的時(shí)間,所以并行的更新是非常的困難。

        為了解決上述問題非關(guān)系型數(shù)據(jù)庫RaptorDB提出數(shù)據(jù)庫的檢索應(yīng)該能滿足以下四個(gè)方面的要求:

        (1)頁面的數(shù)據(jù)結(jié)構(gòu)需要滿足以下三個(gè)要求:它們分別為a.能夠簡(jiǎn)單的寫入磁盤和從磁盤上加載b.能夠釋放內(nèi)存防止超過內(nèi)存的限制c.按需加載以優(yōu)化內(nèi)存使用

        (2)關(guān)鍵字能夠快速地插入和檢索[12]。

        (3)支持多線程和并發(fā)操作。

        (4)頁面應(yīng)該能夠聯(lián)系在一塊,所以能夠方便的進(jìn)入下一頁面進(jìn)行范圍查詢

        RaptorDB設(shè)計(jì)的索引如圖2所示。

        圖2 Raptor DB設(shè)計(jì)的索引

        每一個(gè)Page以它的FirstKey字段進(jìn)行升序排序存儲(chǔ)在SortedList當(dāng)中,F(xiàn)irstKey字段和Page中存儲(chǔ)的關(guān)鍵字相關(guān)聯(lián),Page中存儲(chǔ)地是關(guān)鍵字和字典結(jié)構(gòu)的關(guān)鍵字相互對(duì)應(yīng)的記錄數(shù),記錄數(shù)也可以說是指向數(shù)據(jù)的指針[13],一個(gè)Page最多能夠存儲(chǔ)PageItemCount(默認(rèn)值是10000)個(gè)關(guān)鍵字,當(dāng)Page存儲(chǔ)的關(guān)鍵字的數(shù)量超過PageItemCount則當(dāng)前Page將會(huì)分裂成兩個(gè)Page。輸入一個(gè)關(guān)鍵字檢索其所對(duì)應(yīng)的數(shù)據(jù),Raptor DB將會(huì)利用Page的FirstKey進(jìn)行二分查找,找到關(guān)鍵字所在的Page之后,將該P(yáng)age加載到內(nèi)存中繼續(xù)查找關(guān)鍵字所對(duì)應(yīng)地記錄數(shù),然后利用記錄數(shù)讀取出數(shù)據(jù)[14]。該索引尋找關(guān)鍵字對(duì)應(yīng)的Page的時(shí)間復(fù)雜度是O(logM)(M=N/PageItemCount,N是所有關(guān)鍵字的數(shù)量),在內(nèi)存中進(jìn)行查找關(guān)鍵字對(duì)應(yīng)的記錄數(shù)時(shí)間復(fù)雜度是O(1),所以該索引的時(shí)間復(fù)雜度是O(logM)+O(1)。

        Raptor DB的索引有如下優(yōu)勢(shì):

        (1)每個(gè)Page被Page List結(jié)構(gòu)相互隔離開的,所以當(dāng)前Page上鎖很容易,且只會(huì)鎖住當(dāng)前分裂的Page,其他的Page仍然可以進(jìn)行其它操作,而不像B樹在樹的節(jié)點(diǎn)分裂的時(shí)候需要將整棵樹鎖住。

        (2)分裂Page的操作很簡(jiǎn)單,不需要像B樹在分裂節(jié)點(diǎn)的時(shí)候需要來回遍歷檢查節(jié)點(diǎn)的關(guān)鍵字?jǐn)?shù)量是否超出限制。

        (3)存儲(chǔ)Page的序列結(jié)構(gòu)更新頻率很低,所以對(duì)Page序列上鎖幾乎不影響其他操作。

        圖3 Raptor DB產(chǎn)生的doc record

        在Raptor DB中利用Set(T Key,byte[] data)函數(shù)進(jìn)行存儲(chǔ)數(shù)據(jù),其中Key是二進(jìn)制數(shù)據(jù)data的唯一索引值。每次調(diào)用Set(T Key,byte[] data)函數(shù)Raptor DB將會(huì)生成一個(gè)doc record記錄輸入的Key和data并存儲(chǔ)在磁盤上。假設(shè)某次真空熱試驗(yàn)中有n個(gè)溫度傳感器它們的序號(hào)分別是K1,K2,…,Kn,每周期需要將它們采集到的溫度數(shù)據(jù)存儲(chǔ)入數(shù)據(jù)庫,一共有m個(gè)周期。則對(duì)于RaptorDB而言所有溫度傳感器第一周期的數(shù)據(jù)到來時(shí)需要調(diào)用n次Set(T Key,byte[] data)函數(shù)進(jìn)行存儲(chǔ)數(shù)據(jù),分別為Set(K1,data 1)、Set(K2,data 2)…Set(Kn,data n),第二周期的數(shù)據(jù)到來時(shí)同樣需要調(diào)用n次Set(T Key,byte[] data)函數(shù),分別為Set(K1,data 1+n)、Set(K2,data 2+n)…Set(Kn,data 2n),以此類推,當(dāng)實(shí)驗(yàn)結(jié)束時(shí)Raptor DB產(chǎn)生的doc record如圖3所示。在Raptor DB中利用Set(T Key,byte[] data)函數(shù)進(jìn)行存儲(chǔ)數(shù)據(jù),如圖所示當(dāng)加載某個(gè)Key對(duì)應(yīng)的所有數(shù)據(jù)時(shí)需要將*.mgdat文件中的Key所對(duì)應(yīng)的所有doc record讀取到內(nèi)存當(dāng)中,因?yàn)橥粋€(gè)Key所對(duì)應(yīng)的所有doc record存放在m個(gè)不連續(xù)的磁盤塊當(dāng)中所以磁盤需要尋址m次,這會(huì)導(dǎo)致加載數(shù)據(jù)的時(shí)間很長(zhǎng)從而增加繪制曲線的時(shí)間。

        2 對(duì)Raptor DB的改進(jìn)

        考慮到從磁盤中加載一個(gè)Key對(duì)應(yīng)的所有數(shù)據(jù)需要尋址多次花費(fèi)過多時(shí)間可以考慮改進(jìn)RaptorDB的存儲(chǔ)結(jié)構(gòu)使得加載數(shù)據(jù)的時(shí)候磁盤的尋址次數(shù)盡可能的少。預(yù)分配空間的機(jī)制能夠有效的減少尋址次數(shù)即在真空熱試驗(yàn)準(zhǔn)備階段為每個(gè)傳感器在磁盤上預(yù)分配一塊較大的空間。新開辟的空間大小需要通過計(jì)算得到,例如某個(gè)溫度傳感器在一次實(shí)驗(yàn)當(dāng)中需要收集m個(gè)周期的溫度數(shù)據(jù),每個(gè)溫度的數(shù)據(jù)類型是float(占四個(gè)字節(jié))類型,則需要為該傳感器預(yù)分配m×4個(gè)字節(jié)的空間。當(dāng)調(diào)用Set(T Key,byte[] data)函數(shù)存儲(chǔ)數(shù)據(jù)data時(shí),將數(shù)據(jù)存儲(chǔ)在相對(duì)應(yīng)的且已經(jīng)開辟好的磁盤空間上,然后將data的尾部所在磁盤空間的位置記錄到*.mgidx文件的Page上。

        其中Key是二進(jìn)制數(shù)據(jù)data的唯一索引值。當(dāng)調(diào)用Set(T Key,byte[] data)函數(shù)時(shí),RaptorDB會(huì)為該Key生成唯一的Duplicate record number,該Duplicate record number從0開始,每輸入一個(gè)新的Key則Duplicate record number和新輸入的Key相關(guān)聯(lián)后自增1,自增1后的Duplicate record number后下一個(gè)輸入的新Key相關(guān)聯(lián)。對(duì)于每次輸入的Data無論它的Key是新的還是之前已經(jīng)出現(xiàn)過的RaptorDB將會(huì)為該數(shù)據(jù)生成唯一的RecordNumber,該RecordNumber從0開始,每存儲(chǔ)一份數(shù)據(jù)則RecordNumber自增1,自增后的RecordNumber和下一個(gè)輸入的data相關(guān)聯(lián)。以同樣的Key存儲(chǔ)若干份數(shù)據(jù)則會(huì)產(chǎn)生一個(gè)Duplicate record number和若干個(gè)RecordNumber。Key和data存儲(chǔ)在.mgdat文件當(dāng)中,.mgdat文件的格式如圖4所示。

        圖4 mgdat文件的格式

        前六個(gè)字節(jié)是頭文件,每調(diào)用一次Set(T Key,byte[] data)函數(shù)存儲(chǔ)數(shù)據(jù)將會(huì)創(chuàng)建一個(gè)新的doc record,doc record的頭18個(gè)字節(jié)主要用于存儲(chǔ)Key的字節(jié)長(zhǎng)度和data的字節(jié)長(zhǎng)度,同時(shí)可以存儲(chǔ)寫入數(shù)據(jù)時(shí)的時(shí)間。document number字段一共四個(gè)字節(jié)用于存Key,document json string字段用于存儲(chǔ)data。同時(shí)新創(chuàng)建的doc record在.mgdat文件上的位置被記錄在.mgrec文件中,.mgrec文件的格式如圖5所示。

        圖5 .mgrec文件的格式

        .mgrec文件中每個(gè)doc record offset的長(zhǎng)度是8個(gè)字節(jié),按順序存儲(chǔ)每個(gè)doc record在.mgdat文件中的位置。每個(gè)輸入的數(shù)據(jù)對(duì)應(yīng)的RecordNumber被存儲(chǔ)在.mgbmp文件中。.mgbmp文件的格式如圖6所示。

        圖6 .mgbmp文件的格式

        每個(gè)bitmap record記錄一個(gè)key所對(duì)應(yīng)數(shù)據(jù)的所有RecordNumber,其中bitmap int count字段存儲(chǔ)當(dāng)前Key對(duì)應(yīng)數(shù)據(jù)的份量。Bitmap index存儲(chǔ)的是當(dāng)前Key對(duì)應(yīng)數(shù)據(jù)的所有RecordNumber的二進(jìn)制表示。每寫入一個(gè)bitmap record則該bitmap record在.mgbmp文件中的位置會(huì)被記錄在.mgbmr文件當(dāng)中,.mgbmr文件的格式如圖7所示。

        圖7 .mgbmr文件的格式

        .mgbmr文件中每個(gè)doc record offset的長(zhǎng)度是8個(gè)字節(jié),記錄每個(gè)寫入的doc record在.mgdat文件中的位置并且按升序的方式一一對(duì)應(yīng)每個(gè)Duplicate record number。即Duplicate record number乘以8得到的結(jié)果就是該Duplicate record number所對(duì)應(yīng)的bitmap record offset在.mgbmr文件中的位置。輸入的Key和RaptorDB為其產(chǎn)生的Duplicate record number同時(shí)被記錄在Page中,Page存儲(chǔ)在.mgidx文件當(dāng)中,.mgidx文件的格式如圖8所示。

        圖8 .mgidx文件的格式

        .mgidx文件的頭部18個(gè)字節(jié)用于存儲(chǔ)指示作用的字符串、索引key的字節(jié)長(zhǎng)度、最大頁數(shù)、指示當(dāng)前運(yùn)用哪種類型的索引的數(shù)字、最后一個(gè)數(shù)據(jù)存儲(chǔ)后產(chǎn)生的RecordNumber。Page List頭部存儲(chǔ)了指示作用的字符串、指示當(dāng)前為PageList類型的數(shù)字、當(dāng)前的PageList中包含Page的數(shù)量,下一個(gè)PageList的序號(hào)。Page List中的每個(gè)Data指示的是與當(dāng)前Page List相關(guān)聯(lián)的Page的信息,Page頭部的結(jié)構(gòu)和PageList的相似,Page的Data存儲(chǔ)的是用戶輸入的Key信息包括Key的二進(jìn)制長(zhǎng)度、Key的二進(jìn)制數(shù)據(jù)、該Key最后一次數(shù)據(jù)存儲(chǔ)的RecordNumber、該Key對(duì)應(yīng)的Duplicate record number,一個(gè)Page能存儲(chǔ)PageItemCount(默認(rèn)值是10000)個(gè)Key的信息,當(dāng)一個(gè)Page中存儲(chǔ)Key的數(shù)量超過PageItemCount時(shí)則對(duì)Page中的所有Key進(jìn)行升序排序一個(gè)Page分裂成兩個(gè)Page,原始的Page擁有前[PageItemCount/2]個(gè)Key,并把原始Page的FirstKey字段賦值為前[PageItemCount/2]個(gè)Key中最小的Key,令新生的Page的NextPage指向原始Page的NextPage,令原始Page的NextPage指向新生成的Page,新生成的Page擁有后PageItemCount-[PageItemCount/2]個(gè)Key,并把新生的Page的FirstKey字段賦值為后PageItemCount-[PageItemCount/2]個(gè)Key當(dāng)中最小的Key。然后每個(gè)Page按照FirstKey字段進(jìn)行升序排序存儲(chǔ)在SortedList當(dāng)中。

        在RaptorDB中利用Get(T Key,out byte[] data)函數(shù)來讀取數(shù)據(jù)或者通過GetDuplicates(T Key)函數(shù)和FetchRecord(intRecordNumber)函數(shù)組合來獲取數(shù)據(jù)。在讀取數(shù)據(jù)的時(shí)候通過輸入的Key結(jié)合Page的FirstKey字段進(jìn)行二分查找找到該Key所在的Page,然后在Page的Data里找到該Key并獲取相對(duì)應(yīng)的Duplicate record number,然后定位到*.mgbmr文件的Duplicate record number*8的位置讀取8個(gè)字節(jié)長(zhǎng)度的數(shù)據(jù)得到結(jié)果bitmapMappingAddress,然后定位到.mgbmp文件的bitmapMappingAddress的位置,讀取bitmap record中記錄的所有Record number,對(duì)于每個(gè)RecordNumber將.mgrec文件定位到RecordNumber乘以8的位置并讀取八個(gè)字節(jié)的數(shù)據(jù),得到結(jié)果datMappingAddress,將.mgdat文件定位到datMappingAddress的位置,根據(jù)doc record的頭文件格式規(guī)定來讀取數(shù)據(jù),并依次返回每個(gè)Record Number對(duì)應(yīng)的數(shù)據(jù)。從而獲取輸入的Key對(duì)應(yīng)的所有數(shù)據(jù)。

        3 實(shí)驗(yàn)結(jié)果對(duì)比分析

        首先對(duì)數(shù)據(jù)集和試驗(yàn)環(huán)境進(jìn)行描述和說明;然后驗(yàn)證數(shù)據(jù)索引的有效性,結(jié)合可各存儲(chǔ)方式在數(shù)據(jù)存儲(chǔ)和讀取的對(duì)比,海量數(shù)據(jù)的存儲(chǔ)技術(shù)的特點(diǎn)進(jìn)行說明。

        3.1 數(shù)據(jù)集描述和試驗(yàn)環(huán)境說明

        本文以某測(cè)控試驗(yàn)平臺(tái)為例對(duì)提出的可視化方法進(jìn)行案例研究,該數(shù)據(jù)集以航天設(shè)備在地面的模擬環(huán)境中進(jìn)行模擬測(cè)試,以檢驗(yàn)設(shè)備的各器件在高低溫環(huán)境中的穩(wěn)定性,利用容器來模擬環(huán)境,向容器中通入液氮來模擬太空中的低溫環(huán)境,利用電流產(chǎn)生熱量來模擬高溫環(huán)境。然后周期性的采集溫度、電流、電壓、功率的信息,并將這些數(shù)據(jù)存入到本地?cái)?shù)據(jù)庫當(dāng)中用于繪制曲線,該數(shù)據(jù)集約有50萬數(shù)據(jù)。

        測(cè)試環(huán)境為處理器Intel(R) Core(TM) i5-3337U CPU @ 1.80 GHz;內(nèi)存類型為DDR3 SDRAM,其大小是4 096 MB;磁盤型號(hào)為WDC WD5000LPVT-22 G 33T0,容量 476 940 MB (500 GB),轉(zhuǎn)速 5 400 RPM 緩存 8 192 KB。

        該數(shù)據(jù)集完全符合本文所需要的數(shù)據(jù)集的定義。數(shù)據(jù)集有一段時(shí)間內(nèi)的溫度、電流、電壓、功率等信息,可以根據(jù)時(shí)間進(jìn)行分析。

        3.2 試驗(yàn)結(jié)果對(duì)比

        表1 各存儲(chǔ)方式在數(shù)據(jù)存儲(chǔ)和讀取的對(duì)比

        試驗(yàn)采用生成隨機(jī)數(shù)的類生成隨機(jī)數(shù)模擬傳感器采集的數(shù)據(jù)。傳感器數(shù)量為10 000個(gè),寫入行數(shù)為1 000 000行,寫滿1 000 000行數(shù)據(jù)后,從第1行到最后一行對(duì)進(jìn)行讀取,各存儲(chǔ)方式的寫入和讀取的測(cè)試結(jié)果記錄在表5.1中。通過表1可以看出本文提出的頁面索引方法平均每次寫入速度是SQLite780.740倍,是SQL Server 2008的502.821倍,是MySQL217.410倍,是內(nèi)存B-樹的1.893倍。它的平均每次檢索速度是SQLite72.032倍,是SQL Server 2008的5.495倍,是MySQL58.555倍,是內(nèi)存B-樹1.231倍。提出的方法和內(nèi)存B-樹方法寫入和讀取速度遠(yuǎn)遠(yuǎn)快于其他方法,這是由于索引存儲(chǔ)在內(nèi)存中可以獲得高速的存儲(chǔ)速度,然而同樣把索引維持在內(nèi)存中,本文提出的頁面索引方法的速度要快于B-樹的速度。原因是以B-樹作為索引時(shí),其結(jié)點(diǎn)在程序中實(shí)現(xiàn)為數(shù)組或者指針列表,當(dāng)插入一個(gè)關(guān)鍵字時(shí)程序需要移動(dòng)子結(jié)點(diǎn)在數(shù)組或者指針列表中移動(dòng),這將會(huì)耗費(fèi)時(shí)間;當(dāng)B-樹分裂一個(gè)結(jié)點(diǎn)時(shí)需要有效的平衡該頁面所在結(jié)點(diǎn)的父結(jié)點(diǎn)和子結(jié)點(diǎn)。因而在此時(shí)整棵B-樹會(huì)被封鎖一定的時(shí)間,所以在這個(gè)時(shí)候不能同時(shí)進(jìn)行讀寫操作,而在本文所設(shè)計(jì)的索引中每個(gè)頁面被頁面數(shù)組結(jié)構(gòu)相互隔離開,所以當(dāng)前頁面進(jìn)行分裂時(shí)給當(dāng)前頁面上鎖很容易,且只有當(dāng)前的頁面被鎖住而其他的頁面不會(huì)被鎖住因此其他的頁面仍然可以進(jìn)行讀寫操作,頁面分裂的操作簡(jiǎn)單、限制少,因此減少了時(shí)間消耗,頁面中包含10 000個(gè)索引項(xiàng),因此更新的頻率很低,因此對(duì)頁面進(jìn)行分裂耗費(fèi)的時(shí)間很少。

        4 結(jié)束語

        在C/S模式下,分析客戶端可視化數(shù)據(jù)緩存的存儲(chǔ)結(jié)構(gòu)和算法,深入分析緩存的存儲(chǔ)結(jié)構(gòu)和算法對(duì)讀取可視化數(shù)據(jù)所需要時(shí)間以及緩存的穩(wěn)定性的影響。通過在現(xiàn)有的主流數(shù)據(jù)庫當(dāng)中進(jìn)行讀寫速度的比較以及穩(wěn)定性的比較,選擇最合適的數(shù)據(jù)庫,減少存儲(chǔ)的數(shù)據(jù)量,提高緩存的讀寫速度。詳細(xì)介紹了一種新型的頁面數(shù)據(jù)索引的設(shè)計(jì),該頁面索引應(yīng)用在高實(shí)時(shí)性的讀取某個(gè)歷史時(shí)間戳的數(shù)據(jù),并將當(dāng)前采集的數(shù)據(jù)和讀取的歷史數(shù)據(jù)進(jìn)行對(duì)比,給出了查找頁面的具體算法并結(jié)合具體例子對(duì)頁面查找算法進(jìn)行了詳細(xì)分析,介紹了存儲(chǔ)歷史數(shù)據(jù)的文件結(jié)構(gòu),并給出了結(jié)構(gòu)設(shè)計(jì)的依據(jù),詳細(xì)介紹了數(shù)據(jù)寫入和讀取的功能實(shí)現(xiàn),并對(duì)各存儲(chǔ)方法進(jìn)行了比較、分析得出了結(jié)論。可以較好地解決這一問題.通過對(duì)應(yīng)用實(shí)例進(jìn)行評(píng)估,驗(yàn)證了該技術(shù)的有效性和易用性。

        [1] 張 棋. 信息可視化在數(shù)字圖書館中的應(yīng)用研究[D]. 湖北:華中師范大學(xué), 2009.

        [2] 傅雅玉, 源艷芬, 梁慎青, 等. 提高氣象數(shù)據(jù)查詢速度的存儲(chǔ)分析[J]. 電腦知識(shí)與技術(shù), 2014, (6): 1170-1172.

        [3] 虞海燕. 基于Caché數(shù)據(jù)庫的電子病歷系統(tǒng)性能評(píng)價(jià)[D]. 上海:浙江大學(xué), 2013.

        [4] 傅榮會(huì). 三種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的比較研究——Visual FoxPro,Access和SQL Server[J]. 重慶三峽學(xué)院學(xué)報(bào), 2011, (3): 58-59.

        [5] 宋亞林, 任冬英. 文檔型數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)集成的研究[J]. 福建電腦, 2011, (2): 157-158.

        [6] 閆常友. 廣域測(cè)量系統(tǒng)若干技術(shù)及電壓穩(wěn)定應(yīng)用研究[D]. 北京:華北電力大學(xué), 2005.

        [7] 邱勝海, 高成沖, 王云霞, 等. 大數(shù)據(jù)時(shí)代非關(guān)系型數(shù)據(jù)庫教學(xué)與實(shí)驗(yàn)改革探索[J]. 電腦知識(shí)與技術(shù), 2013, (31): 7046-7048.

        [8] 李東林. 基于Linux的嵌入式實(shí)時(shí)數(shù)據(jù)庫訪問算法研究與實(shí)現(xiàn)[D]. 長(zhǎng)春:長(zhǎng)春理工大學(xué), 2008.

        [9] 張 華, 顧紅飛, 劉 濤. 基于B+樹的文本信息檢索技術(shù)[J]. 皖西學(xué)院學(xué)報(bào), 2010(2):31-35.

        [10] 朱秋香. 流分類技術(shù)研究及其原型系統(tǒng)的實(shí)現(xiàn)[D]. 福建:東南大學(xué), 2004.

        [11] 田曉輝. B-tree檢索技術(shù)及其應(yīng)用[J]. 福建電腦, 2013(10):22-23.

        [12] 葉曉舟, 王勁林. 混合Chord網(wǎng)絡(luò)中的有效關(guān)鍵字檢索[J]. 計(jì)算機(jī)工程, 2008(11): 246-248.

        [13] 汪 超, 何丕廉, 李志明. 基于Hash表的數(shù)據(jù)庫索引結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J]. 微處理機(jī), 2007(4): 53-56.

        [14] 雷紅利. 查詢執(zhí)行算法的設(shè)計(jì)與優(yōu)化[D]. 長(zhǎng)沙:華中科技大學(xué), 2004.

        Curve Shows Technology Based on Massive Storage Research

        Zhang Shuangshuang,Zhou Lijuan

        (Information Engineering College,Capital Normal University, Beijing 100048, China)

        Visualization is a kind of technology that data can be converted into images and analysis, used in all kinds of fields. However, in the current research field of spacecraft thermal vacuum test, reading data speed and display image speed are very slow in the process of visualization. Usually the current research field of spacecraft thermal vacuum test through the liquid nitrogen temperature simulated space environment, the use of current generated heat to simulate high temperature environments. And periodically collect temperature, current, voltage, power information, and these were stored in a local database and analyzed for drawing curves. With the passage of time, stored in the local database, increasing the temperature and other data, the curve showing the conventional technique for loading large amounts of data plotted as slow, time-consuming. For this paper, a method of the above problems by optimizing data storage structure to improve the speed of loading information, thereby reducing the need to draw a curve to wait.

        information visualization; curve shows; optimize storage structure; eliminate duplication

        2016-03-16;

        2016-04-06。

        中國(guó)國(guó)家科技支撐計(jì)劃重點(diǎn)項(xiàng)目、“計(jì)算機(jī)應(yīng)用技術(shù)”北京市重點(diǎn)建設(shè)學(xué)科(2013BAH19F01)。

        張雙雙(1990-),女,北京市人,碩士研究生,主要從事數(shù)據(jù)挖掘方向的研究。

        周麗娟(1964-),女,遼寧省遼陽市人,教授,碩士研究生導(dǎo)師,主要從事數(shù)據(jù)挖掘方向的研究。

        1671-4598(2016)06-0251-04

        10.16526/j.cnki.11-4762/tp.2016.06.069

        TP311

        A

        猜你喜歡
        關(guān)鍵字磁盤字節(jié)
        履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        解決Windows磁盤簽名沖突
        電腦愛好者(2019年2期)2019-10-30 03:45:31
        成功避開“關(guān)鍵字”
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
        修改磁盤屬性
        簡(jiǎn)談MC7字節(jié)碼
        磁盤組群組及iSCSI Target設(shè)置
        創(chuàng)建VSAN群集
        基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
        av无码一区二区三| 国产男女无遮挡猛进猛出| 中文字幕免费在线观看动作大片| 久久综合狠狠色综合伊人| 亚洲中文字幕乱码| 国产一区,二区,三区免费视频| av天堂免费在线播放| 国内熟女啪啪自拍| 少妇太爽了在线观看| 亚洲AV秘 无套一区二区三区| 国产日产亚洲系列首页| 亚洲av无码乱码国产精品久久| 日韩成人无码| 国产91精品成人不卡在线观看| 亚洲人成伊人成综合网中文| 精品在线视频在线视频在线视频 | 超级少妇一区二区三区| 国产激情综合五月久久| 亚洲色成人网站www永久| 国产性生交xxxxx免费| 亚洲精品成人av观看| 亚洲中文字幕一区av| 久久久国产乱子伦精品| 亚洲欧美精品伊人久久| 亚洲精品国产精品av| 久久av不卡人妻出轨一区二区| 国产情侣一区二区| 一二三四视频社区在线| 阿v视频在线| 亚洲成人一区二区av| 日日碰狠狠添天天爽五月婷| 啪啪免费网站| 日本一区二区日韩在线| 好吊妞视频这里有精品| 国产人在线成免费视频| 中国免费一级毛片| av日韩高清一区二区| 欧美天天综合色影久久精品| 久久aⅴ无码av免费一区| 精品粉嫩国产一区二区三区| 最新露脸自拍视频在线观看|