專利名稱:一種基于云計(jì)算的大規(guī)模熱連軋數(shù)據(jù)主題定制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及鋼鐵冶金行業(yè)中大規(guī)模數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及熱連軋數(shù)據(jù)挖掘的預(yù)處理領(lǐng)域。
背景技術(shù):
在帶鋼熱連軋生產(chǎn)線日常的生產(chǎn)過程中,產(chǎn)生了海量的實(shí)時(shí)數(shù)據(jù),這些數(shù)據(jù)中蘊(yùn)含著豐富的科研價(jià)值。長(zhǎng)期以來,由于對(duì)海量數(shù)據(jù)的重視程度不夠,管理不善,導(dǎo)致數(shù)據(jù)長(zhǎng)時(shí)間零散存放,沒有得到有效的利用,從數(shù)據(jù)挖掘的角度上講,是一種很大的浪費(fèi)。這也在一定程度上,極大的影響了熱連軋工藝的發(fā)展。隨著計(jì)算機(jī)技術(shù)的發(fā)展,目前基本上所有熱軋帶鋼廠,都實(shí)現(xiàn)了電子化信息化的管理。但是,這些僅僅是對(duì)現(xiàn)有數(shù)據(jù)的一些存儲(chǔ)、統(tǒng)計(jì)與展示,如溫度、厚度、板形和一些參數(shù)的直接展示。在工藝要求越來越高的今天,已經(jīng)很難通過這種直接的展示來達(dá)到帶鋼質(zhì)量上的進(jìn)步。因此,對(duì)熱軋數(shù)據(jù)進(jìn)行更深一步的探索,發(fā)掘其內(nèi)在的聯(lián)系與規(guī)律,就顯得愈發(fā)重要。原有的數(shù)據(jù)挖掘預(yù)處理的模式是先定主題,由主題規(guī)定一些需要的數(shù)據(jù)表構(gòu)建對(duì)應(yīng)主題的云數(shù)據(jù)倉庫,而云數(shù)據(jù)倉庫根據(jù)對(duì)應(yīng)的主題從數(shù)據(jù)庫中選取部分相關(guān)數(shù)據(jù)表來抽取主題所需要的數(shù)據(jù)。然而熱軋鋼原有系統(tǒng)制作工藝復(fù)雜,數(shù)據(jù)類型繁重,而且沒有現(xiàn)在技術(shù)的良好設(shè)計(jì)結(jié)構(gòu),加上年代久遠(yuǎn),傳統(tǒng)的數(shù)據(jù)庫建表組織抽取模式是先定義數(shù)據(jù)持久層的結(jié)構(gòu)來抽取的信息的方式無法滿足對(duì)未知需求下的設(shè)計(jì),而且面對(duì)海量數(shù)據(jù)集,數(shù)據(jù)庫的存儲(chǔ)、拓展和分析能力也十分有限。此外,由于熱軋鋼系統(tǒng)實(shí)時(shí)數(shù)據(jù)數(shù)據(jù)類型復(fù)雜,加上專業(yè)人士也無法對(duì)系統(tǒng)及領(lǐng)域知識(shí)所面面俱到,很難針對(duì)系統(tǒng)改造提出確切的需求,這使得傳統(tǒng)的“合作應(yīng)用程序開發(fā)模式”,即通過信息技術(shù)人員與業(yè)務(wù)部門協(xié)同工作內(nèi)容,在進(jìn)行歸類的基礎(chǔ)上,標(biāo)識(shí)出不同數(shù)據(jù)的主題區(qū)域成為了十分困難的事情。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是為原有的熱軋鋼系統(tǒng)構(gòu)建一個(gè)可用于分析挖掘的云數(shù)據(jù)倉庫,并提供一個(gè)可拓展的主題定制功能,用于對(duì)未知需求條件下的復(fù)雜數(shù)據(jù)集進(jìn)行靈活的主題定制,以便于進(jìn)一步對(duì)數(shù)據(jù)進(jìn)行挖掘和分析。本發(fā)明第一目的在于提出一種基于云計(jì)算的熱連軋數(shù)據(jù)主題定制系統(tǒng),其特征在于,所述系統(tǒng)包括ETL (信息抽取)模塊、數(shù)據(jù)持久層模塊和主題定制模塊;
ETL (信息抽取)模塊,用于解析熱連軋系統(tǒng)數(shù)據(jù)結(jié)構(gòu),生成數(shù)據(jù)字典文件和表頭文件,將數(shù)據(jù)字典文件和表頭文件發(fā)送至數(shù)據(jù)持久層模塊,并定時(shí)對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化;
數(shù)據(jù)持久層模塊,數(shù)據(jù)持久層模塊用于根據(jù)從ETL模塊接收的所述數(shù)據(jù)字典文件和表頭文件為云數(shù)據(jù)倉庫構(gòu)建數(shù)據(jù)字典和數(shù)據(jù)表,并定時(shí)將格式化后的采集文本數(shù)據(jù)歸并入云數(shù)據(jù)倉庫; 主題定制模塊,基于云數(shù)據(jù)倉庫進(jìn)行主題定制。優(yōu)選地,ETL模塊包括:
數(shù)據(jù)結(jié)構(gòu)解析單元,用于解析熱連軋系統(tǒng)數(shù)據(jù)結(jié)構(gòu)生成數(shù)據(jù)字典文件和表頭文件;
結(jié)構(gòu)化模板庫生成單元,用于對(duì)數(shù)據(jù)結(jié)構(gòu)解析單元生成的表頭文件進(jìn)行格式化生成結(jié)構(gòu)化模板庫的模版文件;
文本數(shù)據(jù)格式化單元,用于將結(jié)構(gòu)化模板庫里的模版文件定時(shí)加載入數(shù)據(jù)解析模板庫,對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化,并發(fā)送到數(shù)據(jù)持久層模塊。優(yōu)選地,主題定制模塊包括:
主題庫查詢單元,用于根據(jù)關(guān)鍵字查詢主題庫,確定主題庫是否存在用戶所需主題
項(xiàng);
經(jīng)驗(yàn)庫推薦單元,用于當(dāng)主題庫中不存在所需主題項(xiàng)時(shí),提供數(shù)據(jù)表的數(shù)據(jù)字典的屬性選擇,并將用戶所選屬性作為所需主題項(xiàng)屬性,并基于用戶所選屬性在經(jīng)驗(yàn)庫中獲取推薦主題項(xiàng);
主題庫注冊(cè)單元,用于當(dāng)所述推薦主題項(xiàng)中存在所需主題項(xiàng)時(shí),將所需主題項(xiàng)注冊(cè)入主題庫;當(dāng)所述推薦主題項(xiàng)中不存在所需主題項(xiàng)時(shí),接受用戶自定義的新主題項(xiàng),并將所述新主題項(xiàng)注冊(cè)入主題庫;
通信單元,在操作數(shù)據(jù)時(shí),用于向云數(shù)據(jù)倉庫發(fā)送主題項(xiàng)的數(shù)據(jù)請(qǐng)求。本發(fā)明另一目的在于提出一種基于云計(jì)算的熱連軋數(shù)據(jù)主題定制方法,其特征在于,該定制方法包括以下步驟:
步驟一、ETL模塊對(duì)熱連軋系統(tǒng)數(shù)據(jù)結(jié)構(gòu)進(jìn)行解析,生成數(shù)據(jù)字典文件和表頭文件,將數(shù)據(jù)字典文件和表頭文件發(fā)送至數(shù)據(jù)持久層模塊,并定時(shí)對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化;
步驟二,數(shù)據(jù)持久層模塊根據(jù)接收的數(shù)據(jù)字典文件和表頭文件,為云數(shù)據(jù)倉庫創(chuàng)建數(shù)據(jù)字典和數(shù)據(jù)表,并定時(shí)歸并ETL模塊格式化后的采集文本數(shù)據(jù);
步驟三,主題定制模塊基于云數(shù)據(jù)倉庫進(jìn)行主題定制。優(yōu)選地,步驟一具體包括以下步驟:
步驟1.1,ETL模塊解析熱連軋系統(tǒng)數(shù)據(jù)結(jié)構(gòu)生成數(shù)據(jù)字典文件和表頭文件;
步驟1.2,ETL模塊對(duì)表頭文件進(jìn)行格式化生成結(jié)構(gòu)化模板庫的模版文件;
步驟1.3,ETL模塊將結(jié)構(gòu)化模板庫里的模版文件定時(shí)加載入數(shù)據(jù)解析模板庫,對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化,并發(fā)送到數(shù)據(jù)持久層模塊。優(yōu)選地,步驟三具體包括以下步驟:
步驟3.1,主題定制模塊根據(jù)關(guān)鍵字查詢主題庫,確定主題庫是否存在用戶所需的主題
項(xiàng);
步驟3.2,當(dāng)主題庫中不存在所需主題項(xiàng)時(shí),主題定制模塊提供數(shù)據(jù)表的數(shù)據(jù)字典的屬性選擇,接收用戶對(duì)數(shù)據(jù)字典中的屬性選擇,并基于用戶所選屬性在經(jīng)驗(yàn)庫中獲取推薦主題項(xiàng);
步驟3.3,當(dāng)經(jīng)驗(yàn)庫推薦主題項(xiàng)中存在所需主題項(xiàng)時(shí),將所需主題項(xiàng)注冊(cè)入主題庫;當(dāng)經(jīng)驗(yàn)庫推薦主題項(xiàng)中不存在所需主題項(xiàng)時(shí),經(jīng)驗(yàn)庫接受用戶自定義的新主題項(xiàng),并將所述新主題項(xiàng)注冊(cè)入主題庫; 步驟3.4,操作數(shù)據(jù)時(shí),主題庫向云數(shù)據(jù)倉庫發(fā)送主題項(xiàng)的數(shù)據(jù)請(qǐng)求。優(yōu)選地,步驟3.3中用戶自定義新主題項(xiàng)的方式為:從經(jīng)驗(yàn)庫推薦主題項(xiàng)中獲得最大匹配主題項(xiàng),修改最大匹配主題項(xiàng)的屬性,形成新主題項(xiàng)。本發(fā)明優(yōu)點(diǎn)在于,它運(yùn)用了區(qū)別于原數(shù)據(jù)挖掘預(yù)處理的正常過程,利用原有系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),從數(shù)據(jù)抽取過程中動(dòng)態(tài)生成云數(shù)據(jù)倉庫,再利用云數(shù)據(jù)倉庫的大規(guī)模并行化特點(diǎn)動(dòng)態(tài)生成數(shù)據(jù)主題區(qū)域反向?qū)崿F(xiàn)數(shù)據(jù)預(yù)處理過程,充分體現(xiàn)了系統(tǒng)的可拓展性和靈活性。而且系統(tǒng)具有允許用戶自由靈活地定義和拓展主題項(xiàng)的特點(diǎn),極大便利在未知需求下根據(jù)實(shí)際情況自定義主題項(xiàng),并可以基于此系統(tǒng)拓展其他業(yè)務(wù)主題的數(shù)據(jù)挖掘和分析,這種方式是由一個(gè)不完備集向一個(gè)完備集轉(zhuǎn)變的過程,且基于云計(jì)算存儲(chǔ)的可自由擴(kuò)展性,接近于無限的存儲(chǔ)量也為這種拓展主題集提供極大的優(yōu)勢(shì),讓用戶可以更好的利用系統(tǒng)發(fā)現(xiàn)更多潛在數(shù)據(jù)內(nèi)部的規(guī)律。本發(fā)明可以對(duì)復(fù)雜的熱軋鋼系統(tǒng)有效的自解析,將全部數(shù)據(jù)集作為數(shù)據(jù)資源構(gòu)建云數(shù)據(jù)倉庫,大大減少了專業(yè)人士和程序開發(fā)人士在處理需求過程中的不協(xié)調(diào)性;特別是為未知需求的熱軋鋼系統(tǒng)提供自由的主題的定制功能,使得系統(tǒng)更靈活多用,方便的主題定制也給熱軋鋼領(lǐng)域提供更大的數(shù)據(jù)控制空間,更容易從數(shù)據(jù)中發(fā)現(xiàn)規(guī)律,指導(dǎo)生產(chǎn)。
圖1本發(fā)明熱連軋數(shù)據(jù)主題定制系統(tǒng)的結(jié)構(gòu)示意圖。圖2本發(fā)明熱連軋數(shù)據(jù)主題定制系統(tǒng)中ETL模塊的數(shù)據(jù)處理流程。圖3本發(fā)明熱連軋數(shù)據(jù)主題定制系統(tǒng)的部分?jǐn)?shù)據(jù)結(jié)構(gòu)樹。圖4本發(fā)明熱連軋數(shù)據(jù)主題定制系統(tǒng)數(shù)據(jù)持久層模塊構(gòu)建的字典文件和表頭文件。圖5本發(fā)明熱連軋數(shù)據(jù)主題定制系統(tǒng)數(shù)據(jù)持久層模塊的云數(shù)據(jù)倉庫模型。圖6本發(fā)明熱連軋數(shù)據(jù)主題定制系統(tǒng)的可拓展主題定制模塊與其他模塊交互操作的流程圖。圖7本發(fā)明熱連軋數(shù)據(jù)主題定制系統(tǒng)主題項(xiàng)定制實(shí)例圖。圖8本發(fā)明熱連軋數(shù)據(jù)主題定制系統(tǒng)不完全匹配的主題項(xiàng)定制實(shí)例圖。
具體實(shí)施例方式本發(fā)明提供一種構(gòu)建在云計(jì)算基礎(chǔ)上、旨在處理未知需求下的復(fù)雜熱連軋數(shù)據(jù)集主題定制的系統(tǒng)。如圖1所示,熱連軋數(shù)據(jù)集主題定制系統(tǒng)包括:ETL (信息抽取)模塊、數(shù)據(jù)持久層模塊和可拓展主題定制模塊,完成從數(shù)據(jù)采集、數(shù)據(jù)解析、數(shù)據(jù)入庫、主題定制的數(shù)據(jù)預(yù)處理過程。系統(tǒng)通過ETL模塊解析原有熱連軋系統(tǒng),并根據(jù)解析出的數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)持久層模塊中動(dòng)態(tài)構(gòu)建數(shù)據(jù)表;可將熱軋鋼生產(chǎn)線上的實(shí)時(shí)采集數(shù)據(jù)和歷史數(shù)據(jù)抽取到ETL模塊臨時(shí)文件夾;數(shù)據(jù)持久層模塊每天定時(shí)將ETL模塊采集的數(shù)據(jù)歸并入云數(shù)據(jù)倉庫中的表里;可拓展主題定制模塊是通過經(jīng)驗(yàn)庫對(duì)已構(gòu)建好的數(shù)據(jù)集定制主題,并通過其MapReduce模板容器為公共數(shù)據(jù)挖掘方法庫提供支持,由用戶根據(jù)經(jīng)驗(yàn)為已擁有的數(shù)據(jù)集定制分析挖掘主題。
其中,ETL模塊具有自動(dòng)解析系統(tǒng)數(shù)據(jù)結(jié)構(gòu),構(gòu)建云數(shù)據(jù)倉庫表結(jié)構(gòu),定時(shí)結(jié)構(gòu)化采集的文本數(shù)據(jù)三部分功能構(gòu)成。ETL模塊根據(jù)系統(tǒng)自身結(jié)構(gòu),通過解析熱軋鋼原系統(tǒng)頭文件,生成系統(tǒng)數(shù)據(jù)的結(jié)構(gòu)樹,其中結(jié)構(gòu)樹節(jié)點(diǎn)包括字段名稱和字段解釋。例如在對(duì)C語言開發(fā)的熱軋鋼系統(tǒng)頭文件(后綴為.h的文件)解析時(shí),將頭文件.h中以struct為關(guān)鍵詞的結(jié)構(gòu)體內(nèi)容取出,將結(jié)構(gòu)體名作為頂層節(jié)點(diǎn),結(jié)構(gòu)體內(nèi)容作為次層節(jié)點(diǎn),以此方式迭代即可構(gòu)建成系統(tǒng)數(shù)據(jù)的結(jié)構(gòu)樹。獲得結(jié)構(gòu)樹后,ETL模塊遞歸遍歷整棵數(shù)據(jù)結(jié)構(gòu)樹,拆分樹中節(jié)點(diǎn)項(xiàng),生成用于構(gòu)建云數(shù)據(jù)倉庫數(shù)據(jù)字典文件和用于存儲(chǔ)數(shù)據(jù)的表頭文件。ETL模塊將解析完成的數(shù)據(jù)字典文件和表頭文件發(fā)送到數(shù)據(jù)持久層模塊,數(shù)據(jù)持久層模塊根據(jù)這2個(gè)文件為云數(shù)據(jù)倉庫生成數(shù)據(jù)字典和數(shù)據(jù)表。ETL模塊將表頭文件進(jìn)行格式化變成結(jié)構(gòu)化模板庫的模版文件,方便將采集數(shù)據(jù)存入數(shù)據(jù)持久層的云數(shù)據(jù)倉庫中;ETL模塊將結(jié)構(gòu)化模板庫里的模版文件定時(shí)加載入數(shù)據(jù)解析模板庫,并基于模板文件將生產(chǎn)線和歷史數(shù)據(jù)里的文本數(shù)據(jù)進(jìn)行格式化,以便將格式化的文本數(shù)據(jù)抽取到數(shù)據(jù)持久層模塊的云數(shù)據(jù)倉庫中。數(shù)據(jù)持久層模塊主要由基于云存儲(chǔ)的云數(shù)據(jù)倉庫組成。云數(shù)據(jù)倉庫用于結(jié)構(gòu)化存儲(chǔ)原軋鋼系統(tǒng)的數(shù)據(jù),其表結(jié)構(gòu)和數(shù)據(jù)字典由ETL模塊在解析系統(tǒng)構(gòu)成中生成,它主要是定時(shí)歸并ETL模塊解析的數(shù)據(jù)到云數(shù)據(jù)倉庫中并存儲(chǔ)。本系統(tǒng)的云數(shù)據(jù)倉庫設(shè)計(jì)構(gòu)架于Hadoop云計(jì)算模型的分布式文件系統(tǒng)(HDFS)Hadoop Distributed File System上,它利用HDFS的多節(jié)點(diǎn)分布式特點(diǎn)存儲(chǔ)數(shù)據(jù)資源,從而同時(shí)解決了數(shù)據(jù)處理的并行化和存儲(chǔ)容量的動(dòng)態(tài)擴(kuò)展問題。在云數(shù)據(jù)倉庫中,構(gòu)建好的數(shù)據(jù)表通過云數(shù)據(jù)倉庫的語句操作(類似于一般的sql語句),從ETL模塊將格式化好的采集文本數(shù)據(jù)直接加載進(jìn)云數(shù)據(jù)倉庫的數(shù)據(jù)表中,在數(shù)據(jù)表的數(shù)據(jù)字典和數(shù)據(jù)項(xiàng)之間通過位置的一一映射方式,在操作數(shù)據(jù)時(shí),通過數(shù)據(jù)字典的位置映射數(shù)據(jù)的位置來操作數(shù)據(jù),這被稱為數(shù)據(jù)操作的“讀時(shí)模式”。通過這個(gè)模式給云數(shù)據(jù)倉庫使用者提供類似于傳統(tǒng)數(shù)據(jù)庫的操作方式,給他們開發(fā)帶來更大的便利。云數(shù)據(jù)倉庫中的數(shù)據(jù)字典是定制主題的主要依據(jù)。它是主題項(xiàng)屬性和數(shù)據(jù)表之間的主要聯(lián)系,主題項(xiàng)屬性通過數(shù)據(jù)字典訪問到數(shù)據(jù)表中的數(shù)據(jù),從而對(duì)數(shù)據(jù)進(jìn)行相關(guān)的語句操作。可拓展主題定制模塊包括主題庫、經(jīng)驗(yàn)庫、MapReduce模板容器和公共數(shù)據(jù)挖掘方法庫,主題定制模塊主要是在構(gòu)建好的云數(shù)據(jù)倉庫上,根據(jù)用戶自己的經(jīng)驗(yàn)和知識(shí),參考數(shù)據(jù)字典的說明和經(jīng)驗(yàn)庫的導(dǎo)向指定一些用戶需要數(shù)據(jù)項(xiàng)構(gòu)建主題,由于云數(shù)據(jù)倉庫是對(duì)整個(gè)系統(tǒng)數(shù)據(jù)的存儲(chǔ),主題構(gòu)建就是對(duì)系統(tǒng)結(jié)構(gòu)表的一個(gè)動(dòng)態(tài)劃分過程。主題庫是定制好的具有多個(gè)主題(如:質(zhì)量主題、參數(shù)主題等)的歸檔主題集,每個(gè)主題包括若干主題項(xiàng),包含表名、列名以及主題名等相關(guān)數(shù)據(jù),主題其實(shí)是一個(gè)表區(qū)域(此區(qū)域可以重疊),這是為云計(jì)算并行分析劃分的區(qū)域,而主題定制也只是一個(gè)區(qū)域劃分的過程,它表示這個(gè)主題可控的數(shù)據(jù)大小。主題區(qū)域還負(fù)責(zé)管理數(shù)據(jù)集的并行化,MapReduce模板容器就是為數(shù)據(jù)挖掘公共方法庫提供并行化支持設(shè)計(jì)的。它可以在一次并行化過程對(duì)多個(gè)主題進(jìn)行挖掘和分析。歸檔好的主題集即為經(jīng)驗(yàn)庫,是以數(shù)據(jù)表的形式存放于數(shù)據(jù)庫中,經(jīng)驗(yàn)庫是通過已有的一些相關(guān)領(lǐng)域的數(shù)據(jù)挖掘系統(tǒng),繼承他們已定制的歸檔好的比較完善的主題庫,來為本系統(tǒng)的未知需求作導(dǎo)向,采用最大匹配度的算法來盡可能從經(jīng)驗(yàn)庫給用戶提供幫助。經(jīng)驗(yàn)庫需要配置相關(guān)的領(lǐng)域同義詞詞表來匹配不同系統(tǒng)之間的語義誤差,將系統(tǒng)之間的誤差減少到最小。具體可擴(kuò)展主題定制流程如下:用戶根據(jù)查詢主題庫了解是否有自己所要的主題項(xiàng)存在于主題庫;如果沒有,用戶申請(qǐng)查看云數(shù)據(jù)倉庫中的數(shù)據(jù)表的數(shù)據(jù)字典,當(dāng)用戶選定一個(gè)數(shù)據(jù)表的數(shù)據(jù)項(xiàng)時(shí),系統(tǒng)會(huì)自動(dòng)給出經(jīng)驗(yàn)庫中存在的此屬性的相關(guān)主題項(xiàng)推薦,不讓用戶盲目選擇,然后用戶通過實(shí)際需求選擇使用或是不使用推薦主題項(xiàng);當(dāng)用戶定制的需求在經(jīng)驗(yàn)庫中不存在時(shí),用戶自定義的主題項(xiàng)會(huì)注冊(cè)入經(jīng)驗(yàn)庫,作為自學(xué)習(xí)的一個(gè)過程,并且經(jīng)驗(yàn)庫會(huì)定期統(tǒng)計(jì)主題庫的屬性表,將出現(xiàn)頻率較高的屬性作為敏感屬性,它們作為用戶開始定制主題的關(guān)鍵屬性推薦給用戶;新主題項(xiàng)注冊(cè)入主題庫,并在字典中劃分出這個(gè)主題項(xiàng)所需要的區(qū)域和范圍;當(dāng)主題區(qū)域劃定后,MapReduce模板容器可以為公共數(shù)據(jù)挖掘分析方法提供MapReduce的并行算法支持;它是一個(gè)并行化集成器,對(duì)同一數(shù)據(jù)集的多個(gè)主題項(xiàng)采用同一種挖掘算法時(shí)可以一次性處理,大大提高數(shù)據(jù)分析挖掘的速度和效率。公共數(shù)據(jù)挖掘方法庫是用MapReduce實(shí)現(xiàn)的一些數(shù)據(jù)挖掘的公共方法,如:關(guān)聯(lián)規(guī)則、神經(jīng)網(wǎng)絡(luò)、遺傳算法和決策樹方法等等,使用時(shí)動(dòng)態(tài)加載到MapReduce模板容器,大大減少了數(shù)據(jù)挖掘人員的工作量,同時(shí),利用MapReduce模板容器,數(shù)據(jù)管理人員可以輕松使用容器提供的API編寫一些主題分析的程序,更方便的契合系統(tǒng),發(fā)揮并行挖掘的效率。基于上述熱連軋數(shù)據(jù)集主題定制系統(tǒng),對(duì)熱連軋工業(yè)領(lǐng)域復(fù)雜數(shù)據(jù)集的數(shù)據(jù)進(jìn)行采集、分類、建庫,進(jìn)而達(dá)到有效的主題定制,其中具體方法流程如下:
步驟一、ETL模塊對(duì)熱軋鋼系統(tǒng)數(shù)據(jù)結(jié)構(gòu)進(jìn)行解析,生成數(shù)據(jù)字典文件和表頭文件,將數(shù)據(jù)字典文件和表頭文件發(fā)送至數(shù)據(jù)持久層模塊,并定時(shí)對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化。ETL模塊的流程如圖2所示:
步驟1.1,ETL模塊解析熱軋鋼系統(tǒng)數(shù)據(jù)結(jié)構(gòu)生成數(shù)據(jù)字典文件和表頭文件。該步驟為初始化步驟,ETL模塊分析熱軋鋼原系統(tǒng)頭文件,生成熱軋鋼原系統(tǒng)數(shù)據(jù)的結(jié)構(gòu)樹(結(jié)構(gòu)樹節(jié)點(diǎn)包括字段名稱和字段解釋),ETL模塊遞歸遍歷整棵數(shù)據(jù)結(jié)構(gòu)樹,拆分樹中節(jié)點(diǎn)項(xiàng),生成用于構(gòu)建云數(shù)據(jù)倉庫數(shù)據(jù)字典文件和用于存儲(chǔ)數(shù)據(jù)的表頭文件;之后,ETL模塊將解析完成的數(shù)據(jù)字典文件和表頭文件發(fā)送到數(shù)據(jù)持久層模塊,以便數(shù)據(jù)持久層模塊根據(jù)上述2個(gè)文件為云數(shù)據(jù)倉庫生成數(shù)據(jù)字典和數(shù)據(jù)表。上述結(jié)構(gòu)樹是由多層節(jié)點(diǎn)構(gòu)成的多層樹狀結(jié)構(gòu),鑒于結(jié)構(gòu)樹的復(fù)雜度,以其中的一個(gè)分支“軋線數(shù)據(jù)”的子結(jié)構(gòu)樹為例,如圖3所示,頂層節(jié)點(diǎn)表示的含義是軋線數(shù)據(jù)結(jié)構(gòu)體的名字,同樣也是云數(shù)據(jù)倉庫構(gòu)建軋線數(shù)據(jù)表的名字;第二層節(jié)點(diǎn)表示軋線數(shù)據(jù)所包含的屬性,同樣它們作為軋線數(shù)據(jù)表中的字段。第三層節(jié)點(diǎn)類似于第二層節(jié)點(diǎn)與第一層節(jié)點(diǎn)的關(guān)系,它們是對(duì)第二層節(jié)點(diǎn)的說明,同樣也是構(gòu)建第二層節(jié)點(diǎn)表的字段。結(jié)構(gòu)樹生成后,ETL模塊以廣度遍歷的方式遞歸遍歷整棵數(shù)據(jù)結(jié)構(gòu)樹,拆分樹中節(jié)點(diǎn)項(xiàng),生成數(shù)據(jù)字典文件和表頭文件,用于構(gòu)建云數(shù)據(jù)倉庫表頭。以圖3的“軋線數(shù)據(jù)”子結(jié)構(gòu)樹為例,將節(jié)點(diǎn)“軋線數(shù)據(jù)”作為大標(biāo)簽“〈軋線數(shù)據(jù) >”,然后遍歷到它的子節(jié)點(diǎn),分別
是“鋼卷屬性”、“粗軋預(yù)設(shè)定結(jié)果數(shù)據(jù)”.....等,將它們作為xml中“〈軋線數(shù)據(jù) >”的子標(biāo)
簽“<1>鋼卷屬性</1>”,“<2>粗軋預(yù)設(shè)定結(jié)果數(shù)據(jù)</2>”,...,后續(xù)節(jié)點(diǎn)以此類推完成數(shù)據(jù)字典文件和表頭文件的生成。數(shù)據(jù)字典文件和表頭文件的樣例以如下XML文件生成。數(shù)據(jù)字典文件樣例:< xml version=, .0〃T>
< xml-stylesheet type = ^text/xsl ^ 二〃configuration.xsl〃T>
<軋線參數(shù)>
〈1>鋼卷號(hào)</l>
<2> 鋼種 </2>
<3>板還號(hào)</3>
<4>材質(zhì)代碼</4>
</軋線參數(shù)>
<粗軋參數(shù)>
</粗軋參數(shù)>。表頭文件樣例:
< xml version=, .0"T>
< xml-stylesheet type = ^text/xsl ^ 二〃configuration.xsl〃T>
<軋線參數(shù)>
<l>p.mill.pr1.Matld〈/1>
<2>p.mill.pr1.SteelGrade</2>
<3>p.mill.pr1.SlabNo</3>
</軋線參數(shù)>
<粗軋參數(shù)>
</粗軋參數(shù)>
..0在完成了原始軋鋼系統(tǒng)的分析和生產(chǎn)線熱連軋數(shù)據(jù)集主題定制系統(tǒng)的初始化后,需要將生產(chǎn)線上采集的文本數(shù)據(jù)寫入云數(shù)據(jù)倉庫中,為了便于采集數(shù)據(jù)的寫入,需要進(jìn)行采集文本數(shù)據(jù)的格式化。步驟1.2,ETL模塊對(duì)表頭文件進(jìn)行格式化生成結(jié)構(gòu)化模板庫的模板文件。為了便于采集數(shù)據(jù)存入數(shù)據(jù)持久層的云數(shù)據(jù)倉庫中。ETL模塊根據(jù)上述的數(shù)據(jù)字典的字典項(xiàng)和表頭文件的表頭項(xiàng)方式進(jìn)行排版生成對(duì)應(yīng)格式化的結(jié)構(gòu)化模板庫的模板文件,模板庫形式同上述XML格式,以數(shù)字表示位置的來抽取非結(jié)構(gòu)化的文件或采集的二進(jìn)制文件。 結(jié)構(gòu)化模板庫的模版文件是提取文件數(shù)據(jù)時(shí)用的代碼格式,它用于將采集文本數(shù)據(jù)(包括生產(chǎn)線和歷史數(shù)據(jù)里的文本數(shù)據(jù))格式化成云數(shù)據(jù)倉庫抽取順序格式的文件,以便云數(shù)據(jù)倉庫將數(shù)據(jù)存入對(duì)應(yīng)的合理位置。步驟1.3,ETL模塊根據(jù)結(jié)構(gòu)化模板庫里的模版文件定時(shí)加載入數(shù)據(jù)解析模板庫,將采集文本數(shù)據(jù)(包括生產(chǎn)線和歷史數(shù)據(jù)里的文本數(shù)據(jù))格式化,并發(fā)送到數(shù)據(jù)持久層模塊。
在形成結(jié)構(gòu)化模板庫后,ETL模塊中的數(shù)據(jù)解析模板庫會(huì)定時(shí)對(duì)采集數(shù)據(jù)進(jìn)行格式化,具體步驟為:首先,數(shù)據(jù)解析模板庫實(shí)時(shí)或定時(shí)獲取采集數(shù)據(jù)和數(shù)據(jù)樣本集的文本數(shù)據(jù);其次,在規(guī)定的時(shí)間,數(shù)據(jù)解析模板庫中加載入結(jié)構(gòu)化模板庫;最后,數(shù)據(jù)解析模板庫根據(jù)加載的結(jié)構(gòu)化模板庫對(duì)采集數(shù)據(jù)數(shù)據(jù)樣本集的文本數(shù)據(jù)進(jìn)行格式化。步驟二,數(shù)據(jù)持久層模塊根據(jù)接收的數(shù)據(jù)字典文件和表頭文件,構(gòu)建云數(shù)據(jù)倉庫創(chuàng)建數(shù)據(jù)字典和數(shù)據(jù)表,數(shù)據(jù)持久層模塊中的云數(shù)據(jù)倉庫定時(shí)歸并ETL模塊格式化后的采集文本數(shù)據(jù)。數(shù)據(jù)持久層模塊從ETL模塊獲取數(shù)據(jù)字典文件和表頭文件,并為云數(shù)據(jù)倉庫創(chuàng)建數(shù)據(jù)字典和數(shù)據(jù)表, 以步驟1.1中的“軋線數(shù)據(jù)”為例具體為:軋線數(shù)據(jù)的數(shù)據(jù)字典表將“<1>鋼卷號(hào)</1>”作為第一字段,“〈2>鋼種</2>”作為第二字段,“〈3>板坯號(hào)</3>”作為第三字段以此類推;而與該數(shù)字字典相關(guān)的數(shù)據(jù)表中則把對(duì)應(yīng)的“<1>P.mill.pr1.Matld〈/1>”作為第一字段,“<2>p.mill.pr1.SteelGrade〈/2>”作為第二字段,“<3>p.mill,pr1.SlabNo〈/3>”作為第三字段,使它們各自生成的表在云數(shù)據(jù)倉庫中形成字段位置一一對(duì)應(yīng)關(guān)系,如圖4所示。云數(shù)據(jù)倉庫模型如圖5,它建于hadoop云計(jì)算模型的分布式文件系統(tǒng)HDFS(Hadoop Distributed File System)之上,由 MapReduce 實(shí)現(xiàn)了云數(shù)據(jù)倉庫的操作方法。在云數(shù)據(jù)倉庫中,構(gòu)建好的數(shù)據(jù)表通過云數(shù)據(jù)倉庫的語句操作(類似于一般的sql語句),從ETL模塊將格式化好的采集文本數(shù)據(jù)直接加載進(jìn)云數(shù)據(jù)倉庫的數(shù)據(jù)表中,在數(shù)據(jù)表中數(shù)據(jù)字典和數(shù)據(jù)項(xiàng)之間通過位置的一一映射方式,在操作數(shù)據(jù)時(shí),通過字典的位置映射數(shù)據(jù)的位置來操作數(shù)據(jù),稱為數(shù)據(jù)操作的“讀時(shí)模式”。下面是一個(gè)數(shù)據(jù)表的例子,表I是云數(shù)據(jù)倉庫中存儲(chǔ)的從ETL模塊獲取數(shù)據(jù),它們是一種流式的非結(jié)構(gòu)化的數(shù)據(jù),對(duì)于數(shù)據(jù)分析和主題定制都無法通過這樣數(shù)據(jù)進(jìn)行操作。云數(shù)據(jù)倉庫是通過數(shù)據(jù)映射建立的數(shù)據(jù)模型,它是根據(jù)數(shù)據(jù)庫的模型設(shè)計(jì)的一種位置讀取映射關(guān)系,將數(shù)據(jù)文件、表頭文件和數(shù)據(jù)字典文件通過位置映射成一個(gè)整體,然后通過類似于傳統(tǒng)數(shù)據(jù)庫的操作方式sql語句(非標(biāo)準(zhǔn)的sql語句)來操作數(shù)據(jù)并行存取,表2是解析后的數(shù)據(jù),它是通過云數(shù)據(jù)倉庫的數(shù)據(jù)查詢操作(select * from product)從云數(shù)據(jù)倉庫中查詢出的部分?jǐn)?shù)據(jù)行,以便在后的數(shù)據(jù)分析和主題定制處理。云數(shù)據(jù)倉庫中存儲(chǔ)的數(shù)據(jù):
表I
權(quán)利要求
1.一種基于云計(jì)算的熱連軋數(shù)據(jù)主題定制系統(tǒng),其特征在于,所述系統(tǒng)包括ETL (信息抽取)模塊、數(shù)據(jù)持久層模塊和主題定制模塊; ETL (信息抽取)模塊,用于解析熱連軋系統(tǒng)數(shù)據(jù)結(jié)構(gòu),生成數(shù)據(jù)字典文件和表頭文件,將數(shù)據(jù)字典文件和表頭文件發(fā)送至數(shù)據(jù)持久層模塊,并定時(shí)對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化; 數(shù)據(jù)持久層模塊,數(shù)據(jù)持久層模塊用于根據(jù)從ETL模塊接收的所述數(shù)據(jù)字典文件和表頭文件為云數(shù)據(jù)倉庫構(gòu)建數(shù)據(jù)字典和數(shù)據(jù)表,并定時(shí)將格式化后的采集文本數(shù)據(jù)歸并入云數(shù)據(jù)倉庫; 主題定制模塊,基于云數(shù)據(jù)倉庫進(jìn)行主題定制。
2.如權(quán)利要求1所述的熱連軋數(shù)據(jù)主題定制系統(tǒng),其特征在于,ETL模塊包括: 數(shù)據(jù)結(jié)構(gòu)解析單元,用于解析熱連軋系統(tǒng)數(shù)據(jù)結(jié)構(gòu)生成數(shù)據(jù)字典文件和表頭文件; 結(jié)構(gòu)化模板庫生成單元,用于對(duì)數(shù)據(jù)結(jié)構(gòu)解析單元生成的表頭文件進(jìn)行格式化生成結(jié)構(gòu)化模板庫的模版文件; 文本數(shù)據(jù)格式化單元,用于將結(jié)構(gòu)化模板庫里的模版文件定時(shí)加載入數(shù)據(jù)解析模板庫,對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化,并發(fā)送到數(shù)據(jù)持久層模塊。
3.如權(quán)利要求1所述的熱連軋數(shù)據(jù)主題定制系統(tǒng),其特征在于,主題定制模塊包括: 主題庫查詢單元,用于根據(jù)關(guān)鍵字查詢主題庫,確定主題庫是否存在用戶所需主題項(xiàng); 經(jīng)驗(yàn)庫推薦單元,用于當(dāng)主題庫中不存在所需主題項(xiàng)時(shí),提供數(shù)據(jù)表的數(shù)據(jù)字典的屬性選擇,并將用戶所選屬性作為所需主題項(xiàng)屬性,并基于用戶所選屬性在經(jīng)驗(yàn)庫中獲取推薦主題項(xiàng); 主題庫注冊(cè)單元,用于當(dāng)所述推薦主題項(xiàng)中存在所需主題項(xiàng)時(shí),將所需主題項(xiàng)注冊(cè)入主題庫;當(dāng)所述推薦主題項(xiàng)中不存在所需主題項(xiàng)時(shí),接受用戶自定義的新主題項(xiàng),并將所述新主題項(xiàng)注冊(cè)入主題庫; 通信單元,在操作數(shù)據(jù)時(shí),用于向云數(shù)據(jù)倉庫發(fā)送主題項(xiàng)的數(shù)據(jù)請(qǐng)求。
4.一種基于云計(jì)算的熱連軋數(shù)據(jù)主題定制方法,其特征在于,該定制方法包括以下步驟: 步驟一、ETL模塊對(duì)熱連軋系統(tǒng)數(shù)據(jù)結(jié)構(gòu)進(jìn)行解析,生成數(shù)據(jù)字典文件和表頭文件,將數(shù)據(jù)字典文件和表頭文件發(fā)送至數(shù)據(jù)持久層模塊,并定時(shí)對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化; 步驟二,數(shù)據(jù)持久層模塊根據(jù)接收的數(shù)據(jù)字典文件和表頭文件,為云數(shù)據(jù)倉庫創(chuàng)建數(shù)據(jù)字典和數(shù)據(jù)表,并定時(shí)歸并ETL模塊格式化后的采集文本數(shù)據(jù); 步驟三,主題定制模塊基于云數(shù)據(jù)倉庫進(jìn)行主題定制。
5.一種如權(quán)利要求4所述的熱連軋數(shù)據(jù)主題定制方法,其特征在于,步驟一具體包括以下步驟: 步驟1.1,ETL模塊解析熱連軋系統(tǒng)數(shù)據(jù)結(jié)構(gòu)生成數(shù)據(jù)字典文件和表頭文件; 步驟1.2,ETL模塊對(duì)表頭文件進(jìn)行格式化生成結(jié)構(gòu)化模板庫的模版文件; 步驟1.3,ETL模塊將結(jié)構(gòu)化模板庫里的模版文件定時(shí)加載入數(shù)據(jù)解析模板庫,對(duì)熱連軋系統(tǒng)采集文本數(shù)據(jù)進(jìn)行格式化,并發(fā)送到數(shù)據(jù)持久層模塊。
6.一種如權(quán)利要求4所述的熱連軋數(shù)據(jù)主題定制方法,其特征在于,步驟三具體包括以下步驟: 步驟3.1,主題定制模塊根據(jù)關(guān)鍵字查詢主題庫,確定主題庫是否存在用戶所需的主題項(xiàng); 步驟3.2,當(dāng)主題庫中不存在所需主題項(xiàng)時(shí),主題定制模塊提供數(shù)據(jù)表的數(shù)據(jù)字典的屬性選擇,接收用戶對(duì)數(shù)據(jù)字典中的屬性選擇,并基于用戶所選屬性在經(jīng)驗(yàn)庫中獲取推薦主題項(xiàng); 步驟3.3,當(dāng)經(jīng)驗(yàn)庫推薦主題項(xiàng)中存在所需主題項(xiàng)時(shí),將所需主題項(xiàng)注冊(cè)入主題庫;當(dāng)經(jīng)驗(yàn)庫推薦主題項(xiàng)中不存在所需主題項(xiàng)時(shí),經(jīng)驗(yàn)庫接受用戶自定義的新主題項(xiàng),并將所述新主題項(xiàng)注冊(cè)入主題庫; 步驟3.4,操作數(shù)據(jù)時(shí),主題庫向云數(shù)據(jù)倉庫發(fā)送主題項(xiàng)的數(shù)據(jù)請(qǐng)求。
7.—種如權(quán)利要求6所述的熱連軋數(shù)據(jù)主題定制方法,其特征在于,步驟3.3中用戶自定義新主題項(xiàng)的方式為:從經(jīng)驗(yàn)庫推薦主題項(xiàng)中獲得最大匹配主題項(xiàng),修改最大匹配主題項(xiàng)的屬性,形成 新主題項(xiàng)。
全文摘要
本發(fā)明提供一種基于云計(jì)算的大規(guī)模熱連軋數(shù)據(jù)主題定制系統(tǒng),包括ETL模塊、數(shù)據(jù)持久層模塊和主題定制模塊。ETL模塊用于實(shí)現(xiàn)原始熱軋鋼系統(tǒng)數(shù)據(jù)解析、云數(shù)據(jù)倉庫數(shù)據(jù)表構(gòu)建和數(shù)據(jù)抽取功能;數(shù)據(jù)持久層模塊利用云數(shù)據(jù)倉庫組織和存儲(chǔ)ETL模塊抽取的結(jié)構(gòu)化數(shù)據(jù);針對(duì)云數(shù)據(jù)倉庫中數(shù)據(jù)主題分析問題,主題定制模塊通過主題庫、經(jīng)驗(yàn)庫為用戶提供合理的主題定制方案,并通過公共數(shù)據(jù)挖掘方法庫和MapReduce模版容器提供通用的數(shù)據(jù)分析功能,提高數(shù)據(jù)管理人員的工作效率。本發(fā)明提供的主題定制系統(tǒng)具有靈活的可擴(kuò)展性,可集成于任意原始熱連軋數(shù)據(jù)系統(tǒng),處理用戶在實(shí)際需求不明確時(shí)對(duì)復(fù)雜數(shù)據(jù)的主題分類問題,為熱軋鋼數(shù)據(jù)挖掘分析提供可靠的數(shù)據(jù)集保障。
文檔編號(hào)G06F17/30GK103198138SQ20131013044
公開日2013年7月10日 申請(qǐng)日期2013年4月16日 優(yōu)先權(quán)日2013年4月16日
發(fā)明者鄒麗暉, 張德政, 華鎮(zhèn), 阿孜古麗, 孫義, 謝永紅, 劉宏嵐, 杜鑫 申請(qǐng)人:北京科技大學(xué)