專利名稱:一種高效的數(shù)據(jù)流存儲(chǔ)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)流領(lǐng)域,特別涉及一種高效的數(shù)據(jù)流存儲(chǔ)方法。
背景技術(shù):
在許多數(shù)據(jù)管理應(yīng)用中,數(shù)據(jù)常常以流的形式到達(dá)系統(tǒng),數(shù)據(jù)流存儲(chǔ)管理的特點(diǎn)是持續(xù)追加式存儲(chǔ),而且要求每ー批數(shù)據(jù)流的存儲(chǔ)速度要快,所有數(shù)據(jù)流的后期訪問(wèn)效率要高。已有數(shù)據(jù)流存儲(chǔ)方法可以分為兩大類
ー類是簡(jiǎn)單存儲(chǔ)到達(dá)的數(shù)據(jù)流,比如把每組數(shù)據(jù)流作為ー個(gè)記錄存儲(chǔ)起來(lái),不作其它更多的處理,這種方法可以獲得比較高的存儲(chǔ)效率,但未經(jīng)優(yōu)化處理或稍作整理的組織結(jié)構(gòu)往往比較雜亂,不利于以后對(duì)數(shù)據(jù)流的訪問(wèn);另ー類是在數(shù)據(jù)流到達(dá)的同時(shí)不僅存儲(chǔ)數(shù)據(jù)流,還進(jìn)行相關(guān)的分析和處理,包括分類、設(shè)置標(biāo)記、更新相應(yīng)的索引結(jié)構(gòu)等操作,這些操作可以提高以后對(duì)數(shù)據(jù)流的訪問(wèn)效率,屬于訪問(wèn)效率優(yōu)化操作,但在數(shù)據(jù)流到達(dá)系統(tǒng)時(shí),同時(shí)進(jìn)行存儲(chǔ)和優(yōu)化兩類操作會(huì)影響數(shù)據(jù)流的存儲(chǔ)效率,比如在存入數(shù)據(jù)流的同時(shí)進(jìn)行索引更新會(huì)嚴(yán)重降低數(shù)據(jù)流的存儲(chǔ)速度,在大量實(shí)時(shí)數(shù)據(jù)流到達(dá)時(shí)甚至?xí)l(fā)生宕機(jī)現(xiàn)象,不能滿足高速數(shù)據(jù)流的存儲(chǔ)需求。上述第一類方法在自動(dòng)化數(shù)據(jù)采集與控制系統(tǒng)中使用比較多,因?yàn)樽詣?dòng)化數(shù)據(jù)采集與控制系統(tǒng)需要將采集數(shù)據(jù)實(shí)時(shí)地存儲(chǔ)起來(lái),對(duì)數(shù)據(jù)存儲(chǔ)效率要求較高。這種方法引起的不利于以后數(shù)據(jù)訪問(wèn)的問(wèn)題,一般通過(guò)間接訪問(wèn)的辦法解決,即將存儲(chǔ)的原始數(shù)據(jù)導(dǎo)入其它離線數(shù)據(jù)管理系統(tǒng),重新按一定的結(jié)構(gòu)組織數(shù)據(jù),建立索引結(jié)構(gòu),于是造成數(shù)據(jù)管理系統(tǒng)重復(fù)建設(shè)、數(shù)據(jù)版本不一致等新的問(wèn)題。上述第二類方法一般適用于對(duì)數(shù)據(jù)存儲(chǔ)實(shí)時(shí)性要求不是特別高的大規(guī)模軟實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)。這類系統(tǒng)往往采用垂直分區(qū)和位(bitwise)索引等新型索引技術(shù),需要利用一定的時(shí)空開(kāi)銷,在存儲(chǔ)數(shù)據(jù)的同時(shí)做標(biāo)記或建立和更新索引,或者進(jìn)行數(shù)據(jù)分類存儲(chǔ),以提聞以后數(shù)據(jù)的訪問(wèn)效率。簡(jiǎn)言之,現(xiàn)有數(shù)據(jù)存儲(chǔ)技術(shù)應(yīng)用在數(shù)據(jù)流系統(tǒng)中,要么存儲(chǔ)效率低,要么以后訪問(wèn)效率低,不能滿足大量高速數(shù)據(jù)流的處理需求。中國(guó)專利201010210307. 6申請(qǐng)文件公開(kāi)了ー種“高速數(shù)據(jù)實(shí)時(shí)采集存儲(chǔ)設(shè)備”,它是通過(guò)PCI-E總線連接高速數(shù)據(jù)采集模塊和高速數(shù)據(jù)存儲(chǔ)控制模塊,將數(shù)據(jù)存儲(chǔ)到磁盤(pán)陣列中,完成高速、實(shí)時(shí)的數(shù)據(jù)存儲(chǔ)。用戶可以通過(guò)高速數(shù)據(jù)存儲(chǔ)控制模塊對(duì)磁盤(pán)陣列中的數(shù)據(jù)進(jìn)行訪問(wèn)。該發(fā)明不是解決數(shù)據(jù)存儲(chǔ)和訪問(wèn)效率互相影響問(wèn)題的方法。中國(guó)專利200880013143. 9號(hào)申請(qǐng)文件公開(kāi)了ー種“用于連接到主機(jī)的存儲(chǔ)設(shè)備的優(yōu)化的提示模型和用于存儲(chǔ)設(shè)備的寫(xiě)優(yōu)化方案”(國(guó)際申請(qǐng)?zhí)朠CT/US2008/058482),該方案的實(shí)質(zhì)是將數(shù)據(jù)分為頻繁修改和較不頻繁修改的數(shù)據(jù),不同的數(shù)據(jù)分類存儲(chǔ)到不同速度不同成本的存儲(chǔ)器中,沒(méi)有區(qū)別對(duì)待數(shù)據(jù)流的存儲(chǔ)和訪問(wèn)效率。中國(guó)專利200910116130. O號(hào)申請(qǐng)文件公開(kāi)了 “ー種交替式存儲(chǔ)同步連續(xù)傳輸?shù)臄?shù)據(jù)采集方法”,該方法通過(guò)將采集的數(shù)據(jù)交替寫(xiě)入兩個(gè)大容量存儲(chǔ)單元,實(shí)現(xiàn)在數(shù)據(jù)輸出率高于傳輸率條件下的數(shù)據(jù)長(zhǎng)時(shí)間連續(xù)采集與同步傳輸,未涉及數(shù)據(jù)的訪問(wèn)效率。美國(guó)專利US11/821477號(hào)申請(qǐng)文件(公開(kāi)號(hào)US8090925B2)公開(kāi)了“Storing datastreams in memory based on upper and lower stream size thresholds,,,該發(fā)相將數(shù)據(jù)流作為ー個(gè)系統(tǒng)文件存儲(chǔ),并設(shè)定數(shù)據(jù)流規(guī)模的上下限。這種方法沒(méi)有區(qū)別對(duì)待數(shù)據(jù)流的存儲(chǔ)和訪問(wèn)效率。實(shí)際上,數(shù)據(jù)流的存儲(chǔ)效率與以后的訪問(wèn)效率在一定程度上存在矛盾?,F(xiàn)有技術(shù)沒(méi)有將二者很好的協(xié)調(diào)起來(lái),多數(shù)技術(shù)(如各種各樣的索引技木)更關(guān)注數(shù)據(jù)(流)后期訪問(wèn)效率,忽略了數(shù)據(jù)(流)首次存儲(chǔ)效率,從而影響系統(tǒng)的整體性能,如載于《軟件學(xué)報(bào)》2005,16(12) :2089-2098的《數(shù)據(jù)流歷史數(shù)據(jù)的存儲(chǔ)與聚集查詢處理算法》。在數(shù)據(jù)流場(chǎng)景下,甚至?xí)l(fā)生系統(tǒng)崩潰現(xiàn)象(當(dāng)大量數(shù)據(jù)流快速到達(dá)時(shí),資源被數(shù)據(jù)流索引的建立與更新占用,不能進(jìn)行數(shù)據(jù)存儲(chǔ)操作,看起來(lái)像死機(jī))。
發(fā)明內(nèi)容
發(fā)明目的針對(duì)上述現(xiàn)有技術(shù)存在的問(wèn)題和不足,本發(fā)明的目的是提供一種高效的數(shù)據(jù)流存儲(chǔ)方法,克服數(shù)據(jù)流存儲(chǔ)及訪問(wèn)效率低的問(wèn)題,特別是克服目前已有數(shù)據(jù)存儲(chǔ)方法沒(méi)有兼顧數(shù)據(jù)存儲(chǔ)效率和數(shù)據(jù)訪問(wèn)效率的問(wèn)題。技術(shù)方案為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為ー種高效的數(shù)據(jù)流存儲(chǔ)方法,設(shè)置ー個(gè)時(shí)鐘控制模塊,一個(gè)批量存儲(chǔ)模塊和ー個(gè)訪問(wèn)效率優(yōu)化模塊;所述批量存儲(chǔ)模塊用于將到達(dá)系統(tǒng)緩沖區(qū)的數(shù)據(jù)流批量存入存儲(chǔ)設(shè)備;所述訪問(wèn)效率優(yōu)化模塊用于根據(jù)存儲(chǔ)設(shè)備里最近存入的一批數(shù)據(jù)流更新訪問(wèn)效率優(yōu)化結(jié)構(gòu);所述時(shí)鐘控制模塊用于控制批量存儲(chǔ)模塊和訪問(wèn)效率優(yōu)化模塊按節(jié)拍交替工作。所述時(shí)鐘控制模塊可根據(jù)數(shù)據(jù)流到達(dá)的速度和數(shù)量調(diào)整節(jié)拍,當(dāng)數(shù)據(jù)流到達(dá)的速度快和/或數(shù)據(jù)流到達(dá)的數(shù)量大時(shí),減少訪問(wèn)效率優(yōu)化操作或不進(jìn)行訪問(wèn)效率優(yōu)化操作,具體的量化標(biāo)準(zhǔn)可以根據(jù)不同系統(tǒng)的指標(biāo)進(jìn)行設(shè)定。所述數(shù)據(jù)流可包括RDF數(shù)據(jù)流。有益效果本發(fā)明將數(shù)據(jù)流的存儲(chǔ)效率和訪問(wèn)效率分開(kāi)考慮,尤其重視數(shù)據(jù)流存儲(chǔ)效率和訪問(wèn)效率相互影響的特征,將提高數(shù)據(jù)流訪問(wèn)效率的操作從數(shù)據(jù)流存儲(chǔ)過(guò)程中剝離出來(lái),避免訪問(wèn)效率優(yōu)化的操作影響數(shù)據(jù)流存儲(chǔ)的效率,能保證在有關(guān)提高數(shù)據(jù)流訪問(wèn)效率的操作進(jìn)行時(shí),不降低數(shù)據(jù)流存儲(chǔ)操作的效率。采用本發(fā)明的技術(shù)方案,開(kāi)發(fā)人員可以比較容易地兼顧數(shù)據(jù)流存儲(chǔ)效率和數(shù)據(jù)流訪問(wèn)效率,實(shí)現(xiàn)數(shù)據(jù)流存儲(chǔ)和訪問(wèn)效率的共同提聞。
圖I為本發(fā)明實(shí)施例的流程圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例,進(jìn)ー步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
首先,設(shè)置ー個(gè)時(shí)鐘控制模塊,一個(gè)數(shù)據(jù)流批量存儲(chǔ)模塊和ー個(gè)訪問(wèn)效率優(yōu)化模塊。在本實(shí)例中,訪問(wèn)效率優(yōu)化操作是索引更新,因此訪問(wèn)效率優(yōu)化模塊是索引更新模塊,如圖I所示。然后在時(shí)鐘控制模塊的控制作用下,數(shù)據(jù)流批量存儲(chǔ)模塊和索引更新模塊按節(jié)拍交替工作。當(dāng)數(shù)據(jù)流批量存儲(chǔ)模塊工作時(shí),數(shù)據(jù)流從緩沖器存入存儲(chǔ)器;當(dāng)索引更新模塊エ作時(shí),根據(jù)存儲(chǔ)器里的數(shù)據(jù)流更新索引結(jié)構(gòu)。設(shè)起始時(shí)刻為t,所注冊(cè)的批量存儲(chǔ)周期為T(mén),則在t+nT時(shí)刻進(jìn)行批量存儲(chǔ),η為正整數(shù),在t+nT-T/2+δ時(shí)刻進(jìn)行索引更新,其中δ為微調(diào)參數(shù),I δ I <Τ/2,Τ與δ可根據(jù)數(shù)據(jù)流的速率和每批數(shù)據(jù)流的數(shù)據(jù)量,以及具體系統(tǒng)的硬件指標(biāo)等進(jìn)行調(diào)節(jié)。當(dāng)在T時(shí)間段內(nèi),數(shù)據(jù)流到達(dá)的數(shù)據(jù)量大于或等于緩沖器的容量時(shí),不進(jìn)行索引更新操作。 值得說(shuō)明的是,數(shù)據(jù)流可以是包括RDF(Resource Description Framework,資源描述框架)數(shù)據(jù)流在內(nèi)的各種形式的數(shù)據(jù)流。
權(quán)利要求
1.一種高效的數(shù)據(jù)流存儲(chǔ)方法,其特征在于設(shè)置一個(gè)時(shí)鐘控制模塊,一個(gè)批量存儲(chǔ)模塊和一個(gè)訪問(wèn)效率優(yōu)化模塊;所述批量存儲(chǔ)模塊用于將到達(dá)系統(tǒng)緩沖區(qū)的數(shù)據(jù)流批量存入存儲(chǔ)設(shè)備;所述訪問(wèn)效率優(yōu)化模塊用于根據(jù)存儲(chǔ)設(shè)備里最近存入的一批數(shù)據(jù)流更新訪問(wèn)效率優(yōu)化結(jié)構(gòu);所述時(shí)鐘控制模塊用于控制批量存儲(chǔ)模塊和訪問(wèn)效率優(yōu)化模塊按節(jié)拍交替工作。
2.根據(jù)權(quán)利要求I所述一種高效的數(shù)據(jù)流存儲(chǔ)方法,其特征在于所述時(shí)鐘控制模塊根據(jù)數(shù)據(jù)流到達(dá)的速度和數(shù)量調(diào)整節(jié)拍,當(dāng)數(shù)據(jù)流到達(dá)的速度快和/或數(shù)據(jù)流到達(dá)的數(shù)量大時(shí),減少訪問(wèn)效率優(yōu)化操作或不進(jìn)行訪問(wèn)效率優(yōu)化操作。
3.根據(jù)權(quán)利要求I所述一種高效的數(shù)據(jù)流存儲(chǔ)方法,其特征在于所述數(shù)據(jù)流包括RDF數(shù)據(jù)流。
全文摘要
本發(fā)明公開(kāi)了一種高效的數(shù)據(jù)流存儲(chǔ)方法,設(shè)置一個(gè)時(shí)鐘控制模塊,一個(gè)批量存儲(chǔ)模塊和一個(gè)訪問(wèn)效率優(yōu)化模塊;所述批量存儲(chǔ)模塊用于將到達(dá)系統(tǒng)緩沖區(qū)的數(shù)據(jù)流批量存入存儲(chǔ)設(shè)備;所述訪問(wèn)效率優(yōu)化模塊用于根據(jù)最近存入的一批數(shù)據(jù)流更新存儲(chǔ)設(shè)備里數(shù)據(jù)流的訪問(wèn)效率優(yōu)化結(jié)構(gòu);所述時(shí)鐘控制模塊用于控制批量存儲(chǔ)模塊和訪問(wèn)效率優(yōu)化模塊按節(jié)拍交替工作。本發(fā)明將提高數(shù)據(jù)流訪問(wèn)效率的操作從數(shù)據(jù)流存儲(chǔ)過(guò)程中剝離出來(lái),避免訪問(wèn)效率優(yōu)化的操作影響數(shù)據(jù)流存儲(chǔ)的效率,能保證在有關(guān)提高數(shù)據(jù)流訪問(wèn)效率的操作進(jìn)行時(shí),不降低數(shù)據(jù)流存儲(chǔ)操作的效率。
文檔編號(hào)G06F12/00GK102662890SQ201210047348
公開(kāi)日2012年9月12日 申請(qǐng)日期2012年2月28日 優(yōu)先權(quán)日2012年2月28日
發(fā)明者劉奇志 申請(qǐng)人:南京大學(xué)