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