两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種聯(lián)機分析處理方法及裝置與流程

文檔序號:12666716閱讀:239來源:國知局
一種聯(lián)機分析處理方法及裝置與流程

本發(fā)明涉及大數(shù)據(jù)應用領域,具體地涉及一種聯(lián)機分析處理方法及裝置。



背景技術:

現(xiàn)階段,在數(shù)據(jù)倉庫系統(tǒng)領域,主要依賴于聯(lián)機分析處理(On-Line Analytical Processing,簡稱OLAP)來對海量數(shù)據(jù)進行復雜的分析操作,從而為決策人員和高層管理人員的決策提供數(shù)據(jù)支持。計算機在進行聯(lián)機分析處理時,可以根據(jù)分析人員的要求快速、靈活地進行大數(shù)據(jù)量的復雜查詢處理,并且以一種直觀而易懂的形式將查詢結果呈現(xiàn)給決策人員,便于用戶準確掌握企業(yè)的經營狀況,了解對象的需求,進而制定正確的方案。

對于企業(yè)中的專業(yè)分析人員及管理決策人員而言,他們在分析業(yè)務經營的數(shù)據(jù)時,通常需要從不同的角度來審視業(yè)務的衡量指標。例如,用戶在分析銷售數(shù)據(jù)時,可能會綜合時間周期、產品類別、分銷渠道、地理分布、客戶群類等多種因素來進行綜合考量。這些分析角度雖然可以通過報表來反映,但每一個分析的角度可以生成一張報表,各個分析角度的不同組合又可以生成不同的報表,這無疑會增大報表制作人員的工作量,而且往往難以跟上管理決策人員思考的步伐。

為了應對用戶的多樣化需求,基于聯(lián)機分析處理來處理海量數(shù)據(jù)的方案應運而生。在進行聯(lián)機分析處理時,計算機可以直接仿照用戶的多角度思考模式,預先為用戶組建多維的數(shù)據(jù)模型,其中,“維”指的是用戶配置的分析角度。仍以對銷售數(shù)據(jù)的分析為例,可以分別將時間周期、產品類別、分銷渠道、地理分布、客戶群類作為一個維度。當多維數(shù)據(jù)模型建立完成后,用戶可以快速地從各個分析角度獲取數(shù)據(jù),也能動態(tài)、靈活的在各個角度之間切換或者進行多角度綜合分析??偟膩碚f,聯(lián)機分析處理從設計理念和真正實現(xiàn)上都與舊有的管理信息系統(tǒng)有著本質的區(qū)別。

但是,現(xiàn)有的聯(lián)機分析處理方案在實際應用時,若存儲的數(shù)據(jù)量達到一定的級別(例如,TB級別),則很有可能出現(xiàn)磁盤輸入和輸出口(Input Output,簡稱IO)瓶頸的問題?,F(xiàn)有的一種解決方案是采用增加磁盤數(shù)量的方式,例如,通過布置12塊、24塊甚至更多的磁盤來分攤IO;另一種解決方案則是加大內存,使得內存中能夠存儲或緩存盡可能多的數(shù)據(jù)。但是,這兩種方案均會導致成本急劇增加,對于第一種方案還可能引發(fā)較高的故障率,不利于聯(lián)機分析處理模式的大規(guī)模推廣和應用。



技術實現(xiàn)要素:

本發(fā)明解決的技術問題是現(xiàn)有的聯(lián)機分析處理方案在處理海量數(shù)據(jù)時,極易發(fā)生磁盤IO瓶頸以及高故障率的問題。

為解決上述技術問題,本發(fā)明實施例提供一種聯(lián)機分析處理方法,包括如下步驟:接收查詢指令,所述查詢指令包括待查詢條件;基于所述待查詢條件在預設列存儲庫中確定與所述待查詢條件關聯(lián)的列存儲子庫,所述預設列存儲庫包括至少一個列存儲子庫,所述列存儲子庫中按列存儲有至少一個紀錄,每一紀錄包括標識以及所述標識對應的數(shù)據(jù),不同的列存儲子庫中的數(shù)據(jù)具有不同的屬性;從與所述待查詢條件關聯(lián)的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄。

可選的,所述查詢指令包括多個待查詢條件以及基于所述多個待查詢條件的代數(shù)計算式。

可選的,從與所述待查詢條件關聯(lián)的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄包括:對于每一個待查詢條件,從與所述待查詢條件對應的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄;根據(jù)所述代數(shù)計算式,對所述多個待查詢條件各自查詢獲得的所述紀錄進行代數(shù)計算,以得到代數(shù)計算結果。

可選的,所述列存儲子庫中的數(shù)據(jù)是基于索引字典由原始數(shù)據(jù)轉換得到的,以使所述數(shù)據(jù)具有預設長度。

可選的,所述列存儲子庫包括按所述數(shù)據(jù)的數(shù)據(jù)范圍劃分確定的多個子區(qū)域。

可選的,從與所述待查詢條件關聯(lián)的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄包括:比較所述待查詢條件與所述數(shù)據(jù)范圍的關系,以確定符合所述待查詢條件的子區(qū)域;從符合所述待查詢條件的子區(qū)域中查找獲得所述數(shù)據(jù)。

可選的,所述列存儲庫存儲于閃存卡上。

本發(fā)明實施例還提供一種聯(lián)機分析處理裝置,包括:接收模塊,用于接收查詢指令,所述查詢指令包括待查詢條件;確定模塊,用于基于所述待查詢條件在預設列存儲庫中確定與所述待查詢條件關聯(lián)的列存儲子庫,所述預設列存儲庫包括至少一個列存儲子庫,所述列存儲子庫中按列存儲有至少一個紀錄,每一紀錄包括標識以及所述標識對應的數(shù)據(jù),不同的列存儲子庫中的數(shù)據(jù)具有不同的屬性;查找模塊,用于從與所述待查詢條件關聯(lián)的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄。

可選的,所述查詢指令包括多個待查詢條件以及基于所述多個待查詢條件的代數(shù)計算式。

可選的,所述查找模塊包括:第一查找子模塊,對于每一個待查詢條件,從與所述待查詢條件對應的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄;計算子模塊,用于根據(jù)所述代數(shù)計算式,對所述多個待查詢條件各自查詢獲得的所述紀錄進行代數(shù)計算,以得到代數(shù)計算結果。

可選的,所述聯(lián)機分析處理裝置還包括轉換模塊,所述列存儲子庫中的數(shù)據(jù)是由所述轉換模塊基于索引字典由原始數(shù)據(jù)轉換得到的,以使所述數(shù)據(jù)具有預設長度。

可選的,所述列存儲子庫包括按所述數(shù)據(jù)的數(shù)據(jù)范圍劃分確定的多個子區(qū)域。

可選的,所述查找模塊包括:比較子模塊,用于比較所述待查詢條件與所述數(shù)據(jù)范圍的關系,以確定符合所述待查詢條件的子區(qū)域;第二查找子模塊,用于從符合所述待查詢條件的子區(qū)域中查找獲得所述數(shù)據(jù)。

可選的,所述列存儲庫存儲于閃存卡上。

與現(xiàn)有技術相比,本發(fā)明實施例的技術方案具有以下有益效果:

在接收到查詢指令后,基于所述查詢指令包括的待查詢條件,在預設列存儲庫中確定與所述待查詢條件關聯(lián)的列存儲子庫,從而在所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄,其中,所述列存儲子庫包括的紀錄按列存儲。較之現(xiàn)有的聯(lián)機分析處理方案,本發(fā)明實施例的技術方案將具有相同屬性的數(shù)據(jù)存儲在同一列存儲子庫中,由于所述預設列存儲庫包括至少一個列存儲子庫,則存在兩個或以上不同屬性的數(shù)據(jù)時,可以基于不同的列存儲子庫分別存儲所述具有不同屬性的數(shù)據(jù),在對海量數(shù)據(jù)進行聯(lián)機分析處理時,可以按待查詢條件的屬性有針對性的讀取存儲的海量數(shù)據(jù)中的某一個列存儲子庫,從而極大地緩解了執(zhí)行聯(lián)機分析處理時的磁盤IO壓力,有利于避免磁盤IO瓶頸的發(fā)生,降低故障率。進一步,每一紀錄包括標識以及所述標識對應的數(shù)據(jù),以便用戶可以基于所述標識將不同列存儲子庫中的紀錄對應起來。例如,同一標識可以在多個列存儲子庫中分別對應多個數(shù)據(jù),所述多個數(shù)據(jù)可以從不同維度(即屬性)來描述同一事物。

進一步,所述查詢指令可以包括多個待查詢條件以及基于所述多個待查詢條件的代數(shù)計算式,則對于每一個待查詢條件,基于本發(fā)明實施例的技術方案能夠從與所述待查詢條件對應的列存儲子庫中查找獲得符合的紀錄,并根據(jù)所述代數(shù)計算式,對多個待查詢條件各自查詢獲得的紀錄進行代數(shù)計算,從而得到準確的代數(shù)計算結果,使得最終獲得的查詢結果符合用戶預期。

附圖說明

圖1是本發(fā)明的第一實施例的一種聯(lián)機分析處理方法的流程圖;

圖2是本發(fā)明的第二實施例的一種聯(lián)機分析處理方法的流程圖;

圖3是本發(fā)明的第二實施例中列存儲子庫的應用場景示意圖;

圖4是本發(fā)明的第三實施例的一種聯(lián)機分析處理裝置的結構示意圖。

具體實施方式

本領域技術人員理解,如背景技術所言,現(xiàn)有的聯(lián)機分析處理方案在對海量數(shù)據(jù)進行復雜的分析操作時,無法以較低的成本和故障率有效解決磁盤IO瓶頸的問題。

發(fā)明人經過研究發(fā)現(xiàn),上述問題是由于現(xiàn)有的聯(lián)機分析處理方案對需要分析的數(shù)據(jù)仍按行進行存儲導致的。

為了解決上述技術問題,本發(fā)明實施例的技術方案在接收到查詢指令后,基于所述查詢指令包括的待查詢條件,在預設列存儲庫中確定與所述待查詢條件關聯(lián)的列存儲子庫,從而在所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄,其中,所述列存儲子庫包括的紀錄按列存儲。較之現(xiàn)有的聯(lián)機分析處理方案,本發(fā)明實施例的技術方案將具有相同屬性的數(shù)據(jù)存儲在同一列存儲子庫中,由于所述預設列存儲庫包括至少一個列存儲子庫,則存在兩個或以上不同屬性的數(shù)據(jù)時,可以基于不同的列存儲子庫分別存儲所述具有不同屬性的數(shù)據(jù),在對海量數(shù)據(jù)進行聯(lián)機分析處理時,可以按待查詢條件的屬性有針對性的讀取存儲的海量數(shù)據(jù)中的某一個列存儲子庫,從而極大地緩解了執(zhí)行聯(lián)機分析處理時的磁盤IO壓力,有利于避免磁盤IO瓶頸的發(fā)生,降低故障率。進一步,每一紀錄包括標識以及所述標識對應的數(shù)據(jù),以便用戶可以基于所述標識將不同列存儲子庫中的紀錄對應起來。例如,同一標識可以在多個列存儲子庫中分別對應多個數(shù)據(jù),所述多個數(shù)據(jù)可以從不同維度(即屬性)來描述同一事物。

為使本發(fā)明的上述目的、特征和有益效果能夠更為明顯易懂,下面結合附圖對本發(fā)明的具體實施例做詳細的說明。

圖1是本發(fā)明的第一實施例的一種聯(lián)機分析處理方法的流程圖。具體地,在本實施例中,首先執(zhí)行步驟S101,接收查詢指令,所述查詢指令包括待查詢條件。更為具體地,所述待查詢條件用于表示用戶希望基于聯(lián)機分析處理的數(shù)據(jù)的屬性。例如,用戶需要基于本發(fā)明實施例的技術方案對一萬個商戶的地理位置分布情況、業(yè)務經營情況等進行聯(lián)機分析處理,則本步驟所述待查詢條件可以包括地理范圍,從而基于本發(fā)明實施例的技術方案,能夠分析獲得所述一萬個商戶中在所述地理范圍內的商戶分布情況。

然后執(zhí)行步驟S102,基于所述待查詢條件在預設列存儲庫中確定與所述待查詢條件關聯(lián)的列存儲子庫,所述預設列存儲庫包括至少一個列存儲子庫,所述列存儲子庫中按列存儲有至少一個紀錄,每一紀錄包括標識以及所述標識對應的數(shù)據(jù),不同的列存儲子庫中的數(shù)據(jù)具有不同的屬性。具體地,所述屬性可以用于描述所述數(shù)據(jù)的類型。例如,姓名、年齡、性別、商戶地址等均可以作為所述列存儲子庫的屬性。其中,同一列存儲子庫中的多個紀錄是沿列方向(也即垂直方向)存儲的。

在一個優(yōu)選例中,所述待查詢條件與列存儲子庫相關聯(lián)是指,所述待查詢條件與所述列存儲子庫中存儲的數(shù)據(jù)的屬性相匹配。例如,當所述待查詢條件為所述地理范圍時,可以確定以地理位置(例如,地址)為屬性的列存儲子庫與所述待查詢條件相關聯(lián)。

最后執(zhí)行步驟S103,從與所述待查詢條件關聯(lián)的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄。具體地,所述待查詢條件可以是精確值,還可以是范圍值。例如,所述待查詢條件可以是,查找所述預設列存儲庫中年齡為30歲的紀錄,則本步驟到屬性為年齡的列存儲子庫中查找數(shù)據(jù)為30的紀錄作為本步驟的查詢結果;又例如,所述待查詢條件還可以是,查找所述預設列存儲庫中年齡處于20歲到40歲之間的紀錄,則本步驟可以到屬性為年齡的列存儲子庫中查找數(shù)據(jù)落在20到40之間的紀錄作為本步驟的查詢結果。

進一步地,所述預設列存儲庫可以存儲于執(zhí)行本發(fā)明實施例的技術方案的處理終端,也可以存儲于與所述處理終端耦接的外接存儲設備,還可以存儲于云端。優(yōu)選地,所述列存儲庫可以存儲于閃存卡(Flash卡)上,還可以存儲于閃速存儲器上,其優(yōu)點在于,與現(xiàn)有的常規(guī)存儲介質相比,閃存卡使用的是PCIe插口,其帶寬更寬,能夠更好的提高磁盤讀寫速度。本領域技術人員理解,本發(fā)明實施例的技術方案通過采用支持SQL-2003標準的協(xié)議來實現(xiàn)對外接口,方便交互查詢并且降低用戶的使用門檻,當然,本領域技術人員也可以根據(jù)實際需要變化出更多實施例,在此不予贅述。

進一步地,所述標識具有唯一性,不同列存儲子庫中具有相同標識的紀錄都屬于該標識指向的待分析對象,但是不同列存儲子庫中存儲的數(shù)據(jù)屬性不同。例如,在現(xiàn)有的聯(lián)機分析處理方案中,所有的紀錄都是按行存儲的,一行紀錄對應一個待分析對象,對于每一行紀錄,所述紀錄包括對應的所述待分析對象在所有維度上的數(shù)據(jù)。而在本發(fā)明實施例的技術方案中,由于將所述待分析對象在不同維度上的數(shù)據(jù)分別存儲至不同的列存儲子庫中,則所述標識可以與所述待分析對象相對應,以表示所述不同列存儲子庫中的數(shù)據(jù)的關聯(lián)性。

進一步地,所述列存儲子庫中的數(shù)據(jù)是基于索引字典由原始數(shù)據(jù)轉換得到的,以使所述數(shù)據(jù)具有預設長度。本領域技術人員理解,對于字符串過長的原始數(shù)據(jù),可以基于所述索引字典預先進行編碼轉換,使得存儲在所述列存儲子庫中的數(shù)據(jù)都具有相同或相近長度,從而便于對所述列存儲子庫的管理,避免占用列存儲子庫因占用過多的存儲空間而影響了本發(fā)明實施例的聯(lián)機分析處理速度。優(yōu)選地,所述索引字典可以與所述預設列存儲庫存儲于相同位置,也可以與所述預設列存儲庫存儲于不同位置,本領域技術人員可以根據(jù)實際需要變化出更多實施例,這并不影響本發(fā)明的技術內容。

例如,在構建或更新所述列存儲子庫中,若需要增加到所述列存儲子庫中的一個原始數(shù)據(jù)的字符串長度超過了核定長度,則可以對所述原始數(shù)據(jù)的字符串進行編碼,以為所述原始數(shù)據(jù)分配一個同樣具有唯一性的索引標識,并將所述索引標識作為數(shù)據(jù)存儲到所述列存儲子庫中,同時在所述索引字典中記錄所述索引標識與所述原始數(shù)據(jù)的對應關系,以便后續(xù)查找。

本領域技術人員理解,本發(fā)明實施例的技術方案中,所述標識與所述索引標識具有不同的含義,其中,所述標識用于指代所述待分析對象,所述索引標識則用于指代所述原始數(shù)據(jù)。在一個典型的應用場景中,一個待分析對象優(yōu)選地對應一個標識,而一個標識可以分別對應多個列存儲子庫中的數(shù)據(jù),并且,若所述多個列存儲子庫中的數(shù)據(jù)中有兩個或以上的數(shù)據(jù)是預先基于所述索引字典的轉換得到的,則所述一個標識還可以對應多個索引標識。

在本實施例的一個變化例中,所述查詢指令包括多個待查詢條件以及基于所述多個待查詢條件的代數(shù)計算式。進一步地,所述步驟S103可以被替換為“對于每一個待查詢條件,從與所述待查詢條件對應的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄;根據(jù)所述代數(shù)計算式,對所述多個待查詢條件各自查詢獲得的所述紀錄進行代數(shù)計算,以得到代數(shù)計算結果”。

進一步地,所述多個待查詢條件可以具有相同的屬性,也可以具有不同的屬性;或者,所述多個待查詢條件中的一部分具有相同的屬性,剩余的另一部分則具有不同的屬性。

例如,用戶希望對年齡在30到40歲之間、性別女并且姓王的人口數(shù)據(jù)進行聯(lián)機分析處理,則所述代數(shù)計算式可以寫作(“年齡:30-40”)與(“性別:女”)與((“姓名:王*”)或(“姓名:王**”)),即通過與或非等邏輯運算符對所述多個待查詢條件進行處理,以獲得所述代數(shù)計算式。

又例如,在基于所述代數(shù)計算式進行聯(lián)機分析處理時,本變化例優(yōu)選地提取所述代數(shù)計算式中的所述多個待查詢條件,并確定與各個待查詢條件關聯(lián)的列存儲子庫,從而查找獲得符合所述待查詢條件的紀錄。例如,基于待查詢條件“年齡:30-40”可以確定獲得屬性為年齡的列存儲子庫并從中查找獲得數(shù)據(jù)落在30到40間的紀錄,基于待查詢條件“性別:女”可以確定獲得屬性為性別的列存儲子庫并從中獲得數(shù)據(jù)為女的紀錄,基于待查詢條件“姓名”可以確定獲得屬性為姓名的列存儲子庫并從中獲得數(shù)據(jù)以王開頭的紀錄。

再例如,對于從各列存儲子庫中獲得的紀錄,本變化例優(yōu)選地將具有相同標識的紀錄中的數(shù)據(jù)基于所述代數(shù)計算式進行代數(shù)計算,以獲得所述代數(shù)計算結果。例如,從屬性為年齡的列存儲子庫中查找獲得一個紀錄“年齡:34歲”,從屬性為性別的列存儲子庫中查找獲得一個紀錄為“性別:女”,從屬性為姓名的列存儲子庫中查找獲得一個紀錄“姓名:王一”,并且前述三個紀錄包括的標識相同(例如均為1),則可以確定所述三個紀錄用于描述同一待分析對象,則基于所述代數(shù)計算式,可以對所述數(shù)據(jù)“34歲”、“女”、“王一”進行代數(shù)計算,獲得代數(shù)計算結果,以表示本變化例基于所述查詢指令查找獲得一個姓名王一并且性別女并且年齡34歲的查詢結果。

由上,采用第一實施例的方案,將具有相同屬性的數(shù)據(jù)存儲在同一列存儲子庫中,由于所述預設列存儲庫包括至少一個列存儲子庫,則存在兩個或以上不同屬性的數(shù)據(jù)時,可以基于不同的列存儲子庫分別存儲所述具有不同屬性的數(shù)據(jù)。進一步,每一紀錄包括標識以及所述標識對應的數(shù)據(jù),以便用戶可以基于所述標識將不同列存儲子庫中的紀錄對應起來。例如,同一標識可以在多個列存儲子庫中分別對應多個數(shù)據(jù),所述多個數(shù)據(jù)可以從不同維度(即屬性)來描述同一事物。

本領域技術人員理解,在現(xiàn)有的聯(lián)機分析處理方案中,待處理的紀錄仍采用按行存儲的方式,例如,一條紀錄可以包括一個待分析對象在所有維度(即屬性)上的數(shù)據(jù),則當用戶希望就存儲的所有紀錄中滿足某一種屬性的數(shù)據(jù)進行聯(lián)機分析處理時,需要遍歷存儲的所有紀錄才能獲得所有待分析對象在該屬性上的數(shù)據(jù),這樣的方案在實際應用時會產生很大的數(shù)據(jù)處理量,當存儲的紀錄達到TB級別時,極易引發(fā)磁盤IO瓶頸,更會嚴重影響數(shù)據(jù)處理速度,不利于對用戶需求的快速響應。

而在本發(fā)明實施例的技術方案中,優(yōu)選地將所有紀錄按不同的屬性分別存儲至不同的列存儲子庫中,當用戶希望對某一種屬性的數(shù)據(jù)進行聯(lián)機分析處理時,只需遍歷該屬性對應的列存儲子庫即可,極大地減少了工作量,加快了對用戶需求的反應速度;另一方面,若用戶需要同時對待分析對象的多種屬性的數(shù)據(jù)進行聯(lián)機分析處理,并且需要橫向了解同一待分析對象在所述多種屬性上的數(shù)據(jù)時,基于本發(fā)明實施例的技術方案,由于同一待分析對象的標識具有唯一性,可以基于所述標識將所述待分析對象在不同屬性上的數(shù)據(jù)關聯(lián)起來,從而實現(xiàn)利用多個數(shù)據(jù)從不同維度描述同一待分析對象,滿足用戶的多樣化需求。

圖2是本發(fā)明的第二實施例的一種聯(lián)機分析處理方法的流程圖。具體地,在本實施例中,首先執(zhí)行步驟S201,接收查詢指令,所述查詢指令包括待查詢條件。更為具體地,本領域技術人員可以參考上述圖1所示實施例中所述步驟S101,在此不予贅述。

然后執(zhí)行步驟S202,基于所述待查詢條件在預設列存儲庫中確定與所述待查詢條件關聯(lián)的列存儲子庫,所述預設列存儲庫包括至少一個列存儲子庫,所述列存儲子庫中按列存儲有至少一個紀錄,每一紀錄包括標識以及所述標識對應的數(shù)據(jù),不同的列存儲子庫中的數(shù)據(jù)具有不同的屬性。具體地,本領域技術人員可以參考上述圖1所示實施例中所述步驟S102,在此不予贅述。優(yōu)選地,所述列存儲子庫包括按所述數(shù)據(jù)的數(shù)據(jù)范圍劃分確定的多個子區(qū)域。在結合圖3的一個優(yōu)選例中,所述預設列存儲庫包括列存儲子庫1和列存儲子庫2,其中,所述列存儲子庫1包括子區(qū)域11至子區(qū)域14,所述列存儲子庫2也包括子區(qū)域21至子區(qū)域24,每一子區(qū)域中所存儲數(shù)據(jù)的數(shù)據(jù)范圍如圖3所示。

接下來執(zhí)行步驟S203,比較所述待查詢條件與所述數(shù)據(jù)范圍的關系,以確定符合所述待查詢條件的子區(qū)域。在結合圖3的一個優(yōu)選例中,所述待查詢條件與所述列存儲子庫1中存儲的數(shù)據(jù)的屬性相匹配,則本步驟優(yōu)選地比較所述待查詢條件落在所述列存儲子庫1的哪一個子區(qū)域的數(shù)據(jù)范圍內。例如,所述待查詢條件為查找數(shù)值為105的數(shù)據(jù),則可以確定所述列存儲子庫1中的子區(qū)域2為符合所述待查詢條件的子區(qū)域。

最后執(zhí)行步驟S204,從符合所述待查詢條件的子區(qū)域中查找獲得所述數(shù)據(jù)。在結合圖3的一個優(yōu)選例中,所述待查詢條件仍為查找數(shù)值為105的數(shù)據(jù),則在基于所述步驟S203確定所述列存儲子庫1中的子區(qū)域2為符合所述待查詢條件的子區(qū)域后,本步驟可以優(yōu)選地在所述子區(qū)域2中查找獲得數(shù)據(jù)為105的紀錄,以作為本實施例的查詢結果。

進一步地,基于本發(fā)明實施例的技術方案可以實現(xiàn)代理(proxy)形式的聯(lián)機分析處理,即采用分布式存儲和分布式計算的方式,平行擴展單機節(jié)點容量,實現(xiàn)TB級別數(shù)據(jù)的管理和聯(lián)機分析處理。

進一步地,較之現(xiàn)有的批處理(batch,簡稱BAT)操作模式,本發(fā)明實施例的技術方案可以通過更為簡單的數(shù)組操作來實現(xiàn)聯(lián)機分析處理,并采用并行處理引擎來實現(xiàn)多核CPU的有效使用。

進一步地,在執(zhí)行本發(fā)明實施例的處理終端中內置字節(jié)碼(bytecodes)引擎,以支持本發(fā)明實施例中邏輯的腳本實現(xiàn)以及即時(Just-In-Time,簡稱JIT)編譯,從而充分保證執(zhí)行本發(fā)明實施例的處理終端的系統(tǒng)延展性和高性能。

由上,采用第二實施例的方案,通過對所述列存儲子庫的進一步細化,更好的優(yōu)化數(shù)據(jù)結構,使得在執(zhí)行本實施例時,無需遍歷所述列存儲子庫中存儲的所有數(shù)據(jù),從而在盡量少消耗CPU性能的同時降低磁盤IO的開銷,更好的緩解執(zhí)行聯(lián)機分析處理時的磁盤IO瓶頸,并提高聯(lián)機分析處理速度。

本領域技術人員理解,與上述圖1所示實施例相比,本實施例中所述步驟S203和所述步驟S204可以是上述圖1所示實施例中所述步驟S103的一個具體實施方式,在基于所述待查詢條件確定與之關聯(lián)的列存儲子庫的基礎上,確定所述列存儲子庫中最接近所述待查詢條件的子區(qū)域,最終通過查找所述子區(qū)域來查找獲得符合所述待查詢條件的紀錄。

圖3示出了一個典型的應用場景,結合圖2和圖3,所述列存儲子庫2的屬性為出生日期,其中,所述子區(qū)域21的最小值和最大值、所述子區(qū)域22的最小值和最大值、所述子區(qū)域23的最小值和最大值、所述子區(qū)域24的最小值和最大值如圖3所示。在本應用場景中,存儲于所述列存儲子庫2中的紀錄在存儲時會先與各子區(qū)域的數(shù)據(jù)范圍相比較,以確定待存儲紀錄應存儲于哪個子區(qū)域中,例如,所述待存儲紀錄為0.0.1:1993-05-06(即標識為0.0.1,出生日期1993-05-06),通過比較可以確定所述待存儲紀錄應存儲于所述列存儲子庫2的子區(qū)域21中。

進一步地,在本應用場景中,當接收到所述查詢指令時,若所述待查詢條件為查找在2010年9月出生的數(shù)據(jù),則結合圖2所示實施例中的技術方案,可以確定需要在所述列存儲子庫2的子區(qū)域24中查找符合所述待查詢條件的數(shù)據(jù)。

進一步地,當所述查詢指令包括多個待查詢條件時,對于每一待查詢條件,可以并行執(zhí)行所述步驟S203和所述步驟S204,以分別獲得符合所述多個待查詢條件的數(shù)據(jù)。

進一步地,若在執(zhí)行本發(fā)明實施例的過程中,需要擴充所述列存儲子庫,并且新增的紀錄的數(shù)據(jù)超出了所述列存儲子庫已有的數(shù)據(jù)范圍,則可以向上或向下擴展所述列存儲子庫中已有子區(qū)域的數(shù)據(jù)范圍,以存儲所述新增的紀錄。作為一個變化例的,也可以通過在所述列存儲子庫中增加子區(qū)域的方式來存儲所述新增的紀錄。

可以理解的是,子區(qū)域11、子區(qū)域12、子區(qū)域13、子區(qū)域14和子區(qū)域22的具體實施方式可參照上述表述,此處不再贅述。

圖4是本發(fā)明的第三實施例的一種聯(lián)機分析處理裝置的結構示意圖。本領域技術人員理解,本實施例所述聯(lián)機分析處理裝置4用于實施上述圖1至圖3所示實施例中的方法技術方案。具體地,在本實施例中,所述聯(lián)機分析處理裝置4包括接收模塊42,用于接收查詢指令,所述查詢指令包括待查詢條件;確定模塊43,用于基于所述待查詢條件在預設列存儲庫中確定與所述待查詢條件關聯(lián)的列存儲子庫,所述預設列存儲庫包括至少一個列存儲子庫,所述列存儲子庫中按列存儲有至少一個紀錄,每一紀錄包括標識以及所述標識對應的數(shù)據(jù),不同的列存儲子庫中的數(shù)據(jù)具有不同的屬性;以及查找模塊44,用于從與所述待查詢條件關聯(lián)的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄。

在一個優(yōu)選地應用場景中,所述查詢指令包括多個待查詢條件以及基于所述多個待查詢條件的代數(shù)計算式。優(yōu)選地,所述查找模塊44包括第一查找子模塊441,對于每一個待查詢條件,從與所述待查詢條件對應的所述列存儲子庫中查找獲得符合所述待查詢條件的紀錄;計算子模塊442,用于根據(jù)所述代數(shù)計算式,對所述多個待查詢條件各自查詢獲得的所述紀錄進行代數(shù)計算,以得到代數(shù)計算結果。

進一步地,所述聯(lián)機分析處理裝置4還包括轉換模塊41,所述列存儲子庫中的數(shù)據(jù)是由所述轉換模塊基于索引字典由原始數(shù)據(jù)轉換得到的,以使所述數(shù)據(jù)具有預設長度。

在另一個優(yōu)選地應用場景中,所述列存儲子庫包括按所述數(shù)據(jù)的數(shù)據(jù)范圍劃分確定的多個子區(qū)域。優(yōu)選地,所述查找模塊44包括比較子模塊443,用于比較所述待查詢條件與所述數(shù)據(jù)范圍的關系,以確定符合所述待查詢條件的子區(qū)域;第二查找子模塊444,用于從符合所述待查詢條件的子區(qū)域中查找獲得所述數(shù)據(jù)。

優(yōu)選地,所述列存儲庫存儲于閃存卡上。

在本實施例的一個變化例中,當所述查詢指令包括多個待查詢條件以及基于所述多個待查詢條件的代數(shù)計算式時,對于每一個待查詢條件,可以調用所述比較子模塊443確定符合所述待查詢條件的子區(qū)域,然后調用所述第二查找子模塊444從符合所述待查詢條件的子區(qū)域中查找獲得所述數(shù)據(jù),最終根據(jù)所述代數(shù)計算式,對所述多個待查詢條件各自查詢獲得的所述紀錄進行代數(shù)計算,以得到代數(shù)計算結果。

關于所述聯(lián)機分析處理裝置4的工作原理、工作方式的更多內容,可以參照圖1至圖3中的相關描述,這里不再贅述。

本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于以計算機可讀存儲介質中,存儲介質可以包括:ROM、RAM、磁盤或光盤等。

雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領域技術人員,在不脫離本發(fā)明的精神和范圍內,均可作各種更動與修改,因此本發(fā)明的保護范圍應當以權利要求所限定的范圍為準。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
马山县| 九龙县| 绥阳县| 昌江| 方城县| 蒙山县| 广安市| 宁明县| 廉江市| 独山县| 连州市| 潜山县| 德格县| 桂阳县| 额济纳旗| 漯河市| 收藏| 郯城县| 沁源县| 资兴市| 靖江市| 板桥市| 开封市| 安康市| 尼玛县| 安福县| 遵义市| 海口市| 紫云| 攀枝花市| 石楼县| 高平市| 开平市| 格尔木市| 柘城县| 炎陵县| 新津县| 台中市| 淮安市| 阜宁县| 临夏县|