本發(fā)明涉及大數(shù)據(jù)可視分析技術(shù)領(lǐng)域。更具體地,涉及一種可視分析方法及系統(tǒng)。
背景技術(shù):
隨著信息化應(yīng)用程度的不斷發(fā)展,現(xiàn)代的企業(yè)在生產(chǎn)經(jīng)營過程中都會遇到很多數(shù)據(jù),在項目上積累了海量數(shù)據(jù),而且數(shù)據(jù)仍在長期快速增長,這些數(shù)據(jù)已成為企業(yè)的一筆無形資產(chǎn)。如何對數(shù)據(jù)進(jìn)行合理、有效的利用,以獲得對企業(yè)發(fā)展有利的知識和指導(dǎo),是商務(wù)智能領(lǐng)域的研究熱點(diǎn),也是現(xiàn)代企業(yè)在發(fā)展過程中都要面對的難題之一。
商務(wù)智能(Business Intelligence,縮寫B(tài)I),它是一套完整的解決方案,用來將企業(yè)中現(xiàn)有的數(shù)據(jù)進(jìn)行有效的整合,快速準(zhǔn)確的提供報表并提出決策依據(jù),幫助企業(yè)做出明智的業(yè)務(wù)經(jīng)營決策。將商業(yè)智能定義為一類由數(shù)據(jù)倉庫(或數(shù)據(jù)集市)、查詢報表、數(shù)據(jù)分析、數(shù)據(jù)挖掘、數(shù)據(jù)備份和恢復(fù)等部分組成的、以幫助企業(yè)決策為目的技術(shù)及其應(yīng)用。目前,商業(yè)智能通常被理解為將企業(yè)中現(xiàn)有的數(shù)據(jù)轉(zhuǎn)化為知識,幫助企業(yè)做出明智的業(yè)務(wù)經(jīng)營決策的工具,既可以是操作層的,也可以是戰(zhàn)術(shù)層和戰(zhàn)略層的決策。為了將數(shù)據(jù)轉(zhuǎn)化為知識,需要利用數(shù)據(jù)倉庫、聯(lián)機(jī)分析處理(OLAP)工具和數(shù)據(jù)挖掘等技術(shù)。
現(xiàn)有的企業(yè)數(shù)據(jù)分析方法多采用傳統(tǒng)的商務(wù)智能分析,但是傳統(tǒng)的商務(wù)智能方法數(shù)據(jù)建模的過程從源系統(tǒng)中將源數(shù)據(jù)根據(jù)構(gòu)建完成的數(shù)據(jù)模型,抽取、轉(zhuǎn)換并裝載到數(shù)據(jù)倉庫。將數(shù)據(jù)倉庫中的星型模型數(shù)據(jù),根據(jù)需求生成OLAP Cube完成Cube構(gòu)建,供給前端分析工具展現(xiàn)。OLAP需要花費(fèi)大量的時間,并需要專業(yè)的技能來構(gòu)建Cube。一旦最終用戶希望增加、調(diào)整多維分析的要求,則必須將其需求遞交給IT人員,由IT人員從數(shù)據(jù)建模,Cube制作直至展現(xiàn),重新構(gòu)建。一個建模過程通常占整個商務(wù)智能項目的30%-50%時間,造成項目周期比較長、實施周期一般以月來估算。而且只具有傳統(tǒng)的報表格式,只能查詢結(jié)果。并且體系復(fù)雜,需要大量培訓(xùn),只有具有經(jīng)驗的IT專業(yè)人員才能實施。
此外,許多企業(yè)外部數(shù)據(jù)對企業(yè)數(shù)據(jù)分析有極大的幫助(如法院、商務(wù)部門的公開信息等),但這些數(shù)據(jù)往往格式多樣,存在處所分散,只能人工查找和分析。
綜上所述,現(xiàn)有的企業(yè)數(shù)據(jù)分析方法多為集中式數(shù)據(jù)處理方法,數(shù)據(jù)分析速度慢,無法高效解析數(shù)據(jù),另外缺少人機(jī)交互式的可視分析方法。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種可視分析方法及系統(tǒng),以解決現(xiàn)有技術(shù)中數(shù)據(jù)分析速度慢,無法高效解析數(shù)據(jù),另外缺少人機(jī)交互式的可視分析方法,能夠提高數(shù)據(jù)分析效率,實現(xiàn)人機(jī)交換。
第一方面,本發(fā)明實施例提供了一種可視分析方法,包括以下步驟:
對數(shù)據(jù)來源采集數(shù)據(jù)源;
對所述數(shù)據(jù)源進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表;
基于所述數(shù)據(jù)關(guān)聯(lián)庫表創(chuàng)建數(shù)據(jù)倉庫;
基于所述數(shù)據(jù)倉庫生成可視分析引擎;
對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,其中,
所述數(shù)據(jù)來源包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第二種可能的實施方式,其中,
基于所述數(shù)據(jù)關(guān)聯(lián)庫表創(chuàng)建數(shù)據(jù)倉庫具體包括:
對數(shù)據(jù)關(guān)聯(lián)庫表進(jìn)行數(shù)據(jù)抽取、融合,生成數(shù)據(jù)關(guān)系表;
對數(shù)據(jù)關(guān)系表進(jìn)行數(shù)據(jù)清洗,生成數(shù)據(jù)倉庫。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第三種可能的實施方式,其中,
所述數(shù)據(jù)清洗是指按特定規(guī)則去除數(shù)據(jù)關(guān)系表中的無用數(shù)據(jù),所述無用數(shù)據(jù)包括無效數(shù)據(jù)、項目外數(shù)據(jù)、冗余信息。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第四種可能的實施方式,其中,
所述輸出可視化結(jié)果,具體包括:
接收外部的信號,并輸出可視化分析結(jié)果,其中外部信號包括以下任一種:
視圖修改、信息提示、視圖切換、區(qū)域縮放。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第五種可能的實施方式,其中,
所述對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果,可視分析具體包括以下步驟:
選擇圖表、地圖、控件、組件拖拽到畫布;
數(shù)據(jù)維度拖拽到對應(yīng)圖表、地圖、控件、組件的坐標(biāo)軸進(jìn)行綁定;
添加交互設(shè)置。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第六種可能的實施方式,其中,
所述可視分析引擎包括可視化組件庫,所述可視化組件庫包括圖表庫、控件庫和地理信息系統(tǒng)。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第七種可能的實施方式,其中,
所述交互引擎包括儀表板。
本發(fā)明實施例提供了一種可視分析方法,首先通過收集方式對數(shù)據(jù)來源采集得到數(shù)據(jù)源,接著對數(shù)據(jù)源進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表,進(jìn)而對數(shù)據(jù)關(guān)聯(lián)庫表進(jìn)行數(shù)據(jù)抽取、融合、清洗,創(chuàng)建數(shù)據(jù)倉庫,然后將數(shù)據(jù)倉庫中的數(shù)據(jù)轉(zhuǎn)換,將數(shù)據(jù)統(tǒng)一化為標(biāo)準(zhǔn)數(shù)據(jù)格式,生成可視分析引擎,最后對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。
從而解決了現(xiàn)有技術(shù)中數(shù)據(jù)分析速度慢,無法高效解析數(shù)據(jù),另外缺少人機(jī)交互式的可視分析方法的問題,能夠提高數(shù)據(jù)分析效率,實現(xiàn)人機(jī)交換。
第二方面,本發(fā)明實施例提供了一種可視分析系統(tǒng),
數(shù)據(jù)采集模塊,用于對數(shù)據(jù)來源采集數(shù)據(jù)源;
數(shù)據(jù)關(guān)聯(lián)模塊,用于對所述數(shù)據(jù)源進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表;
數(shù)據(jù)建模模塊,用于基于所述數(shù)據(jù)關(guān)聯(lián)庫表創(chuàng)建數(shù)據(jù)倉庫;
數(shù)據(jù)轉(zhuǎn)換模塊,用于基于所述數(shù)據(jù)倉庫生成可視分析引擎;
可視分析模塊,用于對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第一種可能的實施方式,其中,
所述數(shù)據(jù)來源包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。
本發(fā)明實施例提供了一種可視分析系統(tǒng),包括數(shù)據(jù)采集模塊,數(shù)據(jù)關(guān)聯(lián)模塊,數(shù)據(jù)建模模塊,數(shù)據(jù)轉(zhuǎn)換模塊和可視分析模塊,實施時,數(shù)據(jù)采集模塊對數(shù)據(jù)來源采集數(shù)據(jù)源,接著數(shù)據(jù)關(guān)聯(lián)模塊對數(shù)據(jù)源進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表,隨后數(shù)據(jù)建模模塊基于數(shù)據(jù)關(guān)聯(lián)庫表進(jìn)行數(shù)據(jù)抽取、融合、清洗,創(chuàng)建數(shù)據(jù)倉庫,然后數(shù)據(jù)轉(zhuǎn)換模塊基于數(shù)據(jù)倉庫統(tǒng)一數(shù)據(jù)格式,生成可視分析引擎,最后可視分析模塊對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出本發(fā)明實施例提供的一種可視分析方法的流程圖;
圖2示出本發(fā)明實施例提供的一種可視分析方法中S110中可視分析的流程圖;
圖3示出本發(fā)明實施例提供的一種可視分析系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
實施例一
為便于對本實施例進(jìn)行理解,首先對本發(fā)明實施例所公開的一種可視分析方法進(jìn)行詳細(xì)介紹,
圖1為本發(fā)明實施例提供的一種可視分析方法的流程圖。
如圖1所示,該可視分析方法包括以下步驟:
S102:對數(shù)據(jù)來源采集數(shù)據(jù)源。
具體的,對數(shù)據(jù)來源的原始數(shù)據(jù)采集數(shù)據(jù)源。需要說明的是,數(shù)據(jù)采集可以通過配置的方式實現(xiàn),原始數(shù)據(jù)包括外部數(shù)據(jù)和企業(yè)內(nèi)業(yè)務(wù)系統(tǒng)數(shù)據(jù)。
數(shù)據(jù)來源包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)是指即行數(shù)據(jù),存儲在數(shù)據(jù)庫里,可以用二維表結(jié)構(gòu)來邏輯表達(dá)實現(xiàn)的數(shù)據(jù)。相對于結(jié)構(gòu)化數(shù)據(jù)而言,不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù)即稱為非結(jié)構(gòu)化數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報表、圖像和音頻/視頻信息等等。半結(jié)構(gòu)化數(shù)據(jù)就是介于完全結(jié)構(gòu)化數(shù)據(jù)(如關(guān)系型數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫中的數(shù)據(jù))和完全無結(jié)構(gòu)的數(shù)據(jù)(如聲音、圖像文件等)之間的數(shù)據(jù),HTML文檔就屬于半結(jié)構(gòu)化數(shù)據(jù)。它一般是自描述的,數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容混在一起,沒有明顯的區(qū)分。
數(shù)據(jù)源支持結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)源的連接。對于Oracle,SQL Server,My SQL等主流數(shù)據(jù)庫采取數(shù)據(jù)接口接入的方式采集數(shù)據(jù)源。
對于Excel、CSV、JSON等文本類型文件采用數(shù)據(jù)導(dǎo)入的方式采集數(shù)據(jù)源,可以在很大程度上解決客戶多年所累積的日志、報表等文件梳理難問題。
S104:對數(shù)據(jù)源進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表。
具體的,對接入的數(shù)據(jù)庫和導(dǎo)入的數(shù)據(jù)表進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表。
數(shù)據(jù)間的關(guān)聯(lián)提供了數(shù)據(jù)庫表之間字段值的對應(yīng)規(guī)則,是連接各個數(shù)據(jù)庫表間的橋梁,有了數(shù)據(jù)庫表間的關(guān)聯(lián),各個表之間的數(shù)據(jù)才能在一個分析中得到體現(xiàn)。數(shù)據(jù)關(guān)聯(lián)控制了外鍵表數(shù)據(jù)的有效性,并在數(shù)據(jù)庫的層面體現(xiàn)了業(yè)務(wù)層的邏輯關(guān)系。數(shù)據(jù)之間的關(guān)聯(lián)是通過給當(dāng)前數(shù)據(jù)庫表建立添加主鍵表的方式來建立的,多個表間可以直接繼承數(shù)據(jù)庫已設(shè)的外鍵關(guān)系,也可以手動建立表間關(guān)系。1:N關(guān)系、N:1關(guān)系和1:1關(guān)系都可以通過數(shù)據(jù)關(guān)聯(lián)建立起關(guān)聯(lián),依據(jù)該方法建立的系統(tǒng)可以自動判斷主外鍵關(guān)系。
S106:基于數(shù)據(jù)關(guān)聯(lián)庫表創(chuàng)建數(shù)據(jù)倉庫。
具體的,對數(shù)據(jù)關(guān)聯(lián)庫表進(jìn)行數(shù)據(jù)抽取、融合,生成數(shù)據(jù)關(guān)系表;
對數(shù)據(jù)關(guān)系表進(jìn)行數(shù)據(jù)清洗,生成數(shù)據(jù)倉庫。
進(jìn)一步的是,數(shù)據(jù)清洗是指按特定規(guī)則去除數(shù)據(jù)關(guān)系表中的無用數(shù)據(jù),所述無用數(shù)據(jù)包括無效數(shù)據(jù)、項目外數(shù)據(jù)、冗余信息。
S108:基于數(shù)據(jù)倉庫生成可視分析引擎。
具體的,對數(shù)據(jù)倉庫的數(shù)據(jù)進(jìn)行格式統(tǒng)一,將非結(jié)構(gòu)化、半結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù)格式,并存儲到可視分析引擎中。
S110:對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。
具體的,可視分析引擎包括可視化組件庫,可視化組件庫包括圖表庫、控件庫和地理信息系統(tǒng)(GIS)。圖表庫支持多種圖表類型,圖表類型包括柱形圖、條形圖、折線圖、餅圖、面積圖、組合圖、儀表盤和矢量地圖,控件庫包括文本框、單選框、復(fù)選框、圖片、線條、下拉框、滑動條、下拉列表、按鈕、列表。地理信息系統(tǒng)(GIS,Geographic Information System)是一門綜合性學(xué)科,結(jié)合地理學(xué)與地圖學(xué)以及遙感和計算機(jī)科學(xué),已經(jīng)廣泛的應(yīng)用在不同的領(lǐng)域,是用于輸入、存儲、查詢、分析和顯示地理數(shù)據(jù)的計算機(jī)系統(tǒng),GIS是一種基于計算機(jī)的工具,它可以對空間信息進(jìn)行分析和處理(簡而言之,是對地球上存在的現(xiàn)象和發(fā)生的事件進(jìn)行成圖和分析)。GIS技術(shù)把地圖這種獨(dú)特的視覺化效果和地理分析功能與一般的數(shù)據(jù)庫操作(例如查詢和統(tǒng)計分析等)集成在一起。
相比傳統(tǒng)單一圖表報表的展現(xiàn)形式,為充分滿足用戶需求、完美展現(xiàn)業(yè)務(wù)數(shù)據(jù)、更加直觀美觀地體現(xiàn)出可視分析主題,可視分析引擎集圖表、控件及地理信息系統(tǒng)(GIS)于一體。利用先進(jìn)的視覺技術(shù)渲染、可定制化編輯配置、允許多組件聯(lián)動,深度切合業(yè)務(wù)數(shù)據(jù),精準(zhǔn)展現(xiàn)可視分析主題??梢暦治鲆孀鳛榭梢暬宫F(xiàn)的重要組成部分,隨著技術(shù)的發(fā)展,可視分析引擎可以不斷進(jìn)行完善擴(kuò)充,打造更多的可視化圖表和控件。
交互引擎是通過配置交互操作邏輯關(guān)聯(lián)可視分析引擎中的相關(guān)圖表、地圖、控件或組件等的可視分析主題。
需要說明的是,可視化組件庫是使用D3、WebGL封裝得到的。
1)D3:
D3是一個基于數(shù)據(jù)的操作文檔的JavaScript庫,主要用于各異的圖表的輸出,支持DIV這種圖案生成,也支持SVG這種圖案的生成。D3可以屏蔽瀏覽器差異,以簡潔的代碼做出炫酷的圖表?;跀?shù)據(jù)文檔高效操作。避免專有的表現(xiàn),同時提供良好適應(yīng)性。公開全部功能,如CSS3、HTML5和SVG網(wǎng)頁標(biāo)準(zhǔn),很少的開銷,D3速度非???。支持大數(shù)據(jù)集、動態(tài)交互和動畫效果。D3的功能設(shè)計允許代碼重用,通過集合不同的組件和插件。
2)WebGL:
WebGL是一種3D繪圖標(biāo)準(zhǔn),這種繪圖技術(shù)標(biāo)準(zhǔn)允許把JavaScript和OpenGL ES 2.0結(jié)合在一起,通過增加OpenGL ES 2.0的一個JavaScript綁定,WebGL可以為HTML5Canvas提供硬件3D加速渲染,(Canvas是HTML5中的新元素,可以使用Javascript來繪制圖形、圖標(biāo)、以及其它任何視覺性圖像。它也可用于創(chuàng)建圖片特效和動畫??梢杂胏anvas創(chuàng)建豐富的web應(yīng)用程序。用與HTML5Canvas元素你可以開發(fā)動態(tài)繪圖對象比如如可視化信息或數(shù)據(jù)圖。HTML5的Canvas元素使用JavaScript在網(wǎng)頁上繪制2D圖像。在矩形區(qū)域的畫布上,控制其每一像素,JavaScript來繪制2D圖形,逐像素進(jìn)行渲染??梢酝ㄟ^多種方法使用Canvas元素繪制路徑、矩形、圓形、字符以及添加圖像。Canvas提供的功能更原始,適合像素處理,動態(tài)渲染和大數(shù)據(jù)量繪制。)這樣Web開發(fā)人員就可以借助系統(tǒng)顯卡來在瀏覽器里更流暢地展示3D場景和模型了,還能創(chuàng)建復(fù)雜的導(dǎo)航和數(shù)據(jù)視覺化。顯然,WebGL技術(shù)標(biāo)準(zhǔn)免去了開發(fā)網(wǎng)頁專用渲染插件的麻煩,可被用于創(chuàng)建具有復(fù)雜3D結(jié)構(gòu)的網(wǎng)站頁面,甚至可以用來設(shè)計3D網(wǎng)頁游戲等等。WebGL完美地解決了現(xiàn)有的Web交互式三維動畫的兩個問題:第一,它通過HTML腳本本身實現(xiàn)Web交互式三維動畫的制作,無需任何瀏覽器插件支持;第二,它利用底層的圖形硬件加速功能進(jìn)行的圖形渲染,是通過統(tǒng)一的、標(biāo)準(zhǔn)的、跨平臺的OpenGL接口實現(xiàn)的。
作為一個優(yōu)選方案,本實施例中,對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。其中,輸出可視化結(jié)果,具體包括:
接收外部的信號,并輸出可視化分析結(jié)果,其中外部信號包括以下任一種:
視圖修改、信息提示、視圖切換、區(qū)域縮放。
視圖修改:支持圖表數(shù)據(jù)的批量修改。圖表已與數(shù)據(jù)維度的數(shù)據(jù)關(guān)聯(lián)成功,需要做一些數(shù)據(jù)上的小改動,不需要再去拖拽數(shù)據(jù)維度、圖表等操作,節(jié)省用戶操作時間。
信息提示:支持鼠標(biāo)懸浮交互時的信息提示。當(dāng)鼠標(biāo)懸浮在圖表,顯示詳細(xì)的信息,如維度名稱、時間、具體數(shù)值等。
視圖切換:圖易提供了圖表動態(tài)切換,讓用戶隨心所欲的切換到他所需要的圖表類型和堆疊狀態(tài)。
區(qū)域縮放:如果組件的數(shù)據(jù)太多,數(shù)據(jù)點(diǎn)太密,拖拽區(qū)域框縮小區(qū)域查看區(qū)域內(nèi)的詳細(xì)數(shù)據(jù)內(nèi)容,拖拽區(qū)域框放大區(qū)域查看全局?jǐn)?shù)據(jù)的瀏覽。
進(jìn)一步的是,如圖2所示,可視分析具體包括以下步驟:
S202:選擇圖表、地圖、控件、組件拖拽到畫布。
S204:數(shù)據(jù)維度拖拽到對應(yīng)圖表、地圖、控件、組件的坐標(biāo)軸進(jìn)行綁定。
具體的,數(shù)據(jù)維度是以樹狀結(jié)構(gòu)實時展現(xiàn)連接的數(shù)據(jù)維度??梢暦治鲋黝}的內(nèi)容可以根據(jù)用戶需求的差異,定制自己的數(shù)據(jù)維度及展現(xiàn)內(nèi)容,實現(xiàn)真正的個性化服務(wù),支持公式計算,數(shù)據(jù)透視等功能,新的數(shù)據(jù)維度可通過公式計算和數(shù)據(jù)透視完成。
數(shù)據(jù)維度列表所對應(yīng)的維度和度量通過公式計算可得出新的度量。需要說明的是,公式已經(jīng)預(yù)先配置完成,可以調(diào)用,具體可以參考Excel里面的公式。
數(shù)據(jù)透視包括合計、計數(shù)、平均、最大值、最小值、方差、標(biāo)準(zhǔn)差、中位數(shù)、眾數(shù)等操作。透視完成后產(chǎn)生新的數(shù)據(jù)維度,并在數(shù)據(jù)維度的列表中增加。
結(jié)合業(yè)務(wù)場景通過簡單地拖拽數(shù)據(jù)維度組合形成新的可視分析主題項目;圖表、控件、項目等資源可靈活復(fù)用;這個操作只需要幾秒鐘,快速獲取價值,無需復(fù)雜的重復(fù)性的建模工作。
S206:添加交互設(shè)置。
也就是實現(xiàn)人機(jī)交互,添加關(guān)聯(lián)、組件聯(lián)動、添加組件等一系列交互設(shè)置。
進(jìn)一步的是,交互引擎包括儀表板,儀表板包括母版、容器、多頁操作、集成工具欄。需要說明的是,交互引擎是由React和Redux搭建起來的。
1)React:
React是Facebook開發(fā)的一款JS庫,在Web開發(fā)中,我們總需要將變化的數(shù)據(jù)實時反應(yīng)到UI上,這時就需要對DOM進(jìn)行操作。而復(fù)雜或頻繁的DOM操作通常是性能瓶頸產(chǎn)生的原因(如何進(jìn)行高性能的復(fù)雜DOM操作通常是衡量一個前端開發(fā)人員技能的重要指標(biāo))。React為此引入了虛擬DOM(Virtual DOM)的機(jī)制:在瀏覽器端用Javascript實現(xiàn)了一套DOM API。基于React進(jìn)行開發(fā)時所有的DOM構(gòu)造都是通過虛擬DOM進(jìn)行,每當(dāng)數(shù)據(jù)變化時,React都會重新構(gòu)建整個DOM樹,然后React將當(dāng)前整個DOM樹和上一次的DOM樹進(jìn)行對比,得到DOM結(jié)構(gòu)的區(qū)別,然后僅僅將需要變化的部分進(jìn)行實際的瀏覽器DOM更新。而且React能夠批處理虛擬DOM的刷新,在一個事件循環(huán)(Event Loop)內(nèi)的兩次數(shù)據(jù)變化會被合并,例如你連續(xù)的先將節(jié)點(diǎn)內(nèi)容從A變成B,然后又從B變成A,React會認(rèn)為UI不發(fā)生任何變化,而如果通過手動控制,這種邏輯通常是極其復(fù)雜的。盡管每一次都需要構(gòu)造完整的虛擬DOM樹,但是因為虛擬DOM是內(nèi)存數(shù)據(jù),性能是極高的,而對實際DOM進(jìn)行操作的僅僅是Diff部分,因而能達(dá)到提高性能的目的。這樣,在保證性能的同時,開發(fā)者將不再需要關(guān)注某個數(shù)據(jù)的變化如何更新到一個或多個具體的DOM元素,而只需要關(guān)心在任意一個數(shù)據(jù)狀態(tài)下,整個界面是如何Render的,Render是指渲染。渲染是這樣一個過程,瀏覽器根據(jù)頁面的HTML代碼、CSS定義、Javascript腳本的操作,在瀏覽器上按照一定的規(guī)范顯示出相應(yīng)的內(nèi)容。舉個最簡單的例子:<b>這個是粗體顯示</b>,瀏覽器根據(jù)該代碼在瀏覽器上面顯示出粗體的文字,這個過程就叫渲染。
2)Redux:
Redux是facebook提出的flux架構(gòu)的一種優(yōu)秀實現(xiàn);而且不局限于為React提供數(shù)據(jù)狀態(tài)處理。它是零依賴的,可以配合其他任何框架或者類庫一起使用。其核心概念卻非常簡單,就是Map/Reduce中的Reduce。要想配合React,需要引入React-Redux。
本發(fā)明實施例提供的一種可視分析方法,通過對數(shù)據(jù)來源采集數(shù)據(jù)源;接著對數(shù)據(jù)源進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表;隨后基于數(shù)據(jù)關(guān)聯(lián)庫表創(chuàng)建數(shù)據(jù)倉庫;然后基于數(shù)據(jù)倉庫生成可視分析引擎;最后對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。相比現(xiàn)有技術(shù),能夠提高數(shù)據(jù)分析的運(yùn)行效率;該方法通過交互引擎向用戶輸出可視分析結(jié)果,實現(xiàn)了對數(shù)據(jù)的交互式可視分析,確保了數(shù)據(jù)分析的易用性和交互性。
實施例二
本發(fā)明實施例提供一種可視分析系統(tǒng),可用于基于大數(shù)據(jù)的數(shù)據(jù)展示。
如圖3所示,該可視分析系統(tǒng)包括數(shù)據(jù)采集模塊1、數(shù)據(jù)關(guān)聯(lián)模塊2、數(shù)據(jù)建模模塊3、數(shù)據(jù)轉(zhuǎn)換模塊4、可視分析模塊5。
數(shù)據(jù)采集模塊1用于對數(shù)據(jù)來源采集數(shù)據(jù)源。進(jìn)一步的是,數(shù)據(jù)來源包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。對于Oracle,SQL Server,My SQL等主流數(shù)據(jù)庫采取數(shù)據(jù)接口接入的方式采集數(shù)據(jù)源。
對于Excel、CSV、JSON等文本類型文件采用數(shù)據(jù)導(dǎo)入的方式采集數(shù)據(jù)源,可以在很大程度上解決客戶多年所累積的日志、報表等文件梳理難問題。
數(shù)據(jù)關(guān)聯(lián)模塊2用于對數(shù)據(jù)源進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表。具體的,對接入的數(shù)據(jù)庫和導(dǎo)入的數(shù)據(jù)表進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表。數(shù)據(jù)間的關(guān)聯(lián)提供了數(shù)據(jù)庫表之間字段值的對應(yīng)規(guī)則,是連接各個數(shù)據(jù)庫表間的橋梁,有了數(shù)據(jù)庫表間的關(guān)聯(lián),各個表之間的數(shù)據(jù)才能在一個分析中得到體現(xiàn)。數(shù)據(jù)關(guān)聯(lián)控制了外鍵表數(shù)據(jù)的有效性,并在數(shù)據(jù)庫的層面體現(xiàn)了業(yè)務(wù)層的邏輯關(guān)系。數(shù)據(jù)之間的關(guān)聯(lián)是通過給當(dāng)前數(shù)據(jù)庫表建立添加主鍵表的方式來建立的,多個表間可以直接繼承數(shù)據(jù)庫已設(shè)的外鍵關(guān)系,也可以手動建立表間關(guān)系。1:N關(guān)系、N:1關(guān)系和1:1關(guān)系都可以通過數(shù)據(jù)關(guān)聯(lián)建立起關(guān)聯(lián),系統(tǒng)會自動判斷主外鍵關(guān)系。
數(shù)據(jù)建模模塊3用于基于數(shù)據(jù)關(guān)聯(lián)庫表創(chuàng)建數(shù)據(jù)倉庫。具體的,數(shù)據(jù)建模模塊3首先對數(shù)據(jù)關(guān)聯(lián)庫表進(jìn)行數(shù)據(jù)抽取、融合,生成數(shù)據(jù)關(guān)系表,從數(shù)據(jù)庫表中直接抽取細(xì)節(jié)數(shù)據(jù),細(xì)節(jié)數(shù)據(jù)包括維度、度量(指標(biāo))。需要說明的是,任何字段都可以作為維度和度量(指標(biāo)),并可以靈活組合融合在一起。
然后對數(shù)據(jù)關(guān)系表進(jìn)行數(shù)據(jù)清洗,生成數(shù)據(jù)倉庫。具體的,數(shù)據(jù)清洗數(shù)據(jù)清洗是指按特定規(guī)則去除數(shù)據(jù)關(guān)系表中的無用數(shù)據(jù),所述無用數(shù)據(jù)包括無效數(shù)據(jù)、項目外數(shù)據(jù)、冗余信息。
數(shù)據(jù)轉(zhuǎn)換模塊4用于基于數(shù)據(jù)倉庫生成可視分析引擎。具體的,對數(shù)據(jù)倉庫的數(shù)據(jù)進(jìn)行格式統(tǒng)一,將非結(jié)構(gòu)化、半結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù)格式,并存儲到可視分析引擎中。也就是說,可視分析引擎已經(jīng)定義好對應(yīng)的數(shù)據(jù)格式。
可視分析模塊5用于對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。具體的,可視分析引擎包括可視化組件庫,可視化組件庫包括圖表庫、控件庫和地理信息系統(tǒng)(GIS)。需要說明的是,可視分析引擎包括兩部分,一是把已完成項目中的圖表內(nèi)容放到資源庫中,二是有豐富的資源庫來支撐項目的快速開發(fā)。圖表庫支持多種圖表類型,圖表類型包括柱形圖、條形圖、折線圖、餅圖、面積圖、組合圖、儀表盤和矢量地圖,控件庫包括文本框、單選框、復(fù)選框、圖片、線條、下拉框、滑動條、下拉列表、按鈕、列表。地理信息系統(tǒng)(GIS,Geographic Information System)是一門綜合性學(xué)科,結(jié)合地理學(xué)與地圖學(xué)以及遙感和計算機(jī)科學(xué),已經(jīng)廣泛的應(yīng)用在不同的領(lǐng)域,是用于輸入、存儲、查詢、分析和顯示地理數(shù)據(jù)的計算機(jī)系統(tǒng),GIS是一種基于計算機(jī)的工具,它可以對空間信息進(jìn)行分析和處理(簡而言之,是對地球上存在的現(xiàn)象和發(fā)生的事件進(jìn)行成圖和分析)。GIS技術(shù)把地圖這種獨(dú)特的視覺化效果和地理分析功能與一般的數(shù)據(jù)庫操作(例如查詢和統(tǒng)計分析等)集成在一起。
需要說明的是,可視化組件庫是使用D3、WebGL封裝得到的。
作為一個更優(yōu)選的方案,本實施例中,可視分析模塊5對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。其中,輸出可視化結(jié)果,具體包括:
接收外部的信號,并輸出可視化分析結(jié)果,其中外部信號包括以下任一種:
視圖修改、信息提示、視圖切換、區(qū)域縮放。
視圖修改:支持圖表數(shù)據(jù)的批量修改。圖表已與數(shù)據(jù)維度的數(shù)據(jù)關(guān)聯(lián)成功,需要做一些數(shù)據(jù)上的小改動,不需要再去拖拽數(shù)據(jù)維度、圖表等操作,節(jié)省用戶操作時間。
信息提示:支持鼠標(biāo)懸浮交互時的信息提示。當(dāng)鼠標(biāo)懸浮在圖表,顯示詳細(xì)的信息,如維度名稱、時間、具體數(shù)值等。
視圖切換:圖易提供了圖表動態(tài)切換,讓用戶隨心所欲的切換到他所需要的圖表類型和堆疊狀態(tài)。
區(qū)域縮放:如果組件的數(shù)據(jù)太多,數(shù)據(jù)點(diǎn)太密,拖拽區(qū)域框縮小區(qū)域查看區(qū)域內(nèi)的詳細(xì)數(shù)據(jù)內(nèi)容,拖拽區(qū)域框放大區(qū)域查看全局?jǐn)?shù)據(jù)的瀏覽。
進(jìn)一步的是,交互引擎包括儀表板,儀表板包括母版、容器、多頁操作、集成工具欄。優(yōu)選的是,在儀表板中,開放資源復(fù)用功能,針對因需求變更、持續(xù)更新迭代而無法復(fù)用業(yè)務(wù)模型的問題,解決了數(shù)據(jù)組件復(fù)用的問題,當(dāng)用戶需要再次分析或在已分析完成的數(shù)據(jù)基礎(chǔ)上進(jìn)行新的分析,即可將保存于文檔中的項目進(jìn)行復(fù)用。將復(fù)用率提升至70%,迅速推動項目落地。傳統(tǒng)的后臺開發(fā)可能需要1個月時間來開發(fā)完成一個項目。該系統(tǒng)可以通過配置來實現(xiàn)可能需要不到半個月的時候來完成,并且所完成項目的結(jié)果還能復(fù)用到以后有相同需求的項目中去。縮短了項目開發(fā)周期,降低了開發(fā)成本。
儀表板操作簡潔,結(jié)合業(yè)務(wù)場景通過簡單地拖拽數(shù)據(jù)維度組合形成新的可視分析主題項目;圖表、控件、項目等資源可靈活復(fù)用;這個操作只需要幾秒鐘,快速獲取價值,無需復(fù)雜的重復(fù)性的建模工作。無需專業(yè)技術(shù)技能、通過短時少量培訓(xùn)用戶即可使用,極大的縮短實施周期,大幅度提高效率,推動用戶精準(zhǔn)決策,為用創(chuàng)造巨大價值。
需要說明的是,交互引擎是由React和Redux搭建起來的。
進(jìn)一步的是,可視分析模塊5進(jìn)行可視分析具體包括以下步驟:
首先選擇圖表、地圖、控件、組件拖拽到畫布,然后將數(shù)據(jù)維度拖拽到對應(yīng)圖表、地圖、控件、組件的坐標(biāo)軸進(jìn)行綁定,最后添加交互設(shè)置。
本發(fā)明實施例提供的一種可視分析系統(tǒng),包括數(shù)據(jù)采集模塊,用于對數(shù)據(jù)來源采集數(shù)據(jù)源;數(shù)據(jù)關(guān)聯(lián)模塊,用于對數(shù)據(jù)源進(jìn)行數(shù)據(jù)關(guān)聯(lián),生成數(shù)據(jù)關(guān)聯(lián)庫表;數(shù)據(jù)建模模塊,用于基于數(shù)據(jù)關(guān)聯(lián)庫表創(chuàng)建數(shù)據(jù)倉庫;數(shù)據(jù)轉(zhuǎn)換模塊,用于基于數(shù)據(jù)倉庫生成可視分析引擎;可視分析模塊,用于對可視分析引擎進(jìn)行可視分析,通過交互引擎,輸出可視化結(jié)果。通過關(guān)聯(lián)數(shù)據(jù),能夠提高數(shù)據(jù)分析效率,同時具有易操作的交互引擎的可視分析主題,可視化呈現(xiàn)數(shù)據(jù)分析結(jié)果,幫助企業(yè)發(fā)現(xiàn)規(guī)律,做出有效的決策。該系統(tǒng)通過在可視化開發(fā)流程的每個節(jié)點(diǎn)(數(shù)據(jù)采集、數(shù)據(jù)關(guān)聯(lián)、數(shù)據(jù)建模、數(shù)據(jù)轉(zhuǎn)換、可視分析)都可通過配置的方式來完成項目的開發(fā)。且對用戶的要求也會低很多:用戶可以自己通過配置的方式來完成修改。解決了傳統(tǒng)的項目開發(fā)通過后臺開發(fā)來實現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)建模等造成的時間長、需要專業(yè)人員操作、不夠高效的問題。
顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定,對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動,這里無法對所有的實施方式予以窮舉,凡是屬于本發(fā)明的技術(shù)方案所引伸出的顯而易見的變化或變動仍處于本發(fā)明的保護(hù)范圍之列。