国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

結(jié)構(gòu)化存儲技術(shù)在整機(jī)配置中的應(yīng)用

2015-05-30 00:40王濤
科技創(chuàng)新與應(yīng)用 2015年32期
關(guān)鍵詞:配置研究分析

王濤

摘 要:同一系列不同機(jī)型之間,通常只存在比較小的差異。如何在不同機(jī)型的程序之間,做到代碼復(fù)用,減小代碼維護(hù)量,是進(jìn)行程序設(shè)計時需考慮的很重要一個方面。文中提出一種采用結(jié)構(gòu)化存儲技術(shù),保存不同配置信息的方法,應(yīng)用該方法可達(dá)到上述目的。

關(guān)鍵詞:結(jié)構(gòu)化存儲;配置;研究分析

1 概述

當(dāng)前的工業(yè)設(shè)計中,經(jīng)常會出現(xiàn)這樣一種情況:不同型號機(jī)器之間,機(jī)械結(jié)構(gòu)、硬件配置等方面差異較大,但是相應(yīng)的操作軟件主要功能相同,僅需修改少量代碼即可適用于不同機(jī)型。為最大程序的實(shí)現(xiàn)代碼復(fù)用,減少不同機(jī)型的代碼編寫工作量與后期維護(hù)工作量,可在軟件中采用整機(jī)配置表的方式,通過不同的配置設(shè)置,實(shí)現(xiàn)適用于不同機(jī)型的目的。文章介紹一種采用結(jié)構(gòu)化存儲技術(shù)實(shí)現(xiàn)整機(jī)配置表的方法。

2 結(jié)構(gòu)化存儲技術(shù)介紹

結(jié)構(gòu)化存儲,是微軟公司在推出Windows系統(tǒng)后,推出的一種采用COM技術(shù)架構(gòu)的存儲方法。該方法把文件系統(tǒng)的概念引入到文件內(nèi)部,從而在存儲結(jié)構(gòu)上支持多應(yīng)用程序的并發(fā)訪問。所謂結(jié)構(gòu)化存儲方法,實(shí)際是把樹狀文件系統(tǒng)的原理應(yīng)用到單個的文件中,使得單個文件也能像文件系統(tǒng)一樣包含“子目錄”,“子目錄”還可以包含更深層次的“子目錄”,各個“目錄”可以含多個文件,把原來需要多個文件存儲的內(nèi)容按樹狀結(jié)構(gòu)和層次保存到一個文件中去。采用結(jié)構(gòu)化存儲方法,可以極大程度的提高磁盤空間使用效率;同時便于在單個文件中明確內(nèi)容的歸屬關(guān)系和分類關(guān)系。

3 整機(jī)配置表

為在軟件中反映不同型號機(jī)器之間的區(qū)別,需要制定一份整機(jī)配置表。制定整機(jī)配置表時,首先確定機(jī)器所用的主要元器件,包括品牌、數(shù)量、功能等。不同機(jī)型,實(shí)現(xiàn)同一功能所用主要元器件可能存在差異,此時,可將不同機(jī)型所用元器件作為選擇項(xiàng)列入配置表中。其次,考慮機(jī)械結(jié)構(gòu)上的差異。然后,考慮功能上的差異。不同型號機(jī)器,實(shí)現(xiàn)的功能可能存在不同之處,可將所有型號機(jī)器實(shí)現(xiàn)的功能進(jìn)行羅列。最后,考慮操作方式上的差異。不同型號機(jī)器在操作上,可能存在觸屏操作、按鈕操作、本地操作、遠(yuǎn)程操作等不同方式,在配置表中也需將所有的操作方式進(jìn)行列舉。此外,機(jī)器設(shè)計是在不斷發(fā)展進(jìn)步的,在制定配置表時,需為今后可能增加的器件、功能等預(yù)留擴(kuò)展空間。實(shí)際制定整機(jī)配置表時,可能還需根據(jù)實(shí)際情況考慮其它因素,在此就不一一列舉。根據(jù)以上分析,設(shè)計整機(jī)配置表結(jié)構(gòu)如圖1所示。

4 結(jié)構(gòu)化存儲設(shè)計

整機(jī)配置表制定完成后,就可在軟件上將整機(jī)配置反映出來,并進(jìn)行保存。此處,選用結(jié)構(gòu)化存儲的方式,進(jìn)行保存。

4.1 配置信息結(jié)構(gòu)體設(shè)計

根據(jù)上文得出的整機(jī)配置表,在軟件中進(jìn)行配置信息結(jié)構(gòu)體設(shè)計,要求:在整機(jī)配置結(jié)構(gòu)體中能完整的反映出所有可能存在的配置情況。對于同一器件的不同品牌,可在代碼中通過枚舉的方式,列出所有可選擇品牌,便于具體操作時進(jìn)行選擇。其余選項(xiàng)中,存在多種方式進(jìn)行選擇的,也需通過枚舉的方式,列出所有可選擇項(xiàng)。整機(jī)配置結(jié)構(gòu)體設(shè)計完成后,即可作為結(jié)構(gòu)化存儲的一個操作對象進(jìn)行存儲操作。

4.2 存儲結(jié)構(gòu)設(shè)計

在配置文件中,如何保存不同機(jī)型的配置信息,這是采用結(jié)構(gòu)化存儲方法實(shí)現(xiàn)整機(jī)配置表的關(guān)鍵。這里,根據(jù)以下要求進(jìn)行存儲結(jié)構(gòu)設(shè)計:首先,配置文件中要包含所有不同機(jī)型的配置信息。每一種機(jī)型的配置信息,都統(tǒng)一采用前文中設(shè)計的整機(jī)配置結(jié)構(gòu)體,保存不同配置信息。為便于操作,在配置文件中,對每一配置信息都單獨(dú)命名,且名稱不能重復(fù)。其次,在配置文件中,能夠增加新配置,刪除無效配置。最后,要在配置文件中標(biāo)記出當(dāng)前有效(或正在使用)的配置。根據(jù)上述要求,設(shè)計配置文件結(jié)構(gòu)如圖2所示。

4.3 結(jié)構(gòu)化存儲代碼編寫

存儲結(jié)構(gòu)設(shè)計完成后,需要在程序中編寫代碼,實(shí)現(xiàn)對配置信息的存取操作。這里,需要實(shí)現(xiàn)的基本操作包括:配置文件創(chuàng)建,配置信息列表讀取,配置信息保存、修改、刪除、讀取等。

下面列出結(jié)構(gòu)化存儲基本操作代碼:

4.3.1 創(chuàng)建配置文件

StgCreateDocfile(StringToOleStr(FStgName), FStgModeSave, 0, FStgRoot);

4.3.2 讀取配置信息列表

iHRESULT := FStgRoot.EnumElements(0, nil, 0, EnumStatStg);

while EnumStatStg.Next(1, StatStg, nil) = S_OK do

begin

s := StatStg.pwcsName;

RList.Add(s);

end;

4.3.3 保存配置信息

FStgRoot.CreateStream(StringToOleStr(stmName), FStgModeSave, 0, 0, stmData);

OleStream.CopyFrom(LoadStream, LoadStream.Size);

4.3.4 讀取配置信息

FStgRoot.OpenStream(StatStg.pwcsName, nil, FStgModeRead, 0, stmData);

LoadStream.CopyFrom(OleStream, OleStream.Size);

4.3.5 刪除無效配置信息

FStgRoot.DestroyElement(StringToOleStr(stmName))

5 配置表應(yīng)用

結(jié)構(gòu)化存儲結(jié)構(gòu)設(shè)計完成后,即可將其應(yīng)用于整機(jī)程序中。具體應(yīng)用時,整機(jī)程序初始運(yùn)行時,首先從配置文件中讀取當(dāng)前機(jī)型的配置信息,然后根據(jù)配置選擇相應(yīng)功能模塊,從而實(shí)現(xiàn)相應(yīng)操作。

此外,若對整機(jī)進(jìn)行了設(shè)計改進(jìn),此時僅需修改相應(yīng)的配置信息,然后在程序中進(jìn)行簡單修改,即可實(shí)現(xiàn)原有程序適用于新設(shè)計,同時新程序也能兼容舊機(jī)型,從而減少代碼維護(hù)量。

6 結(jié)束語

采用結(jié)構(gòu)化存儲技術(shù)保存整機(jī)配置信息,可以有效實(shí)現(xiàn)代碼復(fù)用,從而實(shí)現(xiàn)同一程序適配不同機(jī)型的目的,有效減少后期代碼的維護(hù)量。但與此同時,程序中增加運(yùn)用整機(jī)配置信息選擇,會大量增加邏輯判斷語句的應(yīng)用,從而加大程序的復(fù)雜程度。因此,采用結(jié)構(gòu)化存儲技術(shù)保存整機(jī)配置信息的方法,需根據(jù)實(shí)際情況進(jìn)行選擇,不可盲目使用。

參考文獻(xiàn)

[1]李玲娟,阮東明.結(jié)構(gòu)化存儲文件的結(jié)構(gòu)解讀和壓縮存儲技術(shù)實(shí)現(xiàn)[J].現(xiàn)代計算機(jī),2001(9).

[2]李安平,孟揚(yáng).存儲技術(shù)淺析[J].計算機(jī)與網(wǎng)絡(luò),2008(12).

[3]黃雄波,丘陵.基于Delphi下的OLE結(jié)構(gòu)化存儲原理與應(yīng)用[J].電腦編程技巧與維護(hù),2003(7).

[4]胡品芳.結(jié)構(gòu)化存儲系統(tǒng)中元數(shù)據(jù)集群的設(shè)計與實(shí)現(xiàn)[D].電子科技大學(xué),2012.

[5]黎臻.分布式結(jié)構(gòu)化存儲系統(tǒng)設(shè)計與實(shí)現(xiàn)[D].電子科技大學(xué),2011.

猜你喜歡
配置研究分析
簡析電力系統(tǒng)繼電保護(hù)技術(shù)及配置應(yīng)用
一種智能家居系統(tǒng)自學(xué)習(xí)免配置方法
新時期我國商業(yè)銀行轉(zhuǎn)型發(fā)展研究
論高校網(wǎng)絡(luò)防火墻的配置與管理
計算機(jī)Linux網(wǎng)絡(luò)操作系統(tǒng)特點(diǎn)及服務(wù)器配置研究
校園網(wǎng)絡(luò)安全的體系研究
淺談廣電光纖通信接入技術(shù)
關(guān)于變壓器高壓試驗(yàn)技術(shù)的研究分析