揭祕宜信財富年度賬單的技術實現

宜信技術學院發表於2020-01-03

一、背景

年底很多移動產品都會推出自己的年度賬單,每年都會引起大眾媒體的關注。今年有幸參與了宜信財富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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章