国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于角色控制的異構(gòu)數(shù)據(jù)展示在企業(yè)門戶中的應(yīng)用

2015-06-15 22:22張健張建琳
現(xiàn)代電子技術(shù) 2015年12期
關(guān)鍵詞:元數(shù)據(jù)數(shù)據(jù)源

張健+張建琳

摘 要: 企業(yè)的信息系統(tǒng)是一個(gè)由傳統(tǒng)系統(tǒng)、不兼容數(shù)據(jù)源、數(shù)據(jù)庫與應(yīng)用所共同構(gòu)成的復(fù)雜數(shù)據(jù)集合,各部分之間彼此獨(dú)立。為了保證智能決策的需要,對(duì)數(shù)據(jù)源中的源數(shù)據(jù)按照一定的數(shù)據(jù)轉(zhuǎn)換原則進(jìn)行映射和轉(zhuǎn)換,通過對(duì)異構(gòu)數(shù)據(jù)源的抽取、轉(zhuǎn)換、裝載,從已有傳統(tǒng)環(huán)境與平臺(tái)中采集數(shù)據(jù)進(jìn)而形成目標(biāo)數(shù)據(jù)源,并使用存儲(chǔ)過程、觸發(fā)器、中間表和動(dòng)態(tài)SQL語句進(jìn)行查詢優(yōu)化,采用哈希表存儲(chǔ)解析后的數(shù)據(jù),初步建立數(shù)據(jù)倉(cāng)庫,實(shí)現(xiàn)數(shù)據(jù)聚合。結(jié)合角色控制的方法對(duì)目標(biāo)數(shù)據(jù)源進(jìn)行多維度報(bào)表展示,將海量的應(yīng)用數(shù)據(jù)轉(zhuǎn)換為有價(jià)值的信息,為企業(yè)智能決策提供有效的數(shù)據(jù)支持。

關(guān)鍵詞: 數(shù)據(jù)源; 元數(shù)據(jù); 數(shù)據(jù)抽??; 智能決策

中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)12?0025?04

0 引 言

隨著軍工行業(yè)科研任務(wù)的逐漸增加、科研隊(duì)伍的持續(xù)壯大以及信息化進(jìn)程的不斷推進(jìn),每天都會(huì)產(chǎn)生大量的科研數(shù)據(jù)和管理數(shù)據(jù),因此如何通過系統(tǒng)、高效的手段分析并利用這些數(shù)據(jù)就顯得尤為重要,這需要通過合理的手段對(duì)數(shù)據(jù)進(jìn)行加工分析、提煉升華。

目前,由于企業(yè)業(yè)務(wù)系統(tǒng)開發(fā)有一個(gè)較長(zhǎng)的時(shí)間跨度,這就造成同一種數(shù)據(jù)在業(yè)務(wù)系統(tǒng)中有多種完全不同的存儲(chǔ)格式,形成不同的數(shù)據(jù)源[1]。在這種情況下,本文提出使用ETL工具將數(shù)據(jù)從各種原始的業(yè)務(wù)系統(tǒng)中讀取出來,按照預(yù)先設(shè)計(jì)好的規(guī)則將抽取的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)抽取到中間表,使本來異構(gòu)的數(shù)據(jù)格式能統(tǒng)一起來,并將轉(zhuǎn)換后的數(shù)據(jù)倒入到數(shù)據(jù)倉(cāng)庫中,最終進(jìn)行報(bào)表展示。通過報(bào)表服務(wù)處理科研和管理數(shù)據(jù),結(jié)合角色管理的方法實(shí)現(xiàn)用直觀的方式展現(xiàn)數(shù)據(jù),進(jìn)而發(fā)現(xiàn)數(shù)據(jù)變化規(guī)律,提煉有價(jià)值的數(shù)據(jù)信息,為更好的管理和決策提供一種數(shù)據(jù)參考。

1 數(shù)據(jù)抽取、轉(zhuǎn)換、裝載

1.1 數(shù)據(jù)抽取、轉(zhuǎn)換、裝載模型

目前,因?yàn)楝F(xiàn)有業(yè)務(wù)數(shù)據(jù)源多,為保證數(shù)據(jù)的一致性,真正理解數(shù)據(jù)的業(yè)務(wù)含義,保證跨越多平臺(tái)、多系統(tǒng)的數(shù)據(jù)整合,最大可能提高數(shù)據(jù)的質(zhì)量,滿足業(yè)務(wù)需求不斷變化的特性,需將各子系統(tǒng)上的數(shù)據(jù)進(jìn)行抽取、清洗和轉(zhuǎn)化處理,然后加載到目標(biāo)數(shù)據(jù)庫。數(shù)據(jù)抽取、轉(zhuǎn)換、裝載模型如圖1所示。

數(shù)據(jù)抽取過程為從數(shù)據(jù)源開始通過數(shù)據(jù)清洗過濾掉數(shù)據(jù)源中不需要的源數(shù)據(jù)字段,清洗后的數(shù)據(jù)通過源數(shù)據(jù)映射將各局部數(shù)據(jù)視圖按照源數(shù)據(jù)映射的方式轉(zhuǎn)換成語義語法一致的數(shù)據(jù)[2],通過映射,源數(shù)據(jù)定義了數(shù)據(jù)源的位置及數(shù)據(jù)源的屬性、確定從源數(shù)據(jù)到目標(biāo)數(shù)據(jù)的對(duì)應(yīng)規(guī)則、確定相關(guān)的業(yè)務(wù)邏輯后插入臨時(shí)數(shù)據(jù)庫中[3],并通過定義的業(yè)務(wù)規(guī)則進(jìn)行格式和類型轉(zhuǎn)換獲取符合需要的數(shù)據(jù),轉(zhuǎn)換完的數(shù)據(jù)仍存放在臨時(shí)數(shù)據(jù)庫中,然后通過SQL語句進(jìn)行裝載將數(shù)據(jù)從臨時(shí)數(shù)據(jù)庫遷移到目標(biāo)數(shù)據(jù)庫。

1.2 數(shù)據(jù)轉(zhuǎn)換原則

數(shù)據(jù)轉(zhuǎn)換是按照數(shù)據(jù)倉(cāng)庫的數(shù)據(jù)結(jié)構(gòu),對(duì)源數(shù)據(jù)源每條記錄進(jìn)行處理,轉(zhuǎn)換后寫入目標(biāo)數(shù)據(jù)源。在進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),由于數(shù)據(jù)源之間存在不一致的問題[4],通過數(shù)據(jù)轉(zhuǎn)換統(tǒng)一數(shù)據(jù)名稱和格式,同時(shí)對(duì)于數(shù)據(jù)源中不存在的數(shù)據(jù)創(chuàng)建新的視圖并進(jìn)行相應(yīng)的轉(zhuǎn)換。

在整個(gè)過程中堅(jiān)持原則為:

(1) 直接引用:數(shù)據(jù)源字段和目標(biāo)字段格式和名稱相同,不做任何轉(zhuǎn)換;否則,按以下第(2)~(8)條處理。

(2) 字符串操作:從數(shù)據(jù)源的數(shù)據(jù)列中獲取部分?jǐn)?shù)據(jù)作為目標(biāo)數(shù)據(jù)庫的某個(gè)字段,需對(duì)字符串作轉(zhuǎn)換數(shù)據(jù)類型、截取字符串、連接字符串等操作。

(3) 列間運(yùn)算:對(duì)于數(shù)值型數(shù)據(jù)列來說,有時(shí)需數(shù)據(jù)源的一個(gè)或多個(gè)數(shù)據(jù)列進(jìn)行數(shù)學(xué)運(yùn)算生成目標(biāo)數(shù)據(jù),并對(duì)生成的目標(biāo)數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換。

(4) 空值轉(zhuǎn)換:對(duì)于數(shù)據(jù)源字段中的空值,可能在轉(zhuǎn)換過程中出現(xiàn)異常,因此必須把空值轉(zhuǎn)換成指定的數(shù)據(jù)類型和固定的值。

(5) 統(tǒng)一日期格式:若目標(biāo)數(shù)據(jù)源與數(shù)據(jù)源日期格式不同,需通過日期格式轉(zhuǎn)換,轉(zhuǎn)換成相同的日期格式。

(6) 聚合運(yùn)算:對(duì)目標(biāo)數(shù)據(jù)源需要展示的匯總數(shù)據(jù),一般需要通過對(duì)數(shù)據(jù)源中一個(gè)或多個(gè)數(shù)據(jù)列運(yùn)用聚合函數(shù)來實(shí)現(xiàn),如sum,avg,count,max,min等函數(shù)。

(7) 取固定值:目標(biāo)字段取一個(gè)固定的或是依賴系統(tǒng)的值,如系統(tǒng)時(shí)間、常數(shù)值等,與數(shù)據(jù)源數(shù)據(jù)無關(guān)。

(8) 增量裝載:根據(jù)源系統(tǒng)的更新時(shí)間或其他標(biāo)識(shí)來記錄那些自上次裝載以后發(fā)生變化的數(shù)據(jù),增量加載到目標(biāo)數(shù)據(jù)庫中。

1.3 數(shù)據(jù)映射及轉(zhuǎn)換過程

為了實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換,通過接口提取數(shù)據(jù)源,首先使用JDBC連接和存取數(shù)據(jù)庫的應(yīng)用程序接口(API)[5],通過建立數(shù)據(jù)源、裝入JDBC驅(qū)動(dòng)程序、建立連接、執(zhí)行SQL語句、檢索結(jié)果等過程最終實(shí)現(xiàn)數(shù)據(jù)庫的訪問。然后通過預(yù)先建好到各平臺(tái)的“數(shù)據(jù)庫鏈接(Database link)”,最終實(shí)現(xiàn)數(shù)據(jù)的抽取。JDBC功能結(jié)構(gòu)圖如圖2所示。

通過JDBC與不同數(shù)據(jù)源進(jìn)行連接,進(jìn)而訪問相應(yīng)數(shù)據(jù),然后通過解析器對(duì)數(shù)據(jù)進(jìn)行解析。采取哈希表來存儲(chǔ)解析后的數(shù)據(jù),因哈希算法的算法復(fù)雜度為常數(shù),即在常數(shù)時(shí)間內(nèi)可找到目標(biāo)數(shù)據(jù),相比一般線性表N(log2N)的復(fù)雜度有明顯優(yōu)勢(shì)。從而提供高性能的元數(shù)據(jù)映射,形成各類數(shù)據(jù)源信息的數(shù)據(jù)映射表,主要屬性包括數(shù)據(jù)源類型、數(shù)據(jù)源標(biāo)識(shí)、目標(biāo)數(shù)據(jù)源標(biāo)識(shí)、表名、字段名。具體映射步驟為:

(1) 讀取生成的哈希表;

(2) 遍歷整個(gè)哈希表的關(guān)鍵字;

(3) 對(duì)每個(gè)關(guān)鍵字從數(shù)據(jù)映射表中找到匹配的數(shù)據(jù)源類型和數(shù)據(jù)源標(biāo)識(shí);

(4) 根據(jù)匹配項(xiàng)轉(zhuǎn)化成以目標(biāo)數(shù)據(jù)源標(biāo)識(shí)為關(guān)鍵字的記錄項(xiàng)。

完成上述操作之后,使用convertDataToSQL函數(shù)將表名、字段名,還有數(shù)據(jù)特征值動(dòng)態(tài)的拼裝成SQL語句,然后通過JDBC將動(dòng)態(tài)生成的SQL語句插入到數(shù)據(jù)庫。代碼實(shí)現(xiàn)如下:

public class SQLTool{

String convertDataToSQL(String TableName, ArrayList valueList, ArrayList colNameList){

……

return TableName;

}

數(shù)據(jù)從抽取、轉(zhuǎn)換到裝載的整個(gè)過程基本是通過控制用SQL語句編寫的存儲(chǔ)過程和函數(shù)的方式來實(shí)現(xiàn)對(duì)數(shù)據(jù)的直接操作,SQL語句的效率將直接影響到數(shù)據(jù)倉(cāng)庫后臺(tái)的性能[6]。本文從以下幾個(gè)方面提高工作效率。

(1) 使用存儲(chǔ)過程和觸發(fā)器。與數(shù)據(jù)的更新頻率相比,統(tǒng)計(jì)報(bào)表一般間隔時(shí)間較長(zhǎng),如年報(bào)表等。針對(duì)這類情況,一般通過后臺(tái)的存儲(chǔ)過程實(shí)現(xiàn)報(bào)表統(tǒng)計(jì),這樣既在一定程度上減少了查詢統(tǒng)計(jì)時(shí)間,又保證了前臺(tái)應(yīng)用程序的響應(yīng)速度。

create procedure proc1( ) //創(chuàng)建存儲(chǔ)過程

create trigger tr1 //創(chuàng)建觸發(fā)器

insert on datetime1 //根據(jù)設(shè)定時(shí)間, 增量更新數(shù)據(jù)

referencing create1 as newcreate

for (i=0; i

{

execute procedure pro1( ) //觸發(fā)存儲(chǔ)過程,生成報(bào)表統(tǒng)計(jì)

};

(2) 新建中間表和視圖。當(dāng)對(duì)源數(shù)據(jù)庫進(jìn)行操作時(shí),為了保證源數(shù)據(jù)庫的穩(wěn)定和數(shù)據(jù)安全,使用中間表存儲(chǔ)映射后的數(shù)據(jù)。如果只需對(duì)數(shù)據(jù)表中的部分?jǐn)?shù)據(jù)進(jìn)行報(bào)表展示,可為相關(guān)的數(shù)據(jù)表建立視圖,項(xiàng)目統(tǒng)計(jì)時(shí)操作中間表或新建視圖,從而保證了數(shù)據(jù)安全有效,大大提高報(bào)表生成速度。

(3) 使用動(dòng)態(tài)查詢語句并進(jìn)行優(yōu)化。各數(shù)據(jù)表之間存在很大的相似之處,報(bào)表統(tǒng)計(jì)的查詢語句相差不多,通常只是部分條件語句有所差異。此時(shí),使用動(dòng)態(tài)的查詢語句來實(shí)現(xiàn)。條件語句可以在執(zhí)行時(shí)才傳遞相應(yīng)的參數(shù)值,這樣就可以把幾個(gè)報(bào)表統(tǒng)計(jì)通用查詢語句合寫為一個(gè)動(dòng)態(tài)查詢語句,進(jìn)而提高程序代碼的可維護(hù)性、實(shí)現(xiàn)代碼復(fù)用、增加可讀性,一定程度上也提高了統(tǒng)計(jì)查詢的相應(yīng)速度。為了提高統(tǒng)計(jì)查詢效率,當(dāng)在數(shù)據(jù)表中進(jìn)行數(shù)據(jù)的增刪改等操作時(shí),優(yōu)化查詢語句。

2 報(bào)表展示示例

為了實(shí)現(xiàn)各報(bào)表在企業(yè)門戶中集中展示,首先將現(xiàn)有的人力資源、OA、協(xié)同平臺(tái)、網(wǎng)上報(bào)銷、工資查詢等系統(tǒng)的多種類型的數(shù)據(jù)源通過數(shù)據(jù)的抽取、轉(zhuǎn)換、裝載形成目標(biāo)數(shù)據(jù)源,然后通過角色控制的方式對(duì)報(bào)表進(jìn)行多維度展示。企業(yè)門戶系統(tǒng)的報(bào)表展示模型如圖3所示。

2.1 角色控制

根據(jù)業(yè)務(wù)需求,并不是每個(gè)人看到的報(bào)表內(nèi)容均相同。為了區(qū)分展示權(quán)限,將用戶分為單位領(lǐng)導(dǎo)、總師、部門領(lǐng)導(dǎo)和一般員工4種角色,采用角色管理的方式控制展示內(nèi)容,各角色對(duì)應(yīng)的展示內(nèi)容如圖4所示。

2.2 報(bào)表設(shè)計(jì)

以項(xiàng)目完成情況為例,根據(jù)角色定義圖,一般員工只能看到個(gè)人項(xiàng)目情況,單位領(lǐng)導(dǎo)則關(guān)注所有項(xiàng)目進(jìn)度。個(gè)人項(xiàng)目情況展示時(shí),首先通過物理表之間的關(guān)系,通過人員表中的員工編號(hào)與項(xiàng)目完成情況表中的員工編號(hào)進(jìn)行查詢預(yù)過濾,最后形成個(gè)人參與項(xiàng)目完成情況報(bào)表統(tǒng)計(jì),展示過程如圖5所示。所有項(xiàng)目進(jìn)度展示時(shí),把目前所有項(xiàng)目進(jìn)展?fàn)顩r展示即可。

3 結(jié) 語

本文提出通過數(shù)據(jù)的抽取、轉(zhuǎn)換、裝載及報(bào)表展示的方法,將不同數(shù)據(jù)來源的異構(gòu)數(shù)據(jù)充分整合,解決了數(shù)據(jù)有效性和一致性的問題,初步建立數(shù)據(jù)倉(cāng)庫。實(shí)現(xiàn)了多數(shù)據(jù)源多數(shù)據(jù)類型的數(shù)據(jù)聚合,將人力資源、OA、協(xié)同平臺(tái)、網(wǎng)上報(bào)銷、工資查詢等系統(tǒng)中相關(guān)報(bào)表數(shù)據(jù)在門戶中集成展現(xiàn)或圖形化展現(xiàn),方便用戶直觀、全面地了解各系統(tǒng)中相關(guān)信息。同時(shí),通過角色控制的方式對(duì)業(yè)務(wù)進(jìn)行不同維度建模展示,形成分析對(duì)比,將科研數(shù)據(jù)轉(zhuǎn)化為有用的知識(shí),為企業(yè)智能決策提供直觀的業(yè)務(wù)數(shù)據(jù)支持。

參考文獻(xiàn)

[1] 申利民,袁立松,李峰.基于SOA的報(bào)表服務(wù)模型設(shè)計(jì)[C]//2010年全國(guó)現(xiàn)代制造集成技術(shù)(CMIS)學(xué)術(shù)會(huì)議論文集.北京:計(jì)算機(jī)集成制造系統(tǒng)編輯部,2010:1020?1024.

[2] 岳亮,孫涌,張書奎.基于Web的報(bào)表系統(tǒng)通用開發(fā)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[C]//中國(guó)信息技術(shù)應(yīng)用學(xué)術(shù)研討會(huì)論文集.北京:中國(guó)信息產(chǎn)業(yè)商會(huì),2009:130?135.

[3] 李興勇,袁兆山,汪正海.復(fù)雜報(bào)表生成系統(tǒng)實(shí)現(xiàn)技術(shù)研究[J].計(jì)算機(jī)應(yīng)用,2007(7):1821?1824.

[4] 高鵬.基于動(dòng)態(tài)DW+Formula1技術(shù)的集成式通用報(bào)表模型研究[J].計(jì)算機(jī)應(yīng)用,2009(11):137?140.

[5] 李芝興,楊瑞龍.Java EE Web編程(Eclipse 平臺(tái))[M].北京:機(jī)械工業(yè)出版社,2008.

[6] LARSON Brian, 薛瑩,董梁.Microsoft SQL Server 2005 Reporting Services 專家教程[M].北京:清華大學(xué)出版社,2008.

猜你喜歡
元數(shù)據(jù)數(shù)據(jù)源
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
基于來源的組織機(jī)構(gòu)元數(shù)據(jù)構(gòu)建研究
元數(shù)據(jù)與社會(huì)化標(biāo)簽在微視頻搜索中的應(yīng)用
高等院校智慧校園建設(shè)規(guī)劃與實(shí)現(xiàn)
財(cái)會(huì)信息資源元數(shù)據(jù)標(biāo)準(zhǔn)的研究
基于隱語義模型和用戶信任的個(gè)性化推薦模型
02C衛(wèi)星成國(guó)土資源主體業(yè)務(wù)主力數(shù)據(jù)源
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評(píng)價(jià)算法
分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢?cè)O(shè)計(jì)與實(shí)現(xiàn)