摘" 要:隨著移動支付業(yè)務(wù)規(guī)模的持續(xù)擴(kuò)大和業(yè)務(wù)模式的不斷創(chuàng)新,產(chǎn)生的業(yè)務(wù)和運行數(shù)據(jù)變得越來越龐大和復(fù)雜。由于獨立建設(shè)的業(yè)務(wù)系統(tǒng),數(shù)據(jù)之間存在嚴(yán)重的隔離,形成數(shù)據(jù)孤島,導(dǎo)致數(shù)據(jù)無法得到有效且及時的應(yīng)用。在這種背景下,實時數(shù)據(jù)運營平臺應(yīng)運而生。這個基于實時計算和實時數(shù)倉的OLAP(聯(lián)機(jī)分析)系統(tǒng)彌補(bǔ)傳統(tǒng)大數(shù)據(jù)平臺在實時數(shù)據(jù)分析方面的不足,整合孤立的數(shù)據(jù),為業(yè)務(wù)數(shù)據(jù)和運行數(shù)據(jù)的實時聯(lián)動分析提供強(qiáng)大的功能支持,為移動支付業(yè)務(wù)的運營提供高效且智能的決策依據(jù)。此外,分層式的數(shù)倉架構(gòu)設(shè)計在確保數(shù)據(jù)查詢敏捷性的同時,為標(biāo)準(zhǔn)化的數(shù)據(jù)治理奠定基礎(chǔ)。實時數(shù)據(jù)運營平臺的應(yīng)用和推廣將成為新時代移動支付運營工作的突破性進(jìn)展,為未來一體化運營打下堅實的數(shù)據(jù)能力基礎(chǔ),推動移動支付運營工作朝著數(shù)字化、智能化的方向發(fā)展。
關(guān)鍵詞:移動支付;實時數(shù)倉;實時計算;數(shù)據(jù)架構(gòu);一體化運營
中圖分類號:TP311" " " 文獻(xiàn)標(biāo)志碼:A" " " " " 文章編號:2095-2945(2023)19-0134-04
Abstract: With the continuous growth of mobile payment business volume and the constant innovation of business models, the resulting business and operational data have become increasingly large and complex. Due to the independently constructed business systems, there are severe barriers between the data, leading to an inability to effectively and promptly apply the data. In this context, real-time data operation platforms emerge. This OLAP (online analytical processing) system, based on real-time computing and real-time data warehouses, fills the gap in real-time data analysis of traditional big data platforms. It integrates isolated data, provides powerful functional support for real-time linked analysis of business data and operational data, and offers efficient and intelligent decision-making for the operation of mobile payment businesses. In addition, the layered data warehouse architecture design ensures data query agility while laying the foundation for standardized data governance. The application and promotion of real-time data operation platforms will serve as a breakthrough in the mobile payment operation work in the new era, establishing a strong data capability foundation for future integrated operations, and driving the development of mobile payment operations towards digitization and intelligence.
Keywords: mobile payment; real-time warehouse; real-time computing; data architecture; integrated operation
移動支付行業(yè)飛速的用戶增長及業(yè)務(wù)擴(kuò)張為其帶來了市場優(yōu)勢,同時也帶來了規(guī)模龐大、復(fù)雜度高的業(yè)務(wù)數(shù)據(jù)與運行數(shù)據(jù),這是一個難以挖掘的數(shù)據(jù)寶藏。一方面,龐大的數(shù)據(jù)量意味著包含大量價值,不限于用戶體驗、用戶價值、活動推廣效果和業(yè)務(wù)運行質(zhì)量等;另一方面,業(yè)務(wù)數(shù)據(jù)與運行數(shù)據(jù)之間存在的壁壘使得這些數(shù)據(jù)無法得到有效且及時的應(yīng)用,因此亟須有效的工具與完善的架構(gòu)對此進(jìn)行數(shù)據(jù)歸集與數(shù)據(jù)治理,進(jìn)而深挖其潛在的商業(yè)價值,反哺系統(tǒng)優(yōu)化與業(yè)務(wù)發(fā)展。離線大數(shù)據(jù)有界批處理的架構(gòu)特性決定了用戶無法在短時間洞察數(shù)據(jù)并作出決策,無法做到實時分析和即時響應(yīng)。
針對現(xiàn)有離線大數(shù)據(jù)平臺的短板進(jìn)行了全方位的剖析,結(jié)合運營工作的使用場景與技術(shù)發(fā)展的趨勢,選取實時計算和實時數(shù)倉的技術(shù),設(shè)計了一套適應(yīng)移動支付行業(yè)面向C端用戶敏態(tài)業(yè)務(wù)的實時運營數(shù)據(jù)分析的系統(tǒng)。
1" 系統(tǒng)功能架構(gòu)
實時數(shù)據(jù)運營平臺系統(tǒng)是一個基于實時計算+實時數(shù)倉的OLAP(聯(lián)機(jī)分析)系統(tǒng),采用分布式計算和分布式數(shù)據(jù)存儲,所有計算節(jié)點和存儲節(jié)點均支持高可用和橫向性能擴(kuò)展,以提供高性能(PB級數(shù)據(jù)量、毫秒級響應(yīng))、一站式的數(shù)據(jù)服務(wù),最大化提升運營數(shù)據(jù)的處理效率。
實時數(shù)據(jù)運營平臺核心功能模塊分為歸集接入中心、存儲計算中心、業(yè)務(wù)場景中心、業(yè)務(wù)主題中心、數(shù)據(jù)資產(chǎn)中心、數(shù)據(jù)質(zhì)量中心和消費場景中心。系統(tǒng)功能架構(gòu)如圖1所示。
歸集接入中心:負(fù)責(zé)實時收集、整理多種數(shù)據(jù)源并且對數(shù)據(jù)進(jìn)行清洗和預(yù)處理的功能模塊。
存儲計算中心:根據(jù)不同的數(shù)據(jù)存儲要求提供分布式的存儲、備份數(shù)據(jù),以及任務(wù)調(diào)度和并行計算的功能模塊。
業(yè)務(wù)場景中心:根據(jù)移動支付業(yè)務(wù)分析過程抽象劃分?jǐn)?shù)據(jù)主題,提供基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),抽象出數(shù)據(jù)倉庫層(DW)。
業(yè)務(wù)主題中心:根據(jù)業(yè)務(wù)場景數(shù)據(jù)主題,梳理用戶使用場景抽象出數(shù)據(jù)應(yīng)用層(ADS)。
數(shù)據(jù)資產(chǎn)中心:提供元數(shù)據(jù)管理、數(shù)據(jù)血緣、數(shù)據(jù)地圖及數(shù)據(jù)安全性和合規(guī)性管控。
數(shù)據(jù)質(zhì)量中心:提供指標(biāo)規(guī)范管理、任務(wù)調(diào)用管理、模型構(gòu)建配置和監(jiān)控告警配置等數(shù)據(jù)標(biāo)準(zhǔn)體系建設(shè)。
消費場景中心:根據(jù)用戶對數(shù)據(jù)的消費場景,構(gòu)建出“實時OLAP分析”“實時監(jiān)控與告警”“市場營銷分析”等數(shù)據(jù)應(yīng)用場景。
2" 系統(tǒng)技術(shù)架構(gòu)
實時數(shù)據(jù)運營平臺采用分布式系統(tǒng)架構(gòu)設(shè)計,包括分布式應(yīng)用節(jié)點和分布式數(shù)據(jù)存儲。各應(yīng)用模塊節(jié)點均采用分布式部署,實現(xiàn)實時注冊服務(wù)、統(tǒng)一調(diào)度和管理,并且支持應(yīng)用節(jié)點動態(tài)擴(kuò)容。通過實時數(shù)據(jù)采集、存儲、計算、治理和檢測等技術(shù),實現(xiàn)復(fù)雜業(yè)務(wù)模型下的異常檢測、故障定位、數(shù)據(jù)分享和決策分析支持,并構(gòu)建一套完整的技術(shù)生態(tài)體系,提升整體的IT運營服務(wù)能力。
實時數(shù)據(jù)運營平臺根據(jù)技術(shù)架構(gòu)可以分為數(shù)據(jù)源層、 數(shù)據(jù)接入層、數(shù)據(jù)處理層、數(shù)據(jù)存儲層、數(shù)據(jù)架構(gòu)層、數(shù)據(jù)治理層、集群管理和公共服務(wù)管理層、數(shù)據(jù)消費和用戶操作層[1]。系統(tǒng)技術(shù)架構(gòu)如圖2所示。
2.1" 數(shù)據(jù)源層
實時數(shù)據(jù)運營平臺以業(yè)務(wù)為導(dǎo)向接入相關(guān)的業(yè)務(wù)數(shù)據(jù)源,包括業(yè)務(wù)數(shù)據(jù)庫源、日志數(shù)據(jù)源、NPM數(shù)據(jù)源、APM數(shù)據(jù)源、基礎(chǔ)資源監(jiān)控數(shù)據(jù)源和用戶行為數(shù)據(jù)源等各類運營分析數(shù)據(jù)。
2.2" 數(shù)據(jù)接入層
數(shù)據(jù)接入層支持多種類型的數(shù)據(jù)源歸集。業(yè)務(wù)類數(shù)據(jù)源通過讀取分布式交易系統(tǒng)產(chǎn)生的數(shù)據(jù)庫日志文件來實現(xiàn)業(yè)務(wù)增量數(shù)據(jù)的歸集,通過解析日志文件中的數(shù)據(jù)庫操作語句(Insert、Update、Delete,不包含Select),將每一次數(shù)據(jù)的新增、更新、刪除以鍵值的形式加上操作行為標(biāo)簽,發(fā)送至分布式消息隊列Kafka[2]。針對業(yè)務(wù)主鍵采用Hash的形式進(jìn)行數(shù)據(jù)分發(fā),保證同一業(yè)務(wù)主鍵的數(shù)據(jù)能按時序進(jìn)入同一消息管道,以確保下游進(jìn)行數(shù)據(jù)消費時的時序一致性,避免出現(xiàn)數(shù)據(jù)亂序。
API/RPC方式接入HTTP接口類數(shù)據(jù),分布式消息隊列Kafka接入作為消息訂閱發(fā)布中心接受其他生產(chǎn)者的數(shù)據(jù)寫入,在數(shù)據(jù)接入的過程中對數(shù)據(jù)流進(jìn)行狀態(tài)管理、流量監(jiān)控、數(shù)據(jù)規(guī)范監(jiān)控等初步的數(shù)據(jù)質(zhì)量標(biāo)準(zhǔn)檢查。
通過并行多任務(wù)的方式進(jìn)行數(shù)據(jù)歸集,達(dá)到毫秒級時延,支持高可用,支持?jǐn)帱c續(xù)傳,保障數(shù)據(jù)零丟失。平臺提供可視化交互界面,對數(shù)據(jù)庫連接信息、數(shù)據(jù)表字典、數(shù)據(jù)傳輸任務(wù)的運行狀態(tài)進(jìn)行監(jiān)控,以便用戶快速創(chuàng)建數(shù)據(jù)接入任務(wù),并實時監(jiān)測數(shù)據(jù)讀取量、數(shù)據(jù)寫入量、數(shù)據(jù)延遲等信息。
2.3" 數(shù)據(jù)處理層
使用實時流式計算引擎Flink[3]對實時接入的業(yè)務(wù)數(shù)據(jù)流進(jìn)行數(shù)據(jù)轉(zhuǎn)義、數(shù)據(jù)勾兌、數(shù)據(jù)壓縮等數(shù)據(jù)質(zhì)量標(biāo)準(zhǔn)處理,保證寫入平臺的業(yè)務(wù)數(shù)據(jù)已滿足數(shù)倉架構(gòu)各層的數(shù)據(jù)質(zhì)量規(guī)范要求。
實時數(shù)據(jù)運營平臺使用關(guān)系型數(shù)據(jù)庫MySQL存儲并管理數(shù)據(jù)處理任務(wù)的編排規(guī)則流程數(shù)據(jù)。流式數(shù)據(jù)處理環(huán)節(jié)會對業(yè)務(wù)數(shù)據(jù)和維表數(shù)據(jù)進(jìn)行寬表化或指標(biāo)化處理,其原理是基于事件驅(qū)動、時間語義、窗口粒度和計算并行度等流式處理能力將查詢時需要多表數(shù)據(jù)源進(jìn)行勾兌或轉(zhuǎn)化的過程,并使用Yarn集群管理Flink流式處理任務(wù)的資源分配與調(diào)度。
比如,通過Flink流式數(shù)據(jù)處理工具從分布式消息隊列Kafka中讀取交易和訂單明細(xì)數(shù)據(jù),雙流勾兌形成交易寬表,支持按時間序列對交易寬表流進(jìn)行滾動或滑動窗口切分,并通過疊加統(tǒng)計類算子計算形成交易指標(biāo)。
2.4" 數(shù)據(jù)存儲層
數(shù)倉元數(shù)據(jù)存儲在MySQL關(guān)系型數(shù)據(jù)庫以保障平臺的事務(wù)性操作。數(shù)倉中的業(yè)務(wù)數(shù)據(jù)存儲在ClickHouse[4]實時計算數(shù)據(jù)庫保障實時查詢能力。日志分析類數(shù)據(jù)存儲在搜索引擎數(shù)據(jù)庫以保障全文搜索能力。業(yè)務(wù)運營指標(biāo)類數(shù)據(jù)存儲在Ignite內(nèi)存數(shù)據(jù)庫應(yīng)對實時數(shù)據(jù)看板場景的高并發(fā)壓力。
2.5" 數(shù)據(jù)架構(gòu)層
數(shù)據(jù)架構(gòu)層分為數(shù)據(jù)貼源層(ODS)、數(shù)據(jù)倉庫層(DW)、數(shù)據(jù)應(yīng)用層(ADS),其中數(shù)據(jù)貼源層(ODS)是接入數(shù)據(jù)源到實時數(shù)據(jù)運營平臺后的鏡像數(shù)據(jù),當(dāng)數(shù)據(jù)倉庫層(DW)中的數(shù)據(jù)質(zhì)量或數(shù)據(jù)完整性出現(xiàn)問題時,可以回溯數(shù)據(jù)貼源層(ODS);數(shù)據(jù)應(yīng)用層(ADS)提供數(shù)據(jù)架構(gòu)中消費數(shù)據(jù)的業(yè)務(wù)場景,對數(shù)據(jù)倉庫中的業(yè)務(wù)場景數(shù)據(jù)表、業(yè)務(wù)主題數(shù)據(jù)表進(jìn)行運營指標(biāo)建模,為用戶操作層提供數(shù)據(jù)查詢服務(wù)。
2.6" 數(shù)據(jù)治理層
實時數(shù)據(jù)運營平臺通過界面化操作的方式建設(shè)數(shù)據(jù)倉庫層(DW)中各層的業(yè)務(wù)主題表,支持?jǐn)?shù)據(jù)倉庫的架構(gòu)分層、數(shù)據(jù)表名、字段規(guī)范等數(shù)據(jù)質(zhì)量標(biāo)準(zhǔn)監(jiān)測。并且通過操作審計日志記錄數(shù)據(jù)表來源,包括上游數(shù)據(jù)表及字段映射關(guān)聯(lián)和下游數(shù)據(jù)的消費場景,以形成數(shù)據(jù)倉庫中數(shù)據(jù)表的數(shù)據(jù)血緣關(guān)系。
2.7" 集群管理和公共服務(wù)管理層
實時數(shù)據(jù)平臺的組件配置信息存儲在Apollo配置管理中,實時計算數(shù)據(jù)庫ClickHouse的分布式元信息維護(hù)在Zookeeper分布式應(yīng)用協(xié)調(diào)工具,接入的數(shù)據(jù)流任務(wù)維護(hù)在Kafka分布式消息隊列,數(shù)據(jù)接入流的任務(wù)調(diào)度管理維護(hù)在Yarn資源管理及作業(yè)調(diào)度平臺,平臺自身的性能數(shù)據(jù)通過Grafana可視化工具度量分析。
2.8" 數(shù)據(jù)消費和用戶操作層
數(shù)據(jù)消費和用戶操作層體現(xiàn)了實時數(shù)據(jù)運營平臺的運營數(shù)據(jù)輸出能力,以滿足實時OLAP分析、實時業(yè)務(wù)監(jiān)控、實時指標(biāo)監(jiān)控等業(yè)務(wù)場景下的數(shù)據(jù)運營分析訴求。
3" 技術(shù)實現(xiàn)優(yōu)勢
3.1" 數(shù)據(jù)一致性處理
實時分布式數(shù)據(jù)處理的容錯機(jī)制不可避免地帶來了數(shù)據(jù)重復(fù)、數(shù)據(jù)亂序等難題。雖然ClickHouse的ReplacingMergeTree引擎可以根據(jù)RowKey機(jī)制支持更新壓縮主鍵,但數(shù)據(jù)合并會在后臺一個不確定的時間進(jìn)行,因此無法以此保障ODS層數(shù)據(jù)一致性。
實時數(shù)據(jù)運營平臺基于RowKey機(jī)制設(shè)計了貼源冷卻處理工具,在數(shù)據(jù)倉庫數(shù)據(jù)表設(shè)計的過程中通過反轉(zhuǎn)、加鹽和哈希等計算方式保證RowKey的長度原則、唯一原則、排序原則、散列原則,在增刪改查的過程中RowKey就充當(dāng)了主鍵的作用,確保唯一的標(biāo)識一行記錄,并回寫至實時計算數(shù)據(jù)庫ClickHouse;通過貼源冷卻處理工具滿足了業(yè)務(wù)數(shù)據(jù)流實時接入、實時勾兌、實時壓縮的目標(biāo),保證數(shù)據(jù)平臺支持在實時數(shù)據(jù)接入的同時去重更新過程態(tài)的業(yè)務(wù)數(shù)據(jù),從而滿足業(yè)務(wù)主題數(shù)據(jù)表的建設(shè)。敏態(tài)數(shù)據(jù)去重架構(gòu)如圖3所示。
3.2nbsp; 實時計算存儲
實時數(shù)據(jù)運營平臺采用了高吞吐量的分布式消息隊列 Kafka、流式計算引擎 Flink、實時數(shù)據(jù)存儲引擎 ClickHouse,具備低延遲、高并發(fā)、彈性擴(kuò)縮的技術(shù)特征。在移動支付運營分析領(lǐng)域具有極大優(yōu)勢。
數(shù)據(jù)寫入低延遲,同一IDC機(jī)房從業(yè)務(wù)數(shù)據(jù)庫到達(dá)數(shù)倉數(shù)據(jù)延遲在毫秒級別,數(shù)據(jù)查詢低延遲,十億級別大數(shù)據(jù)秒級響應(yīng),可以提供實時系統(tǒng)監(jiān)控、風(fēng)險預(yù)警、經(jīng)營決策服務(wù);高并發(fā)處理能力可應(yīng)對秒殺、搶購等營銷峰值數(shù)據(jù)處理;彈性擴(kuò)縮支持在不同性能場景下提升資源利用率。實時計算存儲彌補(bǔ)了傳統(tǒng)離線大數(shù)據(jù)平臺在實時數(shù)據(jù)挖掘和分析場景的短板。
3.3" 數(shù)據(jù)自助建模
實時數(shù)據(jù)運營平臺可以通過可視化界面操作的方式對元數(shù)據(jù)進(jìn)行列值管理、指標(biāo)定義、指標(biāo)維度管理,并支持時間、地域、業(yè)務(wù)渠道等多維數(shù)據(jù)關(guān)聯(lián)分析、趨勢分析,并且通過可視化圖表提升數(shù)據(jù)指標(biāo)的可解釋性。
所見即所得的探索查詢引擎、即時的數(shù)據(jù)輸出能力支撐了數(shù)據(jù)自助建模功能,從而可以通過簡單的SQL語句語言方便快速地、無阻礙地進(jìn)行聯(lián)表、關(guān)鍵字、條件語句等探索查詢,同時實現(xiàn)數(shù)據(jù)分析探查建模化、分析效果可視化。
3.4" 算法工程集成
實時數(shù)據(jù)運營平臺支持以開箱即用的方式根據(jù)不同場景的數(shù)據(jù)特征模式選擇合適的算法模型,如指標(biāo)異常監(jiān)測、動態(tài)基線模型等對時間序列類的指標(biāo)數(shù)據(jù)進(jìn)行周期性監(jiān)測。用戶可以通過不同場景的數(shù)據(jù)特征選擇對應(yīng)的算法模型進(jìn)行適配,將模型構(gòu)建、模型優(yōu)化過程工程化,提供算力、算法、數(shù)據(jù)相結(jié)合的基礎(chǔ)能力。基于靈活的算力組織、高效的數(shù)據(jù)同步、可插拔的服務(wù)應(yīng)用和工程化的數(shù)據(jù)模型讓實時數(shù)據(jù)平臺發(fā)揮出極高的數(shù)據(jù)挖掘能力。
4" 結(jié)束語
實時數(shù)據(jù)運營平臺的誕生,成功打破了應(yīng)用系統(tǒng)之間的數(shù)據(jù)壁壘,彌補(bǔ)了傳統(tǒng)大數(shù)據(jù)平臺在實時數(shù)據(jù)分析方面的短板。同時,平臺的架構(gòu)設(shè)計也為未來的運營工作提供了更多的想象空間。其出現(xiàn)與發(fā)展將作為一體化運營建設(shè)的有力支撐,持續(xù)賦能自動化、數(shù)字化、智能化的運營體系建設(shè),引領(lǐng)移動支付行業(yè)運營工作的風(fēng)向。該平臺的應(yīng)用與推廣將激起更多行業(yè)內(nèi)對于數(shù)據(jù)應(yīng)用可能性的想象,吸引更多的人才投入到技術(shù)的研發(fā)與數(shù)據(jù)的挖掘中來,充分利用數(shù)據(jù)輔助重大決策,支持風(fēng)險管控、價值實現(xiàn)和服務(wù)創(chuàng)新,幫助移動支付業(yè)務(wù)保持競爭優(yōu)勢。
參考文獻(xiàn):
[1] INMON W H. Data architecture: a primer for the data scientist: big data, data warehouse and data vault[M]. Morgan Kaufmann Publishers Inc. ,2014.
[2] NARKHEDE N," PALINO T," SHAPIRA G. Kafka: The definitive guide[M].O’Reilly Media, Inc., Sebastopol, 2017.
[3] METZGER R. Stream Processing with Apache Flink[M].O'Reilly Media, Inc.,2017.
[4] 朱凱.Clickhouse原理解析與應(yīng)用實踐[M].北京:機(jī)械工業(yè)出版社,2020.
作者簡介:王丹丹(1988-),女,工程碩士,工程師。研究方向為大數(shù)據(jù)運營。