中圖分類號:TP311.1 文獻標(biāo)志碼:A 文章編號:2095-2945(2025)18-0122-04
Abstract:Basedontheexperienceof informationsystemconstruction,whetheritiscustomizedreportdevelopmentorthe procurementofmaturedataanalysissoftware,itcannotbalancetherelationshipbetwencost,technologyscalabilityndfuture demandwell.Tosolve theaboveproblems,adataanalysissystem basedon Spring CloudandAnt DesignChartshasbeen designedandimplemented,whichenablesuserstoquicklyandeficientlydevelopdataanalysisreportswhilealsoachieving advancedfunctionssuchasautomaticreport generation,reportrecommendation,and intellgent visualizationinthe future.
Keywords:Spring Cloud;Ant Design Charts; data analysis;interface;interactive
隨著我國數(shù)字經(jīng)濟進入快速發(fā)展階段以及數(shù)字經(jīng)濟時代的來臨,數(shù)據(jù)分析系統(tǒng)已經(jīng)成為了企業(yè)發(fā)展過程中不可或缺的軟件系統(tǒng)。而圖表作為數(shù)據(jù)分析系統(tǒng)中首要且必要的工具逐漸成為系統(tǒng)中最為重要和復(fù)雜的部分。本文結(jié)合企業(yè)信息化系統(tǒng)的建設(shè)經(jīng)驗介紹了一種通過在頁面上配置圖表參數(shù)完成圖表開發(fā)和報表布局的數(shù)據(jù)分析系統(tǒng)的實現(xiàn)方式。
1背景和定義
1.1背景
在企業(yè)信息化過程中數(shù)據(jù)分析系統(tǒng)一般采用定制化開發(fā)或采購數(shù)據(jù)分析軟件的方式實現(xiàn)。定制化開發(fā)的方式雖然既能解決軟件功能問題,也能滿足個性化需求,但其開發(fā)費用高昂、時間周期漫長、溝通成本巨大、維護成本高,很難適用于IT人力資源少的企業(yè);采購成熟的數(shù)據(jù)分析軟件是企業(yè)常用的數(shù)據(jù)分析系統(tǒng)實施方案,成熟數(shù)據(jù)分析軟件的豐富自有組件和集成功能簡化了應(yīng)用程序的開發(fā)流程,其以可視化開發(fā)和模塊化組件的特點,成為加速應(yīng)用開發(fā)、降低開發(fā)成本、提高開發(fā)靈活性的利器3。但成熟的軟件系統(tǒng)本身的功能限制了數(shù)據(jù)分析系統(tǒng)的上限,在系統(tǒng)運營過程中軟件系統(tǒng)的升級和系統(tǒng)兼容性的問題或帶來不可預(yù)見的問題。并且隨著技術(shù)和數(shù)據(jù)的積累,無法在成熟軟件系統(tǒng)上實現(xiàn)報表的自動生成、報表推薦、智能可視化等功能?;谝陨蠁栴}設(shè)計并實現(xiàn)了以SpringCloud和AntDesignChart為基礎(chǔ)的交互式數(shù)據(jù)分析系統(tǒng)。
1.2 定義
1.2.1 Spring Cloud
SpringCloud是一種成熟的、廣泛應(yīng)用的微服務(wù)架構(gòu)落地的一套技術(shù)棧和應(yīng)用架構(gòu),它是基于 Spring框架基礎(chǔ)上推出的一個全新的框架,旨在讓開發(fā)人員能輕松地構(gòu)建一個可獨立運行的、生產(chǎn)級別的應(yīng)用系統(tǒng)[4?;赟pringBoot內(nèi)部的自動化配置功能,開發(fā)人員可輕松、方便、快捷地創(chuàng)建一個WEB應(yīng)用。
1.2.2 交互式圖表
交互式圖表是一種通過增加交互效果來增強信息展示和數(shù)據(jù)分析的工具。它不僅展示數(shù)據(jù),還充許用戶通過鼠標(biāo)操作進行交互,如通過懸停、點擊、框選、單擊、雙擊等操作顯示圖表詳細(xì)數(shù)據(jù)或彈出二級頁面,從而獲取更深層次的數(shù)據(jù)分析和信息。
1.2.3 數(shù)據(jù)分析
通過可視化技術(shù),將復(fù)雜的數(shù)據(jù)和分析結(jié)果以直觀的圖表形式展示,輔助決策。通過折線圖、柱狀圖、餅圖等多種圖表形式,展示生產(chǎn)數(shù)據(jù)的變化趨勢和分布情況。
1.2.4 圖表元數(shù)據(jù)
元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù),它通過描述信息資源或數(shù)據(jù)本身的特征和屬性,來規(guī)定數(shù)字化信息的組織。顧名思義,圖表元數(shù)據(jù)是定義圖表的類型、屬性、數(shù)據(jù)格式等的數(shù)據(jù),數(shù)據(jù)分析系統(tǒng)根據(jù)圖表的元數(shù)據(jù)信息完成圖表的渲染。
2 實施方案
數(shù)據(jù)分析系統(tǒng)主要由接口管理模塊、數(shù)據(jù)定義模塊、圖表元數(shù)據(jù)模塊、圖表可視化配置模塊和頁面布局模塊構(gòu)成。其中接口管理模塊和數(shù)據(jù)定義模塊為系統(tǒng)提供數(shù)據(jù)服務(wù),圖表元數(shù)據(jù)模塊和圖表可視化配置模塊用于將數(shù)據(jù)渲染為單個圖表,頁面布局模塊采用行列格柵的方式將多個圖表進行排版,并形成以“卡片”為基礎(chǔ)的報表頁面。
2.1 接口模塊
接口模塊的主要目的是采用接口編碼的方式統(tǒng)一管理各類接口并根據(jù)接口編碼統(tǒng)一實現(xiàn)接口端對端的加/解密工作、權(quán)限認(rèn)證工作并記錄接口執(zhí)行日志。同時為開發(fā)者屏蔽SpringCloud框架中有關(guān)網(wǎng)關(guān)、消費者、Controller、Filter等概念,使開發(fā)人員可以專注于接口業(yè)務(wù)邏輯的開發(fā)。
2.1.1 接口編碼
接口編碼(圖1)采用15位有意義碼,是數(shù)據(jù)接口的唯一標(biāo)識。接口編碼以“BIP\"為開頭表示業(yè)務(wù)接口協(xié)議(BusinessInterfaceProtocol),其余表示接口的類型、系統(tǒng)標(biāo)識、模塊標(biāo)、是否加密、是否鑒權(quán)等。
2.1.2 功能實現(xiàn)
接口模塊主要采用注解和SpringBean的方式將接口的實現(xiàn)邏輯托管給Spring框架處理,該模塊主要由接口定義和接口調(diào)用兩部分構(gòu)成。其中接口定義由UBIP注解、IUBIPExecuteService接口、RequestService 抽象類和各個接口實現(xiàn)類構(gòu)成,主要用于實現(xiàn)接口的業(yè)務(wù)邏輯;接口調(diào)用主要由UBIPService接口、UBIPServiceImpl 類、UBIPProcessor 類 和 UBIPConfig類構(gòu)成,用于實現(xiàn)通過接口編碼調(diào)用接口的業(yè)務(wù)類。類之間的調(diào)用關(guān)系如圖2所示。
UBIP為注解定義了接口編碼并標(biāo)記了該接口編碼對應(yīng)的接口執(zhí)行類,IUBIPExecuteService接口定義了接口的必要操作,而RequestService 抽象類實現(xiàn)了該接口并定義了接口的請求報文頭和報文體,RequestService類是一個抽象模板類,其中“T\"表示報文體。用戶在實際實現(xiàn)接口時需繼承該類并使用實際的參數(shù)類替換“T”,樣例代碼如圖3所示。
句存儲到數(shù)據(jù)庫中并使用特定的接口調(diào)用執(zhí)行,該模塊主要為了方便用戶通過配置SQL語句的方式使用特定接口查詢數(shù)據(jù)。
該模塊由錄入和執(zhí)行兩部分構(gòu)成,錄人部分用于錄入預(yù)定義的SQL語句并返回SQL編碼,屬于簡單的增刪查改邏輯,在具體實現(xiàn)時注意驗證SQL語句的語法是否正確并繞過系統(tǒng)的SQL注人檢測即可。執(zhí)行部分通過調(diào)用特定接口,并通過接口參數(shù)中的SQL編碼從數(shù)據(jù)庫中查詢要執(zhí)行的SQL語句,并將預(yù)定義的SQL語句和接口中的查詢參數(shù)解析成最終要執(zhí)行的SQL語句后執(zhí)行。執(zhí)行部分的關(guān)鍵邏輯不在于調(diào)用SQL執(zhí)行,而在于對于特殊SQL語法的解析和參數(shù)替換以及驗證參數(shù)中的SQL注入的問題。
UBIPProcessor類用于在應(yīng)用啟動時識別接口編碼并將接口編碼和SpringBean存儲到UBIPConfig類中,以便在\"UBIPServiceImpl\"中調(diào)用;UBIPServiceImpl類從應(yīng)用上下文(ApplicationContext)通過\"UBIPCon-fig”中接口編碼和SpringBean的對應(yīng)關(guān)系實現(xiàn)了接口按照接口編碼分發(fā)執(zhí)行的具體邏輯。
2.2 數(shù)據(jù)定義
數(shù)據(jù)定義模塊的主要功能是將預(yù)定義的SQL語
2.3 圖表可視化配置
圖表可視化配置模塊的主要功能是使用戶可以在前端頁面上使用所見即所得的方式完成單個圖表的開發(fā)工作。該模塊將通過讀取圖表元數(shù)據(jù)將圖表參數(shù)、數(shù)據(jù)接口或SQL編碼、圖表事件響應(yīng)頁面關(guān)聯(lián)在一起形成一個帶有交互功能的數(shù)據(jù)圖表。其主要操作頁面如圖4所示。
在圖4中是一個“環(huán)圖”的配置頁面,“圖表名稱”在圖表中以標(biāo)題的方式呈現(xiàn);系統(tǒng)根據(jù)“圖表類型\"字段加載圖表的元數(shù)據(jù)并渲染,同時根據(jù)該字段加載構(gòu)成圖表的特殊參數(shù);“查詢標(biāo)識”字段標(biāo)識圖表數(shù)據(jù)的來源,用戶也可以在該字段配置以“BIP開頭的接口編碼”;“查詢參數(shù)\"字段以JSON格式的數(shù)據(jù)表示查詢接口或查詢標(biāo)識的默認(rèn)參數(shù);“元素選擇事件-圖表\"表示單擊圖表中的頁面元素可彈出另外一個圖表頁面;“元素選擇事件-表格\"表示單擊圖表中的頁面元素可彈出一個二維表格頁面;若“元素選擇事件-圖表\"和“元素選擇事件-表格”都有值,系統(tǒng)會將圖表頁面和二維表格合成一個頁面;參數(shù)轉(zhuǎn)換是在元素選擇事件中將圖表數(shù)據(jù)和頁面請求參數(shù)轉(zhuǎn)換為響應(yīng)頁面參數(shù)的數(shù)據(jù)映射關(guān)系。
完成圖表的配置后,系統(tǒng)通過\"”組件、“ ”組件、“”組件和一系列的圖表組件結(jié)合圖表元數(shù)據(jù)渲染圖表。其中“ \"組件使用圖表“id”通過接口查詢圖表的參數(shù)信息,并將參數(shù)信息傳遞給“\"組件,該組件通過參數(shù)中的“圖表類型\"字段將參數(shù)渲染成不同樣式的圖表,“”組件是圖表事件的響應(yīng)頁面,它接收圖表頁面的參數(shù)信息并彈出或滑出二級頁面用于數(shù)據(jù)的下鉆或關(guān)聯(lián)分析。以環(huán)圖為例該圖表的主要代碼如圖5所示,該部分代碼實現(xiàn)了圖表配置數(shù)據(jù)的解析、圖表元素選擇事件的參數(shù)解析和響應(yīng)圖表元素選擇事件。
2.4 頁面布局
頁面布局模塊用于將多個圖表通過行列格柵的方式形成卡片式的報表頁面。用戶在前端通過在頁面中增加行、行中拆分列、列再拆分行或添加圖表的方式,最終形成以報表頁面為根、行列為枝、圖表為葉的樹形數(shù)據(jù)結(jié)構(gòu),并通過“ \"組件將報表頁面的樹形數(shù)據(jù)結(jié)構(gòu)渲染成報表頁面,數(shù)據(jù)結(jié)構(gòu)如圖6所示。
頁面布局的主要實現(xiàn)邏輯在“ ”組件,該組件將頁面的行、列和圖表等頁面組件均作為頁面元素處理并通過遞歸調(diào)用的方式將檢索到的樹形數(shù)據(jù)結(jié)構(gòu)按照數(shù)據(jù)類型做不同的渲染。圖表渲染為“ ”組件構(gòu)成圖表,行和列繼續(xù)遞歸渲染為“”并向下執(zhí)行。
3結(jié)束語
雖然市面上有很多成熟的數(shù)據(jù)分析工具,但是對于建設(shè)信息化系統(tǒng)來說,采購成熟的軟件能夠滿足當(dāng)前數(shù)據(jù)分析的需求,但是隨著技術(shù)的發(fā)展和人工智能技術(shù)的成熟,用戶很難在數(shù)據(jù)分析工具的基礎(chǔ)上建設(shè)圖表檢索、自動生成、智能推薦和智能可視化等高階報表功能。本文通過對AntDesignChart的研究設(shè)計并實現(xiàn)了通過配置SQL或查詢接口的方式開發(fā)圖表的系統(tǒng),該系統(tǒng)能夠簡化圖表開發(fā)的工作、降低圖表開發(fā)的門檻、提高圖表開發(fā)的效率、降低系統(tǒng)實施成本;并且這種自建圖表系統(tǒng)的方式可以使用戶有能力在該系統(tǒng)的基礎(chǔ)上實現(xiàn)更深層次的數(shù)據(jù)分析工作。
參考文獻:
[1]蘇偉,國建勛,馮寬.低代碼開發(fā)平臺發(fā)展現(xiàn)狀及標(biāo)準(zhǔn)化研究[J].信息技術(shù)與標(biāo)準(zhǔn)化,2024(Z1):17-21.
[2]李雙.低代碼平臺在企業(yè)數(shù)字化轉(zhuǎn)型中的實踐探索和啟示[J].互聯(lián)網(wǎng)周刊,2024(3):46-48.
[3]汪梅.低代碼平臺在財務(wù)數(shù)智化轉(zhuǎn)型中的應(yīng)用探究[J].老字號品牌營銷,2024(14):42-44.
[4]劉汀.基于SpringBoot的微服務(wù)體系在企業(yè)信息管理系統(tǒng)中的應(yīng)用[J].信息技術(shù)與信息化,2023(5):23-26.
[5]李鵬程,盧濤.基于微服務(wù)的企業(yè)綜合管理信息系統(tǒng)(MIS)設(shè)計與實現(xiàn)[J].辦公自動化,2024,29(10):18-21.
[6]張麗偉.基于大數(shù)據(jù)分析的智能平臺在油氣生產(chǎn)中的應(yīng)用與優(yōu)化[J].信息系統(tǒng)工程,2024(11):16-19.
[7]王曉雯.基于元數(shù)據(jù)的自定義數(shù)據(jù)結(jié)構(gòu)設(shè)計與應(yīng)用[J].信息技術(shù)與信息化,2024(4):130-133.