專利名稱:一種利用etl技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)費(fèi)數(shù)據(jù)的抽取和應(yīng)用的方法,具體地說是一種利用ETL技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法。
背景技術(shù):
目前,一般的數(shù)據(jù)過程抽取都是以目標(biāo)數(shù)據(jù)需求為目標(biāo)在現(xiàn)有系統(tǒng)中查找可用的數(shù)據(jù)資源,分析現(xiàn)有系統(tǒng)中可用數(shù)據(jù)資源和目標(biāo)數(shù)據(jù)需求之間的關(guān)系,并制定數(shù)據(jù)抽取過程,按制定的數(shù)據(jù)抽取過程編寫專用程序段完成目標(biāo)數(shù)據(jù)的抽取。這種實(shí)現(xiàn)的策略的優(yōu)點(diǎn)在于實(shí)現(xiàn)簡單,缺點(diǎn)在于專用程序段只是為某一種數(shù)據(jù)需求開發(fā)的功能,一旦數(shù)據(jù)需求變化,則該專用程序段將無法繼續(xù)提供新的目標(biāo)數(shù)據(jù)。在數(shù)據(jù)抽取和數(shù)據(jù)提供需求較多的情況下,開發(fā)人員的開發(fā)量大且由于各個(gè)專用程序段的寫法基本一致,使得開發(fā)人員缺乏創(chuàng)造性。
以集中計(jì)費(fèi)系統(tǒng)常見的接口數(shù)據(jù)提供為例,對于一個(gè)省集中計(jì)費(fèi)系統(tǒng),往往需要給外圍的其它獨(dú)立系統(tǒng)提供相關(guān)的計(jì)費(fèi)資料和帳務(wù)數(shù)據(jù),外圍系統(tǒng)的接口需求多樣化,一般各有特點(diǎn),但往往也有重合的因素,但是通過專用程序段實(shí)現(xiàn)的接口需求往往不能實(shí)現(xiàn)基本過程的復(fù)用,容易造成接口數(shù)據(jù)孤島。同時(shí)接口提供程序的部署和調(diào)度往往也是一個(gè)難題。
通過ETL技術(shù),接口數(shù)據(jù)提供可以抽象成為一個(gè)個(gè)目標(biāo)數(shù)據(jù)集,目標(biāo)數(shù)據(jù)與源數(shù)據(jù)存在可復(fù)用轉(zhuǎn)換關(guān)系的抽取過程。接口的變化可以通過參數(shù)的變化來實(shí)現(xiàn),而作為后臺的ETL抽取引擎只負(fù)責(zé)按照ETL流程解析參數(shù)和規(guī)則,從而完成接口數(shù)據(jù)提供的動(dòng)態(tài)實(shí)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有的數(shù)據(jù)接口、部署和調(diào)度不便的問題,提供一種利用ETL技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法。
本發(fā)明的技術(shù)方案是一種利用ETL技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法,其特征是它包括以下步驟分析數(shù)據(jù)抽取的三個(gè)基本元素即輸入、輸出及處理過程,將這三個(gè)部分進(jìn)行了參數(shù)化描述,以便達(dá)到在數(shù)據(jù)抽取,數(shù)據(jù)提供的應(yīng)用中采用數(shù)據(jù)驅(qū)動(dòng)的模式,而非過程驅(qū)動(dòng)的模式;建立數(shù)據(jù)抽取的可復(fù)用的過程配置機(jī)制以及便于管理和控制的任務(wù)調(diào)度機(jī)制。
上述方法可具體細(xì)化為a、確定輸入部分;b、讀取輸入部分的主數(shù)據(jù)源;c、根據(jù)應(yīng)用的需求,讀取次數(shù)據(jù)源的數(shù)據(jù);d、按照應(yīng)用需求中的變換規(guī)則進(jìn)行數(shù)據(jù)的變換;e、將變換后的數(shù)據(jù)記錄存貯在應(yīng)用內(nèi)部;f、支持過程條件(參數(shù))配置;g、主數(shù)據(jù)源處理完成后,按預(yù)先定義的格式進(jìn)行輸出;在讀取原始數(shù)據(jù)、根據(jù)主數(shù)據(jù),讀取次數(shù)據(jù)源的過程中考慮的是主數(shù)據(jù)源和次數(shù)據(jù)源之間的關(guān)聯(lián)關(guān)系,而按預(yù)定格式進(jìn)行輸出,可利用數(shù)據(jù)抽取結(jié)構(gòu)寫入數(shù)據(jù)庫表格或數(shù)據(jù)文件中;在整個(gè)數(shù)據(jù)抽取的過程中主要的任務(wù)是數(shù)據(jù)變換。數(shù)據(jù)變換一般的來說遵從如下的基本規(guī)則Result=f(source_elementl,source_element2,…..)Result是指目標(biāo)數(shù)據(jù)記錄的某一個(gè)字段的取值source_element是指原始數(shù)據(jù)記錄中某字段的取值F是指數(shù)據(jù)的變換規(guī)則,一般是某種函數(shù)關(guān)系在數(shù)據(jù)抽取過程中目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)之間的函數(shù)關(guān)系,存在的函數(shù)關(guān)系有數(shù)據(jù)抽取、數(shù)據(jù)概化、集成、數(shù)據(jù)規(guī)范化及填寫缺省值、選舉、概念映射、函數(shù)操作等函數(shù)關(guān)系;數(shù)據(jù)抽取數(shù)據(jù)抽取是指在原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在復(fù)制的關(guān)系;數(shù)據(jù)概化是指將數(shù)據(jù)概念化,目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)在業(yè)務(wù)上存在概念上的上下級關(guān)系,如原始數(shù)據(jù)元素分局和目標(biāo)數(shù)據(jù)元素營業(yè)區(qū)之間存在的就是一種數(shù)據(jù)概化的函數(shù)關(guān)系;數(shù)據(jù)集成集成最簡單的概念就put together,在數(shù)據(jù)抽取中大量存在的各種指標(biāo)性質(zhì)的元素,原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在的就是一種數(shù)據(jù)集成的函數(shù)關(guān)系;數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化一般是指將連續(xù)變量離散化。這種函數(shù)關(guān)系在數(shù)據(jù)抽取的過程中存在的不是很多;填寫缺省值主要應(yīng)用在兩種環(huán)境,一種是目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)之間不存在關(guān)系,目標(biāo)數(shù)據(jù)中的元素和處理時(shí)的各種業(yè)務(wù)環(huán)境相關(guān),另一種是原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在某種函數(shù)關(guān)系,但原始數(shù)據(jù)的元素值是未知的,采用填寫缺省值的辦法進(jìn)行處理或采用投票方式確定原始數(shù)據(jù)中字段值未知的值;選舉當(dāng)源事件數(shù)據(jù)中,存在若干個(gè)值而目標(biāo)數(shù)據(jù)中只需要一個(gè)數(shù)據(jù)時(shí),采用的解決這種取值沖突的方法;概念映射是指目的事件和源事件在含義上面表述的是同一概念,在各自的領(lǐng)域必須采用不同的概念的情形;函數(shù)運(yùn)算函數(shù)包含通用函數(shù)和行業(yè)函數(shù),通用函數(shù)包括SQL函數(shù)、數(shù)學(xué)函數(shù)、字符串函數(shù)、日期函數(shù),該函數(shù)表述了源事件屬性和目的事件屬性之間的函數(shù)關(guān)系;行業(yè)函數(shù)是指在某一行業(yè)使用的專有算法;過程條件為指定源事件抽取的范圍和條件,在源事件是表類型時(shí)即為SQL語句WHERE條件部分。
本發(fā)明的有益效果本發(fā)明在中興軟創(chuàng)湖南BSN省集中計(jì)費(fèi)項(xiàng)目中的實(shí)際運(yùn)用證明,通過適當(dāng)?shù)膮?shù)配置和任務(wù)定制的方式,即可實(shí)現(xiàn)與渠道系統(tǒng)、公話分析系統(tǒng)、經(jīng)營分析系統(tǒng)、智能網(wǎng)系統(tǒng)的所有接口數(shù)據(jù)的提供。同時(shí)由于ETL組件屏蔽了接口的特殊性和地域性,便于移植,而且應(yīng)用配置相對簡單,它廣泛運(yùn)用于計(jì)費(fèi)系統(tǒng)與外圍系統(tǒng)的接口數(shù)據(jù)提供過程中。
圖1是本發(fā)明的概念模型結(jié)構(gòu)示意圖。
圖2是本發(fā)明的流程定制過程示意圖。
圖3是本發(fā)明的ETL核心抽取流程示意圖。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的說明。
如圖3所示。
一種利用ETL技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法,簡言之它包括以下步驟分析數(shù)據(jù)抽取的三個(gè)基本元素即輸入、輸出及處理過程,將這三個(gè)部分進(jìn)行了參數(shù)化描述,以便達(dá)到在數(shù)據(jù)抽取,數(shù)據(jù)提供的應(yīng)用中采用數(shù)據(jù)驅(qū)動(dòng)的模式,而非過程驅(qū)動(dòng)的模式;建立數(shù)據(jù)抽取的可復(fù)用的過程配置機(jī)制以及便于管理和控制的任務(wù)調(diào)度機(jī)制。
上述方法可具體細(xì)化為a、確定輸入部分;b、讀取輸入部分的主數(shù)據(jù)源;c、根據(jù)應(yīng)用的需求,讀取次數(shù)據(jù)源的數(shù)據(jù);d、按照應(yīng)用需求中的變換規(guī)則進(jìn)行數(shù)據(jù)的變換;e、將變換后的數(shù)據(jù)記錄存貯在應(yīng)用內(nèi)部;f、支持過程條件(參數(shù))配置;g、主數(shù)據(jù)源處理完成后,按預(yù)先定義的格式進(jìn)行輸出;在讀取原始數(shù)據(jù)、根據(jù)主數(shù)據(jù),讀取次數(shù)據(jù)源的過程中考慮的是主數(shù)據(jù)源和次數(shù)據(jù)源之間的關(guān)聯(lián)關(guān)系,而按預(yù)定格式進(jìn)行輸出,可利用數(shù)據(jù)抽取結(jié)構(gòu)寫入數(shù)據(jù)庫表格或數(shù)據(jù)文件中;在整個(gè)數(shù)據(jù)抽取的過程中主要的任務(wù)是數(shù)據(jù)變換。數(shù)據(jù)變換一般的來說遵從如下的基本規(guī)則Result=f(source_elementl,source_element2,…..)Result是指目標(biāo)數(shù)據(jù)記錄的某一個(gè)字段的取值source_element是指原始數(shù)據(jù)記錄中某字段的取值F是指數(shù)據(jù)的變換規(guī)則,一般是某種函數(shù)關(guān)系在數(shù)據(jù)抽取過程中目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)之間的函數(shù)關(guān)系,存在的函數(shù)關(guān)系有數(shù)據(jù)抽取、數(shù)據(jù)概化、集成、數(shù)據(jù)規(guī)范化及填寫缺省值、選舉、概念映射、函數(shù)操作等函數(shù)關(guān)系;數(shù)據(jù)抽取數(shù)據(jù)抽取是指在原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在復(fù)制的關(guān)系;數(shù)據(jù)概化是指將數(shù)據(jù)概念化,目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)在業(yè)務(wù)上存在概念上的上下級關(guān)系,如原始數(shù)據(jù)元素分局和目標(biāo)數(shù)據(jù)元素營業(yè)區(qū)之間存在的就是一種數(shù)據(jù)概化的函數(shù)關(guān)系;數(shù)據(jù)集成集成最簡單的概念就put together,在數(shù)據(jù)抽取中大量存在的各種指標(biāo)性質(zhì)的元素,原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在的就是一種數(shù)據(jù)集成的函數(shù)關(guān)系;數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化一般是指將連續(xù)變量離散化。這種函數(shù)關(guān)系在數(shù)據(jù)抽取的過程中存在的不是很多;填寫缺省值主要應(yīng)用在兩種環(huán)境,一種是目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)之間不存在關(guān)系,目標(biāo)數(shù)據(jù)中的元素和處理時(shí)的各種業(yè)務(wù)環(huán)境相關(guān),另一種是原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在某種函數(shù)關(guān)系,但原始數(shù)據(jù)的元素值是未知的,采用填寫缺省值的辦法進(jìn)行處理或采用投票方式確定原始數(shù)據(jù)中字段值未知的值;選舉當(dāng)源事件數(shù)據(jù)中,存在若干個(gè)值而目標(biāo)數(shù)據(jù)中只需要一個(gè)數(shù)據(jù)時(shí),采用的解決這種取值沖突的方法;概念映射是指目的事件和源事件在含義上面表述的是同一概念,在各自的領(lǐng)域必須采用不同的概念的情形;函數(shù)運(yùn)算函數(shù)包含通用函數(shù)和行業(yè)函數(shù),通用函數(shù)包括SQL函數(shù)、數(shù)學(xué)函數(shù)、字符串函數(shù)、日期函數(shù),該函數(shù)表述了源事件屬性和目的事件屬性之間的函數(shù)關(guān)系;行業(yè)函數(shù)是指在某一行業(yè)使用的專有算法;過程條件為指定源事件抽取的范圍和條件,在源事件是表類型時(shí)即為SQL語句WHERE條件部分。
其中數(shù)據(jù)抽取的過程的三個(gè)基本元素源事件,目的事件及處理過程在一般的數(shù)據(jù)抽取過程中很大的相似性。這些相似性表現(xiàn)為目標(biāo)數(shù)據(jù)的每一個(gè)屬性的來源一般的是原始數(shù)據(jù)和系統(tǒng)當(dāng)前的運(yùn)行環(huán)境。當(dāng)前的運(yùn)行環(huán)境一般包括時(shí)間、操作員工屬性等。對于目標(biāo)數(shù)據(jù)與原始數(shù)據(jù)的屬性他們的相似性表現(xiàn)為目標(biāo)數(shù)據(jù)的屬性一般由原始數(shù)據(jù)的屬性或?qū)傩越M通過某種數(shù)據(jù)變換生成。這種變換規(guī)則一定是可以描述的,在分析了一般的數(shù)據(jù)轉(zhuǎn)換規(guī)則后,提出了數(shù)據(jù)概化、數(shù)據(jù)規(guī)范化,填寫缺省值、選舉、概念映射、通用函數(shù)等數(shù)據(jù)轉(zhuǎn)換規(guī)則。本技術(shù)方案引入任務(wù)、流程機(jī)制,提供靈活的數(shù)抽取過程的定制,并描述了在數(shù)據(jù)抽取任務(wù)繁重的情況下系統(tǒng)高效運(yùn)行的方法。提供對系統(tǒng)中處理流程的運(yùn)行監(jiān)控和校驗(yàn)機(jī)制并為處理流程負(fù)載平衡提供了相關(guān)統(tǒng)計(jì)分析數(shù)據(jù)。
源事件(source_event)原始數(shù)據(jù)作為數(shù)據(jù)抽取過程的輸入,有以下特點(diǎn)1.輸入數(shù)據(jù)是批量2.數(shù)據(jù)的種類在數(shù)據(jù)抽取過程定義的情況下是固定的,簡單的3.輸入數(shù)據(jù)的種類、格式和內(nèi)容是多變的4.原始數(shù)據(jù)存在的位置是可變的數(shù)據(jù)抽取過程的數(shù)據(jù)輸入一般有兩種類型平面文件和數(shù)據(jù)庫表格。數(shù)據(jù)庫表格的格式在數(shù)據(jù)中已經(jīng)有清晰的描述,平面文件的格式是多樣的,但其格式一般是有規(guī)律的,數(shù)據(jù)抽取中常見的平面文件一般是文本文件及二進(jìn)制文件。而二進(jìn)制文件轉(zhuǎn)換成文本文件后其格式也是有規(guī)律的,為系統(tǒng)簡單期間,我們目前只考慮文本文件。
文本文件一般的結(jié)構(gòu)包括3個(gè)部分,文件頭,文件尾及數(shù)據(jù)記錄部分,文件頭一般描述文件的內(nèi)容和格式等信息,文件尾一般包含文件的生成時(shí)間、文件中的記錄數(shù)目和其他一些統(tǒng)計(jì)信息。文件記錄部分一般的格式在同類文件中是固定的。一行描述一條記錄,每條記錄包含若干字段,各個(gè)字段之間的分割,一般有兩種方式,一種是固定長度,一種是用分隔符號進(jìn)行分割。
分析一下文本文件中數(shù)據(jù)記錄部分的格式對于固定長度的這種格式類型,在拿到文件的時(shí)候應(yīng)該已經(jīng)知道,該文件中每條記錄包含那些字段,每個(gè)字段在記錄中的次序,和每個(gè)字段的長度。對于用分隔符號分割的這種文件,我們在拿到文件的時(shí)候同樣也應(yīng)該知道該文件的數(shù)據(jù)記錄包含那些字段,字段之間的次序。這些信息和數(shù)據(jù)庫表格的描述方式是類似的。
經(jīng)過上面的分析,發(fā)現(xiàn)文本文件和數(shù)據(jù)庫表格均可以采用同樣的方式在數(shù)據(jù)抽取的原數(shù)據(jù)中進(jìn)行描述,這樣在數(shù)據(jù)抽取過程中使用的兩種類型的數(shù)據(jù)輸入方式的數(shù)據(jù),可以采用同樣的方式進(jìn)行描述。
作為數(shù)據(jù)抽取使用的輸入數(shù)據(jù),其數(shù)據(jù)存貯位置是多變的,對于數(shù)據(jù)庫表格,可能存貯在不同的數(shù)據(jù)庫中,在同一數(shù)據(jù)庫中也可能屬于不同的屬主。對于平面文件可能存貯在不同的文件服務(wù)器上,在同一文件服務(wù)器上也可能存貯在不同的目錄,其文件擁有者也可能是不同的。那么在數(shù)據(jù)抽取的過程中,在應(yīng)用中將這些位置信息固化是不合適的。
在數(shù)據(jù)抽取的過程中可能也會(huì)存在同一抽取過程的輸入數(shù)據(jù)包含平面文件和數(shù)據(jù)庫表格的情況。如在采用讀取話單進(jìn)行數(shù)據(jù)抽取的應(yīng)用中,可能是需要讀取在數(shù)據(jù)庫中存在的用戶資料、客戶資料等相關(guān)信息,參與該數(shù)據(jù)抽取,并作為數(shù)據(jù)抽取的輸入數(shù)據(jù)使用。
在數(shù)據(jù)抽取過程中很顯然存在讀取多與一個(gè)文件(數(shù)據(jù)庫表格)的情況,在目前的數(shù)據(jù)抽取應(yīng)用中,由于應(yīng)用是為了某種特定單一的目的編寫的,故這種關(guān)系是確定的,一般是固化在應(yīng)用中的。對于在數(shù)據(jù)抽取應(yīng)用中使用的文件類數(shù)據(jù)輸入,事前知道其格式,也同樣在應(yīng)用中可以固化。
在ETL模型中使用事件對象實(shí)體(event_object)來表達(dá)某一個(gè)源事件的來源,而且實(shí)現(xiàn)了事件對象可以隨著帳期、本地網(wǎng)這些信息周期性的自動(dòng)變化。如果源事件存在多個(gè)輸入源,那么多個(gè)事件對象的關(guān)聯(lián)關(guān)系由事件對象關(guān)系實(shí)體(event_object_relation)來表達(dá)。
將源事件需要抽取的字段將其定義為這個(gè)源事件的一個(gè)事件屬性,對于一個(gè)特定的事件屬性可以指定其事件對象(源事件的來源),配置其類型以及特殊格式。
處理過程(process_define)
數(shù)據(jù)抽取的過程一般遵從下面的簡單流程1、確定輸入部分2、讀取輸入部分的主數(shù)據(jù)源3、根據(jù)應(yīng)用的需求,讀取次數(shù)據(jù)源的數(shù)據(jù)4、按照應(yīng)用需求中的變換規(guī)則進(jìn)行數(shù)據(jù)的變換5、將變換后的數(shù)據(jù)記錄存貯在應(yīng)用內(nèi)部6、支持過程條件(參數(shù))配置7、主數(shù)據(jù)源處理完成后,按預(yù)先定義的格式進(jìn)行輸出讀取原始數(shù)據(jù)、根據(jù)主數(shù)據(jù),讀取次數(shù)據(jù)源的過程,考慮的只是主數(shù)據(jù)源和次數(shù)據(jù)源之間的關(guān)聯(lián)關(guān)系,而按預(yù)定格式進(jìn)行輸出,一般也只是涉及將數(shù)據(jù)抽取結(jié)構(gòu)寫入數(shù)據(jù)庫表格或數(shù)據(jù)文件中。
在整個(gè)數(shù)據(jù)抽取的過程中主要的任務(wù)是數(shù)據(jù)變換。數(shù)據(jù)變換一般的來說遵從如下的基本規(guī)則Result=f(source_elementl,source element2,…..)Result是指目標(biāo)數(shù)據(jù)記錄的某一個(gè)字段的取值source_element是指原始數(shù)據(jù)記錄中某字段的取值F是指數(shù)據(jù)的變換規(guī)則,一般是某種函數(shù)關(guān)系分析一下在數(shù)據(jù)抽取過程中目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)之間的函數(shù)關(guān)系,發(fā)現(xiàn)存在的函數(shù)關(guān)系主要有數(shù)據(jù)抽取、數(shù)據(jù)概化、集成、數(shù)據(jù)規(guī)范化及填寫缺省值、選舉、概念映射、函數(shù)操作等函數(shù)關(guān)系。
數(shù)據(jù)抽取數(shù)據(jù)抽取是指在原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在復(fù)制的關(guān)系,如我們在生成用戶話務(wù)分析中,對于原始數(shù)據(jù)產(chǎn)品標(biāo)識、計(jì)費(fèi)模型、城鄉(xiāng)標(biāo)識、政企標(biāo)識、免費(fèi)標(biāo)識等和目標(biāo)數(shù)據(jù)中的相對應(yīng)元素之間就是簡單的數(shù)據(jù)抽取關(guān)系。
數(shù)據(jù)概化是指將數(shù)據(jù)概念化,目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)在業(yè)務(wù)上存在概念上的上下級關(guān)系,如本地網(wǎng)和營業(yè)區(qū)、營業(yè)區(qū)和分局在電信管理區(qū)域這個(gè)概念上存在上下級概念,就是說在原始數(shù)據(jù)元素分局和目標(biāo)數(shù)據(jù)元素營業(yè)區(qū)、之間存在的就是一種數(shù)據(jù)概化的函數(shù)關(guān)系;又如在電信用戶呼叫清單中存在一個(gè)屬性—呼叫開始時(shí)間,在目標(biāo)數(shù)據(jù)中一般不需要其呼叫時(shí)間到秒級,在秒級到分鐘級、分鐘級到小時(shí)級,小時(shí)級到天級等時(shí)間概念上存在的這種上下級關(guān)系,也是數(shù)據(jù)概化的函數(shù)關(guān)系。
數(shù)據(jù)集成集成最簡單的概念就put together,在數(shù)據(jù)抽取中大量存在的各種指標(biāo)性質(zhì)的元素,原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在的就是一種數(shù)據(jù)集成的函數(shù)關(guān)系,如電信用戶呼叫詳單中的元素,呼叫時(shí)長,呼叫張數(shù),計(jì)費(fèi)費(fèi)用和目標(biāo)數(shù)據(jù)相應(yīng)元素之間存在的就是一種數(shù)據(jù)集成的函數(shù)關(guān)系。
數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化一般是指將連續(xù)變量離散化。這種函數(shù)關(guān)系在數(shù)據(jù)抽取的過程中存在的不是很多,常見的如在費(fèi)用性的原始數(shù)據(jù)中存在的元素—用戶消費(fèi)金額和目標(biāo)數(shù)據(jù)中存在的用戶消費(fèi)檔次之間存在的就是一種數(shù)據(jù)規(guī)范化函數(shù)關(guān)系。
填寫缺省值主要應(yīng)用在兩種環(huán)境,一種是目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)之間不存在關(guān)系,目標(biāo)數(shù)據(jù)中的元素和處理時(shí)的各種業(yè)務(wù)環(huán)境相關(guān)。如在目標(biāo)數(shù)據(jù)中存在的元素?cái)?shù)據(jù)生成時(shí)間、操作員工等一些與原始數(shù)據(jù)無關(guān)的元素。另一種是原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在某種函數(shù)關(guān)系,但原始數(shù)據(jù)的元素值是未知的(字段的值是NULL),這時(shí)我們一般也采用填寫缺省值的辦法進(jìn)行處理,也可以采用投票方式確定原始數(shù)據(jù)中字段值未知的值。
選舉當(dāng)源事件數(shù)據(jù)中,存在若干個(gè)值的時(shí)候(我們稱其為候選值),而目標(biāo)數(shù)據(jù)中只需要一個(gè)數(shù)據(jù)時(shí),我們采用選舉的辦法進(jìn)行解決這種取值沖突。
概念映射是指目的事件和源事件在含義上面表述的是同一概念,在各自的領(lǐng)域必須采用不同的概念的情形。
函數(shù)運(yùn)算函數(shù)包含通用函數(shù)和行業(yè)函數(shù)。通用函數(shù)是指SQL函數(shù)、數(shù)學(xué)函數(shù)、字符串函數(shù)、日期函數(shù)等等的通用函數(shù),該函數(shù)表述了源事件屬性和目的事件屬性之間的函數(shù)關(guān)系。行業(yè)函數(shù)是指在某一行業(yè)使用的專有算法,如電信部分的計(jì)費(fèi)時(shí)長和通話時(shí)長的計(jì)算算法,目前我們收集到的有市話計(jì)費(fèi)時(shí)長算法,長話計(jì)費(fèi)時(shí)長算法及區(qū)間計(jì)費(fèi)時(shí)長算法、IP計(jì)費(fèi)時(shí)長算法,公話計(jì)費(fèi)時(shí)長算法。
過程條件(參數(shù))(process_param)可以指定源事件抽取的范圍和條件,在源事件是表類型時(shí)可以理解為SQL語句WHERE條件部分。
在ETL模型里面,一個(gè)過程定義只能包含一個(gè)源事件和一個(gè)目的事件,源和目的事件屬性的具體處理定義在過程詳細(xì)定義實(shí)體(process_define_detail)里面。
目的事件(target_event)數(shù)據(jù)抽取過程生成的數(shù)據(jù),一般的輸出方式有兩種,數(shù)據(jù)庫表格和平面文件(一般是文本文件)。這種輸出流一般也是批量的。
對于目的事件可以配置事件的輸出位置,事件輸出的名稱,以及事件否些特殊的格式。
流程定制在數(shù)據(jù)抽取、數(shù)據(jù)提供中所涉及的數(shù)據(jù)抽取過程是復(fù)雜的,考慮一個(gè)復(fù)雜的流程無法用一個(gè)參數(shù)化的過程定義來實(shí)現(xiàn),引入了流程的概念。一個(gè)典型的流程如圖2所示。
它的過程包含了兩個(gè)標(biāo)準(zhǔn)的可參數(shù)化過程和兩個(gè)通用的FTP過程。
任務(wù)機(jī)制(task)一個(gè)流程可以作為一個(gè)任務(wù),即一個(gè)任務(wù)可以有多個(gè)過程來表達(dá),過程之間通過過程優(yōu)先級進(jìn)行區(qū)分;這些任務(wù)將標(biāo)識系統(tǒng)中的功能單元,一個(gè)任務(wù)運(yùn)行時(shí)將形成一個(gè)任務(wù)實(shí)例,一個(gè)任務(wù)實(shí)例的生命期,是從任務(wù)實(shí)例產(chǎn)生到任務(wù)實(shí)例執(zhí)行結(jié)束,一個(gè)任務(wù)執(zhí)行完成后,這個(gè)任務(wù)實(shí)例將在系統(tǒng)中消亡,而任務(wù)的生命期是在其功能有效的期間一直存在的。
核心流程ETL抽取引擎流程如圖3所示,這也是ETL的核心流程。
ETL過程和任務(wù)定制流程包括1、配置源事件2、配置目的事件3、配置過程定義4、配置源事件包含對象5、配置源事件屬性
6、配置包含對象關(guān)系7、配置目的事件屬性8、配置過程參數(shù)9、配置過程詳細(xì)定義10、配置任務(wù)11、配置任務(wù)參數(shù)12、配置任務(wù)前置事件13、生成任務(wù)實(shí)例14、配置任務(wù)實(shí)例參數(shù)下面結(jié)合一個(gè)具體例子對利用ETL技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法作進(jìn)一步的說明1、需求描述從語音話單文件抽取大客戶的話單統(tǒng)計(jì)數(shù)據(jù).
語音文件存在在服務(wù)器serv1上/home/bill/data/hd/目錄,語音文件的格式為文本文件,為描述簡單其間這個(gè)文件只包含數(shù)據(jù)部分,各個(gè)字段之間用“,”分割,文件格式入下面格式所示
在下面我們稱為源事件一大客戶信息在數(shù)據(jù)庫服務(wù)器db1上面,表結(jié)構(gòu)如下
在下面我們稱為源事件二
在下面我們稱為源事件三要求生成結(jié)果保存成文本文件格式,統(tǒng)計(jì)結(jié)果包含如下信息,文件各個(gè)字段是固定長度的。
在下面我們稱為目標(biāo)事件一生成的文件存貯在服務(wù)器serv104上面的指定目錄/home/bill/data/dkh/2、需求分析根據(jù)上面的需求描述,該任務(wù)將由3個(gè)過程組成。
●文件下載過程該過程是一個(gè)標(biāo)準(zhǔn)的過程負(fù)責(zé)文件的下載,不存在數(shù)據(jù)處理的功能。
●數(shù)據(jù)分析過程數(shù)據(jù)處理是該任務(wù)較復(fù)雜的部分,比較源事件和目標(biāo)事件,下面我們用表格描述源事件和目標(biāo)事件各個(gè)字段之間的關(guān)系及處理方法。
下面稱之為處理過程清單。
我們通過的處理方法包含了數(shù)據(jù)抽取,概念映射和數(shù)據(jù)集成等三種。
●文件分發(fā)過程該過程是一個(gè)標(biāo)準(zhǔn)的過程負(fù)責(zé)文件的下發(fā),不存在數(shù)據(jù)處理的功能。
3、配置描述●文件下載和分發(fā)過程的配置文件下載是一個(gè)標(biāo)準(zhǔn)的FTP過程,這里的源事件和目標(biāo)事件描述下載下來的文件的目錄信息,處理過程配置一條簡單的描述信息。對于處理過程詳細(xì)描述指定為FTP處理方式,在源事件包含對象中配置原始文件所在目錄及其文件特征。
●數(shù)據(jù)分析過程配置源事件中配置一條描述信息,在源事件包含對象中配置文件下載過程中下載到本地的文件和大客戶信息及其詳細(xì)信息,3條記錄描述一個(gè)文本文件格式和兩個(gè)數(shù)據(jù)庫表個(gè)的格式,在源事件屬性中配置屬性,在源事件包含對象中描述對象之間的關(guān)系文本文件中的電話號碼和大客戶詳細(xì)信息中的電話號碼的等于關(guān)系,大客戶及其詳細(xì)信息的大客戶標(biāo)識之間的等于關(guān)系;目標(biāo)事件中配置一條信息描述結(jié)果文件存貯位置和其他相關(guān)信息,在目標(biāo)事件屬性中按照上面的信息進(jìn)行描述,特別注意在屬性中標(biāo)識需要進(jìn)行數(shù)據(jù)集成的字段為指標(biāo)。
處理過程的描述中配置一條信息描述處理過程的基本描述,在詳細(xì)信息中描述每一個(gè)目標(biāo)事件屬性和源事件之間的關(guān)系,參見處理過程清單。
為數(shù)據(jù)概化配置數(shù)據(jù)概化規(guī)則,在地域局向和本地網(wǎng)之間配置數(shù)據(jù)概化規(guī)則,具體的數(shù)據(jù)按照省集中計(jì)費(fèi)系統(tǒng)實(shí)際數(shù)據(jù)進(jìn)行配置。
為概念映射配置規(guī)則,在省集中計(jì)費(fèi)和渠道系統(tǒng)的事件類型之間由于代碼的不同,這種關(guān)系一般是在省集中計(jì)費(fèi)系統(tǒng)和渠道系統(tǒng)的事件類型之間一般是1∶1或者n∶1的關(guān)系,數(shù)據(jù)按照兩系統(tǒng)之間的實(shí)際情況進(jìn)行配置。
●任務(wù)配置該任務(wù)中包含了3個(gè)過程,按照上面的分析是一個(gè)處理系列,在任務(wù)中按順序進(jìn)行配置。
權(quán)利要求
1.一種利用ETL技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法,其特征是它包括以下步驟分析數(shù)據(jù)抽取的三個(gè)基本元素即輸入、輸出及處理過程,將這三個(gè)部分進(jìn)行了參數(shù)化描述,以便達(dá)到在數(shù)據(jù)抽取,數(shù)據(jù)提供的應(yīng)用中采用數(shù)據(jù)驅(qū)動(dòng)的模式,而非過程驅(qū)動(dòng)的模式;建立數(shù)據(jù)抽取的可復(fù)用的過程配置機(jī)制以及便于管理和控制的任務(wù)調(diào)度機(jī)制。
2.根據(jù)權(quán)利要求1所述的利用ETL技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法,其特征是它包括以下具體步驟a、確定輸入部分;b、讀取輸入部分的主數(shù)據(jù)源;c、根據(jù)應(yīng)用的需求,讀取次數(shù)據(jù)源的數(shù)據(jù);d、按照應(yīng)用需求中的變換規(guī)則進(jìn)行數(shù)據(jù)的變換;e、將變換后的數(shù)據(jù)記錄存貯在應(yīng)用內(nèi)部;f、支持過程條件(參數(shù))配置;g、主數(shù)據(jù)源處理完成后,按預(yù)先定義的格式進(jìn)行輸出;在讀取原始數(shù)據(jù)、根據(jù)主數(shù)據(jù),讀取次數(shù)據(jù)源的過程中考慮的是主數(shù)據(jù)源和次數(shù)據(jù)源之間的關(guān)聯(lián)關(guān)系,而按預(yù)定格式進(jìn)行輸出,可利用數(shù)據(jù)抽取結(jié)構(gòu)寫入數(shù)據(jù)庫表格或數(shù)據(jù)文件中;在整個(gè)數(shù)據(jù)抽取的過程中主要的任務(wù)是數(shù)據(jù)變換。數(shù)據(jù)變換一般的來說遵從如下的基本規(guī)則Result=f(source_element1,source_element2,…..)Result是指目標(biāo)數(shù)據(jù)記錄的某一個(gè)字段的取值source_element是指原始數(shù)據(jù)記錄中某字段的取值F是指數(shù)據(jù)的變換規(guī)則,一般是某種函數(shù)關(guān)系在數(shù)據(jù)抽取過程中目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)之間的函數(shù)關(guān)系,存在的函數(shù)關(guān)系有數(shù)據(jù)抽取、數(shù)據(jù)概化、集成、數(shù)據(jù)規(guī)范化及填寫缺省值、選舉、概念映射、函數(shù)操作等函數(shù)關(guān)系;數(shù)據(jù)抽取數(shù)據(jù)抽取是指在原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在復(fù)制的關(guān)系;數(shù)據(jù)概化是指將數(shù)據(jù)概念化,目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)在業(yè)務(wù)上存在概念上的上下級關(guān)系,如原始數(shù)據(jù)元素分局和目標(biāo)數(shù)據(jù)元素營業(yè)區(qū)之間存在的就是一種數(shù)據(jù)概化的函數(shù)關(guān)系;數(shù)據(jù)集成集成最簡單的概念就put together,在數(shù)據(jù)抽取中大量存在的各種指標(biāo)性質(zhì)的元素,原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在的就是一種數(shù)據(jù)集成的函數(shù)關(guān)系;數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化一般是指將連續(xù)變量離散化。這種函數(shù)關(guān)系在數(shù)據(jù)抽取的過程中存在的不是很多;填寫缺省值主要應(yīng)用在兩種環(huán)境,一種是目標(biāo)數(shù)據(jù)和原始數(shù)據(jù)之間不存在關(guān)系,目標(biāo)數(shù)據(jù)中的元素和處理時(shí)的各種業(yè)務(wù)環(huán)境相關(guān),另一種是原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間存在某種函數(shù)關(guān)系,但原始數(shù)據(jù)的元素值是未知的,采用填寫缺省值的辦法進(jìn)行處理或采用投票方式確定原始數(shù)據(jù)中字段值未知的值;選舉當(dāng)源事件數(shù)據(jù)中,存在若干個(gè)值而目標(biāo)數(shù)據(jù)中只需要一個(gè)數(shù)據(jù)時(shí),采用的解決這種取值沖突的方法;概念映射是指目的事件和源事件在含義上面表述的是同一概念,在各自的領(lǐng)域必須采用不同的概念的情形;函數(shù)運(yùn)算函數(shù)包含通用函數(shù)和行業(yè)函數(shù),通用函數(shù)包括SQL函數(shù)、數(shù)學(xué)函數(shù)、字符串函數(shù)、日期函數(shù),該函數(shù)表述了源事件屬性和目的事件屬性之間的函數(shù)關(guān)系;行業(yè)函數(shù)是指在某一行業(yè)使用的專有算法;過程條件為指定源事件抽取的范圍和條件,在源事件是表類型時(shí)即為SQL語句WHERE條件部分。
全文摘要
本發(fā)明針對現(xiàn)有的數(shù)據(jù)接口、部署和調(diào)度不便的問題,公開了一種利用ETL技術(shù)對計(jì)費(fèi)數(shù)據(jù)進(jìn)行抽取提供的方法,它主要包括分析數(shù)據(jù)抽取的三個(gè)基本元素即輸入、輸出及處理過程,將這三個(gè)部分進(jìn)行了參數(shù)化描述,以便達(dá)到在數(shù)據(jù)抽取,數(shù)據(jù)提供的應(yīng)用中采用數(shù)據(jù)驅(qū)動(dòng)的模式,而非過程驅(qū)動(dòng)的模式;建立數(shù)據(jù)抽取的可復(fù)用的過程配置機(jī)制以及便于管理和控制的任務(wù)調(diào)度機(jī)制??蓮V泛運(yùn)用于計(jì)費(fèi)系統(tǒng)與外圍系統(tǒng)的接口數(shù)據(jù)提供過程中。
文檔編號H04M15/00GK1953490SQ20061004143
公開日2007年4月25日 申請日期2006年9月6日 優(yōu)先權(quán)日2006年9月6日
發(fā)明者張金海, 宋蘇強(qiáng) 申請人:南京中興軟創(chuàng)科技有限責(zé)任公司