問界低代碼平台架構設計及業務實踐

閃念基因 發佈 2024-04-28T22:32:48.782662+00:00

1.前言內因:隨著之家業務快速發展,公司內部的數位化需求越來越多,信息系統團隊每年都面對大量的需求,但研發側資源是一定的,那麼如何更快速的交付需求,越來越成為團隊重點思考解決的問題。


1.前言

內因:隨著之家業務快速發展,公司內部的數位化需求越來越多,信息系統團隊每年都面對大量的需求,但研發側資源是一定的,那麼如何更快速的交付需求,越來越成為團隊重點思考解決的問題。

外因:網際網路技術的不斷推陳出新,尤其以React,Vue為代表的前端技術框架突飛猛進,大幅降低了可視化拖拽操作的技術門檻。

行業內低代碼平台主要涉及表單,流程, 數據開發,BI工具,智慧機器人等方向。

1.前言


2.問界低代碼平台介紹

問界平台,第一期鎖定了數據方向的主題進行建設開發。具體圍繞數據分析的以下5個場景:

  • 數據建模場景:實現零代碼,可視化的拖拉拽方式數據建模;
  • 數據開發場景:實現數據抽取,清洗加工,然後輸出到目標表等功能;
  • 數據分析場景:通過BI解決多維度數據分析需求;
  • 指標及維度規則場景:實現在線的計算公式、數據核算規則的配置及後端自動化核算;
  • 數據質量監控場景:實現低代碼方式的數據監控,及既定規則的數據自動修復


3.問界平台技術架構介紹

3.1

前端框架

前端框架選型React, React提供了組件化的編程思想,特別適合中大工程採用,另外考慮移動端RN的普及,所以整體採用React來實施。

前端框架一覽表:

3.2

後端框架

後端整體的技術架構基於Spring Cloud微服務框架,依託於雲平台ASF ; 通過SkyWalking實現後端全鏈路調用鏈的監控。

3.2.後端框架

3.3

調度引擎

調度引擎選型方面,我們選擇了PowerJob開源的工作流調度引擎, 目前市面上的調度引擎主要分為兩類,定時調度,代表性的調度引擎有quartz,xxlJob等,以及以Oozie,PowerJob等為代表的工作流調度引擎,考慮到數據開發場景的大量數據依賴任務,問界平台選擇了PowerJob來負責底層的任務調度引擎,PowJob框架本身自帶流程引擎設計器。

3.4

ORM框架

採取自研的ORM框架(automis.orm),相比Mybatis半自動化ORM框架,省去大量SQL腳本的編寫, 框架底層增加大量常用的數據查詢方法,如自動加載為hash,自動格式化為交叉表等數據的查詢及匯總,小計合計的計算等。框架自動支持底層各類日誌的跟蹤分析,及數據緩存策略,如基於方法,基於腳本,基於路徑的數據緩存等。

問界低代碼平台後續將繼續表單場景的低代碼化,基於當前支持動態實體多表的自動序列化。可以有效支持基於數據模型設計的表單數據自動映射與序列化;

3.5

運行機制

3.5.運行機制


4.問界低代碼場景介紹

4.1

數據建模場景

數據建模做為數據分析的基礎,問界提供了在線ER圖的設計,並且可以在線進行數據表,維度及度量名稱等的二次修改及調整,另外支持計算欄位及分組欄位等的高階配置;

  • 計算欄位:支持聚合函數(sum/count/avg等)及計算公式(如:a+b-c*100)等的配置
  • 分組欄位:支持時間、字符、數值類型的快速分組配置(類case when)

通過以上功能,普通的數據分析師完全可以通過零代碼的方式,完成線上數據模型設計,並通過後續的BI分析模塊進行下一步的數據分析。

► 4.1.1 在線ER圖的設計

4.1.1.在線ER圖的設計


► 4.1.2 計算欄位的可視化配置

4.1.2.計算欄位的可視化配置


► 4.1.3 分組欄位的可視化配置

4.1.3.分組欄位的可視化配置


4.2

數據開發場景

所有的數據分析,離不開基礎數據的加工,只有加工清洗後的數據,才具備分析的價值。

問界平台目前已上線支持12個組件,其中4類腳本開發組件,用於在線直接數據腳本的編寫與開發,採用Monaco Editor 支持一定的SQL語法糖,支持MySQL,SqlServer, HiveSQL, StarRockcs等資料庫腳本的編寫;另外提供7類數據專項開發組件,後續還會不斷進行新增擴充組件(如:API組件、腳本組件等)。

開發模塊運行機制:

4.2.數據開發場景


4.2

數據開發場景

► 4.2.1 數據集成

採用阿里的DataX框架, 支持多種資料庫類型之間的數據抽取;

1.支持在線的源數據與目標數據列欄位的自動映射,如同行關聯,同名關聯等,以及手工拖拽式的配置;

4.2.1.數據集成-列映射


2.對接之家大數據的平台,基於大數據平台能力,實現hive,StarRocks等的能力復用;

► 4.2.2 數據清洗

數據在線清洗功能, 共提供5類組件

  • 輸入組件:負責源數據輸入的定義,支持多源數據的輸入;
  • 關聯組件:提供異構數據的在線關聯,實現數據的列擴展;
  • 合併組件:合併多個異構源的數據,實現數據的行擴展;
  • 聚合組件:實現數據匯總配置,支持多種資料庫的聚合函數;
  • 清洗組件:支持對輸入的數據再次過濾,進行數據行的處理;通過計算欄位,值替換等實現數據列的處理;
  • 輸出組件:用於將清洗後的數據,寫入目標的數據源;

效果圖:

4.2.2.數據清洗


► 4.2.3 SQL組件

  • MySQL腳本組件
  • MsSQL腳本組件
  • HiveSql腳本組件
  • StarRocks腳本組件

SQL編輯器選型對比:

具體使用效果:

4.2.3.SQL組件


► 4.2.4 輔助組件

開始組件:用來配置任務的調度策略;問界平台封裝了Cron的公共組件,可以在線快速配置Cron表達式;

效果圖:

4.2.4.輔助組件-CRON表達式設置


► 4.2.5 動態參數

同時數據開發模塊還提供了執行時動態參數替換,用於更靈活動態的執行相關組件任務,可支持全局及組件自定義參數設置。

參數名格式:${xxxx}

4.2.5.動態參數-全局參數

4.2.5.動態參數-自定義參數


4.3

指標規則場景

數據分析的需求多變,因此數據加工離不開規則的配置,問界平台提供了維度管理及指標管理實現了規則的線上化配置。

► 4.3.1 維度管理

維度管理功能提供了大量的線上口徑數據的定義,後台基於規則配置完成維度數據的核算,目前該場景已大量在銷管,業績核算等業務場景中應用。

4.3.1.維度管理


► 4.3.2 指標管理

用於指標公式的配置,提供原子指標,派生指標,衍生指標三種類型的指標庫管理。目前指標模塊已在HR組織健康度完成150+指標的管理。

實現的效果如下:

4.3.2.指標管理


4.4

數據分析場景

數據分析場景主要面向了一線的業務人員,及各個BU的數據分析師。在我們總結的數據分析場景中,一共提供以下三類場景的實現

► 4.4.1 儀錶板

儀錶板主要採用 ECharts框架, ECharts最初由百度團隊開源,並於2018年初捐贈給Apache基金會,成為ASF孵化級項目。未採用Highcharts的原因, 付費非開源不利於後續的升級。

另外我們也自研了多個場景的分析組件,如果故事線組件,交叉表及明細表組件等。

截止到當前儀錶板共提供7類23個場景的分析組件,另外提供基於路徑的鑽取分析,同環比配置,及基於明細的下鑽配置,每個數據卡片支持任意的拖拽布局,支持任何系統的行級權限配置。

4.4.1.儀錶板


►4.4.2 電子報表

電子報表我們一期實現了常用的明細表及交叉表的設計;2023年我們將繼續升級這塊,滿足所有中國式報表的分析場景,目前已完成技術框架的原型。

4.4.2 電子報表


►4.4.3 多維分析

多維分析場景主要用來實現數據的及時探查分析, 實現的效果如下圖。可以快速進行行列配置,並自動進行聚合,及各類維度的小計,總計等的配置。

底層採用自研的ORM框架,自動實現下面的複雜分析場景。

多維分析的場景效果圖:

4.4.3.多維分析


4.5

數據監控與預警

問界平台提供了在線的數據腳本巡查,並可以進行欄位級的數據預警規則配置。

提醒方式分別支持郵件、手機簡訊、釘釘消息及釘釘群群機器人消息,可以快速完成數據預警及數據播報場景的應用,同時還提供規則明確情況下的數據自動修復功能。

► 4.5.1 郵件提醒

支持郵件模板的配置,支持語法糖;異常數據內容支持以郵件附件的形式發送;

4.5.1.郵件提醒


►4.5.2 釘釘機器人提醒

支持在線配置釘釘機器人 ,可以實現各種群消息提醒, 如數據播報,值班提醒機器人等。目前我們已在財務結帳,技術值班等完成這些場景的配置。

效果如下圖:

4.5.2.釘釘機器人提醒


►4.5.3 簡訊提醒

►4.5.4 釘釘提醒

5.總結與規劃

5.1

總結

問界低代碼平台在2022年12月2日正式完成V1.0.0的發布,目前已在之家人財物事等多個業務場景中進行使用,在我們實踐的過程中,團隊自身的交付效率得到了大幅的提升。

2023年,我們將繼續夯實每個功能的細節體驗,實現基於數據模型的表單配置場景,並完成權限平台,流程中心等的功能整合,為之家提供一站式的全場景低代碼平台,賦能一線業務,也賦能我們所有的前中後台的產研團隊。

另外我們也希望與各個BU的技術團隊進行共建,共同為之家的低代碼平台建設,添磚加瓦,為技術人提效!

5.2

規劃

問界平台23年規劃:

5.2.規劃


6.結語

以問為模式 不斷的探索來達成,

以界為目標無限突圍與延展~~

創新與變革 永無止境~


作者:信息系統團隊

來源:微信公眾號:之家技術

出處:https://mp.weixin.qq.com/s/kjnwz49yYldDlbexFa7Tlg

關鍵字: