揭祕宜信財富年度賬單的技術實現
一、背景
年底很多移動產品都會推出自己的年度賬單,每年都會引起大眾媒體的關注。今年有幸參與了宜信財富APP年度賬單的開發,本文將帶大家探索宜信財富年度賬單背後的技術架構和研發邏輯,希望可以給大家帶來一些思路上的啟發。
二、前端整體架構和執行流程
宜信財富年度賬單前端架構所採用的技術棧包括:
- 前端頁面是用H5製作;
- 資料載入進度百分比,技術用到swiper外掛和一些CSS3動效;
- 海報生成用到了canvas圖片合成,把海報背景和二維碼合二為一。
- 為了完成MGM的追蹤,在二維碼中嵌入M1資訊。
三、資料來源和資料處理
本次年度賬單涉及客戶維度、銷售維度、客戶標籤等資料,其中客戶維度包括活動參與、文章、視訊瀏覽等資料。這部分資料的整合來源於資料中臺的主題資料。以下是資料中臺的架構圖:
- ODS:資料來源層,存放從業務系統抽取過來的資料,業務系統中的原始資料經過抽取、洗淨、傳輸裝入本層。這層資料接近原始資料,卻不等同原始資料,資料裝入的時候進行了去重、去噪、表命名、欄位命名等一系列規範操作。
- DW:資料倉儲層,該層是資料倉儲的主體,將ODS層的資料按照主題建立資料模型,是為企業所有級別的決策制定過程,提供所有型別資料支援的戰略集合,是一個包含所有主題的通用的集合。
- DM:資料集市層,是以某個業務應用為出發點而生成的欄位比較的寬表,用於提供後續的業務查詢、OLAP分析、資料分發等,該層資料主要由輕度彙總層和明細層資料計算生成。
在資料中臺的架構上,我們建立了“以客戶為中心”的標籤體系。該套標籤體系按照人口屬性、價值指標、地理指標、心理指標等幾大類對資料進行分層管理,標籤的加工方式主要來源於DW和DM層資料的輕量彙總或者衍生加工,以及部分模型生成的產品預測等標籤。這套標籤體系支援360度客戶畫像以及分析關鍵接觸點,提供基於跨渠道全流客戶體驗優化和關鍵觸點優化。
本次賬單的資料主要來源於業務操作、使用者管理等源系統資料,這些資料被結構化地儲存在資料庫叢集中,且都已接入資料中臺,並按照定時任務或者實時資料落入對應主題域。賬單資料通過其相應主題資料加工而成,前端通過介面API訪問資料。
賬單需求裡的“銷售評價訊息實時推送”和“賬單傳播簡訊傳送”都是通過智慧運營系統支援的,該系統是集運營活動建立、執行、管理、反饋、迭代為一體的自動化平臺,能夠通過使用者屬性、標籤、計劃、操作等資料篩選客群,實現目標的精準觸達,提升關鍵指標和運營效率。
下面是智慧運營系統建立運營計劃流程圖:
- 銷售評價訊息實時推送:該功能依賴wormhole實時平臺將資料落到資料庫,然後在智慧運營系統裡配置資料,最終通過訊息中心和極光將訊息推送到產品終端。
- 賬單傳播簡訊傳送:按照業務規則篩選符合條件的客群,在智慧運營系統裡配置簡訊模板等內容,然後呼叫notify通過簡訊平臺將簡訊傳送給客戶。
四、技術後臺
使用者資料來源於宜信財富平臺本身資料,包含:基礎資訊、瀏覽資訊、參與活動等多項資料,如何保證資料準確、高效地傳達到前端是後端開發所必須保障的。資產平臺採用了spring+jersery+oracle+redis+jetCache的技術架構,為了提升使用者體驗度,加快響應時間,資料儲存上該專案採用了快取、非關聯式資料庫和傳統關聯式資料庫靈活結合的方式,更好地提供資料支撐。
在對接年度賬單需求時,我們也著重考慮了介面響應時間。年度賬單使用者資料包括使用者活動資料及運算元據兩張表,其中運算元據是一個重量級表格,為了減少資料庫的IO操作,採用了兩種方式來減少IO時間:
- 根據資料組提供的標籤,儘量減少訪問資產資料表的機率;
- 利用java8的Stream的新特性,將複雜的SQL邏輯放進程式碼中進行處理。
Stream 不是集合元素,它不是資料結構並不儲存資料,它是有關演算法和計算的,更像一個高階版本的 Iterator。
此外Stream還提供了並行技術,在不關注集合內部資料順序的時候,可以採用並行Stream拆解任務來加速處理過程。例如在做統計,需要將子產品進行彙總,或其他操作時。
如果將複雜的程式碼邏輯直接用SQL來實現,程式碼會非常冗長,執行效率也不高。程式碼的邏輯是使用並行流Stream,根據型別對相關資料進行分類彙總,並且根據本次需求的業務場景將某一子類劃分到另一個類別下。
使用Stream並行流代替SQL邏輯可以加速執行效率,減少響應時間。感興趣的同學如果想了解Stream的更多特性,可以參考技術文件。Stream的應用能夠讓程式碼邏輯更加清晰,提高速度。
五、總結
此專案是由多個團隊共同協作完成,本文對年度賬單需求做了一次技術層面的梳理,由於時間比較匆忙,內容不太詳細,希望可以給大家帶來一些開發思路,也希望使用者可以真切感受到我們的用心。
來源:宜信財富管理技術團隊
作者:米志華、孫李強、李力、趙全超
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69918724/viewspace-2671773/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 做好技術的量的累積,實現業績的質的飛躍|專訪宜信財富技術負責人劉寶劍
- 非官方統計2018微信年度賬單實現
- 宜信智慧監控平臺建設實踐|宜信技術沙龍
- PingCode 技術架構揭祕GC架構
- 降低30%視訊位元速率,窄帶高清技術實現揭祕
- 宜信OCR技術探索與實踐|直播速記
- 宜信資料中臺全揭祕(一)資料中臺整體介紹|分享實錄
- Taro 技術揭祕:taro-cli
- PingCode Flow技術架構揭祕GC架構
- VMware的雲原生應用技術揭祕
- 如何通過微信開發實現財富自由
- Taro 技術揭祕之taro-cli
- 遊戲反外掛技術揭祕遊戲
- 揭祕.NET Core剪裁器背後的技術
- 宜信OCR技術探索之版面分析業務實踐|技術沙龍直播速記
- Spring Boot 揭祕與實戰(七) 實用技術篇 – FreeMarker 模板引擎Spring Boot
- 東方財富:2019年度最佳分析師榜單
- 財務關賬流程與IT技術工作
- 揭開JS無埋點技術的神祕面紗JS
- 揭祕有狀態服務上 Kubernetes 的核心技術
- 揭開DRF序列化技術的神祕面紗
- 揭祕:宜信科技中心如何支援公司史上最大規模全員遠端辦公|上篇
- 低程式碼快速實現簡單的財務收款記賬功能
- 首次揭祕!阿里無人店系統背後的技術阿里
- 對話式互動技術原理及流程揭祕
- 宜信支付結算賬戶系統淺析
- 揭祕美圖影像實驗室MTlab的10000點人臉關鍵點技術
- 宜信技術學院上榜「2019中國技術品牌影響力企業榜」
- 快照是什麼?揭祕儲存快照的實現
- 建議將技術債務為科技財富 - incrementREM
- 劍指Kubernetes 揭祕騰訊雲的PaaS技術選型策略
- OPPO雲資料庫訪問服務技術揭祕資料庫
- Linux I/O 原理和 Zero-copy 技術全面揭祕Linux
- 【智慧物流】談筆1000億的生意:揭祕菜鳥全球智慧倉配技術實踐
- 位元組跳動資料平臺技術揭祕:基於 ClickHouse 的複雜查詢實現與優化優化
- 螞蟻金服核心技術:百億特徵實時推薦演算法揭祕特徵演算法
- 查詢賬單功能的實現
- 微信掃碼登入的技術實現思考