主頁 > 軟體設計 > 問界低代碼平臺架構設計及業務實踐

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

2023-07-04 08:40:29 軟體設計

 

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://www.cnblogs.com/88223100/p/Low-code-platform-architecture-design-and-business-practice.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/556558.html

標籤:架構設計

上一篇:讀發布!設計與部署穩定的分布式系統(第2版)筆記17_中間件、背壓和調速器

下一篇:返回列表

標籤雲
其他(162047) Python(38266) JavaScript(25520) Java(18286) C(15238) 區塊鏈(8275) C#(7972) AI(7469) 爪哇(7425) MySQL(7281) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5876) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4609) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2438) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) HtmlCss(1986) .NET技术(1985) 功能(1967) Web開發(1951) C++(1942) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1882) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 問界低代碼平臺架構設計及業務實踐

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

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

    uj5u.com 2023-07-04 08:40:29 more
  • 讀發布!設計與部署穩定的分布式系統(第2版)筆記17_中間件、背壓和調

    ![](https://img2023.cnblogs.com/blog/3076680/202306/3076680-20230628121233652-2011697937.png) # 1. 完全的解耦 ## 1.1. 各臺服務器、層級和應用程式解耦得越徹底,集成點、層疊失效、回應緩慢和執行緒阻 ......

    uj5u.com 2023-07-03 08:13:22 more
  • 讀發布!設計與部署穩定的分布式系統(第2版)筆記17_中間件、背壓和調

    ![](https://img2023.cnblogs.com/blog/3076680/202306/3076680-20230628121233652-2011697937.png) # 1. 完全的解耦 ## 1.1. 各臺服務器、層級和應用程式解耦得越徹底,集成點、層疊失效、回應緩慢和執行緒阻 ......

    uj5u.com 2023-07-03 08:07:42 more
  • 說說設計模式~管道模式(pipeline)

    [回到目錄](https://www.cnblogs.com/lori/p/3896484.html) # 說明 復合的責任鏈,類似于管道模式,只要符合條件,說會向下傳遞,不會終止 # 演算法說明 * 按最高優先級去使用,符合就用,不符合就走下一個策略 * 具體鏈條,有點像pipeline管道模式 * ......

    uj5u.com 2023-07-01 08:47:21 more
  • 第一次操盤大促,穩定性保障如何做到萬無一失?

    業界有很多大促活動,像618、雙11、雙12等等。每一次大促不只是給業務帶來了新高,對于技術同樣也有很重要的意義,縱觀一些優秀的技術團隊,都是跟著業務一起成長的。在高并發大流量的背景下,如何支撐好業務運營,是一件很有挑戰性的事情,它可以從多方面檢驗我們的技術能力,對我們的系統架構和應急保障都提出了很... ......

    uj5u.com 2023-07-01 08:47:04 more
  • 說說設計模式~管道模式(pipeline)

    [回到目錄](https://www.cnblogs.com/lori/p/3896484.html) # 說明 復合的責任鏈,類似于管道模式,只要符合條件,說會向下傳遞,不會終止 # 演算法說明 * 按最高優先級去使用,符合就用,不符合就走下一個策略 * 具體鏈條,有點像pipeline管道模式 * ......

    uj5u.com 2023-07-01 08:46:42 more
  • 第一次操盤大促,穩定性保障如何做到萬無一失?

    業界有很多大促活動,像618、雙11、雙12等等。每一次大促不只是給業務帶來了新高,對于技術同樣也有很重要的意義,縱觀一些優秀的技術團隊,都是跟著業務一起成長的。在高并發大流量的背景下,如何支撐好業務運營,是一件很有挑戰性的事情,它可以從多方面檢驗我們的技術能力,對我們的系統架構和應急保障都提出了很... ......

    uj5u.com 2023-07-01 08:46:09 more
  • 讀發布!設計與部署穩定的分布式系統(第2版)筆記16_握手和考驗機

    ![](https://img2023.cnblogs.com/blog/3076680/202306/3076680-20230628115834099-2000661347.png) # 1. 握手 ## 1.1. 發送方和接收方之間的信號傳遞程序 ## 1.2. 模擬調制解調器使用一種握手形式 ......

    uj5u.com 2023-06-30 08:31:23 more
  • 教你如何用Vue3搭配Spring Framework

    摘要:在本文中,我們將介紹如何使用Vue3和Spring Framework進行開發,并創建一個簡單的TodoList應用程式。 本文分享自華為云社區《Vue3搭配Spring Framework開發【Vue3應用程式實戰】》,作者:黎燃。 一、介紹 Vue3和Spring Framework都是現 ......

    uj5u.com 2023-06-30 08:31:18 more
  • 讀發布!設計與部署穩定的分布式系統(第2版)筆記16_握手和考驗機

    ![](https://img2023.cnblogs.com/blog/3076680/202306/3076680-20230628115834099-2000661347.png) # 1. 握手 ## 1.1. 發送方和接收方之間的信號傳遞程序 ## 1.2. 模擬調制解調器使用一種握手形式 ......

    uj5u.com 2023-06-30 08:30:46 more