王鑫瑞,嚴(yán)加展,馬敏敏,羅俊洲
(中國(guó)石油新疆油田分公司數(shù)據(jù)公司,新疆 克拉瑪依 834000)
筆者對(duì)新疆油田公司以往軟件研發(fā)項(xiàng)目報(bào)表開(kāi)發(fā)情況進(jìn)行調(diào)研,發(fā)現(xiàn)已有報(bào)表功能單一,只能進(jìn)行簡(jiǎn)單報(bào)表的定制,缺乏圖表類報(bào)表,缺少可視化的數(shù)據(jù)分析功能與數(shù)據(jù)填報(bào)功能,無(wú)法快速實(shí)現(xiàn)簡(jiǎn)單數(shù)據(jù)收集,未能實(shí)現(xiàn)報(bào)表可視化、定制一體化和平臺(tái)化,這會(huì)對(duì)企業(yè)造成一定的影響,削弱企業(yè)的競(jìng)爭(zhēng)力,給項(xiàng)目和企業(yè)帶來(lái)種種不確定風(fēng)險(xiǎn),需要完善以往的報(bào)表開(kāi)發(fā)方式,實(shí)現(xiàn)報(bào)表的快速開(kāi)發(fā)和集中管理,助力企業(yè)信息化轉(zhuǎn)型升級(jí)[1]。
系統(tǒng)設(shè)計(jì)思路如圖1 所示。
圖1 系統(tǒng)設(shè)計(jì)思路
(1)數(shù)據(jù)源:能夠?qū)佣喾N數(shù)據(jù)源,直接對(duì)接業(yè)務(wù)系統(tǒng)讀取數(shù)據(jù)。如果數(shù)據(jù)沒(méi)有業(yè)務(wù)系統(tǒng)支撐,可以通過(guò)填報(bào)模塊采集數(shù)據(jù)。
(2)數(shù)據(jù)整合:主要進(jìn)行數(shù)據(jù)的預(yù)處理,在線完成數(shù)據(jù)倉(cāng)庫(kù)技術(shù)(Extract Transform Load,ETL)操作,通過(guò)表間關(guān)聯(lián),能夠建立數(shù)據(jù)模型,同時(shí)也可以支持常見(jiàn)的大數(shù)據(jù)存儲(chǔ)引擎。
(3)數(shù)據(jù)應(yīng)用:實(shí)現(xiàn)報(bào)表數(shù)據(jù)的多樣展示、交互鉆取、數(shù)據(jù)錄入及多維分析,滿足對(duì)數(shù)據(jù)的各種呈現(xiàn)需求。
(4)數(shù)據(jù)展現(xiàn):實(shí)現(xiàn)在計(jì)算機(jī)端、移動(dòng)端、大屏端等多個(gè)終端進(jìn)行自適應(yīng)展示。
(5)企業(yè)級(jí)管控:從數(shù)據(jù)源對(duì)接到數(shù)據(jù)呈現(xiàn)都具有嚴(yán)格的權(quán)限控制,保證企業(yè)的數(shù)據(jù)安全;支持系統(tǒng)集成方式以及單點(diǎn)登錄[2]。
(1)采用Java 語(yǔ)言開(kāi)發(fā),使報(bào)表平臺(tái)具有極強(qiáng)的兼容性和可擴(kuò)展性。
(2)通過(guò)Java 數(shù)據(jù)庫(kù)連接(Java DataBase Connectivity,JDBC)、Java命名和目錄接口(Java Naming and Directory Interface,JNDI)等主流驅(qū)動(dòng)對(duì)接各種類型數(shù)據(jù)庫(kù),支撐各種大數(shù)據(jù)平臺(tái)、文件數(shù)據(jù)源對(duì)接。
(3)采用后臺(tái)服務(wù)器計(jì)算、前端渲染的技術(shù),前端加載采用html 解析技術(shù),直接在Web 端查看,不依賴任何插件。
(4)支持多終端查看,可在前端頁(yè)面完成數(shù)據(jù)填報(bào)錄入、數(shù)據(jù)預(yù)處理、報(bào)表查看、可視化看板開(kāi)發(fā),支持在前端頁(yè)面直接進(jìn)行報(bào)表的打印和導(dǎo)出[3]。
3.2.1 豐富的數(shù)據(jù)源接入
支持主流的JDBC、JNDI、開(kāi)放數(shù)據(jù)庫(kù)互連(Open DataBase Connectivity,ODBC)驅(qū)動(dòng)的數(shù)據(jù)源;支持連接Hodoop、Hive、Greenplum 等大數(shù)據(jù)平臺(tái);支持調(diào)用Java 的API 程序數(shù)據(jù)集,支持Rest 接口,支持文件數(shù)據(jù),如Excel、TXT 等。
3.2.2 類Excel 的報(bào)表設(shè)計(jì)器
支持類Excel 的報(bào)表設(shè)計(jì)器,支持多人協(xié)同;支持豐富的參數(shù)查詢功能,提供多種不同類型的篩選控件;支持制作各類復(fù)雜可復(fù)用報(bào)表,支持報(bào)表樣式設(shè)計(jì);實(shí)現(xiàn)拖拽式界面設(shè)計(jì),通過(guò)簡(jiǎn)單的拖拽即可實(shí)現(xiàn)頁(yè)面的自由布局;支持報(bào)表的打印和導(dǎo)出,支持?jǐn)?shù)據(jù)查詢與過(guò)濾;支持靈活的權(quán)限配置,包括目錄權(quán)限、模板權(quán)限、數(shù)據(jù)權(quán)限。
3.2.3 完備的數(shù)據(jù)采集功能
提供數(shù)據(jù)填報(bào)功能,可以通過(guò)Web 頁(yè)面采集數(shù)據(jù);支持填報(bào)頁(yè)面中可以通過(guò)Excel 導(dǎo)入數(shù)據(jù),實(shí)現(xiàn)多表填報(bào);支持填報(bào)頁(yè)面設(shè)置嚴(yán)格的數(shù)據(jù)校驗(yàn)規(guī)則,保證采集的數(shù)據(jù)質(zhì)量;具備數(shù)據(jù)多級(jí)上報(bào)和審批功能,提供基于流程和調(diào)度引擎的數(shù)據(jù)報(bào)送功能;支持單個(gè)填報(bào)頁(yè)面數(shù)據(jù)可以存入多個(gè)不同的數(shù)據(jù)庫(kù)或者數(shù)據(jù)表中;支持填報(bào)成功、失敗頁(yè)面提示自定義設(shè)置,支持填報(bào)成功后郵件、短信等消息提醒[4]。
3.2.4 支持?jǐn)?shù)據(jù)預(yù)處理
支持自助式數(shù)據(jù)過(guò)濾、數(shù)據(jù)分析、數(shù)據(jù)挖掘;支持?jǐn)?shù)據(jù)在線處理,能夠自定義簡(jiǎn)單的數(shù)據(jù)處理流程;擁有對(duì)大數(shù)據(jù)的處理能力,提供大數(shù)據(jù)相關(guān)的數(shù)據(jù)引擎;支持?jǐn)?shù)據(jù)在線轉(zhuǎn)義、數(shù)據(jù)關(guān)聯(lián),構(gòu)建數(shù)據(jù)模型。
3.2.5 支持?jǐn)?shù)據(jù)可視化
提供豐富的圖表組件和多種圖表樣式,支持圖表組件自定義擴(kuò)展;支持?jǐn)?shù)據(jù)地圖,支持多種地圖類型及自定義地圖;支持不同的終端設(shè)備,并進(jìn)行自適應(yīng)展示;支持大屏、駕駛艙的開(kāi)發(fā)功能,可以靈活配置各種樣式的駕駛艙和大屏看板。
3.2.6 實(shí)現(xiàn)在線數(shù)據(jù)分析
支持圖與圖、圖與表的交互式分析,支持圖表聯(lián)動(dòng)和數(shù)據(jù)聯(lián)動(dòng);支持?jǐn)?shù)據(jù)聯(lián)動(dòng)、鉆取、切片、旋轉(zhuǎn)等多維分析功能;在線數(shù)據(jù)分析內(nèi)容可以導(dǎo)出為Word、Excel 等多種形式的文件;支持?jǐn)?shù)據(jù)實(shí)時(shí)刷新與異常數(shù)據(jù)提醒[5]。
本項(xiàng)目成果提供一套完整的支持?jǐn)?shù)據(jù)接入、數(shù)據(jù)預(yù)處理、數(shù)據(jù)統(tǒng)計(jì)分析、數(shù)據(jù)可視化展示的企業(yè)數(shù)據(jù)統(tǒng)計(jì)報(bào)表平臺(tái),支持各類復(fù)雜報(bào)表、數(shù)據(jù)可視化展示、數(shù)據(jù)分析、數(shù)據(jù)查詢和過(guò)濾機(jī)制;滿足PC、手機(jī)、大屏等多終端呈現(xiàn)需求并且可以自適應(yīng)展示;支持業(yè)務(wù)人員通過(guò)簡(jiǎn)單的拖拽具備數(shù)據(jù)分析的能力;形成基于報(bào)表工具的包含數(shù)據(jù)快速分析、匯總展示、數(shù)據(jù)可視化展示的開(kāi)發(fā)機(jī)制[6]。
基于報(bào)表工具提供的報(bào)表快速定制功能、數(shù)據(jù)中臺(tái)提供的數(shù)據(jù)服務(wù)接口、報(bào)表的統(tǒng)一資源定位符(Uniform Resource Locator,URL)快速集成方式,最終形成基于報(bào)表的快速開(kāi)發(fā)機(jī)制。相較于傳統(tǒng)的報(bào)表類功能界面開(kāi)發(fā),本項(xiàng)目極大縮短了開(kāi)發(fā)周期,并提高了報(bào)表功能質(zhì)量。圖2 為傳統(tǒng)方式與報(bào)表定制平臺(tái)的開(kāi)發(fā)效率對(duì)比圖。
圖2 開(kāi)發(fā)效率對(duì)比圖
利用企業(yè)數(shù)據(jù)統(tǒng)計(jì)報(bào)表平臺(tái)提供的服務(wù),業(yè)務(wù)人員可以輕松制作各種類型報(bào)表、可視化分析看板,提高工作效率,節(jié)省寶貴的時(shí)間。
本項(xiàng)目已經(jīng)在新疆油田內(nèi)部多個(gè)系統(tǒng)中使用,報(bào)表的統(tǒng)計(jì)分析、數(shù)據(jù)采集填報(bào)、數(shù)據(jù)過(guò)濾分析、數(shù)據(jù)可視化等功能模塊快速實(shí)現(xiàn)了相應(yīng)系統(tǒng)功能,使報(bào)表的開(kāi)發(fā)變得更加快捷和靈活,大大降低了系統(tǒng)開(kāi)發(fā)的人力成本。