管理數據包括:接收至少一組可獨立訪問的數據單元(200),每個數據單元由鍵值標識,所接收的數據單元的鍵值被排序;以及處理數據單元以在數據存儲系統(100)中存儲。所述處理包括:存儲多個數據塊(202);對于每個塊提供包括條目的索引(114);以及生成與所存儲的塊關聯的多個篩選數據結構(116)以便確定包括給定鍵值的數據單元被包括在該組可獨立訪問的數據單元中的概率,所述多個篩選數據結構包括用于篩選所述多個塊中的一個或更多個塊的第一集合的第一篩選數據結構、和用于篩選所述多個塊中的一個或更多個塊的第二集合的第二篩選數據結構。
【技術實現步驟摘要】
【國外來華專利技術】
本專利技術涉及管理可獨立訪問的數據單元的存儲。
技術介紹
數據庫系統可以以多種格式中的任何一種格式來存儲可獨立訪問的數據單元或者“記錄”。每個記錄可以對應于諸如信用卡交易之類的邏輯實體,并且典型地具有用于唯一地標識記錄的關聯主鍵(key)。記錄可以包括與記錄格式的各個字段相關聯的多個值。記錄可以被存儲在一個或多個文件中(例如,平面文件(flat files)或結構化數據文件(structured data files),諸如XML文件)。在壓縮數據庫系統中,獨立的記錄或者記錄內的值在存儲時可以被壓縮,并且在被訪問時可以被解壓縮以減少系統的存儲需求。
技術實現思路
在一個方面中,一般地,一種管理數據的方法包括在輸入設備或端口上接收至少一組可獨立訪問的數據單元,每個數據單元由鍵值標識,所接收的數據單元的鍵值被排序以使得標識在給定的第二數據單元之前接收的給定的第一數據單元的鍵值在排序次序中比標識給定的第二數據單元的鍵值出現得更早;以及處理數據單元以在數據存儲系統中存儲。所述處理包括存儲多個數據塊,所述塊中的一個或更多個的每個是通過組合多個數據單元而生成的;對于每個塊提供包括條目的索引,其中所述條目中的一個或更多個使得能夠基于所提供的鍵值來定位包括與包括所提供的鍵值的鍵值范圍相對應的數據單元的塊;以及生成與所存儲的塊關聯的多個篩選(screening)數據結構以便確定包括給定鍵值的數據單元被包括在該組可獨立訪問的數據單元中的概率,所述多個篩選數據結構包括用于篩選所述多個塊中的一個或更多個塊的第一集合的第一篩選數據結構、和用于篩選所述多個塊中的一個或更多個塊的第二集合的第二篩選數據結構。各方面可以包括以下特征中的一個或更多個。在多個塊的一個或更多個的第二集合中包括的全部數據單元具有在排序次序中比在多個塊的一個或更多個的第一集合中包括的數據單元的任何鍵值出現得更晚的鍵值。多個篩選數據結構中的每個對應于標識在一個或更多個塊的對應集合中存儲的數據單元的不同的非重疊鍵值范圍。在累積了在多個塊的一個或更多個塊的第一集合中存儲的第一集合數據單元中的預定數量的區別鍵值之后生成第一篩選數據結構,而在接收在多個塊的一個或更多個塊的第二集合中存儲的第二集合數據單元的同時生成第二篩選數據結構。該方法還包括使用索引和多個篩選數據結構來搜索具有給定鍵值的數據單元。所述搜索包括對于多個篩選數據結構中的每一個檢查指示具有給定鍵值的數據單元可能被包括在該組可獨立訪問的數據單元中的肯定結果。該方法還包括響應于對于對應篩選數據結構的肯定結果,搜索索引以確定給定鍵值是否落入跨越被對應篩選數據結構所篩選的一個或更多個塊的鍵值范圍內。該方法還包括響應于給定鍵值落入跨越被對應篩選數據結構所篩選的多個塊的鍵值范圍內,搜索索引以找到用于搜索具有給定鍵值的數據單元的特定塊。對于給定鍵值,給定篩選數據結構確定包括給定鍵值的數據單元必定沒有被包括,或者包括給定鍵值的數據單元可能被包括。在數據單元沒有被包括時給定篩選數據結構確定包括給定鍵值的數據單元可能被包括的概率取決于數據結構的大小。該方法還包括基于標識生成塊所依據的數據單元的區別鍵值的數量,而選擇給定篩選數據結構的大小。在輸入設備或端口上接收給定數據單元之前,標識給定數據單元的鍵值對應于與給定數據單元關聯的一個或更多個字段。 該方法還包括在接收數據單元時累積區別鍵值,并且在接收到該組可獨立訪問的數據單元中的數據單元之后對所累積的區別鍵值進行計數。在輸入設備或端口上接收給定數據單元之后,標識該給定數據單元的鍵值才被分配給該給定數據單元。鍵值是單調分配的。所有分配的鍵值均有區別。與所存儲的塊關聯的篩選數據結構的數量基于標識該組可獨立訪問的數據單元中的數據單元的區別鍵值的數量、以及與篩選數據結構關聯的目標錯誤肯定概率。索引是包括至少第一級別索引和第二級別索引的分層級索引。第一級別索引被劃分為多個條目區域,其使得能夠基于所提供的鍵值來定位包括與包括所提供的鍵值的鍵值范圍對應的數據單元的塊,每個區域足夠小以便完全容納在與該數據存儲系統耦接的存儲器內。索引中條目的一個或更多個條目標識與生成對應塊所依據的數據單元對應的鍵值范圍。索引中條目的至少一些中的每個條目標識對應塊的存儲位置。第二級別索引足夠小以完全容納在存儲器內。第二級別索引包括用于多個區域中每個區域的相應條目。第二級別索引中條目的一個或更多個條目使得能夠基于所提供的鍵值來定位包括與包括所提供的鍵值的鍵值范圍對應的條目的第一級別索引的區域。在另一方面中,一般地,一種計算機可讀介質存儲用于管理數據的計算機程序,該計算機程序包括使得計算機執行以下操作的指令在輸入設備或端口上接收至少一組可獨立訪問的數據單元,每個數據單元由鍵值標識,所接收的數據單元的鍵值被排序以使得標識在給定的第二數據單元之前接收的給定的第一數據單元的鍵值在排序次序中比標識給定的第二數據單元的鍵值出現得更早;以及處理數據單元以在數據存儲系統中存儲。所述處理包括存儲多個數據塊,所述塊中的一個或更多個的每個是通過組合多個數據單元而生成的;對于每個塊提供包括條目的索引,其中所述條目中的一個或更多個使得能夠基于所提供的鍵值來定位包括與包括所提供的鍵值的鍵值范圍相對應的數據單元的塊;以及生成與所存儲的塊關聯的多個篩選數據結構以便確定包括給定鍵值的數據單元被包括在該組可獨立訪問的數據單元中的概率,所述多個篩選數據結構包括用于篩選所述多個塊中的一個或更多個塊的第一集合的第一篩選數據結構、和用于篩選所述多個塊中的一個或更多個塊的第二集合的第二篩選數據結構。在另一方面中,一般地,一種管理數據的系統包括輸入設備或端口,被配置為接收至少一組可獨立訪問的數據單元,每個數據單元由鍵值標識,所接收的數據單元的鍵值被排序以使得標識在給定的第二數據單元之前接收的給定的第一數據單元的鍵值在排序次序中比標識給定的第二數據單元的鍵值出現得更早;以及至少一個處理器,被配置為處理數據單元以在數據存儲系統中存儲。所述處理包括存儲多個數據塊,所述塊中的一個或更多個的每個是通過組合多個數據單元而生成的;對于每個塊提供包括條目的索引,其中所述條目中的一個或更多個使得能夠基于所提供的鍵值來定位包括與包括所提供的鍵值的鍵值范圍相對應的數據單元的塊;以及生成與所存儲的塊關聯的多個篩選數據結構以便確定包括給定鍵值的數據單元被包括在該組可獨立訪問的數據單元中的概率,所述多個篩選數據結構包括用于篩選所述多個塊中的一個或更多個塊的第一集合的第一篩選數據結構、和用于篩選所述多個塊中的一個或更多個塊的第二集合的第二篩選數據結構。在另一方面中,一般地,一種管理數據的系統包括用于接收至少一組可獨立訪問的數據單元的部件,每個數據單元由鍵值標識,所接收的數據單元的鍵值被排序以使得標·識在給定的第二數據單元之前接收的給定的第一數據單元的鍵值在排序次序中比標識給定的第二數據單元的鍵值出現得更早;以及用于處理數據單元以在數據存儲系統中存儲的部件。所述處理包括存儲多個數據塊,所述塊中的一個或更多個的每個是通過組合多個數據單元而生成的;對于每個塊提供包括條目的索引,其中所述條目中的一個或更多個使得能夠基于所提供的鍵值來定位包括與包括所提供的鍵值的鍵值范圍相對應的數據單元的塊;以及生本文檔來自技高網...

【技術保護點】
【技術特征摘要】
【國外來華專利技術】
【專利技術屬性】
技術研發人員:V庫爾卡尼,S施密特,CW斯坦菲爾,EM維施尼亞克,
申請(專利權)人:起元技術有限責任公司,
類型:
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。