數(shù)據(jù)庫(kù)查詢(xún)方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及數(shù)據(jù)庫(kù)查詢(xún)方 法和裝置。
【背景技術(shù)】
[0002] 隨著大數(shù)據(jù)時(shí)代的到來(lái),對(duì)海量的數(shù)據(jù)進(jìn)行獲取、儲(chǔ)存、搜索、共享、分析成為了當(dāng) 前重要的研究課題。通過(guò)大數(shù)據(jù)分析可以在合理的時(shí)間內(nèi)擷取、管理、處理、并整理成為能 幫助企業(yè)經(jīng)營(yíng)決策產(chǎn)生積極目的的信息。
[0003] 然而,隨著大數(shù)據(jù)相關(guān)技術(shù)的普及和數(shù)據(jù)量的急劇膨脹,計(jì)算任務(wù)量和計(jì)算復(fù)雜 度也隨之急劇上漲?,F(xiàn)有技術(shù)對(duì)于具有多個(gè)可選統(tǒng)計(jì)維度的多種統(tǒng)計(jì)維度組合的統(tǒng)計(jì)分 析,需要針對(duì)每種統(tǒng)計(jì)維度組合的統(tǒng)計(jì)分析都執(zhí)行一次專(zhuān)用的查詢(xún)語(yǔ)句。從而使得人力成 本較高,并且消耗了較大量的計(jì)算資源。
【發(fā)明內(nèi)容】
[0004] 本申請(qǐng)的目的在于提出一種數(shù)據(jù)庫(kù)查詢(xún)方法和裝置,來(lái)解決以上【背景技術(shù)】部分提 到的技術(shù)問(wèn)題。
[0005] 第一方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)庫(kù)查詢(xún)方法所述方法包括:在數(shù)據(jù)庫(kù)中查詢(xún)預(yù) 定的表中的記錄的多個(gè)預(yù)定字段的值,其中,所述多個(gè)預(yù)定字段包括:至少兩個(gè)用作統(tǒng)計(jì)的 維度的統(tǒng)計(jì)維度字段;根據(jù)所述記錄的多個(gè)預(yù)定字段的值,生成虛擬表,其中,所述虛擬表 中的記錄包括以下信息:統(tǒng)計(jì)維度組合標(biāo)識(shí)、與所述統(tǒng)計(jì)維度組合標(biāo)識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì) 維度字段的值,其中,統(tǒng)計(jì)維度組合標(biāo)識(shí)是基于所述至少兩個(gè)統(tǒng)計(jì)維度字段中的各個(gè)字段 名稱(chēng)的組合而生成的標(biāo)識(shí);查詢(xún)將所述虛擬表中的記錄根據(jù)所述統(tǒng)計(jì)維度組合標(biāo)識(shí)、與所 述統(tǒng)計(jì)維度組合標(biāo)識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì)維度字段的值進(jìn)行分組后,各組對(duì)應(yīng)的統(tǒng)計(jì)數(shù)值。
[0006] 第二方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)庫(kù)查詢(xún)裝置,所述裝置包括:字段值查詢(xún)單元, 用于在數(shù)據(jù)庫(kù)中查詢(xún)預(yù)定的表中的記錄的多個(gè)預(yù)定字段的值,其中,所述多個(gè)預(yù)定字段包 括:至少兩個(gè)用作統(tǒng)計(jì)的維度的統(tǒng)計(jì)維度字段;虛擬表生成單元,用于根據(jù)所述記錄的多個(gè) 預(yù)定字段的值,生成虛擬表,其中,所述虛擬表中的記錄包括以下信息:統(tǒng)計(jì)維度組合標(biāo)識(shí)、 與所述統(tǒng)計(jì)維度組合標(biāo)識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì)維度字段的值,其中,統(tǒng)計(jì)維度組合標(biāo)識(shí)是基 于所述至少兩個(gè)統(tǒng)計(jì)維度字段中的各個(gè)字段名稱(chēng)的組合而生成的標(biāo)識(shí);統(tǒng)計(jì)數(shù)值查詢(xún)單 元,用于查詢(xún)將所述虛擬表中的記錄根據(jù)所述統(tǒng)計(jì)維度組合標(biāo)識(shí)、與所述統(tǒng)計(jì)維度組合標(biāo) 識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì)維度字段的值進(jìn)行分組后,各組對(duì)應(yīng)的統(tǒng)計(jì)數(shù)值。
[0007] 本申請(qǐng)?zhí)峁┑臄?shù)據(jù)庫(kù)查詢(xún)方法和裝置,通過(guò)根據(jù)查詢(xún)到的記錄的多個(gè)預(yù)定字段的 值,生成包括統(tǒng)計(jì)維度組合標(biāo)識(shí)、與所述統(tǒng)計(jì)維度組合標(biāo)識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì)維度字段的 值等信息的虛擬表,并通過(guò)查詢(xún)將所述虛擬表中的記錄根據(jù)所述統(tǒng)計(jì)維度組合標(biāo)識(shí)、與所 述統(tǒng)計(jì)維度組合標(biāo)識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì)維度字段的值進(jìn)行分組后,各組對(duì)應(yīng)的統(tǒng)計(jì)數(shù)值, 減少了在需要查詢(xún)各種統(tǒng)計(jì)維度組合的統(tǒng)計(jì)數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)源表的訪問(wèn),節(jié)約了大量的人力 成本及計(jì)算資源。
【附圖說(shuō)明】
[0008] 通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它 特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0009] 圖1是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)查詢(xún)方法的一個(gè)實(shí)施例的流程圖;
[0010]圖2是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)查詢(xún)方法的查詢(xún)數(shù)據(jù)的示例性示意圖;
[0011] 圖3是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)查詢(xún)方法的另一個(gè)實(shí)施例的流程圖;
[0012] 圖4是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)查詢(xún)裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0013] 圖5是適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0014] 下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖牵颂幩?述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說(shuō)明的是,為了 便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
[0015] 需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相 互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)。
[0016]此外,還需要說(shuō)明的是,本申請(qǐng)實(shí)施例所提供的數(shù)據(jù)庫(kù)查詢(xún)方法通常由服務(wù)器執(zhí) 行。相應(yīng)地,數(shù)據(jù)庫(kù)查詢(xún)裝置通常設(shè)置于服務(wù)器中。
[0017] 下面參考圖1,圖1示出了根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)查詢(xún)方法的一個(gè)實(shí)施例的流程100。
[0018] 如圖1所示,本實(shí)施例的數(shù)據(jù)庫(kù)查詢(xún)方法包括以下步驟:
[0019] 步驟101,在數(shù)據(jù)庫(kù)中查詢(xún)預(yù)定的表中的記錄的多個(gè)預(yù)定字段的值。
[0020] 其中,上述多個(gè)預(yù)定字段包括:至少兩個(gè)用作統(tǒng)計(jì)的維度的統(tǒng)計(jì)維度字段。
[0021] 在本實(shí)施例中,數(shù)據(jù)庫(kù)查詢(xún)方法運(yùn)行與其上的服務(wù)器可以通過(guò)執(zhí)行預(yù)定的查詢(xún)語(yǔ) 句在數(shù)據(jù)庫(kù)中查詢(xún)預(yù)定的表中的記錄的多個(gè)預(yù)定字段的值。其中,查詢(xún)語(yǔ)句例如可以為SQL (Structured Query Language,結(jié)構(gòu)化查詢(xún)語(yǔ)言)、HQL(Hibernate Query Language)等查 詢(xún)語(yǔ)言中的SELECT語(yǔ)句。上述統(tǒng)計(jì)的維度是指統(tǒng)計(jì)的目標(biāo)條件(參數(shù)),例如,如果要統(tǒng)計(jì)網(wǎng) 絡(luò)論壇中用戶(hù)的各種操作請(qǐng)求類(lèi)型(例如:瀏覽、回復(fù))的請(qǐng)求次數(shù),那么操作請(qǐng)求類(lèi)型就是 該統(tǒng)計(jì)的維度;如果要統(tǒng)計(jì)用戶(hù)的各種操作請(qǐng)求、發(fā)送請(qǐng)求時(shí)所用的各種操作系統(tǒng)的請(qǐng)求 次數(shù)(例如統(tǒng)計(jì)用戶(hù)用安卓Android系統(tǒng)發(fā)送瀏覽請(qǐng)求的請(qǐng)求次數(shù)),那么操作請(qǐng)求類(lèi)型和 操作系統(tǒng)就是該統(tǒng)計(jì)的兩個(gè)維度。
[0022] 步驟102,根據(jù)上述記錄的多個(gè)預(yù)定字段的值,生成虛擬表。
[0023] 其中,上述虛擬表中的記錄包括以下信息:統(tǒng)計(jì)維度組合標(biāo)識(shí)、與上述統(tǒng)計(jì)維度組 合標(biāo)識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì)維度字段的值,其中,統(tǒng)計(jì)維度組合標(biāo)識(shí)是基于上述至少兩個(gè)統(tǒng) 計(jì)維度字段中的各個(gè)字段名稱(chēng)的組合而生成的標(biāo)識(shí)。
[0024] 在本實(shí)施例中,服務(wù)器可以先基于上述至少兩個(gè)統(tǒng)計(jì)維度字段中的各個(gè)字段名稱(chēng) 的組合,生成多個(gè)與至少一個(gè)統(tǒng)計(jì)維度字段對(duì)應(yīng)的統(tǒng)計(jì)維度組合標(biāo)識(shí)。例如,假設(shè)上述統(tǒng)計(jì) 維度字段的字段名稱(chēng)有:"請(qǐng)求類(lèi)型"、"操作系統(tǒng)"、"版本",就可以生成與"請(qǐng)求類(lèi)型"對(duì)應(yīng) 的統(tǒng)計(jì)維度組合標(biāo)識(shí)"001",與"請(qǐng)求類(lèi)型"和"操作系統(tǒng)"對(duì)應(yīng)的統(tǒng)計(jì)維度組合標(biāo)識(shí)"002", 與"請(qǐng)求類(lèi)型"、"操作系統(tǒng)"和"版本"對(duì)應(yīng)的統(tǒng)計(jì)維度組合標(biāo)識(shí)"003",以此類(lèi)推。
[0025] 然后,根據(jù)上述記錄的多個(gè)預(yù)定字段的值,獲取每個(gè)統(tǒng)計(jì)維度組合標(biāo)識(shí)相對(duì)應(yīng)的 各個(gè)統(tǒng)計(jì)維度字段的值,從而生成了上述虛擬表。例如,假設(shè)上述記錄的多個(gè)預(yù)定字段的值 如表1所示:
[0026] 表1:
[0028]則根據(jù)表1中的記錄的三個(gè)字段的值,可以生成如表2所示的虛擬表:
[0032] 步驟103,查詢(xún)將上述虛擬表中的記錄根據(jù)上述統(tǒng)計(jì)維度組合標(biāo)識(shí)、與上述統(tǒng)計(jì)維 度組合標(biāo)識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì)維度字段的值進(jìn)行分組后,各組對(duì)應(yīng)的統(tǒng)計(jì)數(shù)值。
[0033] 在本實(shí)施例中,服務(wù)器可以通過(guò)用于分組的語(yǔ)句(例如GROUP BY語(yǔ)句)來(lái)根據(jù)上述 統(tǒng)計(jì)維度組合標(biāo)識(shí)、與上述統(tǒng)計(jì)維度組合標(biāo)識(shí)相對(duì)應(yīng)的各個(gè)統(tǒng)計(jì)維度字段的值進(jìn)行分組, 并通過(guò)預(yù)定