欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)倉(cāng)庫(kù)中etl任務(wù)離線和數(shù)據(jù)清理的方法及裝置的制作方法

文檔序號(hào):6433373閱讀:286來(lái)源:國(guó)知局
專利名稱:一種數(shù)據(jù)倉(cāng)庫(kù)中etl任務(wù)離線和數(shù)據(jù)清理的方法及裝置的制作方法
一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方法及裝置技術(shù)領(lǐng)域
本申請(qǐng)涉及數(shù)據(jù)倉(cāng)庫(kù)分析的技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線 和數(shù)據(jù)清理的方法,以及,一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的裝置。
背景技術(shù)
數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)獨(dú)立的數(shù)據(jù)環(huán)境,通過(guò)抽取過(guò)程將數(shù)據(jù)從聯(lián)機(jī)事務(wù)處理環(huán)境、外 部數(shù)據(jù)源和脫機(jī)的數(shù)據(jù)存儲(chǔ)介質(zhì)導(dǎo)入到數(shù)據(jù)倉(cāng)庫(kù)中。它的目的是建立結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)空 間,將不同數(shù)據(jù)源的數(shù)據(jù)分離出來(lái),形成統(tǒng)一、有效的數(shù)據(jù)集,并最終加工、整合成所需要的 數(shù)據(jù)。
ETL (Extraction-Transformation-Loading)是數(shù)據(jù)抽取、清洗、轉(zhuǎn)換和裝載的過(guò) 程。是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的重要一環(huán),用戶從數(shù)據(jù)庫(kù)抽取出所需的數(shù)據(jù),經(jīng)過(guò)數(shù)據(jù)清洗,最終按 照預(yù)先定義好的數(shù)據(jù)倉(cāng)庫(kù)模型,將數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)中去。
隨著成熟的數(shù)據(jù)倉(cāng)庫(kù)技術(shù)不斷發(fā)展,當(dāng)數(shù)據(jù)倉(cāng)庫(kù)投入使用以后,各業(yè)務(wù)部門的需 求會(huì)越來(lái)越多,使用數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)量的增長(zhǎng)速度也會(huì)越來(lái)越快,歷史數(shù)據(jù)的大量聚集給 數(shù)據(jù)查詢和存儲(chǔ)成本帶來(lái)極大的沖擊,許多已經(jīng)衰亡不再使用的應(yīng)用所對(duì)應(yīng)的ETL任務(wù)和 數(shù)據(jù)由于沒(méi)有合理的下線策略,導(dǎo)致ETL任務(wù)一直在執(zhí)行,數(shù)據(jù)仍然存儲(chǔ)在系統(tǒng)中并不斷 在增長(zhǎng),極大的浪費(fèi)了數(shù)據(jù)倉(cāng)庫(kù)中有限的計(jì)算和存儲(chǔ)資源,因此對(duì)于數(shù)據(jù)倉(cāng)庫(kù)的ETL任務(wù) 離線管理和數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)清理日漸成為一個(gè)現(xiàn)實(shí)的技術(shù)問(wèn)題亟待解決。
目前對(duì)ETL任務(wù)的離線和數(shù)據(jù)清理工作大多數(shù)情況是通過(guò)人為判斷的,由數(shù)據(jù)倉(cāng) 庫(kù)的開(kāi)發(fā)人員與業(yè)務(wù)方溝通,由業(yè)務(wù)方確定哪些應(yīng)用不再使用和關(guān)注,由數(shù)據(jù)倉(cāng)庫(kù)開(kāi)發(fā)人 員將應(yīng)用對(duì)應(yīng)的ETL任務(wù)和清理數(shù)據(jù)存儲(chǔ),以完成ETL任務(wù)離線和數(shù)據(jù)清理工作。
以上現(xiàn)有技術(shù)存在的問(wèn)題是由于是與業(yè)務(wù)方確認(rèn),當(dāng)業(yè)務(wù)方人員眾多時(shí),對(duì)每個(gè) 應(yīng)用進(jìn)行復(fù)查,效率極低,同時(shí)可能會(huì)無(wú)法覆蓋所有人員,在做ETL任務(wù)下線和數(shù)據(jù)清理時(shí) 不可避免的會(huì)存在遺漏,也可能會(huì)存在將正在使用的應(yīng)用錯(cuò)誤下線,人工的感性判斷沒(méi)有 理性數(shù)據(jù)支持,下線時(shí)準(zhǔn)確性不高,人為誤判斷可能會(huì)導(dǎo)致不可預(yù)知錯(cuò)誤。
因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是如何提供一種高 效的數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方法及裝置。發(fā)明內(nèi)容
本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的 方法,用以提高數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的效率和準(zhǔn)確率。
相應(yīng)的,本申請(qǐng)還提供了數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的裝置,用以保證 上述方法在實(shí)際中的實(shí)現(xiàn)及應(yīng)用。
為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方 法,包括
獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息;
根據(jù)所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的 數(shù)據(jù)的操作。
優(yōu)選的,所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息為,數(shù)據(jù)倉(cāng)庫(kù)中訪問(wèn)所述數(shù)據(jù)庫(kù)對(duì)象的SQL 語(yǔ)句的息。
優(yōu)選的,所述獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,包括
提取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句;
從數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句中解析出數(shù)據(jù)庫(kù)對(duì)象的信息;
提取所述各數(shù)據(jù)庫(kù)對(duì)象所對(duì)應(yīng)的SQL語(yǔ)句的信息。
優(yōu)選的,所述提取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句的步驟包括
提取調(diào)度系統(tǒng)中的ETL任務(wù)記錄日志中記錄的SQL語(yǔ)句;
和/或,提取數(shù)據(jù)查詢系統(tǒng)中的query日志中記錄的SQL語(yǔ)句;
和/或,利用數(shù)據(jù)庫(kù)系統(tǒng)中的捕獲SQL運(yùn)行功能獲取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句。
優(yōu)選的,所述從數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句中解析出數(shù)據(jù)庫(kù)對(duì)象的信息的步驟包括
解析數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句,獲得數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象;
去除所述數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象,和/或,保留所述數(shù)據(jù)庫(kù)對(duì)象。
優(yōu)選的,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息包括調(diào)用對(duì)象和調(diào)用程序,所述根據(jù) 數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作的步驟 包括
若所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用對(duì)象為非目標(biāo)對(duì)象,且對(duì)應(yīng)的調(diào)用程序?yàn)槟繕?biāo)程序,則 將所述數(shù)據(jù)庫(kù)對(duì)象添加到預(yù)置的備選清單;
對(duì)預(yù)置的備選清單中的數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的 數(shù)據(jù)的操作。
優(yōu)選的,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息包括調(diào)用次數(shù),所述根據(jù)數(shù)據(jù)庫(kù)對(duì)象 的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作的步驟包括
若數(shù)據(jù)庫(kù)對(duì)象在預(yù)設(shè)時(shí)間段內(nèi)的使用次數(shù)為零,則針對(duì)該數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線 對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
優(yōu)選的,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息包括調(diào)用次數(shù)、調(diào)用對(duì)象和調(diào)用程序, 所述根據(jù)數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操 作的步驟包括
若所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用對(duì)象包括目標(biāo)對(duì)象和非目標(biāo)對(duì)象,且目標(biāo)對(duì)象在預(yù)設(shè)時(shí) 間段內(nèi)對(duì)數(shù)據(jù)庫(kù)庫(kù)對(duì)象的調(diào)用次數(shù)小于預(yù)設(shè)閥值,且非目標(biāo)對(duì)象對(duì)應(yīng)的調(diào)用程序?yàn)槟繕?biāo)程 序,則將所述數(shù)據(jù)庫(kù)對(duì)象添加到預(yù)置的備選清單;
對(duì)預(yù)置的備選清單數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù) 的操作。
優(yōu)選的,所述目標(biāo)對(duì)象為外部系統(tǒng),所述非目標(biāo)對(duì)象為數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部的調(diào)度系統(tǒng), 所述目標(biāo)程序?yàn)閿?shù)據(jù)庫(kù)對(duì)象的生成程序。
優(yōu)選的,所述對(duì)預(yù)置的備選清單數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清 理對(duì)應(yīng)的數(shù)據(jù)的操作的步驟包括
確定所述備選清單中需要清除的數(shù)據(jù)庫(kù)對(duì)象;
將所述需要清除的數(shù)據(jù)庫(kù)對(duì)象進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù) 的操作。
本申請(qǐng)還提供了一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的裝置,包括
調(diào)用信息獲取模塊,用于獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息;
處理模塊,用于根據(jù)所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/ 或,清理對(duì)應(yīng)的數(shù)據(jù)的操作。
與現(xiàn)有技術(shù)相比,本申請(qǐng)包括以下優(yōu)點(diǎn)
本申請(qǐng)通過(guò)解析訪問(wèn)數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句,獲知數(shù)據(jù)庫(kù)對(duì)象的調(diào)用 信息,調(diào)用信息包括了數(shù)據(jù)庫(kù)對(duì)象的調(diào)用次數(shù)和調(diào)用對(duì)象,以此為依據(jù)為龐大的數(shù)據(jù)倉(cāng)庫(kù) 系統(tǒng)合理“瘦身”,去除掉沒(méi)有使用價(jià)值的ETL任務(wù)和數(shù)據(jù),從而節(jié)省了系統(tǒng)計(jì)算和存儲(chǔ)資 源,提高了系統(tǒng)性能,節(jié)約了數(shù)據(jù)倉(cāng)庫(kù)成本。
同時(shí)以數(shù)據(jù)庫(kù)對(duì)象的調(diào)用情況為依據(jù)對(duì)相應(yīng)的應(yīng)用進(jìn)行清理使得數(shù)據(jù)倉(cāng)庫(kù)ETL 任務(wù)離線和數(shù)據(jù)清理工作變得有據(jù)可依,降低了人為因素,用數(shù)據(jù)說(shuō)話,極大提高了數(shù)據(jù)倉(cāng) 庫(kù)“瘦身”工作的準(zhǔn)確性。此外,在對(duì)調(diào)用信息進(jìn)行分析后,將備選的清理對(duì)象與業(yè)務(wù)方進(jìn) 行溝通,降低了需要與業(yè)務(wù)方溝通、確認(rèn)的應(yīng)用數(shù)量,提高了工作效率。


圖1是本申請(qǐng)的一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方法實(shí)施例的流程 圖2是本申請(qǐng)的一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的裝置實(shí)施例的結(jié)構(gòu)框 圖。
具體實(shí)施方式
為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。
ETL是數(shù)據(jù)倉(cāng)庫(kù)對(duì)數(shù)據(jù)庫(kù)對(duì)象進(jìn)行抽取、清洗、轉(zhuǎn)換和裝載的過(guò)程,數(shù)據(jù)倉(cāng)庫(kù)中數(shù) 據(jù)量快速增長(zhǎng)使得數(shù)據(jù)查詢和存儲(chǔ)成本不斷增長(zhǎng),許多已經(jīng)衰亡不再使用的應(yīng)用所對(duì)應(yīng)的 ETL任務(wù)和數(shù)據(jù)由于沒(méi)有合理的下線策略,極大的浪費(fèi)了數(shù)據(jù)倉(cāng)庫(kù)中有限的計(jì)算和存儲(chǔ)資 源?,F(xiàn)有技術(shù)中采用人工進(jìn)行ETL任務(wù)離線和數(shù)據(jù)清理工作,存在效率和準(zhǔn)確率低下的問(wèn) 題。
本申請(qǐng)實(shí)施例的核心構(gòu)思之一在于,獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息, 并依據(jù)所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的 操作。
參考圖1,示出了本申請(qǐng)的一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方法實(shí)施 例的流程圖,具體可以包括以下步驟
步驟101、獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息。
數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是對(duì)原有分散的數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行加工得到的,其中的數(shù)據(jù)庫(kù)對(duì) 象包括了最基本的表和視圖,以及約束、序列、函數(shù)、存儲(chǔ)過(guò)程、包、觸發(fā)器等。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息可以為,數(shù)據(jù)倉(cāng)庫(kù)中訪問(wèn)所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息。SQL(Structured Query Language)即結(jié)構(gòu)化查 詢語(yǔ)言,是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù) 庫(kù)系統(tǒng),通過(guò)SQL語(yǔ)句可以獲知數(shù)據(jù)庫(kù)對(duì)象的被訪問(wèn)的信息。
在具體的實(shí)現(xiàn)中,所述步驟101可以包括
子步驟S11、提取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句;
在具體的實(shí)現(xiàn)中,通過(guò)對(duì)調(diào)度系統(tǒng)中的ETL任務(wù)記錄日志、記錄即席查詢系統(tǒng)的 Query日志,打開(kāi)數(shù)據(jù)庫(kù)系統(tǒng)中的捕獲SQL運(yùn)行功能方法收集在數(shù)據(jù)倉(cāng)庫(kù)中所有運(yùn)行的SQL 語(yǔ)句,在此之前可以先整理出數(shù)據(jù)倉(cāng)庫(kù)中所有能夠調(diào)用到數(shù)據(jù)庫(kù)中對(duì)象的系統(tǒng),如調(diào)度系 統(tǒng)、報(bào)表系統(tǒng)、即席查詢系統(tǒng)、數(shù)據(jù)輸出系統(tǒng)等。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述子步驟Sll可以包括
子步驟S11-1、提取調(diào)度系統(tǒng)中的ETL任務(wù)記錄日志中記錄的SQL語(yǔ)句。ETL任務(wù) 記錄日志通過(guò)在ETL代碼中設(shè)置變量參數(shù),將代碼中每段執(zhí)行的SQL語(yǔ)句都存儲(chǔ)在變量中, 待SQL語(yǔ)句執(zhí)行成功后,將此變量的值寫到數(shù)據(jù)庫(kù)中,這樣以來(lái)ETL代碼中每段成功執(zhí)行的 SQL就能被記錄下來(lái)。
和/或,子步驟S11-2、提取數(shù)據(jù)查詢系統(tǒng)中的Query日志中記錄的SQL語(yǔ)句。
例如,用戶所有的Query命令都必須在類似Oracle的SQL*PLUS客戶端執(zhí)行,利用 客戶端的自帶功能將用戶的所有Query命令都進(jìn)行記錄。
和/或,子步驟SI 1-3、利用數(shù)據(jù)庫(kù)系統(tǒng)中的捕獲SQL運(yùn)行功能獲取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn) 行的SQL語(yǔ)句。
打開(kāi)數(shù)據(jù)庫(kù)系統(tǒng)中的捕獲SQL運(yùn)行功能,如開(kāi)啟Oracle數(shù)據(jù)庫(kù)中的審計(jì)功能,監(jiān) 控所有的select、delete、insert語(yǔ)句,同時(shí)將控制觸發(fā)審計(jì)動(dòng)作選項(xiàng)設(shè)置為by access, 這樣對(duì)每個(gè)Session中發(fā)生的每次操作都能被記錄。
以上三種收集SQL語(yǔ)句的方法可以依據(jù)實(shí)際系統(tǒng)情況靈活搭配,可以選擇同時(shí)進(jìn) 行收集,也可以通過(guò)幾種方法組合收集。如若選用了開(kāi)啟數(shù)據(jù)庫(kù)審計(jì)功能,就足夠記錄所有 在數(shù)據(jù)庫(kù)中運(yùn)行的所有SQL,那么就可以只選擇方法三即可;若開(kāi)啟數(shù)據(jù)庫(kù)審計(jì)功能對(duì)系 統(tǒng)性能消耗較大,那么可以采用方法一和方法二配合進(jìn)行SQL收集工作。收集完成后,將收 集到的所有SQL都存儲(chǔ)在數(shù)據(jù)庫(kù)中,以供后續(xù)分析所用。
子步驟S12、從數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句中解析出數(shù)據(jù)庫(kù)對(duì)象的信息。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述子步驟S12可以包括
子步驟S12-1、解析數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句,獲得數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象。
在具體的實(shí)現(xiàn)中,可以采用SQL解析程序?qū)QL語(yǔ)句進(jìn)行解析,如下例
提取的SQL語(yǔ)句為
INSERT INTO adl. cn—kms—offer—subject—split—fdtO
(stat_date, offer_id, offer_subject, member_id, split_kw_type, offer_ split—kw)
SELECT b.stat—date,b.offer—id,b.offer—subject,b. member—id,b. split—kw— type, b.offer_split_kw, e.rowid
from idl. cn—offer—basic—fdtO b
INNER JOIN idl. cn—member—tp—udtO c
ON (b. member_id = c. member_id AND c.1s_tp =' Y1 )
LEFT OUTER JOIN tdl. cn_kms_offer_subject_spIit_fdtO_tmpO d
ON(b. offer_id = d. offer_id)
LEFT OUTER JOIN(SELECT to_char(sysdate,1 yyyymmdd/ )ASstat_date,rowid FROM DUAL)e
ON a. stat_date = e. stat_date
WHERE b. stat_date = CAST(/ 20110615' AS DATE)-1 AND d. offer_idIS NULL
經(jīng)過(guò)解析程序解析后可以得到如下數(shù)據(jù)庫(kù)對(duì)象
adl. cn_kms_offer_subject_spIit_fdtO
adl. cn_ofTer_basic_fdtO
tdl. cn_kms_offer_subject_spIit_fdtO_tmpO
數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象為DUAL。
子步驟S12-2、去除所述數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象,和/或,保留所述數(shù)據(jù)庫(kù)對(duì)象。
SQL語(yǔ)句的訪問(wèn)對(duì)象包括了數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象,數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象不是 任務(wù)離線的對(duì)象,即使某個(gè)系統(tǒng)對(duì)象被訪問(wèn)頻率低,為保證數(shù)據(jù)庫(kù)正常運(yùn)行不可能將其離 線并做數(shù)據(jù)清理,因此在解析SQL的過(guò)程中需要排除數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象,從而減少后續(xù)的分 析結(jié)果集,并且使得分析結(jié)果更精準(zhǔn),如上例中,可以去除數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象DUAL,和/或,保 留解析出來(lái)的三個(gè)數(shù)據(jù)庫(kù)對(duì)象。
子步驟S13、提取所述各數(shù)據(jù)庫(kù)對(duì)象所對(duì)應(yīng)的SQL語(yǔ)句的信息。
通過(guò)SQL解析程序獲得出數(shù)據(jù)庫(kù)對(duì)象后,同時(shí)需記錄訪問(wèn)各個(gè)數(shù)據(jù)庫(kù)對(duì)象的SQL 語(yǔ)句,根據(jù)這些SQL語(yǔ)句可以獲知數(shù)據(jù)庫(kù)對(duì)象在什么時(shí)間,被哪些系統(tǒng)和程序訪問(wèn)過(guò)等信肩、O
例如,由上例SQL語(yǔ)句的解析結(jié)果可知,數(shù)據(jù)庫(kù)對(duì)象tdl. cn_kms_offer_subject_ split_fdt0_tmp0表在2011年I月I日被數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部調(diào)度系統(tǒng)的cn_kms_offer_ subject_split_fdtO. pi程序調(diào)用過(guò),操作類型為fromClause。數(shù)據(jù)庫(kù)對(duì)象adl. cn_kms_ offer_subject_split_fdtO表在2011年I月2日被數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部調(diào)度系統(tǒng)的cn_kms_ offer_subject_split_fdtO.pl 程序調(diào)用過(guò),操作類型為 insertClause。
步驟102、根據(jù)所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清 理對(duì)應(yīng)的數(shù)據(jù)的操作。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息可以包括調(diào) 用對(duì)象和調(diào)用程序,所述步驟102可以包括
子步驟S21、若所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用對(duì)象為非目標(biāo)對(duì)象,且對(duì)應(yīng)的調(diào)用程序?yàn)槟?標(biāo)程序,則將所述數(shù)據(jù)庫(kù)對(duì)象添加到預(yù)置的備選清單。
在上面的步驟中,通過(guò)各個(gè)數(shù)據(jù)庫(kù)對(duì)象分別對(duì)應(yīng)的SQL語(yǔ)句,已得知數(shù)據(jù)庫(kù)對(duì)象 被調(diào)用的系統(tǒng),若該系統(tǒng)為非目標(biāo)對(duì)象,則將其添加到備選清單。
在具體的實(shí)現(xiàn)中,所述非目標(biāo)對(duì)象可以為數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部的調(diào)度系統(tǒng),所述目標(biāo)程 序可以為數(shù)據(jù)庫(kù)對(duì)象的生成程序,生成程序可以理解為該程序?qū)?shù)據(jù)庫(kù)對(duì)象只有insert 操作,沒(méi)有from操作。
數(shù)據(jù)倉(cāng)庫(kù)對(duì)象僅被數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部的ETL調(diào)度系統(tǒng)調(diào)用,沒(méi)有數(shù)據(jù)輸出系統(tǒng)、報(bào)表系統(tǒng)、數(shù)據(jù)查詢系統(tǒng)等后續(xù)系統(tǒng)調(diào)用。這種情況下,并且調(diào)用程序?yàn)槠鋵?duì)應(yīng)的生成程序,在 這種情況下可以認(rèn)為該數(shù)據(jù)庫(kù)對(duì)象可以認(rèn)為是調(diào)度系統(tǒng)中的葉子節(jié)點(diǎn),。可以添加到預(yù)置 的備選清單,接下來(lái)考慮對(duì)其對(duì)應(yīng)的ETL任務(wù)和數(shù)據(jù)進(jìn)行清理。
例如,在上面的SQL語(yǔ)句解析后,提取數(shù)據(jù)庫(kù)對(duì)象adl. cn_kms_offer_subject_ split_fdtO表的調(diào)用信息后,得知該數(shù)據(jù)庫(kù)的調(diào)用系統(tǒng)只有數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部的調(diào)度系統(tǒng),調(diào) 用程序只有cn_kms_offer_subject_split_fdtO.pl。該程序?qū)υ摫淼牟僮髦挥衖nsert操 作,沒(méi)有from操作,因此調(diào)用程序?yàn)槠渖沙绦?,因此可以認(rèn)為該表為調(diào)度系統(tǒng)的葉子及 節(jié)點(diǎn),可以填加到備選清單。
子步驟S22、對(duì)預(yù)置的備選清單中的數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或 清理對(duì)應(yīng)的數(shù)據(jù)的操作。
數(shù)據(jù)倉(cāng)庫(kù)中的各個(gè)數(shù)據(jù)庫(kù)對(duì)象有相應(yīng)的ETL任務(wù)和相應(yīng)的數(shù)據(jù),若該數(shù)據(jù)庫(kù)對(duì)象 的調(diào)用信息符合以上條件,就需要清理其所對(duì)應(yīng)的ETL任務(wù)和數(shù)據(jù)。對(duì)應(yīng)上述步驟中作為 調(diào)度系統(tǒng)的葉子節(jié)點(diǎn)的數(shù)據(jù)庫(kù)對(duì)象,ETL任務(wù)離線是指從數(shù)據(jù)倉(cāng)庫(kù)調(diào)度系統(tǒng)中將此數(shù)據(jù)庫(kù) 對(duì)象的刷新程序刪除。同時(shí)還需清理該數(shù)據(jù)庫(kù)對(duì)象所對(duì)應(yīng)的數(shù)據(jù),釋放此數(shù)據(jù)庫(kù)對(duì)象在數(shù) 據(jù)庫(kù)中占用的存儲(chǔ)空間。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息可以包括調(diào) 用次數(shù),所述步驟102可以包括
子步驟S31、若數(shù)據(jù)庫(kù)對(duì)象在預(yù)設(shè)時(shí)間段內(nèi)的使用次數(shù)為零,則針對(duì)該數(shù)據(jù)庫(kù)對(duì) 象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
根據(jù)要統(tǒng)計(jì)的時(shí)間段選擇需要進(jìn)行統(tǒng)計(jì)的起始和截止日期,若在該時(shí)間段內(nèi)數(shù)據(jù) 庫(kù)對(duì)象的調(diào)用次數(shù)為零,即沒(méi)有被調(diào)度系統(tǒng)(內(nèi)部系統(tǒng))、數(shù)據(jù)輸出系統(tǒng)、報(bào)表系統(tǒng)(外部系 統(tǒng))、數(shù)據(jù)查詢系統(tǒng)(外部系統(tǒng))等任意一個(gè)系統(tǒng)調(diào)用過(guò)的,這類數(shù)據(jù)倉(cāng)庫(kù)對(duì)象就是不再使 用,可以添加到預(yù)置的備選清單中,然后進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù) 的操作。由于沒(méi)有被調(diào)度系統(tǒng)調(diào)用,因此該數(shù)據(jù)庫(kù)對(duì)象沒(méi)有對(duì)應(yīng)的ETL任務(wù),可以直接將其 對(duì)應(yīng)數(shù)據(jù)清理。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息可以包括調(diào) 用次數(shù)、調(diào)用對(duì)象和調(diào)用程序,所述步驟102可以包括
子步驟S41、若所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用對(duì)象包括目標(biāo)對(duì)象和非目標(biāo)對(duì)象,且目標(biāo)對(duì) 象在預(yù)設(shè)時(shí)間段內(nèi)對(duì)數(shù)據(jù)庫(kù)庫(kù)對(duì)象的調(diào)用次數(shù)小于預(yù)設(shè)閥值,且非目標(biāo)對(duì)象對(duì)應(yīng)的調(diào)用程 序?yàn)槟繕?biāo)程序,則將所述數(shù)據(jù)庫(kù)對(duì)象添加到預(yù)置的備選清單。
子步驟S42、對(duì)預(yù)置的備選清單數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理 對(duì)應(yīng)的數(shù)據(jù)的操作。
在具體的實(shí)現(xiàn)中,所述目標(biāo)對(duì)象可以為外部系統(tǒng),所述外部系統(tǒng)可以包括數(shù)據(jù)倉(cāng) 庫(kù)外部數(shù)據(jù)輸出系統(tǒng)、報(bào)表系統(tǒng)和數(shù)據(jù)查詢系統(tǒng)。在本優(yōu)選實(shí)施例中,若數(shù)據(jù)庫(kù)對(duì)象的調(diào)用 對(duì)象包括了外部系統(tǒng),并且,外部系統(tǒng)在預(yù)設(shè)時(shí)間段內(nèi)對(duì)該數(shù)據(jù)庫(kù)對(duì)象的調(diào)用次數(shù)小于預(yù) 設(shè)閥值,并且,調(diào)度系統(tǒng)對(duì)應(yīng)的調(diào)用的程序?yàn)閷?duì)應(yīng)的生成程序,則可以添加到備選清單中。
例如,預(yù)設(shè)時(shí)間段為2011年I月I日至2011年6月30日,預(yù)設(shè)閥值為5次,原 SQL語(yǔ)句為
insert into bdl. ast—cn—p4p—plan—offer
(plan_offer_id, b2b_offer_id, b2b_offer_f lag, plan_id, title, expire_time)
selecta. planofferid, b. b2bofferid, a. b2bofferflag, b. planid, a. title, a. expiretime
from odl. c05_q_planoffer a
left outer join tdl. ast_cn_p4p_pIan_offer_tmpO b
on a. planofferid = b. plan_offer_id
where b. plan_offer_id is null
selectplan_offer_id, b2b_offer_id, b2b_offer_flag, plan_id,title,expire_ time frombdl. ast_cn_p4p_plan_offer
利用解析程序?qū)ζ溥M(jìn)行解析后,由bdl. ast_cn_p4p_plan_offer表對(duì)應(yīng)的SQL語(yǔ) 句的信息可知,在此時(shí)間段內(nèi),數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部的調(diào)度系統(tǒng)調(diào)用過(guò)該表,并且對(duì)應(yīng)的調(diào)用程序 為生成程序,即調(diào)用程序?qū)υ摫淼牟僮髦挥衖nsert操作,沒(méi)有from操作;同時(shí),數(shù)據(jù)庫(kù)外部 報(bào)表系統(tǒng)對(duì)該表的調(diào)用次數(shù)為I次,小于預(yù)設(shè)閥值5次,由此可以判斷該表滿足以上條件, 可以將其添加到備選清單中。在備選清單中可以對(duì)數(shù)據(jù)庫(kù)對(duì)象按照調(diào)用次數(shù)的多少進(jìn)行排 序,如按照調(diào)用次數(shù)的升序排序。
在具體的實(shí)現(xiàn)中,所述對(duì)預(yù)置的備選清單數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù), 和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作的步驟可以通過(guò)以下步驟實(shí)現(xiàn)
確定所述備選清單中需要清除的數(shù)據(jù)庫(kù)對(duì)象;
將所述需要清除的數(shù)據(jù)庫(kù)對(duì)象進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù) 的操作。
以上將備選的數(shù)據(jù)庫(kù)對(duì)象加入清單后,需要再仔細(xì)分析下各個(gè)數(shù)據(jù)庫(kù)對(duì)象的調(diào)用 情況,同時(shí)與業(yè)務(wù)方進(jìn)行溝通,從而確認(rèn)需要下線的數(shù)據(jù)庫(kù)對(duì)象,然后對(duì)該對(duì)象所對(duì)應(yīng)的 ETL任務(wù)和數(shù)據(jù)進(jìn)行清理。
本申請(qǐng)的方案可以包括三個(gè)層次,提取數(shù)據(jù)倉(cāng)庫(kù)中的SQL語(yǔ)句處于整個(gè)方案框架 里的基礎(chǔ)數(shù)據(jù)層;從數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句中解析出數(shù)據(jù)庫(kù)對(duì)象的信息以及提取訪問(wèn)所述數(shù) 據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息處于整個(gè)方案框架的算法層;將符合條件的數(shù)據(jù)庫(kù)對(duì)象添加到 預(yù)置的備選清單,并對(duì)相應(yīng)的ETL任務(wù)和數(shù)據(jù)進(jìn)行清理處于整個(gè)方案框架的應(yīng)用層。
綜上所述,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方法,通過(guò) 解析訪問(wèn)數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句,獲知數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,調(diào)用信息包括 了數(shù)據(jù)庫(kù)對(duì)象的調(diào)用次數(shù)和調(diào)用對(duì)象,以此為依據(jù)為龐大的數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)合理“瘦身”,去 除掉沒(méi)有使用價(jià)值的ETL任務(wù)和數(shù)據(jù),從而節(jié)省了系統(tǒng)計(jì)算和存儲(chǔ)資源,提高了系統(tǒng)性能, 節(jié)約了數(shù)據(jù)倉(cāng)庫(kù)成本。
同時(shí)以數(shù)據(jù)庫(kù)對(duì)象的調(diào)用情況為依據(jù)對(duì)相應(yīng)的應(yīng)用進(jìn)行清理使得數(shù)據(jù)倉(cāng)庫(kù)ETL 任務(wù)離線和數(shù)據(jù)清理工作變得有據(jù)可依,降低了人為因素,用數(shù)據(jù)說(shuō)話,極大提高了數(shù)據(jù)倉(cāng) 庫(kù)“瘦身”工作的準(zhǔn)確性。此外,在對(duì)調(diào)用信息進(jìn)行分析后,將備選的清理對(duì)象與業(yè)務(wù)方進(jìn) 行溝通,降低了需要與業(yè)務(wù)方溝通、確認(rèn)的應(yīng)用數(shù)量,提高了工作效率。
對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域 技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某些步驟可 以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本申請(qǐng)所必須的。
參考圖2,示出了本申請(qǐng)的一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的裝置實(shí)施 例的結(jié)構(gòu)框圖,具體可以包括以下模塊
調(diào)用信息獲取模塊201,用于獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息;
處理模塊202,用于根據(jù)所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù), 和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息可以為,數(shù)據(jù)倉(cāng)庫(kù) 中訪問(wèn)所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述調(diào)用信息獲取模塊201可以包括
SQL語(yǔ)句提取子模塊,用于提取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句;
SQL語(yǔ)句解析子模塊,用于從數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句中解析出數(shù)據(jù)庫(kù)對(duì)象的信息;
信息提取子模塊,用于提取所述各數(shù)據(jù)庫(kù)對(duì)象所對(duì)應(yīng)的SQL語(yǔ)句的信息。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述SQL語(yǔ)句提取子模塊可以包括
調(diào)度系統(tǒng)提取子模塊,用于提取調(diào)度系統(tǒng)中的ETL任務(wù)記錄日志中記錄的SQL語(yǔ) 句;
和/或,數(shù)據(jù)查詢系統(tǒng)提取子模塊,用于提取數(shù)據(jù)查詢系統(tǒng)中的query日志中記錄 的SQL語(yǔ)句;
和/或,SQL語(yǔ)句捕獲子模塊,用于利用數(shù)據(jù)庫(kù)系統(tǒng)中的捕獲SQL運(yùn)行功能獲取數(shù) 據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述SQL語(yǔ)句解析子模塊可以包括
解析結(jié)果獲取子模塊,用于解析數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句,獲得數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)庫(kù) 系統(tǒng)對(duì)象;
數(shù)據(jù)庫(kù)對(duì)象獲取子模塊,用于去除所述數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象,和/或,保留所述數(shù)據(jù)庫(kù) 對(duì)象。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息可以包括調(diào) 用對(duì)象和調(diào)用程序,所述處理模塊202可以包括
第一添加子模塊,用于若所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用對(duì)象為非目標(biāo)對(duì)象,且對(duì)應(yīng)的調(diào) 用程序?yàn)槟繕?biāo)程序,則將所述數(shù)據(jù)庫(kù)對(duì)象添加到預(yù)置的備選清單;
第一處理子模塊,用于對(duì)預(yù)置的備選清單中的數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL 任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息還可以包括 調(diào)用次數(shù),所述處理模塊202還可以包括
第二處理子模塊,用于若數(shù)據(jù)庫(kù)對(duì)象在預(yù)設(shè)時(shí)間段內(nèi)的使用次數(shù)為零,則針對(duì)該 數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
在本申請(qǐng)的一種優(yōu)選的實(shí)施例中,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息可以包括調(diào) 用次數(shù)、調(diào)用對(duì)象和調(diào)用程序,所述處理模塊可以包括
第二添加子模塊,用于若所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用對(duì)象包括目標(biāo)對(duì)象和非目標(biāo)對(duì) 象,且目標(biāo)對(duì)象在預(yù)設(shè)時(shí)間段內(nèi)對(duì)數(shù)據(jù)庫(kù)庫(kù)對(duì)象的調(diào)用次數(shù)小于預(yù)設(shè)閥值,且非目標(biāo)對(duì)象 對(duì)應(yīng)的調(diào)用程序?yàn)槟繕?biāo)程序,則將所述數(shù)據(jù)庫(kù)對(duì)象添加到預(yù)置的備選清單;
第三處理子模塊,用于對(duì)預(yù)置的備選清單數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù), 和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
在具體的實(shí)現(xiàn)中,所述目標(biāo)對(duì)象可以為外部系統(tǒng),所述非目標(biāo)對(duì)象可以為數(shù)據(jù)倉(cāng) 庫(kù)內(nèi)部的調(diào)度系統(tǒng),所述目標(biāo)程序可以為數(shù)據(jù)庫(kù)對(duì)象的生成程序。
由于所述裝置實(shí)施例基本相應(yīng)于前述圖1所示的方法實(shí)施例,故本實(shí)施例的描述 中未詳盡之處,可以參見(jiàn)前述實(shí)施例中的相關(guān)說(shuō)明,在此就不贅述了。
本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如個(gè)人計(jì)算機(jī)、服務(wù) 器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂 盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的 分布式計(jì)算環(huán)境等等。
本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序 模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由 通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以 位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從 而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明 確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)......”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將 一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作 之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體 意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括 那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)......”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本申請(qǐng)所提供的一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方法,以及, 一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例 對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方 法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
權(quán)利要求
1.一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方法,其特征在于,包括 獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息; 根據(jù)所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息為,數(shù)據(jù)倉(cāng)庫(kù)中訪問(wèn)所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,包括 提取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句; 從數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句中解析出數(shù)據(jù)庫(kù)對(duì)象的信息; 提取所述各數(shù)據(jù)庫(kù)對(duì)象所對(duì)應(yīng)的SQL語(yǔ)句的信息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述提取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句的步驟包括 提取調(diào)度系統(tǒng)中的ETL任務(wù)記錄日志中記錄的SQL語(yǔ)句; 和/或,提取數(shù)據(jù)查詢系統(tǒng)中的query日志中記錄的SQL語(yǔ)句; 和/或,利用數(shù)據(jù)庫(kù)系統(tǒng)中的捕獲SQL運(yùn)行功能獲取數(shù)據(jù)倉(cāng)庫(kù)中運(yùn)行的SQL語(yǔ)句。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述從數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句中解析出數(shù)據(jù)庫(kù)對(duì)象的信息的步驟包括 解析數(shù)據(jù)倉(cāng)庫(kù)的SQL語(yǔ)句,獲得數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象; 去除所述數(shù)據(jù)庫(kù)系統(tǒng)對(duì)象,和/或,保留所述數(shù)據(jù)庫(kù)對(duì)象。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息包括調(diào)用對(duì)象和調(diào)用程序,所述根據(jù)數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作的步驟包括 若所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用對(duì)象為非目標(biāo)對(duì)象,且對(duì)應(yīng)的調(diào)用程序?yàn)槟繕?biāo)程序,則將所述數(shù)據(jù)庫(kù)對(duì)象添加到預(yù)置的備選清單; 對(duì)預(yù)置的備選清單中的數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息包括調(diào)用次數(shù),所述根據(jù)數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作的步驟包括 若數(shù)據(jù)庫(kù)對(duì)象在預(yù)設(shè)時(shí)間段內(nèi)的使用次數(shù)為零,則針對(duì)該數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句的信息包括調(diào)用次數(shù)、調(diào)用對(duì)象和調(diào)用程序,所述根據(jù)數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作的步驟包括 若所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用對(duì)象包括目標(biāo)對(duì)象和非目標(biāo)對(duì)象,且目標(biāo)對(duì)象在預(yù)設(shè)時(shí)間段內(nèi)對(duì)數(shù)據(jù)庫(kù)庫(kù)對(duì)象的調(diào)用次數(shù)小于預(yù)設(shè)閥值,且非目標(biāo)對(duì)象對(duì)應(yīng)的調(diào)用程序?yàn)槟繕?biāo)程序,則將所述數(shù)據(jù)庫(kù)對(duì)象添加到預(yù)置的備選清單; 對(duì)預(yù)置的備選清單數(shù)據(jù)庫(kù)對(duì)象,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述目標(biāo)對(duì)象為外部系統(tǒng),所述非目標(biāo)對(duì)象為數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部的調(diào)度系統(tǒng),所述目標(biāo)程序?yàn)閿?shù)據(jù)庫(kù)對(duì)象的生成程序。
10.根據(jù)權(quán)利要求6或8所述的方法,其特征在于,所述對(duì)預(yù)置的備選清單數(shù)據(jù)庫(kù)對(duì)象, 進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作的步驟包括確定所述備選清單中需要清除的數(shù)據(jù)庫(kù)對(duì)象;將所述需要清除的數(shù)據(jù)庫(kù)對(duì)象進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或清理對(duì)應(yīng)的數(shù)據(jù)的操作。
11.一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的裝置,其特征在于,包括調(diào)用信息獲取模塊,用于獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息;處理模塊,用于根據(jù)所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的方法及裝置。所述方法包括獲取數(shù)據(jù)倉(cāng)庫(kù)中各數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息;根據(jù)所述數(shù)據(jù)庫(kù)對(duì)象的調(diào)用信息,進(jìn)行離線對(duì)應(yīng)的ETL任務(wù),和/或,清理對(duì)應(yīng)的數(shù)據(jù)的操作。本發(fā)明可以提高數(shù)據(jù)倉(cāng)庫(kù)中ETL任務(wù)離線和數(shù)據(jù)清理的效率和準(zhǔn)確率。
文檔編號(hào)G06F17/30GK102999528SQ20111027628
公開(kāi)日2013年3月27日 申請(qǐng)日期2011年9月16日 優(yōu)先權(quán)日2011年9月16日
發(fā)明者黃曉婧, 曾春秋, 孫偉光, 吳偉, 方建江 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
溆浦县| 虞城县| 夏邑县| 谷城县| 灌云县| 黑龙江省| 沙田区| 松阳县| 易门县| 耿马| 偏关县| 抚远县| 阜宁县| 曲麻莱县| 左贡县| 玉溪市| 陵水| 四会市| 永丰县| 榆林市| 温州市| 沾益县| 凭祥市| 乳源| 清徐县| 瑞昌市| 松潘县| 静宁县| 阳山县| 临颍县| 尤溪县| 河池市| 民勤县| 滨海县| 石门县| 开化县| 安陆市| 辰溪县| 大足县| 册亨县| 荔波县|