欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)保存方法和裝置的制作方法

文檔序號:6290615閱讀:359來源:國知局
專利名稱:一種數(shù)據(jù)保存方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及工業(yè)自動化領(lǐng)域,特別涉及一種數(shù)據(jù)保存方法和裝置。
背景技術(shù)
工業(yè)現(xiàn)場的實(shí)時(shí)數(shù)據(jù)具有總量大,且數(shù)據(jù)流量突發(fā)性高等特點(diǎn)。這些實(shí)時(shí) 數(shù)據(jù)通常是以位號為單位基于時(shí)間的順序數(shù)據(jù),位號是工業(yè)現(xiàn)場中數(shù)據(jù)點(diǎn)的抽 象,例如智能設(shè)備上的電壓或電流信號等,典型的位號數(shù)據(jù)包含數(shù)值、時(shí)間戳 和狀態(tài)碼三個(gè)字段,由于位號數(shù)據(jù)多是實(shí)時(shí)從設(shè)備或控制系統(tǒng)上采集的,因此 位號數(shù)據(jù)中的時(shí)間戳通常都是按照時(shí)間順序遞進(jìn)的。 一個(gè)典型的控制系統(tǒng)包含 一千多個(gè)位號,如果每個(gè)位號在幾秒鐘內(nèi)同時(shí)產(chǎn)生數(shù)據(jù),那么產(chǎn)生的數(shù)據(jù)總量 非常巨大。因此,如何保存這些實(shí)時(shí)數(shù)據(jù)以及如何快速檢索這些實(shí)時(shí)數(shù)據(jù)是急 待解決的問題,雖然內(nèi)存的訪問速度比磁盤快,但是由于內(nèi)存的容量有限,因 此數(shù)據(jù)將不得不保存到磁盤,因此如果能夠合理利用磁盤文件結(jié)構(gòu)進(jìn)行數(shù)據(jù)保 存,并相應(yīng)建立快速索引文件就能實(shí)現(xiàn)對實(shí)時(shí)數(shù)據(jù)的讀取。
現(xiàn)有技術(shù)中的對工業(yè)現(xiàn)場產(chǎn)生的實(shí)時(shí)數(shù)據(jù)的保存方法流程如圖1所示 步驟101:接收來自工業(yè)現(xiàn)場的位號數(shù)據(jù)。
步驟102:判斷對應(yīng)的存儲該位號數(shù)據(jù)的文件是否存在,若是,則執(zhí)行步 驟103;否則,執(zhí)行步驟106。
步驟103:將該位號數(shù)據(jù)寫入在該文件中新建的數(shù)據(jù)記錄內(nèi)。
步驟104:將該位號數(shù)據(jù)對應(yīng)的索引信息寫入在該文件中新建的索引記錄內(nèi)。
步驟105:將該新建的索引記錄與原索引記錄進(jìn)行連接,返回步驟101。 步驟106:新建數(shù)據(jù)文件,然后返回步驟103。
基于上述的數(shù)據(jù)保存方法,現(xiàn)有的數(shù)據(jù)檢索流程如圖2所示
步驟201:根據(jù)用戶查詢的位號定位到該位號對應(yīng)的文件。
步驟202:打開文件頭中的第一條索引記錄并通過遍歷所有索引記錄查找
符合該位號的數(shù)據(jù)記錄。
步驟203:判斷是否檢索到合適的數(shù)據(jù)記錄,若是,則執(zhí)行步驟204;否
則,執(zhí)行步驟205。
步驟204:讀取檢索到的數(shù)據(jù)記錄并將所有數(shù)據(jù)記錄作為檢索結(jié)果集返 回,結(jié)束當(dāng)前流程。
步驟205:返回不包含數(shù)據(jù)記錄的空結(jié)果集,結(jié)束當(dāng)前流程。 由以上對現(xiàn)有技術(shù)的描述可知,由于位號眾多導(dǎo)致文件數(shù)目龐大,相對于 處理單個(gè)文件,文件處理系統(tǒng)在處理大量文件時(shí)的效率將顯著下降,而大量的 文件容易產(chǎn)生文件碎片,這些碎片導(dǎo)致檢索速度的降低;由于文件長度的最小 單位為簇,因此即使位號文件的長度為零,由于該文件依然要占用一個(gè)簇,因 此大量的文件會嚴(yán)重浪費(fèi)簇資源;由于將位號數(shù)據(jù)的所有字段未做任何處理就 直接保存在文件中,因此不僅浪費(fèi)了磁盤空間,而且由于沒有合理的索引結(jié)構(gòu), 使得在檢索時(shí)必須通過遍歷文件讀取大量的數(shù)據(jù);由于文件數(shù)目龐大,因此用 戶在進(jìn)行數(shù)據(jù)備份時(shí),尤其是基于時(shí)間進(jìn)行數(shù)據(jù)備份時(shí)十分不便,例如用于在 月初時(shí)需要備份上個(gè)月的所有數(shù)據(jù),但是由于數(shù)據(jù)均以位號為單位,分別保存 在各個(gè)文件中,因此系統(tǒng)必須從每個(gè)文件中檢索并讀取數(shù)據(jù)后再備份到新的存 儲介質(zhì)上,該操作過程耗費(fèi)了大量時(shí)間。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種數(shù)據(jù)保存方法,以解決現(xiàn)有技術(shù)中數(shù)據(jù)保存方 法占用磁盤空間大且數(shù)據(jù)保存結(jié)構(gòu)不合理,導(dǎo)致不利于數(shù)據(jù)檢索的問題。
本發(fā)明的另一目的在于提供一種數(shù)據(jù)檢索方法,以解決現(xiàn)有技術(shù)中數(shù)據(jù)檢 索方法速度不高,且耗費(fèi)大量時(shí)間的問題。為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案 一種數(shù)據(jù)保存方法,包括
接收數(shù)據(jù)后,根據(jù)當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情況分配數(shù)據(jù)塊 和索引塊;
將所述數(shù)據(jù)寫入所述數(shù)據(jù)塊,并將對應(yīng)該數(shù)據(jù)的索引信息寫入所述索引塊。
所述當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情況包括
所述位號下沒有記錄;或所述位號下有混合型記錄;或所述位號下同時(shí)有 數(shù)據(jù)型記錄和索引型記錄;
所述混合型記錄中同時(shí)保存數(shù)據(jù)和該數(shù)據(jù)對應(yīng)的索引信息,所述數(shù)據(jù)型記 錄僅保存數(shù)據(jù),所述索引型記錄僅保存所述索引信息;
所述混合型記錄、數(shù)據(jù)型記錄或索引型記錄的大小均為文件系統(tǒng)簇大小的 整數(shù)倍。
所述位號下沒有記錄時(shí),所述根據(jù)記錄的情況分配數(shù)據(jù)塊和索引塊包括
新建一條混合型記錄;
在所述混合型記錄中分配數(shù)據(jù)塊和索引塊。
所述位號下有混合型記錄時(shí),所述根據(jù)記錄的情況分配數(shù)據(jù)塊和索引塊包

判斷所述混合型記錄中是否存在足夠空間存儲所述數(shù)據(jù)及該數(shù)據(jù)的索引 信息;
當(dāng)所述混合型記錄中沒有足夠空間時(shí),將所述混合型記錄轉(zhuǎn)化為索引型記 錄,并將該混合型記錄中的數(shù)據(jù)塊轉(zhuǎn)移至新建的數(shù)據(jù)型記錄中;
在所述新建的數(shù)據(jù)型記錄中分配凄t據(jù)塊,并在所述索引型記錄中分配索引塊。
所述方法進(jìn)一步包括 當(dāng)所述混合型記錄中有足夠空間時(shí),在所述混合型記錄中分配數(shù)據(jù)塊和索 引塊。
所述位號下同時(shí)有數(shù)據(jù)型記錄和索引型記錄時(shí),所述根據(jù)記錄的情況分配
數(shù)據(jù)塊和索引塊包括
定位所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)型記錄和索引型記錄;
判斷所述數(shù)據(jù)型記錄和索引型記錄中是否有足夠空間存儲所述數(shù)據(jù)及該 數(shù)據(jù)的索引信息;
當(dāng)所述數(shù)據(jù)型記錄和索引型記錄沒有足夠空間時(shí),分配新的數(shù)據(jù)型記錄作 為當(dāng)前凄t據(jù)型記錄,并分配新的索引型記錄作為當(dāng)前的索引型記錄;
在所述當(dāng)前數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,并在所述當(dāng)前索引型記錄中分配索 引塊。
進(jìn)一步包括
當(dāng)所述數(shù)據(jù)型記錄和索引型記錄中有足夠空間時(shí),在所述數(shù)據(jù)型記錄中分 配數(shù)據(jù)塊,并在所述索引型記錄中分配索引塊。
所述位號下僅能有混合型記錄時(shí),所述根據(jù)記錄的情況分配數(shù)據(jù)塊和索虧1 塊包括
定位所有所述混合型記錄中的最后一條記錄;
判斷所述記錄中是否有足夠空間存儲所述數(shù)據(jù)及該數(shù)據(jù)的索引信息; 當(dāng)所述記錄中沒有足夠空間時(shí)新建一條記錄; 在所述新建的記錄中分配數(shù)據(jù)塊和索引塊。 進(jìn)一步包括
當(dāng)所述記錄中有足夠空間時(shí),在所述最后一條記錄中分配數(shù)據(jù)塊和索引塊。
所述在接收數(shù)據(jù)后進(jìn)一步包括
根據(jù)所述接收數(shù)據(jù)的數(shù)據(jù)參數(shù)信息檢查所述數(shù)據(jù)是否合法;
當(dāng)所述數(shù)據(jù)合法時(shí),執(zhí)行分配數(shù)據(jù)塊和索引塊的步驟;當(dāng)所述數(shù)據(jù)不合法 時(shí),丟棄所述數(shù)據(jù)。 .
所述數(shù)據(jù)參數(shù)包括數(shù)據(jù)變化率、數(shù)據(jù)極限值、和時(shí)間戳中的至少一種;
所述數(shù)據(jù)包括位號標(biāo)識、位號狀態(tài)位、時(shí)間戳和位號數(shù)值。
一種數(shù)據(jù)保存裝置,包括
接收單元,用于接收數(shù)據(jù);
操作單元,用于接收數(shù)據(jù)后根據(jù)當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情 況分配數(shù)據(jù)塊和索引塊;
寫入單元,用于將所述數(shù)據(jù)寫入所述數(shù)據(jù)塊,并將對應(yīng)該數(shù)據(jù)的索引信息 寫入所述索引塊中。
所述位號下沒有記錄時(shí),所述操作單元包括
新建單元,用于新建一條混合型記錄;
分配單元,用于在所述混合型記錄中分配數(shù)據(jù)塊和索引塊。
所述位號下有混合型記錄時(shí),所述操作單元包括
判斷單元,用于判斷所述混合型記錄中是否存在足夠空間存儲所述數(shù)據(jù)及 該數(shù)據(jù)的索引信息;
執(zhí)行單元,用于當(dāng)所述混合型記錄中沒有足夠空間時(shí),將所述混合型記錄 轉(zhuǎn)化為索引型記錄,并將該混合型記錄中的數(shù)據(jù)塊轉(zhuǎn)移至新建的數(shù)據(jù)型記錄 中,并在所述新建的數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,在所述索引型記錄中分配索引 塊;當(dāng)所述混合型記錄中有足夠空間時(shí),在所述混合型記錄中分配數(shù)據(jù)塊和索 引塊。
所述位號下同時(shí)有l(wèi)i據(jù)型記錄和索引型記錄時(shí),所述操作單元包括 定位單元,用于定位所述凄t據(jù)對應(yīng)的數(shù)據(jù)型記錄和索引型記錄; 判斷單元,用于判斷所述數(shù)據(jù)型記錄和索引型記錄中是否有足夠空間存儲 所述數(shù)據(jù)及該數(shù)據(jù)的索引信息;
執(zhí)行單元,用于當(dāng)所述數(shù)據(jù)型記錄和索引型記錄沒有足夠空間時(shí),分配新 的數(shù)據(jù)型記錄作為當(dāng)前數(shù)據(jù)型記錄,并分配新的索引型記錄作為當(dāng)前的索引型 記錄,在所述當(dāng)前數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,在所述當(dāng)前索引型記錄中分配索 引塊;當(dāng)所述數(shù)據(jù)型記錄和索引型記錄中有足夠空間時(shí),在所述數(shù)據(jù)型記錄中 分配數(shù)據(jù)塊,并在所述索引型記錄中分配索引塊。
所述位號下僅能有混合型記錄時(shí),所述執(zhí)行單元包括 定位單元,用于定位所有所述混合型記錄中的最后一條記錄; 判斷單元,用于判斷所述記錄中是否有足夠空間存儲所述數(shù)據(jù)及該數(shù)據(jù)的 索引信息;
執(zhí)行單元,用于當(dāng)所述記錄中沒有足夠空間時(shí)新建一條記錄,并在所述新 建的記錄中分配數(shù)據(jù)塊和索引塊;當(dāng)所述記錄中有足夠空間時(shí),在所述最后一 條記錄中分配數(shù)據(jù)塊和索引塊。
所述裝置進(jìn)一步包括
檢查單元,用于根據(jù)所述接收單元接收數(shù)據(jù)的數(shù)據(jù)參數(shù)信息檢查所述數(shù)據(jù) 是否合法;
執(zhí)行單元,用于當(dāng)所述數(shù)據(jù)合法時(shí),執(zhí)行所述操作單元的功能,當(dāng)所述數(shù) 據(jù)不合法時(shí),丟棄所述數(shù)據(jù)。
由以上本發(fā)明提供的技術(shù)方案可見,本發(fā)明在接收數(shù)據(jù)后根據(jù)當(dāng)前文件中 的記錄的情況分配數(shù)據(jù)塊和索引塊,將該數(shù)據(jù)寫入所述數(shù)據(jù)塊,并將對應(yīng)該數(shù) 據(jù)的索引信息寫入所述索引塊中。本發(fā)明保存數(shù)據(jù)的方法通過釆用混合型記錄 或數(shù)據(jù)型記錄和索引型記錄的雙重結(jié)構(gòu)模式,當(dāng)某些位號的數(shù)據(jù)較少時(shí),則通 過一個(gè)混合型記錄保存所有數(shù)據(jù)和該數(shù)據(jù)的索引,當(dāng)某些位號的數(shù)據(jù)較多時(shí), 則通過數(shù)據(jù)型記錄和索引型記錄分別保存數(shù)據(jù)和索引,對保存結(jié)構(gòu)進(jìn)行優(yōu)化, 因此無論對于混合型記錄還是索引型記錄,索引信息均能夠高度集中,因此可 以通過索引快速查找數(shù)據(jù)所在的物理地址,使得在處理數(shù)據(jù)量懸殊的位號數(shù)據(jù) 時(shí)具有較強(qiáng)的靈活性,且極大提高了數(shù)據(jù)的檢索效率;進(jìn)一步,本發(fā)明基于文
件系統(tǒng)簇大小的記錄分配機(jī)制,并且由于操作系統(tǒng)在讀取和寫入文件時(shí)采取預(yù) 讀取機(jī)制,也就是說即使操作系統(tǒng)只讀取一個(gè)字節(jié),在缺省情況下也會將該字 節(jié)所在簇的全部內(nèi)容都讀入到內(nèi)存中,因此本發(fā)明保存數(shù)據(jù)的結(jié)構(gòu)結(jié)合操作系
統(tǒng)固有的讀緩沖機(jī)制會提高磁盤的訪問效率;采用記錄和數(shù)據(jù)塊的兩層索引模 式,由于記錄和數(shù)據(jù)塊均有時(shí)間戳,因此在進(jìn)行檢索時(shí),可以快速跳過大,更不 需要的數(shù)據(jù)而不必進(jìn)行遍歷,提高了檢索大量歷史數(shù)據(jù)時(shí)的效率。


圖1為現(xiàn)有技術(shù)中的數(shù)據(jù)保存方法流程圖2為基于現(xiàn)有數(shù)據(jù)保存方法的數(shù)據(jù)檢索流程圖3為本發(fā)明方法的第一實(shí)施例流程圖4為本發(fā)明方法的第二實(shí)施例流程圖5為本發(fā)明方法的第三實(shí)施例流程圖6為本發(fā)明方法的第四實(shí)施例流程圖7為本發(fā)明方法的第五實(shí)施例流程圖8為本發(fā)明混合型記錄的結(jié)構(gòu)示意圖9為本發(fā)明數(shù)據(jù)型記錄和索引型記錄的結(jié)構(gòu)示意圖10為對應(yīng)用本發(fā)明數(shù)據(jù)保存方法存儲的數(shù)據(jù)進(jìn)行檢索的流程圖11為本發(fā)明裝置的第一實(shí)施例框圖12為本發(fā)明裝置的第二實(shí)施例框圖。
具體實(shí)施例方式
本發(fā)明的核心是提供一種數(shù)據(jù)保存方法,在接收數(shù)據(jù)后根據(jù)當(dāng)前文件中的 記錄的情況分配數(shù)據(jù)塊和索引塊,并將該數(shù)據(jù)寫入所述數(shù)據(jù)塊,將對應(yīng)該數(shù)據(jù) 的索引信息寫入所述索引塊中。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,并使本發(fā)明的上述目 的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作
進(jìn)一步詳細(xì)的說明。
本發(fā)明方法的第一實(shí)施例流程圖如圖3所示
步驟301:接收數(shù)據(jù)后根據(jù)當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情況分 配數(shù)據(jù)塊和索引塊。
其中,當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情況包括該位號下沒有記 錄;或該位號下有混合型記錄;或該位號下同時(shí)有數(shù)據(jù)型記錄和索引型記錄;
上述混合型記錄中同時(shí)保存數(shù)據(jù)和該數(shù)據(jù)對應(yīng)的索引信息,數(shù)據(jù)型記錄僅 保存數(shù)據(jù),索引型記錄僅保存索引信息;
上述混合型記錄、數(shù)據(jù)型記錄或索引型記錄的大小均為文件系統(tǒng)簇大小的 整數(shù)倍。
步驟302:將該數(shù)據(jù)寫入數(shù)據(jù)塊,并將對應(yīng)該數(shù)據(jù)的索引信息寫入索引塊。
本發(fā)明方法的第二實(shí)施例流程如圖4所示,該實(shí)施例示接收數(shù)據(jù)對應(yīng)位號 下沒有記錄時(shí)的數(shù)據(jù)保存過程
步驟401:接收位號數(shù)據(jù)。
本發(fā)明中接收的位號數(shù)據(jù)通常采集自工業(yè)現(xiàn)場,工業(yè)現(xiàn)場的實(shí)時(shí)數(shù)據(jù)具有 總量大且數(shù)據(jù)突發(fā)性高的特點(diǎn)。
步驟402:根據(jù)該數(shù)據(jù)的數(shù)據(jù)參數(shù)信息檢查該數(shù)據(jù)是否合法,若是,則執(zhí) 行步驟403;否則,執(zhí)行步驟406。
數(shù)據(jù)的合法性檢查可以包含多重檢查,主要根據(jù)數(shù)據(jù)變化率、數(shù)據(jù)上下限、 時(shí)間戳等參數(shù)信息對數(shù)據(jù)進(jìn)行檢查,以溫度參數(shù)的變化為例,假設(shè)預(yù)先設(shè)置的 條件是在1秒鐘內(nèi)該溫度的上下波動不能超過10度,因此當(dāng)判斷發(fā)現(xiàn)波動超 過10度時(shí),則說明該數(shù)據(jù)為不合法數(shù)據(jù)。
步驟403:新建一條混合型記錄。
接收到的位號數(shù)據(jù)為合法數(shù)據(jù),則根據(jù)該位號數(shù)據(jù)中的時(shí)間戳可以定位到 用于保存該數(shù)據(jù)的合適的文件。此時(shí),由于當(dāng)前文件中沒有對應(yīng)該位號的混合 型記錄,因此需要在該文件中建立對應(yīng)該位號的混合型記錄用于保存該數(shù)據(jù)及
其索引信息。
新建的這條混合型記錄的長度可以正好為文件系統(tǒng)的簇大小,這樣既可以 節(jié)約磁盤的存儲空間,也可以最大限度地提高文件讀寫效率。原因在于,操作 系統(tǒng)中的文件子系統(tǒng)是以簇為最小單位保存和處理文件的,也就是說一個(gè)文件 在磁盤中所占的空間,無論其實(shí)際內(nèi)容有多少,均為簇長度的整數(shù)倍,因此本 發(fā)明中以簇為基礎(chǔ)分配混合型記錄,可以使文件長度為簇長度的整數(shù)倍,避免 簇浪費(fèi)。相應(yīng)的,缺省情況下文件系統(tǒng)從文件中讀取數(shù)據(jù)時(shí)也以簇為單位進(jìn)行 讀取,即使讀取一個(gè)字節(jié)也要把整個(gè)簇都讀取到系統(tǒng)緩存中。
步驟404:在該混合型記錄中分配數(shù)據(jù)塊和索引塊。
步驟405:將位號數(shù)據(jù)寫入數(shù)據(jù)塊并將該數(shù)據(jù)的索引信息寫入索引塊,返 回步驟401。
將數(shù)據(jù)寫入到數(shù)據(jù)塊中時(shí),同步更新該數(shù)據(jù)塊對應(yīng)的索引塊中的時(shí)間記 錄,新建索引的起始時(shí)間將是數(shù)據(jù)塊中第一個(gè)數(shù)據(jù)的時(shí)間戳。同時(shí)將最后一個(gè) 數(shù)據(jù)的時(shí)間戳更新到該混合型記錄本身的記錄結(jié)束時(shí)間,以標(biāo)明該混合型記錄 所對應(yīng)的最后 一個(gè)數(shù)據(jù)的時(shí)間。
步驟406:丟棄該位號數(shù)據(jù)。
本發(fā)明方法的第三實(shí)施例流程如圖5所示,該實(shí)施例示出了接收數(shù)據(jù)對應(yīng) 位號下有混合型記錄時(shí)的數(shù)據(jù)保存過程 步驟501:接收位號數(shù)據(jù)。
步驟502:根據(jù)該數(shù)據(jù)的數(shù)據(jù)參數(shù)信息檢查該數(shù)據(jù)是否合法,若是,則執(zhí) 行步驟503;否則,執(zhí)行步驟508。
步驟503:判斷混合型記錄中是否有足夠空間存儲該數(shù)據(jù)及其索引信息, 若是,則執(zhí)行步驟507;否則執(zhí)行步驟504。
本發(fā)明中每個(gè)位號對應(yīng)的第 一條記錄是特殊的,因?yàn)橹挥械?一條記錄是混 合型記錄,也就是說該位號下的數(shù)據(jù)和該數(shù)據(jù)的索引信息是混合在一個(gè)記錄中 存儲的。這是由于當(dāng)某個(gè)位號下存儲的數(shù)據(jù)較少時(shí),如果分別設(shè)置存儲數(shù)據(jù)的
數(shù)據(jù)型記錄和存儲該數(shù)據(jù)索引信息的索引型記錄,則會由于數(shù)據(jù)型記錄占用的 空間較大而實(shí)際利用率較小而浪費(fèi)磁盤空間,因此在數(shù)據(jù)較少時(shí),可以僅設(shè)置 一條混合型記錄保存數(shù)據(jù)及其索引信息。
步驟504:將混合型記錄轉(zhuǎn)化為索引型記錄并將混合型記錄中的數(shù)據(jù)塊轉(zhuǎn) 移至新建的數(shù)據(jù)型記錄。
由于該位號對應(yīng)的混合型記錄中沒有足夠空間存儲該數(shù)據(jù)及其索引信息, 而每個(gè)位號只能對應(yīng)一個(gè)混合型記錄,因此需要將混合型記錄轉(zhuǎn)化為索引型記 錄并將混合型記錄中的數(shù)據(jù)塊轉(zhuǎn)移至新建的數(shù)據(jù)型記錄中,此時(shí)由于混合型記 錄的空間已經(jīng)不能再存儲更多的數(shù)據(jù),因此通過數(shù)據(jù)型記錄和索引型記錄分開 存儲數(shù)據(jù)及其索引信息。
步驟505:在新建的數(shù)據(jù)型記錄中分配數(shù)據(jù)塊并在索引型記錄中分配索引塊。
步驟506:將位號數(shù)據(jù)寫入數(shù)據(jù)塊并將該數(shù)據(jù)的索引信息寫入索引塊,返 回步驟501。
步驟507:在混合型記錄中分配數(shù)據(jù)塊和索引塊,執(zhí)行步驟506。
由于該位號對應(yīng)的混合型記錄中有足夠空間存儲該數(shù)據(jù)及其索引信息,因 此在該混合型記錄中分配數(shù)據(jù)塊和索引塊即可。
通常在混合型記錄中索引信息保證是在記錄的最前面部分,因此每次需要 重新分配索引的時(shí)候?qū)⑦B續(xù)分配4個(gè)索引塊作為預(yù)留,如果預(yù)留的索引塊被用 完那么將把最前面的一個(gè)數(shù)據(jù)塊移動到后面以便騰出空間用于設(shè)置索引塊。
步驟508:丟棄該位號數(shù)據(jù),結(jié)束當(dāng)前流程。
本發(fā)明方法的第四實(shí)施例流程如圖6所示,該實(shí)施例示出了接收數(shù)據(jù)對應(yīng) 位號下同時(shí)有數(shù)據(jù)型記錄和索引型記錄時(shí)的數(shù)據(jù)保存過程 步驟60L接收位號數(shù)據(jù)。
步驟602:根據(jù)該數(shù)據(jù)的數(shù)據(jù)參數(shù)信息檢查該數(shù)據(jù)是否合法,若是,則執(zhí) 行步驟603;否則,執(zhí)行步驟609。
步驟603:定位該位號數(shù)據(jù)對應(yīng)的數(shù)據(jù)型記錄和索引型記錄。
-步驟604:判斷數(shù)據(jù)型記錄和索引型記錄中是否有足夠空間存儲該數(shù)據(jù)及 其索引信息,若是,則執(zhí)行步驟608;否則,執(zhí)行步驟605。
步驟605:分配新的數(shù)據(jù)型記錄作為當(dāng)前數(shù)據(jù)型記錄并分配新的索引型記 錄作為當(dāng)前的索引型記錄。
由于當(dāng)前數(shù)據(jù)型記錄和索引型記錄中是沒有足夠空間存儲該數(shù)據(jù),則新分 配一個(gè)數(shù)據(jù)型記錄,由于當(dāng)前索引型記錄中也沒有足夠空間存儲該數(shù)據(jù)的索引 信息,則新分配一個(gè)索引記錄。數(shù)據(jù)型記錄和索引型記錄之間分別通過記錄頭 中的地址偏移相互鏈接構(gòu)成一個(gè)鏈表。
步驟606:在當(dāng)前凄丈據(jù)型記錄中分配數(shù)據(jù)塊并在當(dāng)前索引型記錄中分配索 引塊。
步驟607:將位號數(shù)據(jù)寫入數(shù)據(jù)塊并將該數(shù)據(jù)的索引信息寫入索引塊,返 回步驟601。
將數(shù)據(jù)寫入到數(shù)據(jù)塊中時(shí),同步更新該數(shù)據(jù)塊對應(yīng)的索引塊中的時(shí)間記 錄,新建索引的起始時(shí)間將是數(shù)據(jù)塊中第一個(gè)數(shù)據(jù)的時(shí)間戳。同時(shí)將最后一個(gè) 數(shù)據(jù)的時(shí)間戳更新到相應(yīng)的數(shù)據(jù)型記錄和索引型記錄的記錄結(jié)束時(shí)間,標(biāo)明該 記錄所對應(yīng)的最后一個(gè)凝:據(jù)的時(shí)間。
步驟608:判斷數(shù)據(jù)塊和索引塊中是否有足夠空間,若是,則執(zhí)行步驟607; 否則,執(zhí)行步驟606。
步驟609:丟棄該位號數(shù)據(jù),結(jié)束當(dāng)前流程。
本發(fā)明方法的第五實(shí)施例如圖7所示,該實(shí)施例示出了接收凝:據(jù)對應(yīng)位號 下僅能有混合型記錄時(shí)的數(shù)據(jù)保存過程
步驟701:接收位號數(shù)據(jù)。
步驟702:根據(jù)該數(shù)據(jù)的數(shù)據(jù)參數(shù)信息;險(xiǎn)查該數(shù)據(jù)是否合法,若是,則執(zhí) 行步驟703;否則,執(zhí)行步驟709。
步驟703:定位所有混合型記錄中的最后一條記錄。
步驟704:判斷最后一條記錄中是否有足夠空間存儲該數(shù)據(jù)及其索引信 息,若是,則執(zhí)行步驟708;否則,執(zhí)行步驟705。
步驟705:新建一條混合型記錄。
根據(jù)位號數(shù)據(jù)查找所對應(yīng)該位號的所有混合型記錄,并定位到該位號的最 后一條記錄,此時(shí)由于該位號記錄中沒有足夠空間存儲位號數(shù)據(jù)及其索引信 息,因此為該位號創(chuàng)建一個(gè)新的混合型記錄,混合型記錄的大小也都正好是文 件系統(tǒng)的簇大小,該實(shí)施例中的所有記錄都是混合型記錄,即數(shù)據(jù)及其索引信 息混合在一起,各條混合型記錄之間分別通過記錄頭中的地址偏移相互鏈接構(gòu) 成一個(gè)鏈表。
在混合型記錄中的索引塊保證是在記錄的最前面部分,因此每次需要重新 分配索? 1塊時(shí)候都將連續(xù)分配4個(gè)索引塊作為預(yù)留,如果預(yù)留的索引塊被用完 那么將4巴最前面的一個(gè)數(shù)據(jù)塊移動到后面以便為索引塊騰出空間。
步驟706:在該記錄中分配數(shù)據(jù)塊和索引塊。
步驟707:將位號數(shù)據(jù)寫入數(shù)據(jù)塊并將該數(shù)據(jù)的索引信息寫入索引塊,返 回步驟701。
將數(shù)據(jù)寫入到數(shù)據(jù)塊中,然后同步更新該數(shù)據(jù)塊對應(yīng)的索引塊中的時(shí)間記
錄,新建索引塊的起始時(shí)間將是數(shù)據(jù)塊中第一個(gè)位號數(shù)據(jù)的時(shí)間戳。同時(shí)將最 后一個(gè)位號數(shù)據(jù)的時(shí)間戳更新到相應(yīng)的索引記錄結(jié)束時(shí)間,標(biāo)明該記錄所對應(yīng) 的最后一個(gè)數(shù)據(jù)的時(shí)間。
步驟708:判斷數(shù)據(jù)塊和索引塊中是否有足夠空間,若是,則執(zhí)行步驟707; 否則,執(zhí)行步驟706。
步驟709:丟棄該位號數(shù)據(jù),結(jié)束當(dāng)前流程。
需要說明的是,在上述實(shí)施例中,為保證數(shù)據(jù)精度,所有位號數(shù)據(jù)中的數(shù) 值部分全部保留,對于時(shí)間戳的部分精度保存到毫秒,并采用相對時(shí)間來節(jié)約 磁盤空間。舉例說明假設(shè)數(shù)據(jù)型記錄中已有的一個(gè)數(shù)據(jù)塊,在數(shù)據(jù)塊的開頭 有一個(gè)區(qū)域?qū)iT保存該數(shù)據(jù)塊的基準(zhǔn)時(shí)間,比如為2007-10-30 12:00:00:000,
如果后續(xù)接收到一個(gè)位號數(shù)據(jù),其時(shí)間戳為2007-10-30 12:10:00:900,那么該 位號數(shù)據(jù)被寫入到數(shù)據(jù)塊時(shí)只需要保存一個(gè)相對基準(zhǔn)時(shí)間的偏移值,這里是 10分鐘加900毫秒,折算成毫秒就是600900毫秒,因此只需要不到3個(gè)字節(jié) 就可以保存該時(shí)間偏移值,而如果要保存絕對時(shí)間,即保存"12:00:00:000" 則需要至少8個(gè)字節(jié)。
本發(fā)明實(shí)施例中混合型記錄的結(jié)構(gòu)示意圖如圖8所示
該混合型記錄由記錄頭、索引和數(shù)據(jù)組成。其中,記錄頭包括記錄編號、 記錄類型、前一記錄的地址、下一記錄的地址、記錄的起始時(shí)間、記錄的結(jié)束 時(shí)間以及本記錄中的索引數(shù)量。該混合型記錄通過前一記錄地址和下一記錄地 址和與其相鄰的其它記錄鏈接。其中,當(dāng)某一位號下的數(shù)據(jù)量較小時(shí),則可以
通過圖9所示的混合型記錄同時(shí)存儲位號數(shù)據(jù)及其索引信息,即索引1對應(yīng)數(shù) 據(jù)塊l,索引2對應(yīng)數(shù)據(jù)塊2,以此類推。
本發(fā)明實(shí)施例中數(shù)據(jù)型記錄和索引型記錄的結(jié)構(gòu)示意圖如圖9所示 索引型記錄中包括記錄編號、記錄類型、前一記錄地址、下一記錄地址、 記錄起始時(shí)間、記錄結(jié)束時(shí)間、索引數(shù)量和填充內(nèi)容,索引型記錄通過前一記 錄地址和下一記錄地址和與其相鄰的其它索引型記錄鏈接;數(shù)據(jù)型記錄中包括 記錄編號、記錄類型、前一記錄地址、下一記錄地址、記錄起始時(shí)間、記錄結(jié) 束時(shí)間以及填充內(nèi)容,數(shù)據(jù)型記錄通過前一記錄地址和下一記錄地址和與其 相鄰的其它數(shù)據(jù)型記錄鏈接。當(dāng)文件中某一位號對應(yīng)的混合型記錄空間已經(jīng)存 儲滿之后,則對應(yīng)該位號的數(shù)據(jù)將通過數(shù)據(jù)型記錄和索引型記錄分別存儲數(shù)據(jù) 及其索引信息,如圖IO中所示,其中,索引型記錄中的索引1與數(shù)據(jù)型記錄 中的數(shù)據(jù)塊l對應(yīng),索引2與數(shù)據(jù)塊2對應(yīng),以此類推。
對應(yīng)用本發(fā)明數(shù)據(jù)保存方法存儲的數(shù)據(jù)進(jìn)行檢索的流程圖如圖10所示
步驟1001:才艮據(jù)用戶查詢的位號定位該位號對應(yīng)的文件。
例如,用戶查詢名稱為"Temperature.PV"的位號從2007-10-30 12:00:00:000 到2007-10-31 00:00:00:000的所有數(shù)據(jù),那么系統(tǒng)首先才艮據(jù)每個(gè)文件的文件頭 所標(biāo)記的時(shí)間范圍,定位到包含該數(shù)據(jù)的文件。
步驟1002:判斷是否查找到該位號對應(yīng)的第一條記錄,若是,則執(zhí)行步 驟1003;否則,執(zhí)行步驟1009。
步驟1003:判斷該記錄是否為混合型記錄,若是,則執(zhí)行步驟1004;否 則,執(zhí)行步驟1008。
步驟1004:打開混合型記錄的索引部分。
步驟1005:遍歷查找索引部分獲得符合查詢條件的索引集。
假設(shè)查找到了 12條符合要求的記錄,分別是記錄了從2007-10-30
12:00:00:000開始每隔一個(gè)小時(shí)的數(shù)據(jù),那么將這些索引信息形成一個(gè)索引集
合并保存到緩沖中。
步驟1006:判斷索引集是否為空,若是,則執(zhí)行步驟1009;否則,執(zhí)行
步驟訓(xùn)7。
步驟1007:按照索引集中索引指向的地址讀取數(shù)據(jù)并返回?cái)?shù)據(jù)結(jié)果集, 結(jié)束當(dāng)前流程。
由于查詢到了 12條記錄,按照索引集合中的這12記錄的索引所指向的地 址讀取數(shù)據(jù)塊,即根據(jù)這12條記錄中分別記錄的數(shù)據(jù)塊地址,將其中所指向 的數(shù)據(jù)塊讀取到內(nèi)存,然后將數(shù)據(jù)進(jìn)行拼裝,即將數(shù)據(jù)打包使得其符合調(diào)用者 的要求,形成數(shù)據(jù)結(jié)果集,并將該數(shù)據(jù)結(jié)果集返回給調(diào)用者。
步驟1008:打開索引型記錄,返回步驟1005。
步驟1009:返回空結(jié)果集,結(jié)束當(dāng)前流程。
與本發(fā)明數(shù)據(jù)保存方法相對應(yīng),本發(fā)明還提供了數(shù)據(jù)保存裝置,本發(fā)明數(shù) 據(jù)保存裝置的第一實(shí)施例框圖如圖11所示
該裝置包括接收單元1110、梯:作單元1120和寫入單元1130。 其中,接收單元1110用于接收數(shù)據(jù);操作單元1120用于接收數(shù)據(jù)后根據(jù) 當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情況分配數(shù)據(jù)塊和索引塊;寫入單元 1130用于將所述數(shù)據(jù)寫入所述數(shù)據(jù)塊,并將對應(yīng)該數(shù)據(jù)的索引信息寫入所述
索引塊中。
本發(fā)明數(shù)據(jù)保存裝置的第二實(shí)施例框圖如圖12所示 該裝置包括接收單元1210、檢查單元1220、執(zhí)行單元1230、梯:作單元 1240和寫入單元1250。
其中,接收單元1210用于接收數(shù)據(jù);檢查單元1220用于根據(jù)所述接收單 元接收數(shù)據(jù)的數(shù)據(jù)參數(shù)信息檢查所述數(shù)據(jù)是否合法;執(zhí)行單元1230用于當(dāng)所 述數(shù)據(jù)合法時(shí),執(zhí)行所述操作單元1240的功能,當(dāng)所述lt據(jù)不合法時(shí),丟棄 所述數(shù)據(jù);操作單元1240用于接收數(shù)據(jù)后根據(jù)當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下 的記錄的情況分配數(shù)據(jù)塊和索引塊;寫入單元1250用于將所述數(shù)據(jù)寫入所述 數(shù)據(jù)塊,并將對應(yīng)該數(shù)據(jù)的索引信息寫入所述索引塊中。
具體的,當(dāng)位號下沒有記錄時(shí),才喿作單元1240可以包括新建單元,用 于新建一條混合型記錄;分配單元,用于在所述混合型記錄中分配數(shù)據(jù)塊和索 引塊。
具體的,當(dāng)位號下有混合型記錄時(shí),所述操作單元1240包括判斷單元, 用于判斷所述混合型記錄中是否存在足夠空間存儲所述數(shù)據(jù)及該數(shù)據(jù)的索引 信息;執(zhí)行單元,用于當(dāng)所述混合型記錄中沒有足夠空間時(shí),將所述混合型記 錄轉(zhuǎn)化為索引型記錄,并將該混合型記錄中的數(shù)據(jù)塊寫入新建的數(shù)據(jù)型記錄 中,并在所述新建的數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,在所述索引型記錄中分配索引 塊;當(dāng)所述混合型記錄中有足夠空間時(shí),在所述混合型記錄中分配數(shù)據(jù)塊和索 引塊。
具體的,當(dāng)位號下同時(shí)有數(shù)據(jù)型記錄和索引型記錄時(shí),所述4喿作單元1240 包括定位單元,用于定位所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)型記錄和索引型記錄;判斷單 元,用于判斷所述數(shù)據(jù)型記錄和索引型記錄中是否有足夠空間存儲所述數(shù)據(jù)及 該數(shù)據(jù)的索引信息;執(zhí)行單元,用于當(dāng)所述數(shù)據(jù)型記錄和索引型記錄沒有足夠 空間時(shí),分配新的數(shù)據(jù)型記錄作為當(dāng)前數(shù)據(jù)型記錄,并分配新的索引型記錄作 為當(dāng)前的索引型記錄,在所述當(dāng)前數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,在所述當(dāng)前索引
型記錄中分配索引塊;當(dāng)所述數(shù)據(jù)型記錄和索引型記錄中有足夠空間時(shí),在所 述數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,并在所述索引型記錄中分配索引塊。
具體的,當(dāng)位號下僅能有混合型記錄時(shí),所述操作單元1240包括定位 單元,用于定位所有所述混合型記錄中的最后一條記錄;判斷單元,用于判斷 所述記錄中是否有足夠空間存儲所述數(shù)據(jù)及該數(shù)據(jù)的索引信息;執(zhí)行單元,用 于當(dāng)所述記錄中沒有足夠空間時(shí)新建一條記錄,并在所述新建的記錄中分配數(shù) 據(jù)塊和索引塊;當(dāng)所述記錄中有足夠空間時(shí),在所述最后一條記錄中分配數(shù)據(jù) 塊和索引塊。
由以上本發(fā)明實(shí)施例可見,本發(fā)明保存數(shù)據(jù)的方法通過釆用混合型記錄或 數(shù)據(jù)型記錄和索引型記錄的雙重結(jié)構(gòu)模式,當(dāng)某些位號的數(shù)據(jù)較少時(shí),則通過 一個(gè)混合型記錄保存所有數(shù)據(jù)和該數(shù)據(jù)的索引,當(dāng)某些位號的數(shù)據(jù)較多時(shí),則 通過數(shù)據(jù)型記錄和索引型記錄分別保存數(shù)據(jù)和索引,對保存結(jié)構(gòu)進(jìn)行優(yōu)化,因 此無論對于混合型記錄還是索引型記錄,索引信息均能夠高度集中,因此可以 通過索引快速查找數(shù)據(jù)所在的物理地址,使得在處理數(shù)據(jù)量懸殊的位號數(shù)據(jù)時(shí) 具有較強(qiáng)的靈活性,且極大提高了數(shù)據(jù)的檢索效率。
雖然通過實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多 變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化 而不脫離本發(fā)明的精神。
權(quán)利要求
1、一種數(shù)據(jù)保存方法,其特征在于,包括接收數(shù)據(jù)后,根據(jù)當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情況分配數(shù)據(jù)塊和索引塊;將所述數(shù)據(jù)寫入所述數(shù)據(jù)塊,并將對應(yīng)該數(shù)據(jù)的索引信息寫入所述索引塊。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當(dāng)前文件中該數(shù)據(jù)對 應(yīng)位號下的記錄的情況包括所述位號下沒有記錄;或所述位號下有混合型記錄;或所述位號下同時(shí)有 凄t據(jù)型記錄和索引型記錄;所述混合型記錄中同時(shí)保存數(shù)據(jù)和該數(shù)據(jù)對應(yīng)的索引信息,所述數(shù)據(jù)型記 錄僅保存數(shù)據(jù),所述索引型記錄僅保存所述索引信息;所述混合型記錄、凝:據(jù)型記錄或索引型記錄的大小均為文件系統(tǒng)簇大小的 整數(shù)倍。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述位號下沒有記錄時(shí), 所述根據(jù)記錄的情況分配數(shù)據(jù)塊和索引塊包括新建一條混合型記錄;在所述混合型記錄中分配數(shù)據(jù)塊和索引塊。
4、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述位號下有混合型記錄 時(shí),所述根據(jù)記錄的情況分配數(shù)據(jù)塊和索引塊包括判斷所述混合型記錄中是否存在足夠空間存儲所述數(shù)據(jù)及該數(shù)據(jù)的索引 4呂息5當(dāng)所述混合型記錄中沒有足夠空間時(shí),將所述混合型記錄轉(zhuǎn)化為索引型記錄,并將該混合型記錄中的數(shù)據(jù)塊轉(zhuǎn)移至新建的數(shù)據(jù)型記錄中;在所述新建的數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,并在所述索引型記錄中分配索引塊。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法進(jìn)一步包括當(dāng)所述混合型記錄中有足夠空間時(shí),在所述混合型記錄中分配數(shù)據(jù)塊和索 引塊。
6、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述位號下同時(shí)有數(shù)據(jù)型 記錄和索引型記錄時(shí),所述根據(jù)記錄的情況分配數(shù)據(jù)塊和索引塊包括定位所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)型記錄和索引型記錄;判斷所述數(shù)據(jù)型記錄和索引型記錄中是否有足夠空間存儲所述數(shù)據(jù)及該 數(shù)據(jù)的索引信息;當(dāng)所述數(shù)據(jù)型記錄和索引型記錄沒有足夠空間時(shí),分配新的數(shù)據(jù)型記錄作 為當(dāng)前數(shù)據(jù)型記錄,并分配新的索引型記錄作為當(dāng)前的索引型記錄;在所述當(dāng)前數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,并在所述當(dāng)前索引型記錄中分配索 引塊。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,進(jìn)一步包括當(dāng)所述數(shù)據(jù)型記錄和索引型記錄中有足夠空間時(shí),在所述數(shù)據(jù)型記錄中分 配數(shù)據(jù)塊,并在所述索引型記錄中分配索引塊。
8、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述位號下僅能有混合型 記錄時(shí),所述根據(jù)記錄的情況分配數(shù)據(jù)塊和索引塊包括定位所有所述混合型記錄中的最后一條記錄;判斷所述記錄中是否有足夠空間存儲所述數(shù)據(jù)及該數(shù)據(jù)的索引信息; 當(dāng)所述記錄中沒有足夠空間時(shí)新建一條記錄; 在所述新建的記錄中分配數(shù)據(jù)塊和索引塊。
9、 根據(jù)權(quán)利要求8所述的方法,其特征在于,進(jìn)一步包括 當(dāng)所述記錄中有足夠空間時(shí),在所述最后一條記錄中分配數(shù)據(jù)塊和索引塊。
10、 根據(jù)權(quán)利要求1至9任意一項(xiàng)所述的方法,其特征在于,所述在接收 數(shù)據(jù)后進(jìn)一步包括根據(jù)所述接收數(shù)據(jù)的數(shù)據(jù)參數(shù)信息檢查所述數(shù)據(jù)是否合法;當(dāng)所述數(shù)據(jù)合法時(shí),執(zhí)行分配數(shù)據(jù)塊和索引塊的步驟;當(dāng)所述數(shù)據(jù)不合法 時(shí),丟棄所述數(shù)據(jù)。
11、 根據(jù)權(quán)利要求10所述的方法,其特征在于,所述數(shù)據(jù)參數(shù)包括數(shù)據(jù) 變化率、數(shù)據(jù)極限值、和時(shí)間戳中的至少一種;所述數(shù)據(jù)包括位號標(biāo)識、位號狀態(tài)位、時(shí)間戳和位號數(shù)值。
12、 一種數(shù)據(jù)保存裝置,其特征在于,包括 接收單元,用于接收數(shù)據(jù);操作單元,用于接收數(shù)據(jù)后根據(jù)當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情 況分配數(shù)據(jù)塊和索引塊;寫入單元,用于將所述數(shù)據(jù)寫入所述數(shù)據(jù)塊,并將對應(yīng)該^:據(jù)的索引信息 寫入所述索引塊中。
13、 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述位號下沒有記錄時(shí), 所述操作單元包括新建單元,用于新建一條混合型記錄;分配單元,用于在所述混合型記錄中分配數(shù)據(jù)塊和索引塊。
14、 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述位號下有混合型記 錄時(shí),所述操作單元包括判斷單元,用于判斷所述混合型記錄中是否存在足夠空間存儲所述數(shù)據(jù)及 該數(shù)據(jù)的索引信息;執(zhí)行單元,用于當(dāng)所述混合型記錄中沒有足夠空間時(shí),將所述混合型記錄 轉(zhuǎn)化為索引型記錄,并將該混合型記錄中的數(shù)據(jù)塊轉(zhuǎn)移至新建的數(shù)據(jù)型記錄 中,并在所述新建的數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,在所述索引型記錄中分配索引 塊;當(dāng)所述混合型記錄中有足夠空間時(shí),在所述混合型記錄中分配數(shù)據(jù)塊和索 引塊。
15、 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述位號下同時(shí)有數(shù)據(jù) 型記錄和索引型記錄時(shí),所述才喿作單元包括定位單元,用于定位所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)型記錄和索引型記錄; 判斷單元,用于判斷所述數(shù)據(jù)型記錄和索引型記錄中是否有足夠空間存儲 所述數(shù)據(jù)及該數(shù)據(jù)的索引信息;執(zhí)行單元,用于當(dāng)所述數(shù)據(jù)型記錄和索引型記錄沒有足夠空間時(shí),分配新 的凄t據(jù)型記錄作為當(dāng)前數(shù)據(jù)型記錄,并分配新的索引型記錄作為當(dāng)前的索引型 記錄,在所述當(dāng)前數(shù)據(jù)型記錄中分配數(shù)據(jù)塊,在所述當(dāng)前索引型記錄中分配索 引塊;當(dāng)所述數(shù)據(jù)型記錄和索引型記錄中有足夠空間時(shí),在所述數(shù)據(jù)型記錄中 分配數(shù)據(jù)塊,并在所述索引型記錄中分配索引塊。
16、 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述位號下僅能有混合 型記錄時(shí),所述執(zhí)行單元包括定位單元,用于定位所有所述混合型記錄中的最后一條記錄; 判斷單元,用于判斷所述記錄中是否有足夠空間存儲所述數(shù)據(jù)及該數(shù)據(jù)的 索引信息;執(zhí)行單元,用于當(dāng)所述記錄中沒有足夠空間時(shí)新建一條記錄,并在所述新 建的記錄中分配數(shù)據(jù)塊和索引塊;當(dāng)所述記錄中有足夠空間時(shí),在所述最后一 條記錄中分配數(shù)據(jù)塊和索引塊。
17、 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置進(jìn)一步包括 檢查單元,用于根據(jù)所述接收單元接收數(shù)據(jù)的數(shù)據(jù)參數(shù)信息檢查所述數(shù)據(jù)是否合法;執(zhí)行單元,用于當(dāng)所述數(shù)據(jù)合法時(shí),執(zhí)行所述操作單元的功能,當(dāng)所述數(shù) 據(jù)不合法時(shí),丟棄所述數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)保存方法,包括接收數(shù)據(jù)后,根據(jù)當(dāng)前文件中該數(shù)據(jù)對應(yīng)位號下的記錄的情況分配數(shù)據(jù)塊和索引塊;將所述數(shù)據(jù)寫入所述數(shù)據(jù)塊,并將對應(yīng)該數(shù)據(jù)的索引信息寫入所述索引塊。本發(fā)明還公開了一種數(shù)據(jù)保存裝置。本發(fā)明通過采用混合型記錄或數(shù)據(jù)型記錄和索引型記錄的雙重結(jié)構(gòu)模式,當(dāng)某些位號的數(shù)據(jù)較少時(shí),則通過一個(gè)混合型記錄保存所有數(shù)據(jù)和該數(shù)據(jù)的索引,當(dāng)某些位號的數(shù)據(jù)較多時(shí),則通過數(shù)據(jù)型記錄和索引型記錄分別保存數(shù)據(jù)和索引,對保存結(jié)構(gòu)進(jìn)行優(yōu)化,因此無論對于混合型記錄還是索引型記錄,索引信息均能夠高度集中,使得在處理數(shù)據(jù)量懸殊的位號數(shù)據(jù)時(shí)具有較強(qiáng)的靈活性,且極大提高了數(shù)據(jù)的檢索效率。
文檔編號G05B19/04GK101169628SQ200710188199
公開日2008年4月30日 申請日期2007年11月14日 優(yōu)先權(quán)日2007年11月14日
發(fā)明者勇 古, 葉建位, 蘇宏業(yè) 申請人:中控科技集團(tuán)有限公司;浙江大學(xué);浙江中控軟件技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
全州县| 黔西| 宜宾县| 思南县| 宣武区| 封开县| 资阳市| 长沙县| 璧山县| 武宁县| 永年县| 肃宁县| 曲周县| 滨海县| 新昌县| 方正县| 九龙县| 镶黄旗| 科技| 怀远县| 巴彦淖尔市| 濉溪县| 滦平县| 乐平市| 廉江市| 晋宁县| 建始县| 穆棱市| 台安县| 资中县| 银川市| 江阴市| 沭阳县| 桃江县| 石城县| 奉节县| 汾西县| 公安县| 北碚区| 饶平县| 喀什市|