用于根據(jù)數(shù)據(jù)倉庫提供統(tǒng)計信息的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種用于根據(jù)數(shù)據(jù)倉庫(410)提供統(tǒng)計數(shù)據(jù)的方法,數(shù)據(jù)倉庫包括一種或多種數(shù)據(jù)存儲裝置以及耦合至數(shù)據(jù)存儲裝置的一個或多個處理器,所述方法的特征在于包括以下步驟:定義多個索引域(114),每一個索引域都接受多個索引域值;建立多個索引文件(432)并且將文件分層級地索引為索引樹(300),其中對于每一棵樹都包括以下步驟:分層級地排序索引域(201);定義分選倉,每一個分選倉都關聯(lián)至一個索引域并且收集用于該索引域的一個或多個索引域值;通過級聯(lián)跟分層級排序的索引域的層級相一致的一個或多個分選倉構成分選倉序列而建立索引,索引在每一個索引域中都只包括一個分選倉;將文件分層級地索引為索引樹(300),每一個索引都擁有零個或更多個子索引和/或擁有最多一個父索引,以使每一個子索引都包括跟其父索引的索引再加上關聯(lián)至附加索引域的至少一個附加分選倉相同的分選倉序列;給每一個索引提供被設置用于存儲統(tǒng)計數(shù)據(jù)的數(shù)據(jù)容器(325,335),以使每一個數(shù)據(jù)容器都被索引并且可以從分層級索引的文件中直接尋址;接收(436)一個或多個包括原始數(shù)據(jù)的輸入文件(434)并且用輸入文件(434)更新數(shù)據(jù)容器,其中包括對于每一個輸入文件都使用一個或多個處理器來設置用于執(zhí)行以下步驟:從原始數(shù)據(jù)中識別和提取至少一種屬性以通過統(tǒng)計信息和表現(xiàn)所述屬性特征的一個或多個輸入文件參數(shù)進行分析;根據(jù)輸入文件(434)建立至少一條個體記錄(620),每一條個體記錄(620)都包括至少一種屬性和表現(xiàn)所述屬性特征的一個或多個輸入文件參數(shù);將每一個輸入文件參數(shù)與至少一個索引域相關聯(lián);在每一個輸入文件參數(shù)以及關聯(lián)至該輸入文件參數(shù)的至少一個索引域的分選倉之間建立對應關系;識別出用全都跟所述個體記錄(620)的輸入文件參數(shù)相對應的一個或多個分選倉索引的數(shù)據(jù)容器;用所述個體記錄(620)的至少一種屬性增量式地更新識別出的數(shù)據(jù)容器(325,335)以獲取描述屬性的統(tǒng)計數(shù)據(jù)。
【專利說明】用于根據(jù)數(shù)據(jù)倉庫提供統(tǒng)計信息的方法和系統(tǒng)
【技術領域】
[0001]本發(fā)明整體上主要涉及數(shù)據(jù)倉庫和商業(yè)智能,并且更具體地致力于解決在考慮提供統(tǒng)計數(shù)據(jù)時加快數(shù)據(jù)檢索以實時處理從大型數(shù)據(jù)儲存庫中查詢的問題。
[0002]本發(fā)明涉及特定的內存中的數(shù)據(jù)結構,其允許明顯加快針對通常在商業(yè)智能中使用的大量數(shù)據(jù)進行統(tǒng)計聯(lián)機分析處理(OLAP)查詢的響應時間。
【背景技術】
[0003]所有的大型公司和企業(yè)在實施其商業(yè)行為的過程中每天都需要收集和累積大量的信息。一種普遍適用的解決方案是將這些信息以數(shù)據(jù)庫的形式存儲,最常見的是稱作關系數(shù)據(jù)庫的數(shù)據(jù)庫模型。關系數(shù)據(jù)庫實際上是一種在特定的關系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的控制之下的表格的集合以及表格之間的定義關系,并且配備有結構化查詢語言(SQL)以使得信息能夠被有效地存儲、更新和檢索。也存在其他的模型例如層級模型。無論使用何種模型,在要存儲和組織的總體數(shù)據(jù)量顯著增加時都需要進一步地組織數(shù)據(jù)庫的集合。實際上,現(xiàn)在很常見的是僅僅為了允許這些大型公司的日常操作就需要存儲太字節(jié)(terabyte)(也就是IO12字節(jié))量級的信息數(shù)據(jù),并且內容要做成持久保存和易于訪問;因此,自從80年代以來就提出了數(shù)據(jù)倉庫的概念。數(shù)據(jù)倉庫和數(shù)據(jù)集市是由任何大型機構建立用于保存其戰(zhàn)略經營和商業(yè)數(shù)據(jù)的儲存庫。組織倉庫的方式跟商業(yè)智能有很大關系。為了允許任意地徹底分析其內容以使得盡管可能必須要涉及海量的數(shù)據(jù)但是所有倉庫用戶都能夠做出知情決策,設計用于跟儲存庫之間來回地提取、轉換和加載數(shù)據(jù)的倉庫結構和工具以及檢索信息的表達和報告是關鍵性的。
[0004]在旅游業(yè)中,這種需要存儲和組織大量數(shù)據(jù)的大型機構通常是航空公司或⑶S也就是“全球分銷系統(tǒng)”。GDS是在全世界范圍內支持包括航空公司、連鎖酒店、租車公司、傳統(tǒng)的旅行社、其他在線旅游服務提供商等在內的所有旅游業(yè)參與者的幾家大型旅游服務提供商中的任何一家。這樣的GDS例如是AMADEUS,這是一家總部在西班牙馬德里的歐洲旅游服務提供商。GDS因此必須要從他們大量的存儲資源、計算資源和網絡資源中記錄可能是數(shù)以百萬計的游客、成千上萬家旅行社和在線服務提供商以及數(shù)十家航空公司和運輸公司的相關數(shù)據(jù)。為此,任何一家GDS都需要建立很多大型數(shù)據(jù)庫來保存例如所支持的運輸公司的所有日程表、他們提供的日常更新的各種費用以及數(shù)以百萬計的游客的所有票據(jù)數(shù)據(jù)等內容。
[0005]例如航空公司或GDS等機構經常需要依賴于統(tǒng)計信息來確定其戰(zhàn)略。統(tǒng)計信息也可以作為幫助終端用戶購買的服務而被提供給終端用戶。統(tǒng)計信息經常需要分析散布在構成某個機構(例如航空公司或GDS)的數(shù)據(jù)倉庫的很多數(shù)據(jù)庫中的海量數(shù)據(jù)。
[0006]然而,這種海量分散數(shù)據(jù)的分析并不是一項簡單的工作。即使事實上數(shù)據(jù)庫被專門設計為有助于檢索數(shù)據(jù),但是倉庫的內容分析仍然隱含地表明來自不同數(shù)據(jù)庫的可能會涉及很多大表的數(shù)據(jù)需要交叉比對,以使得能夠響應于這樣的查詢而提取有意義的信息片段并將其提供給終端用戶。通常,對于關系數(shù)據(jù)庫而言,這就意味著要對表項執(zhí)行聯(lián)合運算。已知這些運算在處理資源和時間等方面都代價高昂。而且,從可能是獨立的計算機化操作平臺訪問多個數(shù)據(jù)庫將觸發(fā)大量的1/0(輸入/輸出)操作,這跟如果能將處理限制在單一的內部計算機化單元內相比當然要慢得多。此外,所有這些操作都會影響到需要一直運行并且能夠同時處理多名用戶的倉庫數(shù)據(jù)庫的正常生產工作。這就使得難以甚至是無法實時處理(也就是在幾毫秒到幾十毫秒的期望時限內)涉及到獲取大量信息(例如收集和計算日常統(tǒng)計數(shù)據(jù))的復雜查詢。
[0007]因此,本發(fā)明的目標是公開一種根據(jù)數(shù)據(jù)倉庫保持更新的數(shù)據(jù)結構,并且其目的在于加快統(tǒng)計數(shù)據(jù)的檢索以使得即使是復雜的查詢,盡管可能會涉及到大量的數(shù)據(jù),但是也能夠實時地處理和響應。
[0008]本發(fā)明的更多目標、特征和優(yōu)點將在本領域技術人員參照附圖研讀以下的說明內容之后變得顯而易見。應該理解任何附加的優(yōu)點均可并入本文。
【發(fā)明內容】
[0009]為了滿足上述目標,本發(fā)明介紹了一種用于根據(jù)數(shù)據(jù)倉庫提供統(tǒng)計數(shù)據(jù)的方法,數(shù)據(jù)倉庫包括一種或多種數(shù)據(jù)存儲裝置以及耦合至數(shù)據(jù)存儲裝置的一個或多個處理器。
[0010]在下文中并且在附圖簡要說明之前提供了用于描述本發(fā)明的術語和參考詞匯的名詞解釋。
[0011]所述方法的特征在于其包括以下步驟:
[0012].定義多個索引域,每一個索引域都接受多個索引域值;
[0013].建立多個索引文件并且將文件分層級地索引為索引樹,其中對于每一棵樹都包括以下步驟:
[0014]-分層級地排序索引域;
[0015]-定義分選倉,每一個分選倉都關聯(lián)至一個索引域并且收集用于該索引域的一個或多個索引域值;
[0016]-通過級聯(lián)跟分層級排序的索引域的層級相一致的一個或多個分選倉構成分選倉序列而建立索引,索引在每一個索引域中都只包括一個分選倉;
[0017]-將文件分層級地索引為索引樹,每一個索引都擁有零個或更多個子索引和/或擁有最多一個父索引,以使每一個子索引都包括跟其父索引的索引相同的分選倉序列再加上關聯(lián)至附加索引域的至少一個附加分選倉;
[0018].給每一個索引提供被設置用于存儲統(tǒng)計數(shù)據(jù)的數(shù)據(jù)容器,以使每一個數(shù)據(jù)容器都被索引并且可以從分層級索引的文件中直接尋址;
[0019].接收一個或多個包括原始數(shù)據(jù)的輸入文件并且用輸入文件更新數(shù)據(jù)容器,其中包括對于每一個輸入文件都使用一個或多個處理器來設置用于執(zhí)行以下步驟:
[0020]-從原始數(shù)據(jù)中識別和提取通過統(tǒng)計信息分析的至少一種屬性和表征所述屬性的一個或多個輸入文件參數(shù);
[0021]-根據(jù)輸入文件建立至少一條個體記錄,每一條個體記錄都包括至少一種屬性和表征所述屬性的一個或多個輸入文件參數(shù);
[0022]-將每一個輸入文件參數(shù)與至少一個索引域相關聯(lián);
[0023]-在每一個輸入文件參數(shù)以及關聯(lián)至該輸入文件參數(shù)的至少一個索引域的分選倉之間建立對應關系;
[0024]-識別出用全都跟所述個體記錄的輸入文件參數(shù)相對應的一個或多個分選倉索引的數(shù)據(jù)容器;
[0025]-用所述個體記錄的至少一種屬性增量式地更新識別出的數(shù)據(jù)容器以獲取描述屬性的統(tǒng)計數(shù)據(jù)。
[0026]優(yōu)選地,所述方法包括接收查詢的附加步驟并且針對每一次查詢都將一個或多個處理器編程用于:
[0027]-在查詢中識別出一個或多個查詢域以及關聯(lián)至查詢域的至少一個查詢域值;
[0028]-在每一個查詢域和索引域之間建立對應關系;
[0029]-在每一個查詢域值以及跟所述一個或多個識別出的查詢域相對應的每一個索引域的分選倉之間建立對應關系,由此定義跟查詢相對應的一組分選倉;
[0030]-搜索并識別出用包括跟查詢相對應的分選倉的索引來索引的相關數(shù)據(jù)容器;
[0031]-檢索并向用戶發(fā)送識別出的相關容器的統(tǒng)計數(shù)據(jù)。
[0032]有利地,統(tǒng)計數(shù)據(jù)涉及頻率分布或集中趨勢分布的度量或分散分布的度量。根據(jù)一個有利的示例,統(tǒng)計數(shù)據(jù)以涉及由游客為運輸服務實際支付的價格的統(tǒng)計數(shù)據(jù)為基礎。
[0033]在涉及運輸并且更具體地涉及旅客運輸?shù)囊粋€特定實施例中,本發(fā)明可以包括以下可選特征中的任何一項:
[0034]-索引域是以下內容中的至少一項:起點城市、起點國家、起點地理區(qū)域、目的地城市、目的地國家、目的地地理區(qū)域、文化目的地、體育賽事、美食、野生動植物觀察、娛樂活動、用準確出發(fā)日期表示的出發(fā)日期、用月表示的出發(fā)時段、用周表示的出發(fā)時段、用準確日期表示的返回日期、用月表示的返回時段、用周表示的返回時段、到達之后的行程時長、預購類別。
[0035]-根據(jù)一個實施例,通過級聯(lián)至少兩個分選倉來建立沒有父索引的至少一個索引。例如,沒有父索引的索引包括關聯(lián)至涉及起點城市的索引域的分選倉,關聯(lián)至涉及出發(fā)前行程時長的索引域的分選倉,以及關聯(lián)至涉及航班出發(fā)周的索引域的分選倉。根據(jù)具體的使用情形,分選倉收集涉及以下內容之一的一些索引域值:起點城市、出發(fā)城市、出發(fā)日期、出發(fā)周、返回日期、返回周、用于行程時長的天數(shù)、用于預購的天數(shù)。
[0036]-根據(jù)另一個實施例,沒有父索引的至少一個索引僅包括一個分選倉。
[0037]-輸入文件是運輸服務的電子票并且包括體現(xiàn)出用于運輸區(qū)段的所有信息的至少一張優(yōu)惠券。
[0038]-屬性是為每一張票或優(yōu)惠券實際支付的價格。輸入文件參數(shù)描述以下內容中的至少一項:起點城市、出發(fā)城市、出發(fā)日期、返回日期、行程時長、預訂和出發(fā)之間的天數(shù)。
[0039]-查詢域涉及以下域中的至少一個:起點城市、起點國家、起點地理區(qū)域、目的地城市、目的地國家、目的地地理區(qū)域、文化目的地、體育目的地、美食、野生動植物觀察、娛樂活動、用準確出發(fā)日期表示的出發(fā)日期、用月表示的出發(fā)時段、用周表示的出發(fā)時段、用準確日期表示的返回日期、用月表示的返回時段、用周表示的返回時段、到達之后的行程時長、預訂和出發(fā)之間的天數(shù)。
[0040]-單個索引域值可以關聯(lián)至多個索引域。例如,描述目的地城市的索引域值可關聯(lián)至以下索引域中的至少兩個:起點城市、起點國家、起點地理區(qū)域、文化目的地、體育賽事、美食、野生動植物觀察、娛樂活動。
[0041]可選地,所述方法根據(jù)本發(fā)明可以包括以下特征和步驟中的任何一項:
[0042]-建立個體記錄包括以下步驟:為每一條個體記錄賦予日期或周或月或學期或年,日期對應于接收輸入文件;將個體記錄存儲在數(shù)據(jù)存儲裝置內。
[0043]-用個體記錄更新數(shù)據(jù)容器包括以下步驟:建立多批具有相同日期或者具有相同日期時段的個體記錄;通過各批個體記錄來更新數(shù)據(jù)容器。
[0044]-更新并不需要計算所有的先前記錄。因此只需要最小的計算量。通常,統(tǒng)計信息是在每一天結束時收到所有的輸入文件之后更新。這就允許將每一天的交易數(shù)據(jù)無縫集成到應該可供下一天使用的數(shù)據(jù)范圍內且無需取消直到前一天為止所進行的計算。
[0045]-優(yōu)選地,索引域值和屬性是利用適當?shù)挠嫈?shù)或者新數(shù)值更新的整數(shù)、小數(shù)或區(qū)間。
[0046]向容器加入新的個體記錄涉及的改變最少:僅僅是相應頻率分選倉內的計數(shù)值。因此,盡管個體記錄的總數(shù)有巨大的增加,但是由于使用了頻率分布表達和增量機制,因此容器大小和文件大小不會增加太多。不再加入其他的數(shù)據(jù)。
[0047]-為了保持統(tǒng)計數(shù)據(jù)準確,本發(fā)明可以包括以下的步驟:讀取存儲的個體記錄的日期;識別出被賦予的日期早于指定日期的先前個體記錄;通過這些識別出的先前個體記錄的輸入文件參數(shù)定位用這些識別出的先前個體記錄更新過的數(shù)據(jù)容器;通過刪除這些識別出的先前個體記錄來更新定位的數(shù)據(jù)容器。更準確地說,通過利用識別出的先前個體記錄的屬性增量式地刪除定位的數(shù)據(jù)容器來更新數(shù)據(jù)容器。刪除記錄并不需要計算所有的先前記錄。因此,需要用最小的計算量來放棄過去的數(shù)據(jù)和保留相關的統(tǒng)計數(shù)據(jù)且無需放棄過去的計算。
[0048]-增量式地更新識別出的數(shù)據(jù)容器包括根據(jù)先前計算的統(tǒng)計數(shù)據(jù)和所述個體記錄的至少一種屬性增量式計算更新的統(tǒng)計數(shù)據(jù)的步驟。
[0049]-如果所述數(shù)據(jù)容器由等于或小于輸入文件參數(shù)的數(shù)量的若干個分選倉索引并且假設這一個或多個分選倉中的每一個都對應于所述輸入文件的輸入文件參數(shù),那么數(shù)據(jù)容器即被識別用于通過輸入文件來更新。
[0050]-如果個體記錄的輸入文件參數(shù)被關聯(lián)至現(xiàn)有的索引域但是并不對應于該關聯(lián)的現(xiàn)有索引域中的任何分選倉,那么就針對該關聯(lián)的現(xiàn)有索引域建立附加分選倉;建立用這一附加分選倉索引的附加數(shù)據(jù)容器;用所述個體記錄更新附加的數(shù)據(jù)容器。
[0051]例如,如果存在用索引NBO和NB005索引的數(shù)據(jù)容器并且如果個體記錄的輸入文件參數(shù)對應于分選倉NB0、05和40,那么就應建立數(shù)據(jù)容器NB00540。該個體記錄的屬性應將數(shù)據(jù)容器更新為用以下的索引來索引:ΝΒ0、NB005和新建的NB00540。用NB00532和NB00540索弓I的數(shù)據(jù)容器位于索弓I樹的同一層級。
[0052]-個體記錄的每一個輸入文件參數(shù)都對應于分選倉,但是仍有一個或多個分選倉的組合跟并不對應于索引的所述輸入文件參數(shù)相對應,那就建立用這種一個或多個對應分選倉的組合索引的附加數(shù)據(jù)容器;用所述個體記錄更新附加的數(shù)據(jù)容器。
[0053]例如,如果存在用索引NBO和NB005索引的數(shù)據(jù)容器并且如果個體記錄的輸入文件參數(shù)對應于分選倉NB0、05和32,那么以下的分選倉組合就并未對應于現(xiàn)有的索引:NB00532。隨后就應建立數(shù)據(jù)容器NB00532。該個體記錄的屬性應將數(shù)據(jù)容器更新為用以下的索引來索引:NB0、NB005和新建的NB00532。
[0054]-如果不同的實體例如GDS、航空公司、旅行社等需要將不同的索引用于相同或部分重疊的數(shù)據(jù),那么就建立用于每一家商業(yè)實體的索引并且用單獨的預先計算建立可以對其進行查詢的不同文件。
[0055]-存儲在數(shù)據(jù)容器內的所有數(shù)據(jù)都以包含沒有相對關系結構的記錄的文件(flatfile)的形式存儲。
[0056]-查詢允許將通配符作為用于一個或多個查詢域的查詢域值。通配符在本發(fā)明中被標注為通配符意味著僅搜索跟所述查詢域相對應的索引域中的*或通配符分選倉。因此,對于查詢域值為ΝΒ0、*、32的查詢,本發(fā)明定位其索引中將分選倉NBO和32用于第一和第三索引域并且第二索引中有*或通配符分選倉的所有容器。這是查詢加速的原因之一。搜索所有的分選倉響應會比較慢。通過以數(shù)據(jù)轉換時間來整合搜索組合即可在查詢時段期間節(jié)約大量的計算時間。
[0057]-查詢允許用于一個或多個查詢域的通配符查詢域值,并且通配符查詢域值意味著將搜索跟用于該索引域的通配符分選倉相對應的統(tǒng)計信息。更準確地說,所述方法包括通過構成一個或多個分選倉的序列來建立索引的步驟,這些分選倉中至少有一個接受用于索引域的所有索引域值。這樣的分選倉被稱為通配符分選倉。因此,本發(fā)明自動建立附加索引以及索引不太明確的數(shù)據(jù)容器。
[0058]考慮來自我們的系統(tǒng)中的一個索引例如NCE0152:這是從NCE預訂的旅游類型為01且處于一年中第52周的所有行程的分組細節(jié)所用的索引。類似地是NCE0602:這是從NCE預訂的旅游類型為06且處于一年中第2周的所有行程的分組細節(jié)所用的索引。本發(fā)明在索引過程期間建立通配符索引。例如建立了以下的索引:NCE*52是從NCE預訂的處于一年中第52周的任意旅游類型的所有行程的分組細節(jié)所用的索引;NCE2**是從NCE預訂的處于一年52周中任何一周的旅游為02的所有行程的分組細節(jié)所用的索引;NCE***是從NCE預訂的處于一年52周中任何一周的任何旅游類型的所有行程的分組細節(jié)所用的索引。也被稱作星號的通配符表示接受所有的索引域值。通配符還也可以由索引值“all”表示。語義上表明NCE***包括用于每一個NEC XX DD的所有記錄,其中XX是用于第二索引域(例如旅游類型)的任何指定值且DD是用于第三索引域(例如一年中的周數(shù))的任何指定值。這種特征允許用固定的時間檢索對大規(guī)模查詢的響應。
[0059]本發(fā)明的另一主題是一種從根據(jù)上述方法得到并且包括一個或多個處理器的數(shù)據(jù)倉庫中檢索統(tǒng)計數(shù)據(jù)的方法,其特征在于所述方法包括以下步驟:
[0060]-在查詢中識別出一個或多個查詢域以及關聯(lián)至查詢域的至少一個查詢域值;
[0061]-在每一個查詢域和索引域之間建立對應關系;
[0062]-在每一個查詢域值以及跟所述一個或多個識別出的查詢域相對應的每一個索引域的分選倉之間建立對應關系,由此定義跟查詢相對應的一組分選倉;
[0063]-搜索并識別出用索引來索引的其中包括跟查詢相對應的分選倉組的相關數(shù)據(jù)容器;
[0064]-檢索并向用戶發(fā)送識別出的相關容器的統(tǒng)計數(shù)據(jù)。
[0065]本發(fā)明的另一個目標是一種用于從包括一個或多個數(shù)據(jù)庫的數(shù)據(jù)倉庫中收集統(tǒng)計數(shù)據(jù)的方法和系統(tǒng),其中收集的統(tǒng)計數(shù)據(jù)被保留在多個索引包含沒有相對關系結構的記錄的文件內,所述方法的特征在于包括以下步驟:將統(tǒng)計數(shù)據(jù)收集到類別分選倉內;增量式地更新類別分選倉;將包含沒有相對關系結構的記錄的文件分層級地索引為索引樹;在每一棵索引樹的根節(jié)點定義主索引;根據(jù)索引直接尋址統(tǒng)計數(shù)據(jù)的容器或者另一個索引。
[0066]可選地,所述方法和系統(tǒng)至少包括以下可選特征和步驟中的至少一項:
[0067]-索引包含沒有相對關系結構的記錄的文件被導入并保持駐留在計算機操作服務平臺的主存儲器內。
[0068]-根據(jù)保持駐留在計算機操作服務平臺的主存儲器內的多個索引包含沒有相對關系結構的記錄的文件完備地服務來自終端用戶的查詢。
[0069]-以預定的時間間隔從數(shù)據(jù)倉庫中收集統(tǒng)計數(shù)據(jù)。
[0070]-統(tǒng)計數(shù)據(jù)是由航空公司航班上運輸?shù)挠慰椭Ц兜膶嶋H機票費用。
[0071]-類別分選倉是:航班起點、航班目的地、旅游類型、出發(fā)周和預購類別。
[0072]-主索引包括起點、旅游類型和航班的出發(fā)周。
[0073]-包含沒有相對關系結構的記錄的文件索引包括航班的目的地和預購類別。
[0074]-索引包括至少一個通配符。
[0075]本發(fā)明的另一個目標是一種存儲在非易失性計算機可讀取存儲介質上的計算機程序產品,包括計算機可讀取代碼裝置,被指示用于促使至少一個微處理器操作根據(jù)任何一項前述步驟提供統(tǒng)計數(shù)據(jù)所用的方法。
[0076]優(yōu)選地,計算機程序產品通過在線的網站提供。
[0077]本發(fā)明的另一個目標涉及一種用于在包括處理裝置以及耦合至處理裝置的一種或多種數(shù)據(jù)存儲裝置的數(shù)據(jù)倉庫內建立統(tǒng)計數(shù)據(jù)的系統(tǒng)。所述系統(tǒng)的特征在于數(shù)據(jù)存儲裝置和處理裝置被設置用于實現(xiàn)以下步驟:
[0078].定義多個索引域,每一個索引域都接受多個索引域值;
[0079].建立多個索引文件并且將文件分層級地索引為索引樹,其中對于每一棵樹都包括以下步驟:分層級地排序索引域;定義分選倉,每一個分選倉都關聯(lián)至一個索引域并且收集用于該索引域的一個或多個索引域值;通過級聯(lián)跟分層級排序的索引域的層級相一致的一個或多個分選倉構成分選倉序列而建立索引,索引在每一個索弓I域中都只包括一個分選倉;將文件分層級地索引為索引樹,每一個索引都擁有零個或更多個子索引和/或擁有最多一個父索引,以使每一個子索引都包括跟其父索引的索引相同的分選倉序列再加上關聯(lián)至附加索引域的至少一個附加分選倉;
[0080].給每一個索引提供被設置用于存儲統(tǒng)計數(shù)據(jù)的數(shù)據(jù)容器,以使每一個數(shù)據(jù)容器都被索引并且可以從分層級索引的文件中直接尋址;
[0081].接收一個或多個包括原始數(shù)據(jù)的輸入文件并且用輸入文件更新數(shù)據(jù)容器,其中包括對于每一個輸入文件都使用一個或多個處理器來設置用于執(zhí)行以下步驟:從原始數(shù)據(jù)中識別和提取通過統(tǒng)計信息分析的至少一種屬性和表征所述屬性的一個或多個輸入文件參數(shù);根據(jù)輸入文件建立至少一條個體記錄,每一條個體記錄都包括至少一種屬性和表現(xiàn)所述屬性特征的一個或多個輸入文件參數(shù);將每一個輸入文件參數(shù)與至少一個索引域相關聯(lián);在每一個輸入文件參數(shù)以及關聯(lián)至該輸入文件參數(shù)的至少一個索弓丨域的分選倉之間建立對應關系;識別出用全都跟所述個體記錄的輸入文件參數(shù)相對應的一個或多個分選倉索引的數(shù)據(jù)容器;用所述個體記錄的至少一種屬性增量式地更新識別出的數(shù)據(jù)容器以獲取描述屬性的統(tǒng)計數(shù)據(jù)。
[0082]優(yōu)選地,所述系統(tǒng)還包括用于接收查詢并且被設置為針對每一次查詢都通過使用一個或多個處理器來執(zhí)行以下步驟:在查詢中識別出一個或多個查詢域以及關聯(lián)至查詢域的至少一個查詢域值;在每一個查詢域和索引域之間建立對應關系;在每一個查詢域值以及跟所述一個或多個識別出的查詢域相對應的每一個索引域的分選倉之間建立對應關系,由此定義跟查詢相對應的一組分選倉;搜索并識別出用索引索引的其中包括跟查詢相對應的分選倉組的相關數(shù)據(jù)容器;檢索并向用戶發(fā)送識別出的相關容器的統(tǒng)計數(shù)據(jù),由此允許響應于終端用戶的查詢而跟涉及的數(shù)據(jù)量無關地并且在短暫的毫秒級耗時內檢索統(tǒng)計數(shù)據(jù)。
[0083]本發(fā)明由此允許以非常短的時間響應復雜的查詢也就是涉及到獲取大量信息例如收集和計算日常統(tǒng)計數(shù)據(jù)的查詢。
[0084]本發(fā)明的另一個目標是一種存儲在非易失性計算機可讀取存儲介質上的計算機程序產品,包括計算機可讀取代碼裝置,被指示用于促使至少一個微處理器操作根據(jù)任何一項前述步驟提供統(tǒng)計數(shù)據(jù)所用的方法。
[0085]以下通過注釋和定義來詳細介紹本發(fā)明的各種特征。
[0086]統(tǒng)計數(shù)據(jù)
[0087]本發(fā)明提供了一種用于建立、存儲、增量式更新和檢索根據(jù)大量原始數(shù)據(jù)算出的統(tǒng)計數(shù)據(jù)的系統(tǒng)。對于指定的變量,這些統(tǒng)計數(shù)據(jù)例如可以涉及頻率分布;集中趨勢分布的度量例如平均值或中值;分散趨勢分布的度量例如標準差;分布本身的性質,由百分位數(shù)/分位數(shù)等注明。
[0088]這樣的統(tǒng)計數(shù)據(jù)并非限制性的。通過統(tǒng)計信息研究的數(shù)據(jù)性質也不是限制性的。
[0089]典型的示例涉及關于待售或由顧客支付的任何指定產品或服務的價格的統(tǒng)計信息。本發(fā)明的一種特別有利的應用涉及關于由乘客實際支付的交通票的價格的統(tǒng)計數(shù)據(jù)。
[0090]索引,索引域,索引域值和分選倉
[0091]索引域(IF)是一種參數(shù),其與表征另一種待分析參數(shù)的統(tǒng)計信息相關。例如,對于旅行費用的相關統(tǒng)計數(shù)據(jù),索引域可以涉及:旅行起點(例如索引域=“城市”、“國家”、“地理區(qū)域”等);位置方面的旅行目的地(例如索引域=“城市”、“國家”、“地理區(qū)域”)和/或主題目的地方面的旅行目的地(例如索引域=“文化目的地”、“體育目的地”、“美食目的地”、“野生動植物觀察”、“娛樂活動”等);出發(fā)日期(例如索引域=“準確的出發(fā)日期”)或“出發(fā)時段”(例如索引域=“準確的出發(fā)日期”、“出發(fā)月”、“出發(fā)周”);返回日期(例如索引域=“準確的返回日期”)或“返回時段”(特定的月或周或周末)或“旅游類型分類”(到達之后的行程時長),“預訂日期”或“預訂時段”,“預購類別”(預訂和出發(fā)之間的時間段)。以下列出并且在所述示例中描述的索引域是為了便于理解而選擇但并非限制性的。
[0092]索引域的值(IFV)是能夠從預定的值域中分配給索引域的值。該值可以是數(shù)字(天數(shù))或者表示某一實體或實體集合(例如機場或城市或目的地主題)的字母數(shù)字編碼。索引域值通常將具有預先選定的固定長度。例如,在分析關于旅游優(yōu)惠券價格的統(tǒng)計信息時:
[0093]-用于索引域“起點”的索引域值可以是以下的一種=Nairobi(起點城市),Kenya (起點國家),非洲(地理區(qū)域)。[0094]-用于涉及旅行目標的索引域“目的地城市”、“地理區(qū)域”、“野生動植物觀察”、“鐵路博物館”的索引域值例如可以是“Nairobi”。因此顯而易見的是單一的索引域值可以關聯(lián)至多個索引域。
[0095]-用于涉及出發(fā)日期的索引域“準確出發(fā)日期”、“出發(fā)周”、“出發(fā)月”的索引域值可以是“2007年6月14日”。
[0096]-用于索引域“旅游類型分類”或“旅游時長”的索引域值可以是以下的一種:1天、3天、2周、I個月零3天等。
[0097]-用于索引域“預購類別”的索引域值可以是以下的一種:1天、3天、2周、I個月
坐寸ο
[0098]-索引域值可以是通過重復適當固定長度的*而標明的通配符。這就類似于全選索引值,其含義對應于計算中常用的無關符(don’t care symbol)。
[0099]分選倉在數(shù)學上表示確保索引域值在其中分配的值域。分配給分選倉的標簽表現(xiàn)為用于索引域的索引域值并且對應于該長度。即使索引域值對應于一個集合,這一點也同樣成立,但是相應地該標簽的含義就不再是單個實體而是表示離散的取值集合或可以通過數(shù)值范圍的端點表示的連續(xù)集。例如,索引域“用月表示的出發(fā)時段”可以將其值域離散地定義為1-12范圍內的整數(shù),12個分選倉能夠將一年內的每一個日期粗略地分類成位于I到12之間的一個分選倉標簽。
[0100]類似地,索引域“野生動植物觀察”或“主題目的地”可以具有分選倉“狩獵旅行”以跟構成用于狩獵旅行的良好起點的城市相對應。分選倉“狩獵旅行”可以收集的索引域值有“Nairobi”、“Mara Serena”、“Gab0r0ne”以及位于國家公園附近因其狩獵旅行而聞名的其他城市。
[0101]輸入文件,記錄,屬性,數(shù)據(jù)容器
[0102]輸入文件是由系統(tǒng)接收并且其中包含初始數(shù)據(jù)集、系統(tǒng)待分析的原始數(shù)據(jù)的文件。系統(tǒng)分析輸入文件并保留、刪除或者將其中的記錄屬性轉化為適當?shù)乃饕蛑?,索引域值對應于預定的索引域集合,這涉及如下參數(shù)相關聯(lián),所述參數(shù)的統(tǒng)計信息是由系統(tǒng)作為對查詢的響應結果而提供的。輸入文件內的所有數(shù)據(jù)在進行分析之前都被指定為原始數(shù)據(jù)。
[0103]在初始數(shù)據(jù)集(原始數(shù)據(jù))中,記錄僅僅是屬性元組,由此可以定義并隨后計算出我們想要獲知其統(tǒng)計信息的一組參數(shù)或索引域值。例如,如果我們決定將模型起點和目的地作為影響稱為飛行價格的參數(shù)的僅有索引域-輸入數(shù)據(jù)源文件可以是優(yōu)惠券或機票。我們可以設想每一張優(yōu)惠券都是一條記錄,就像表或電子表格內的一行,其中表的列表頭對應于多種屬性,例如起點、目的地、出發(fā)日期、出票日期、PNR日期、艙位等級、票價等級等,其中有一些被選擇為索引域,例如其對于索引指定參數(shù)是有意義的起點和終點,指定參數(shù)譬如是我們感興趣的價格。轉換過程針對初始數(shù)據(jù)集的屬性值進行以獲得選定索引域的轉換索引域值。例如,如果出發(fā)天數(shù)被選擇為索引域,那么轉換過程就利用被稱為出發(fā)日期和PNR日期(或機票日期)的初始數(shù)據(jù)集屬性以將“出發(fā)天數(shù)”索引域的值得出為出發(fā)日期-PNR日期或者出發(fā)日期-出票日期。
[0104]要注意的是在轉換的數(shù)據(jù)集中,記錄的概念有所不同。在轉換記錄的儲存庫中,每一條記錄都是索引樹內的一條路徑。初始數(shù)據(jù)集內的多條記錄映射為轉換數(shù)據(jù)集內的單條記錄。作為示例,考慮我們將價格統(tǒng)計信息作為感興趣的主要研究參數(shù),并且決定將起點和目的地建模作為價格的主要確定因素?,F(xiàn)在如果第一級索引域是起點機場,由于在分析的每一張優(yōu)惠券內都會遇到若干起點機場的大的數(shù)目,因此多個索引值分支作為用于每一個起點機場的索引域值。如果第二級是目的地機場,那么多個索引域值分支用于針對指定起點機場的每一個目的地機場,得到2級樹。并且最終對于每一個起點-目的地的索引對,都有多種可能的價格。因此從每一個目的地節(jié)點分出多種價格,得到樹的第三級。對于每一個唯一的起點-目的地-價格三元組或這棵樹內的一條路徑,都存在頻率計數(shù)以得到樹的第四級。但是應注意,在第三級內每一個樹節(jié)點和第四級內每一個節(jié)點之間的關系是一對一的,這跟樹的更高層級中的關系是一對多不同。用于該樹內索引路徑的價格-頻率計數(shù)對被稱為“數(shù)據(jù)容器”,實際上其中存儲了將相同索引域值(例如NCE-NYC)作為起點-目的地城市的所有原始記錄的不同價格分布。(起點,目的地集合)配對和(目的地,價格集合)配對被稱為“索引容器”。通常,樹內開始于根節(jié)點的任何一條完整(直達葉節(jié)點)或不完整(未達葉節(jié)點)的任意路徑都被統(tǒng)稱為容器。
[0105]杳詢,杳詢域和杳詢域倌
[0106]由用戶填寫并發(fā)送查詢以獲取要統(tǒng)計分析的數(shù)據(jù)的相關統(tǒng)計信息。查詢在本發(fā)明中可以包括用一條或多條搜索標準指定的“查詢域值”。查詢在包括大量的查詢域值時可能非常復雜,或者在包括一個或少量查詢域值時也可能很簡單。
[0107]查詢域是表征查詢的參數(shù)。每一個查詢域值都涉及一個查詢域。每一個查詢域都對應于一個索引域。當不存在對應于查詢域值的索引域時要引入可選步驟。這些可選步驟在下文中有詳細說明。
[0108]指定的查詢域值對應于跟指定查詢域值的查詢域相對應的索引域分選倉?!皩北硎静樵冇蛑悼梢灶愃朴谒饕蛑?真實值或描述值),可以包含在索引域的分選倉內或者可以等價于索引域的分選倉。無論是哪種形式或形態(tài),查詢界面均可接受用戶輸入,必須將該輸入轉化為查詢域值的字符串,這是通過首先將確切的輸入轉化為如下索引域的分選倉值而實現(xiàn)的,其中該索引域的順序恰好跟用于建立用于自身的轉化數(shù)據(jù)集所使用的索引的順序相同。
[0109]例如,如果存在以2個索引域值索引的轉化數(shù)據(jù)儲存庫,第一級是包括起點、旅游類型和起始周的級聯(lián)的復合類型,并且第二級索引是目的地城市,那么查詢“出發(fā)日期為8月4日且對于25天的旅行時長來說從Dubai旅行到Nairobi由旅客實際支付費用的頻率分布是多少? ”就通過首先將用戶輸入轉化為類似于DBX532這樣的字符串作為用于第一索引的索引域值,獲取用于下一個索引的對應容器,為了到達最終數(shù)據(jù)容器而在找到的索引中漸進地搜索第二索引NBO來進行回答。
[0110]因此,本發(fā)明的有利特征是:
[0111]-存儲、索引和推理記錄組(也就是業(yè)務相關容器)而不是個體記錄。與傳統(tǒng)數(shù)據(jù)庫中的做法相反,本發(fā)明具有存儲、索引、檢索和推理記錄組而不必存儲個體原子記錄的能力。
[0112]-在查詢時間并不執(zhí)行容器索引或內容的計算。所有內容都是預先計算的。在查詢時間,僅搜索相關記錄并且結果不是發(fā)現(xiàn)就是未發(fā)現(xiàn)。用于每一個容器的所有索引、遞歸和非遞歸內容都是根據(jù)對于所需特定業(yè)務來說重要的個體記錄中的任何域預先計算的。在查詢時間僅檢索對應于正確記錄的統(tǒng)計數(shù)據(jù)容器。
[0113]-如果不同的商業(yè)用戶需要將不同的索引用于相同或部分重疊的數(shù)據(jù),那么單獨的預先計算建立不同的文件并且隨后可以對這些查詢進行不同的儲存庫索引。
[0114]-索引用作在存儲器索引表內快速檢索以尋址大塊內容的鑰匙:RAM(隨機存取存儲器)駐留的分組記錄數(shù)據(jù)允許快速檢索,因此跟RAM方法相比克服了如今緩慢的日常I/O方法。為了實現(xiàn)這一點,文件大小被保持在可接受的限制內,正如在本發(fā)明以下的說明內容中介紹的那樣。
[0115]-索引可以組合有指定索引變量中的多個取值之一,指定索引變量是其含義為“不關心”的通配符*。在關系數(shù)據(jù)庫術語中,這就意味著針對所有可行的相關表連接而預先計算出結果。
[0116]-在需要加入新的個體記錄或者需要刪除舊的個體記錄時將增量機制用于更新容器而無需放棄過去的計算。在需要加入新的個體記錄時,建立并搜索其對應的索引。如果發(fā)現(xiàn)這樣的索引,那么就更新對應于參數(shù)的統(tǒng)計信息。只用適當?shù)挠嫈?shù)或新的值更新序數(shù)或間隔值。如果新的個體記錄沒有對應的索引容器,那就建立其對應的索引并更新內容。
[0117]-通過業(yè)務需求的所有相關標準建立、存儲和增量式更新統(tǒng)計價格分布的機制需要使用上述機制。盡管個體記錄的總數(shù)有巨大的增加,但是由于使用了頻率分布表達,因此容器大小和文件大小不會增加太多。由于向容器加入新的個體記錄而改變的所有內容最少:僅僅是相應頻率分選倉內的計數(shù)值。不再加入其他的數(shù)據(jù)。這樣就保持文件大小可控。
【專利附圖】
【附圖說明】
[0118]圖1示出了設計用于根據(jù)本發(fā)明的數(shù)據(jù)結構實時處理的查詢類型的示范性結果。
[0119]圖2介紹了如何組織從倉庫數(shù)據(jù)庫預先獲取的數(shù)據(jù)以允許實時訪問存儲信息。
[0120]圖3示出了如何記憶和組織輸入密鑰以允許快速訪問數(shù)據(jù)結構的計算出的統(tǒng)計數(shù)據(jù)。
[0121]圖4根據(jù)本發(fā)明示出了允許快速索引、檢索和顯示從數(shù)據(jù)倉庫中收集的統(tǒng)計數(shù)據(jù)的系統(tǒng)的整體架構。
[0122]圖5討論了根據(jù)本發(fā)明得到的系統(tǒng)的性能。
[0123]圖6討論了根據(jù)輸入的原始數(shù)據(jù)增量式更新索引文件。
【具體實施方式】
[0124]本發(fā)明以下的詳細說明應參照附圖。盡管說明內容包括了示范性實施例,但是其他的實施例也是可行的,并且可以對介紹的實施例進行修改而并不背離本發(fā)明的實質和保護范圍。
[0125]盡管以下對本發(fā)明的詳細說明是在涉及旅行數(shù)據(jù)并且更具體地涉及飛行航線和票價的GDS的背景下示出,但是對信息系統(tǒng)領域的技術人員來說顯而易見的是本發(fā)明可以輕易地適用于處理任何類型的數(shù)據(jù)以使其應用并不受限于飛行航線的行程服務領域。
[0126]圖1示出了設計用于根據(jù)本發(fā)明的數(shù)據(jù)結構實時處理的查詢類型的示范性結果。圖1還示出了設置為響應于這種查詢而提供的統(tǒng)計數(shù)據(jù)的顯示示例。
[0127]被本發(fā)明的數(shù)據(jù)結構允許的查詢實際上跟發(fā)往常規(guī)關系數(shù)據(jù)庫的查詢(例如SQL查詢)有很大的不同。主要的不同之處在于查詢中并不隱含其他情況下都需要的任何后處理,這是因為,要獲得圖1中的示范性顯示,多個關系數(shù)據(jù)庫表格中的個體項目都要被集中起來并進行處理。
[0128]為了運營任何大型公司,管理團隊和主管專業(yè)人員通常都需要收集統(tǒng)計數(shù)據(jù),其片段必須可以從他們的數(shù)據(jù)倉庫的各種數(shù)據(jù)庫中組裝并且保持日常更新。在本發(fā)明中介紹航空業(yè)的背景下,預訂編號以及旅客為從指定起點飛行到指定目的地所支付的實際費用對應于專業(yè)人員希望通過實施本發(fā)明數(shù)據(jù)結構的軟件應用程序實時顯示的請求種類。
[0129]因此,如110所示,可能想要顯示例如在任意的出發(fā)日期115(輸入域為空),在芬蘭的赫爾辛基市111和挪威的奧斯陸機場112之間并且用于所有預定的返回日期或旅行時長117的所有已完成并付款的預訂。域(114):起點、目的地、出發(fā)日期、返回/時長和提前預訂的時間,每一個都構成了可查詢的域。取值是如前定義的說明性文本編碼或數(shù)字。對于旅游業(yè)來說感興趣的一個重要參數(shù)是如圖所示設置為八個分選倉的提前預訂或預購時間119。考慮該示范性顯示中的所有內容以使柱形圖110示出出現(xiàn)頻率與在指定的起點和目的地航線城市之間登記和支付的實際預訂費用。明顯地,表現(xiàn)這種分布特征的所有標準統(tǒng)計數(shù)字也可以計算并且在112處顯示,其中包括:平均值、標準差、最小值和最大值等。
[0130]用戶可能想要進一步限定顯示內容以僅示出在某一確定的日期125出發(fā),僅考慮某種類型的旅行時長127并且用于兩周或更短的提前預訂時間,以使顯示的柱形圖變成如120所示。
[0131]為了能夠實時地顯示和更新這種查詢,在附圖中詳細介紹的本發(fā)明的數(shù)據(jù)結構必須從數(shù)據(jù)倉庫中預先讀取、計算和組織數(shù)據(jù)結構,以使所有需要的片段在查詢時均可輕易地可用于快速顯示。在用于介紹本發(fā)明的航空旅游業(yè)的說明背景下,并且對于以110示出的示范性種類的復雜請求,數(shù)據(jù)結構被組織為使得可以支持全世界的所有航線城市和機場,而且還設置為直接輸入到數(shù)據(jù)結構中以允許顯示其他的選定參數(shù),例如出發(fā)日期、旅行時長、提前預訂時間等。另外,通配符參數(shù)也是可行的,由此使用戶具有不必明確某些參數(shù)(例如出發(fā)日期)的自由度。數(shù)據(jù)結構提供的可行性包括例如大概的起點和目的地,以使用戶可能想要查閱從精確的起點(例如赫爾辛基)到世界的某些區(qū)域(例如北美的所有城市和機場)的全部航班的預訂情況。
[0132]本發(fā)明的數(shù)據(jù)結構也可以由能夠在線可用以允許事先安排旅行的旅行應用程序的終端用戶使用。由于使用的數(shù)據(jù)是(從GDS數(shù)據(jù)庫提取)由游客為預訂航班而支付的實際價格,因此如圖1所示的收集和顯示內容就成為很有價值的工具。工具可以被用于利用上述特征估算未來行程的價格并確定游客的選擇。例如,不必選擇精確日期和/或不必選擇精確起點或目的地的可行方案就為目前的旅游點增加了很大的自由度。
[0133]實際上,后面這些情況通常僅考慮公開的票價并且甚至更常見的是僅考慮最低的公開票價,而不顧及可用性且只需要忽略由旅客支付的實際費用的范圍和分布。此外,數(shù)據(jù)結構可以擴展以使起點和目的地包括例如可能毫無共同點而僅僅是關注地理位置的主題目的地。這樣的主題例如可以是包括埃及金字塔的古代文明景點以及在墨西哥和拉丁美洲有前哥倫布時期居民的古代文明景點。如上所述,古代文明景點可以對應于專用的索引域值和查詢域值。
[0134]正如在本發(fā)明以下的說明內容中進一步介紹的那樣,響應于上述類型的查詢顯示統(tǒng)計結果的檢索過程幾乎跟涉及的數(shù)據(jù)量無關并且在小數(shù)值的毫秒級范圍內。即使對于涉及臨時(ad-hoc)參數(shù)的分布子集也可以確保類似的響應時間并且顯示內容允許以用戶可選擇的方式輕易地視覺比較該分布子集。
[0135]圖2介紹了如何組織從倉庫數(shù)據(jù)庫預先獲取數(shù)據(jù)以允許實時訪問存儲的信息。
[0136]為了實現(xiàn)該目標,通過將預先獲取的數(shù)據(jù)記錄重新分組為有限數(shù)量的數(shù)據(jù)類別、本說明書中的指定分選倉并且很好地適用于考慮的業(yè)務類型(也就是示例中選擇用于介紹本發(fā)明的航空業(yè))來執(zhí)行預先獲取的數(shù)據(jù)記錄的壓縮。因此預先獲取的數(shù)據(jù)通過從倉庫中檢索而構成,所有的出票數(shù)據(jù)記錄或優(yōu)惠券(關于現(xiàn)已消失的印刷機票的優(yōu)惠券)每天都通過包括旅行社、在線旅游服務提供商和航空公司辦事處自身在內的各種銷售渠道發(fā)放??傊?,在累積了一個較長的時間段(例如一年)之后,這就代表了海量的信息,但是這些信息在數(shù)據(jù)結構中利用以下的分選倉來壓縮。
[0137]預購日期是旅游業(yè)的非常重要的參數(shù)。預購日期通常如下所示被重新分組為僅8個標準分選倉:
[0138]
【權利要求】
1.一種用于根據(jù)數(shù)據(jù)倉庫(410)提供統(tǒng)計數(shù)據(jù)的方法,其特征在于包括由至少一個數(shù)據(jù)處理器執(zhí)行的以下步驟: ?定義多個索引域(114),每一個索引域都接受多個索引域值; ?建立多個文件(432)并且將所述文件分層級地索引為索引樹(300),其中對于每一棵樹都包括以下步驟: -分層級地排序索引域(201); -定義分選倉,每一個分選倉都關聯(lián)至一個索引域并且收集用于該索引域的一個或多個索引域值; -通過級聯(lián)跟分層級排序的索引域的層級一致的一個或多個分選倉以構成分選倉序列從而建立索引,索引對每一個索引域都只包括一個分選倉; -將文件分層級地索引為索引樹(300),每一個索引都擁有零個或更多個子索引和/或擁有最多一個父索引,以使每一個子索引都包括跟其父索引的索引相同的分選倉序列再加上關聯(lián)至附加索引域的至少一個附加分選倉; ?給每一個索引提供被設置用于存儲統(tǒng)計數(shù)據(jù)的數(shù)據(jù)容器(325,335),以使每一個數(shù)據(jù)容器都被索引并且能夠從分層級索引的文件中直接尋址; ?接收(436) —個或多個包括原始數(shù)據(jù)的輸入文件(434)并且用輸入文件(434)更新所述數(shù)據(jù)容器,其中包括對于每一個輸入文件都使用一個或多個處理器,其被設置用于執(zhí)行以下步驟: -從原始數(shù)據(jù)中識別和提取通過統(tǒng)計信息分析的至少一種屬性和表征所述屬性的一個或多個輸入文件參數(shù); -根據(jù)輸入文件(434)建立至少一條個體記錄(620),每一條個體記錄(620)都包括至少一種屬性和表征所述屬性的一個或多個輸入文件參數(shù); -將每一個輸入文件參數(shù)與至少一個索引域相關聯(lián); -在每一個輸入文件參數(shù)以及關聯(lián)至該輸入文件參數(shù)的至少一個索引域的分選倉之間建立對應關系; -識別出用全都跟所述個體記錄(620)的輸入文件參數(shù)相對應的一個或多個分選倉來索引的數(shù)據(jù)容器; -用所述個體記錄(620)的至少一種屬性增量式地更新識別出的數(shù)據(jù)容器(325,335)以獲取描述所述屬性的統(tǒng)計數(shù)據(jù)。
2.如權利要求1所述的方法,包括接收查詢的附加步驟并且針對每一次查詢使用編程的一個或多個處理器用于: -在查詢中識別出一個或多個查詢域以及關聯(lián)至查詢域的至少一個查詢域值; -在每一個查詢域和索引域之間建立對應關系; -在每一個查詢域值以及跟所述一個或多個識別出的查詢域相對應的每一個索引域的分選倉之間建立對應關系,由此定義跟查詢相對應的分選倉; -搜索并識別出用包括跟查詢相對應的分選倉的索引來索引的相關數(shù)據(jù)容器; -檢索并向用戶發(fā)送識別出的相關容器的統(tǒng)計數(shù)據(jù)。
3.如以上權利要求中的任意一項所述的方法,其中統(tǒng)計數(shù)據(jù)涉及屬性的頻率分布或屬性的分布的集中趨勢的度量或屬性的分布的分散的度量。
4.如以上權利要求所述的方法,其中統(tǒng)計數(shù)據(jù)基于與由游客為運輸服務實際支付的價格相關的統(tǒng)計數(shù)據(jù)。
5.如以上權利要求中的任意一項所述的方法,其中索引域是以下內容中的至少一項:起點城市、起點國家、起點地理區(qū)域、目的地城市、目的地國家、目的地地理區(qū)域、文化目的地、體育賽事、美食、野生動植物觀察、娛樂活動、用準確出發(fā)日期表示的出發(fā)日期、用月表示的出發(fā)時段、用周表示的出發(fā)時段、用準確日期表示的返回日期、用月表示的返回時段、用周表示的返回時段、到達之后的行程時長、預購類別。
6.如以上權利要求中的任意一項所述的方法,其中通過級聯(lián)至少兩個分選倉來建立沒有父索引的至少一個索引。
7.如以上權利要求所述的方法,其中沒有父索引的索引包括關聯(lián)至涉及起點城市的索引域的分選倉,關聯(lián)至涉及出發(fā)前行程時長的索引域的分選倉,以及關聯(lián)至涉及航班出發(fā)周的索引域的分選倉。
8.如以上權利要求所述的方法,其中分選倉收集涉及以下內容之一的一些索引域值:起點城市、出發(fā)城市、出發(fā)日期、出發(fā)周、返回日期、返回周、用于行程時長的天數(shù)、用于預購的天數(shù)。
9.如權利要求1至5中的任意一項所述的方法,其中沒有父索引的至少一個索引僅包括一個分選倉。
10.如以上權利要求中的任意一項所述的方法,其中輸入文件是運輸服務的電子票并且包括體現(xiàn)出用于運輸區(qū)段的所有信息的至少一張優(yōu)惠券(434)。
11.如以上權利要求所述的方法,其中屬性是為票或優(yōu)惠券實際支付的價格,并且輸入文件參數(shù)描述以下域中的至少一個:起點城市、出發(fā)城市、出發(fā)日期、返回日期、行程時長、預訂和出發(fā)之間的天數(shù)?!?br>
12.如以上權利要求所述的方法,其中查詢域涉及以下域中的至少一個:起點城市、起點國家、起點地理區(qū)域、目的地城市、目的地國家、目的地地理區(qū)域、文化目的地、體育目的地、美食、野生動植物觀察、娛樂活動、用準確出發(fā)日期表示的出發(fā)日期、用月表示的出發(fā)時段、用周表示的出發(fā)時段、用準確日期表示的返回日期、用月表示的返回時段、用周表示的返回時段、到達之后的行程時長、預訂和出發(fā)之間的天數(shù)。
13.如權利要求1所述的方法,其中單個索引域值可以關聯(lián)至多個索引域。
14.如以上權利要求所述的方法,其中描述目的地城市的索引域值被關聯(lián)至以下索引域中的至少兩個:起點城市、起點國家、起點地理區(qū)域、文化目的地、體育賽事、美食、野生動植物觀察、娛樂活動。
15.如以上權利要求中的任意一項所述的方法,其中建立個體記錄(620)包括以下步驟:為每一條個體記錄賦予日期或周或月或學期或年,日期對應于輸入文件的接收;將該個體記錄(620)存儲在數(shù)據(jù)存儲裝置內。
16.如以上權利要求所述的方法,其中用個體記錄(620)更新數(shù)據(jù)容器包括以下步驟:建立多批次具有相同日期或者具有相同日期時段的個體記錄(620);通過個體記錄(620)的批次來更新數(shù)據(jù)容器。
17.如前兩項權利要求中的任意一項所述的方法,為了保持準確的統(tǒng)計數(shù)據(jù)而包括以下的步驟:讀取存儲的個體記錄(620)的日期;識別出被賦予的日期早于指定日期的先前個體記錄(620);通過這些識別出的先前個體記錄(620)的輸入文件參數(shù)定位用這些識別出的先前個體記錄(620)更新過的數(shù)據(jù)容器;通過刪除這些識別出的先前個體記錄(620)來更新定位的數(shù)據(jù)容器。
18.如以上權利要求中的任意一項所述的方法,其中增量式地更新識別出的數(shù)據(jù)容器(325,335)包括根據(jù)先前計算的統(tǒng)計數(shù)據(jù)和所述個體記錄(620)的至少一種屬性增量式地計算更新的統(tǒng)計數(shù)據(jù)的步驟。
19.如權利要求1所述的方法,其中如果數(shù)據(jù)容器由等于或小于所述輸入文件的輸入文件參數(shù)數(shù)量的若干個分選倉索引并且假設這一個或多個分選倉中的每一個都對應于所述輸入文件的輸入文件參數(shù),那么所述數(shù)據(jù)容器即被識別用于通過所述輸入文件來更新。
20.如權利要求1所述的方法,其中如果個體記錄(620)的輸入文件參數(shù)被關聯(lián)至現(xiàn)有的索引域但是并不對應于該關聯(lián)的現(xiàn)有索引域中的任何分選倉,那么就針對所述關聯(lián)的現(xiàn)有索引域建立附加分選倉;建立用所述附加分選倉索引的附加數(shù)據(jù)容器;用所述個體記錄更新該附加數(shù)據(jù)容器。
21.如權利要求1所述的方法,其中如果個體記錄(620)的每一個輸入文件參數(shù)都對應于分選倉但是有一個或多個分選倉的組合跟并不對應于索引的所述輸入文件參數(shù)相對應,那就建立用這種一個或多個對應分選倉的組合索引的附加數(shù)據(jù)容器;用所述個體記錄更新附加的數(shù)據(jù)容器。
22.如以上權利要求中的任意一項所述的方法,其中存儲在數(shù)據(jù)容器內的所有數(shù)據(jù)都以包含沒有相對關系結構的記錄的文件的形式存儲。
23.如權利要求1所述的方法,包括通過構成一個或多個分選倉的序列來建立索引的步驟,所述序列中至少有一個分選倉收集被關聯(lián)至所述至少一個分選倉的索引域接受的所有可能的索引域值。
24.一種用于根據(jù)包括處理裝置的數(shù)據(jù)倉庫(410)提供統(tǒng)計數(shù)據(jù)的系統(tǒng),其特征在于所述處理裝置被設置用于執(zhí)行以下步驟: ?定義多個索引域(114),每一個索引域都接受多個索引域值; ?建立多個文件(432)并且將所述文件分層級地索引為索引樹(300),其中對于每一棵樹都包括以下步驟: -分層級地排序索引域(201); -定義分選倉,每一個分選倉都關聯(lián)至一個索引域并且收集用于該索引域的一個或多個索引域值; -通過級聯(lián)跟分層級排序的索引域的層級相一致的一個或多個分選倉以構成分選倉序列從而建立索引,索引對每一個索引域都只包括一個分選倉; -將文件分層級地索引為索引樹(300),每一個索引都擁有零個或更多個子索引和/或擁有最多一個父索引,以使每一個子索引都包括跟其父索引的索引相同的分選倉序列再加上關聯(lián)至附加索引域的至少一個附加分選倉; ?給每一個索引提供被設置用于存儲統(tǒng)計數(shù)據(jù)的數(shù)據(jù)容器(325,335),以使每一個數(shù)據(jù)容器都被索引并且可以從分層級索引的文件中直接尋址; ?接收(436) —個或多個包括原始數(shù)據(jù)的輸入文件(434)并且用輸入文件(434)更新數(shù)據(jù)容器,其中包括對于每一個輸入文件都使用一個或多個處理器,其被設置用于執(zhí)行以下步驟: -從原始數(shù)據(jù)中識別和提取通過統(tǒng)計信息分析的至少一種屬性和表征所述屬性的一個或多個輸入文件參數(shù); -根據(jù)輸入文件(434)建立至少一條個體記錄(620),每一條個體記錄(620)都包括至少一種屬性和表征所述屬性的一個或多個輸入文件參數(shù); -將每一個輸入文件參數(shù)與至少一個索引域相關聯(lián); -在每一個輸入文件參數(shù)以及關聯(lián)至該輸入文件參數(shù)的至少一個索引域的分選倉之間建立對應關系; -識別出用全都跟所述個體記錄(620)的輸入文件參數(shù)相對應的一個或多個分選倉來索引的數(shù)據(jù)容器; -用所述個體記錄(620)的至少一種屬性增量式地更新識別出的數(shù)據(jù)容器(325,335)以獲取描述所述屬性的統(tǒng)計數(shù)據(jù)。
25.一種存儲在非易失性計算機可讀取存儲介質上的計算機程序產品,包括計算機可讀取代碼裝置,被指示用于促使至少一個微處理器操作如權利要求1至23中的任意一項所述的提供統(tǒng)計數(shù)據(jù) 的方法。
【文檔編號】G06F17/30GK103548019SQ201280009577
【公開日】2014年1月29日 申請日期:2012年2月20日 優(yōu)先權日:2011年2月21日
【發(fā)明者】G·納斯 申請人:阿瑪?shù)盟箖珊瞎?br>