一種查詢數(shù)據(jù)的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種查詢數(shù)據(jù)的方法及裝置。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)等新興應(yīng)用的日益豐富以及企業(yè)信息化建設(shè)的不斷發(fā)展,出現(xiàn)了大量 的非結(jié)構(gòu)化數(shù)據(jù)。由于非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)類型豐富,結(jié)構(gòu)復(fù)雜,沒(méi)有明確的、統(tǒng)一定義的數(shù) 據(jù)結(jié)構(gòu)約束,加之其海量的數(shù)據(jù)規(guī)模,高度動(dòng)態(tài)的數(shù)據(jù)特性,多樣的應(yīng)用場(chǎng)景,統(tǒng)一的聯(lián)合 訪問(wèn)需求,使得非結(jié)構(gòu)化數(shù)據(jù)管理面臨巨大挑戰(zhàn)。
[0003] 由于數(shù)據(jù)庫(kù)資源是寶貴的,所以通常情況各個(gè)系統(tǒng)都會(huì)產(chǎn)生各自的文本信息。 例如,日志文件,這些日志文件一般都是格式化的文本信息,目前一種通常的查詢和統(tǒng)計(jì) 這些文本信息的方法為將文本信息導(dǎo)入數(shù)據(jù)庫(kù),利用數(shù)據(jù)庫(kù)的SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言)語(yǔ)句進(jìn)行分析,但由于不同數(shù)據(jù)庫(kù)有著不同的數(shù)據(jù)格式,因 此,需要將所有文本信息導(dǎo)入數(shù)據(jù)庫(kù)中才能使用SQL語(yǔ)言進(jìn)行分析,這樣會(huì)導(dǎo)致數(shù)據(jù)庫(kù)的 開(kāi)發(fā)和運(yùn)維的效率變低。
[0004] 綜上所述,目前使用SQL語(yǔ)言對(duì)文本信息進(jìn)行查詢操作時(shí),需要將文本信息導(dǎo)入 導(dǎo)出不同的數(shù)據(jù)庫(kù),導(dǎo)致使用SQL語(yǔ)言查詢文本信息的效率低。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供一種查詢數(shù)據(jù)的方法及裝置,用以解決使用SQL語(yǔ)言查詢文本 信息的效率低的問(wèn)題。
[0006] 本發(fā)明實(shí)施例提供的一種查詢數(shù)據(jù)的方法,包括:
[0007] 獲取結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句,并確定出所述SQL語(yǔ)句中的命令關(guān)鍵字、查詢關(guān)鍵 字、查詢數(shù)據(jù)以及目標(biāo)文件名稱;
[0008] 根據(jù)所述命令關(guān)鍵字、所述查詢關(guān)鍵字以及所述查詢數(shù)據(jù)確定出與所述SQL語(yǔ)句 對(duì)應(yīng)的linux命令,所述linux命令為awk語(yǔ)言和shell命令的組合;
[0009] 根據(jù)所述目標(biāo)文件名稱將所述目標(biāo)文件名稱對(duì)應(yīng)的目標(biāo)文件中的數(shù)據(jù)格式化,獲 得格式化目標(biāo)文件;
[0010] 對(duì)所述格式化目標(biāo)文件執(zhí)行所述linux命令。
[0011] 較佳的,所述根據(jù)所述命令關(guān)鍵字、所述查詢關(guān)鍵字以及所述查詢數(shù)據(jù)確定出與 所述SQL語(yǔ)句對(duì)應(yīng)的linux命令,包括:
[0012] 根據(jù)所述命令關(guān)鍵字在命令關(guān)鍵字與linux命令關(guān)鍵字的映射關(guān)系中確定出與 所述命令關(guān)鍵字對(duì)應(yīng)的linux命令關(guān)鍵字;
[0013] 根據(jù)所述linux命令關(guān)鍵字、所述查詢關(guān)鍵字以及所述查詢數(shù)據(jù)生成與所述SQL 語(yǔ)句對(duì)應(yīng)的所述linux命令。
[0014] 較佳的,所述根據(jù)所述目標(biāo)文件名稱將所述目標(biāo)文件名稱對(duì)應(yīng)的目標(biāo)文件中的數(shù) 據(jù)格式化,獲得格式化目標(biāo)文件,包括:
[0015] 根據(jù)所述目標(biāo)文件名稱獲取與所述目標(biāo)文件名稱對(duì)應(yīng)的目標(biāo)文件,并通過(guò)復(fù)制所 述目標(biāo)文件生成臨時(shí)目標(biāo)文件,對(duì)所述臨時(shí)目標(biāo)文件中的數(shù)據(jù)格式化,獲得格式化目標(biāo)文 件。
[0016] 較佳的,所述對(duì)所述臨時(shí)目標(biāo)文件中的數(shù)據(jù)格式化,獲得格式化目標(biāo)文件,包括:
[0017] 將所述臨時(shí)目標(biāo)文件中的數(shù)據(jù)格式轉(zhuǎn)換為預(yù)設(shè)數(shù)據(jù)格式,獲得所述格式化目標(biāo)文 件。
[0018] 本發(fā)明實(shí)施例提供一種查詢數(shù)據(jù)的裝置,該裝置包括:
[0019] 獲取單元,用于獲取結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句,并確定出所述SQL語(yǔ)句中的命令關(guān) 鍵字、查詢關(guān)鍵字、查詢數(shù)據(jù)以及目標(biāo)文件名稱;
[0020] 確定單元,用于根據(jù)所述命令關(guān)鍵字、所述查詢關(guān)鍵字以及所述查詢數(shù)據(jù)確定出 與所述SQL語(yǔ)句對(duì)應(yīng)的linux命令,所述linux命令為awk語(yǔ)言和shell命令的組合;
[0021] 格式化單元,用于根據(jù)所述目標(biāo)文件名稱將所述目標(biāo)文件名稱對(duì)應(yīng)的目標(biāo)文件中 的數(shù)據(jù)格式化,獲得格式化目標(biāo)文件;
[0022] 執(zhí)行單元,用于對(duì)所述格式化目標(biāo)文件執(zhí)行所述linux命令。
[0023] 較佳的,所述確定單元用于:
[0024] 根據(jù)所述命令關(guān)鍵字在命令關(guān)鍵字與linux命令關(guān)鍵字的映射關(guān)系中確定出與 所述命令關(guān)鍵字對(duì)應(yīng)的linux命令關(guān)鍵字;
[0025] 根據(jù)所述linux命令關(guān)鍵字、所述查詢關(guān)鍵字以及所述查詢數(shù)據(jù)生成與所述SQL 語(yǔ)句對(duì)應(yīng)的所述linux命令。
[0026] 較佳的,所述格式化單元用于:
[0027] 根據(jù)所述目標(biāo)文件名稱獲取與所述目標(biāo)文件名稱對(duì)應(yīng)的目標(biāo)文件,并通過(guò)復(fù)制所 述目標(biāo)文件生成臨時(shí)目標(biāo)文件,對(duì)所述臨時(shí)目標(biāo)文件中的數(shù)據(jù)格式化,獲得格式化目標(biāo)文 件。
[0028] 較佳的,所述格式化單元用于:
[0029] 將所述臨時(shí)目標(biāo)文件中的數(shù)據(jù)格式轉(zhuǎn)換為預(yù)設(shè)數(shù)據(jù)格式,獲得所述格式化目標(biāo)文 件。
[0030] 綜上所述,在使用SQL語(yǔ)句對(duì)文本信息進(jìn)行查詢操作時(shí),通過(guò)將SQL語(yǔ)句映射為對(duì) 應(yīng)的awk語(yǔ)言和shell命令組合,實(shí)現(xiàn)對(duì)文本信息的查詢操作。根據(jù)本發(fā)明實(shí)施例提供的 方法,可以通過(guò)SQL語(yǔ)句簡(jiǎn)單、高效的對(duì)文本信息進(jìn)行查詢操作。
【附圖說(shuō)明】
[0031] 圖1為本發(fā)明實(shí)施例提供的一種查詢數(shù)據(jù)的方法流程圖;
[0032] 圖2為本發(fā)明實(shí)施例提供的一種查詢數(shù)據(jù)的裝置結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0033] 下面結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明實(shí)施例做詳細(xì)描述。
[0034] 如圖1所示,本發(fā)明實(shí)施例提供的一種查詢數(shù)據(jù)的方法流程圖,該方法包括:
[0035] 步驟101 :獲取結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句,并確定出所述SQL語(yǔ)句中的命令關(guān)鍵 字、查詢關(guān)鍵字、查詢數(shù)據(jù)以及目標(biāo)文件名稱;
[0036] 步驟102:根據(jù)所述命令關(guān)鍵字、所述查詢關(guān)鍵字以及所述查詢數(shù)據(jù)確定出與所 述SQL語(yǔ)句對(duì)應(yīng)的linux命令,所述linux命令為awk語(yǔ)言和shell命令的組合;
[0037] 步驟103:根據(jù)所述目標(biāo)文件名稱將所述目標(biāo)文件名稱對(duì)應(yīng)的目標(biāo)文件中的數(shù)據(jù) 格式化,獲得格式化目標(biāo)文件;
[0038] 步驟104:對(duì)所述格式化目標(biāo)文件執(zhí)行所述linux命令。
[0039] 本發(fā)明實(shí)施例中所描述的目標(biāo)文件為可以是任