姚仁毅
業(yè)務人員銷售中最期盼的是什么?是初次成功約見客戶?或是與客戶相談甚歡?抑或是順利簽下合同?……或許這些都因人而異,但一個共有的時刻肯定是看到系統(tǒng)提示收費成功的那一瞬間。在互聯(lián)網(wǎng)+的今天,移動實時支付在互聯(lián)網(wǎng)業(yè)務中的重要作用顯而易見,阿里、騰訊、京東等網(wǎng)絡大咖都有自己的支付業(yè)務。
實時支付在保險行業(yè)的廣泛應用,讓用戶享受到了更加便捷的服務。市場上存在眾多的第三方支付通道、第四方支付通道,保險公司與其合作需要結合很多方面,比如成本管理、性能選擇和大額支持等。保險公司數(shù)字平臺實時支付服務的用途之一就是駕馭各個支付通道,無需人工干預,系統(tǒng)自適應、自選擇最佳的支付通道并應用到匹配的業(yè)務場景。
天安人壽的實時支付服務基于松耦合架構,采用云計算、大數(shù)據(jù)、人工智能技術,為天安人壽十多個系統(tǒng)提供實時支付服務。上線一年多以來,滿足了財務部門渠道對接、金額限制等多方面的管理需求,在常態(tài)的銷售節(jié)點高峰期,可輕松應對千萬點擊量,擁有強悍的服務性能和穩(wěn)定性。
云計算,高度靈活可擴展性與強大的SAAS服務
保險產(chǎn)品在一年中的不同階段會有不同的銷售需求,銷售的波峰與波谷對系統(tǒng)負載能力的要求相差巨大。云服務器的高彈性和高可用性在處理能力最大滿足業(yè)務需要的同時使硬件成本降低。
天安人壽實時支付服務的服務器部署在云計算平臺,根據(jù)不同時期的業(yè)務需要,隨時對服務器配置進行橫向或縱向調(diào)整。橫向上,10分鐘之內(nèi)可以從 1臺單節(jié)點擴展到100臺規(guī)模的集群,包括負載均衡、緩存、數(shù)據(jù)庫在內(nèi)的服務器;縱向上,單節(jié)點停機升級CPU和內(nèi)存,只需5分鐘;增加和削減資源是雙向?qū)ΨQ的,當業(yè)務高峰消失時,可以同樣快速地將配置降低到所需的程度。實時支付服務在硬件投入上可以定時定量匹配業(yè)務銷售需求,盡可能減少資源浪費或產(chǎn)生瓶頸。
接入SaaS,互聯(lián)網(wǎng)技術與保險行業(yè)深度融合
支付服務發(fā)生在交易環(huán)節(jié)中、上游業(yè)務系統(tǒng)、下游財務系統(tǒng)和銀行端,支付過程場景復雜,變化多端,對系統(tǒng)事務處理能力要求較高。處理高并發(fā)復雜事務的基本原則是:大事務 = 小事務 + 異步。以一個轉(zhuǎn)賬的場景為例來說明這個問題:Bob向Smith轉(zhuǎn)賬100元,同步需要11ms,異步處理不超過2ms,兩種方式用時差距顯而易見,并且在異步處理中,很重要的一個環(huán)節(jié)是異步消息的傳送(消息隊列)。
天安人壽實時支付服務的架構采用典型的分布式多層架構。處理高并發(fā)復雜事務的關鍵是:合理地將業(yè)務的一個大事務拆分為若干個異步的小事務,實現(xiàn)子系統(tǒng)間的分工合作。這樣在業(yè)務高峰期,系統(tǒng)可以較短時間內(nèi)迅速吃進海量支付請求,而不對服務器造成巨大壓力。
在這個環(huán)節(jié),天安人壽借助了RocketMQ消息隊列中間件,使系統(tǒng)妥善且高效處理了前后兩端的異步交互。RocketMQ具備“海量消息堆積”特性,即單個Topic可堆積100億+條消息,防止系統(tǒng)高流量崩潰。架構設計過程中,需要著重解決業(yè)務如何與云服務進行深度融合,在哪個業(yè)務點進行結合,以及如何進行事務拆分,才能在消息隊列引入時達到最佳處理性能等諸多問題,實施過程中包含了大量事務分析以及測試驗證。
進行事務拆分后,雖然訪問量仍然很大,但每一部分處理都不再需要進行復雜的計算,經(jīng)過負載均衡和簡潔的前端邏輯驗證后,數(shù)據(jù)將被迅速發(fā)往消息隊列中排隊等待后端處理,這樣實時支付形成了一種“輕計算,高I/O”特點的處理方式。
大數(shù)據(jù)分析
喚醒沉眠的海量支付數(shù)據(jù)
實時支付服務通過QuickBI實現(xiàn)大數(shù)據(jù)分析,為用戶提供渠道豐富的信息分析與統(tǒng)計,實時支付的記錄中包含用戶所購買產(chǎn)品的渠道、金額、所用銀行卡歸屬、銀聯(lián)機構類別等主要的特征變量。
支付系統(tǒng)通過云端的SaaS服務對自身產(chǎn)生的海量數(shù)據(jù)進行分析,借助云端大數(shù)據(jù)服務特點:接入簡單,使用成本低,查詢高效等快速進行操作長生結果。分析結果不但可以幫助渠道用戶了解客戶的支付習慣和理財習慣,還可以幫助財務部門對使用哪條支付渠道更便捷、成本更低廉進行自動決策。大數(shù)據(jù)分析功能的加入使支付平臺擺脫傳統(tǒng)對接轉(zhuǎn)換類型系統(tǒng)的單一形象,擁有了炫酷多彩的前端展示方式,操作人員只需配置好數(shù)據(jù)源和查詢維度,以及用哪種報表和圖表進行展示,就可以將一個高效絢麗的數(shù)據(jù)平臺與自身系統(tǒng)無縫銜接。
人工智能,初步實現(xiàn)系統(tǒng)主動替人做事愿景
在設計實現(xiàn)支付服務預警功能時,結合了人工智能的設計思想,雖然只是最初級的機器學習方式,但卻是向AI這一熱門領域邁出的重要一步。
監(jiān)控主要針對兩部分,一是系統(tǒng)異常,二是支付失敗。
對于系統(tǒng)異常,采用的是掃描系統(tǒng)日志的方式,首先選取了LogStash作為日志采集和分析的工具,LogStash會收集集群服務器中各個節(jié)點所產(chǎn)生的日志,并加工成所需內(nèi)容,再利用AOP設計模式實時監(jiān)聽日志中出現(xiàn)的Java運行異常。
例如在當前策略中,出現(xiàn)對方網(wǎng)絡中斷,日志會報出ConnectException異常的堆棧信息,系統(tǒng)實時掃描到此信息,立即以短信的形式通知運維人員采取行動。
對于業(yè)務數(shù)據(jù)的異常,主要通過掃描日志與數(shù)據(jù)庫相結合的方式。在監(jiān)控內(nèi)容上,給預警管理器設定了一些主要的監(jiān)控字段,最主要的幾個比如銀聯(lián)返回時間與請求時間的差、銀聯(lián)、支付結果、前端系統(tǒng)回調(diào)狀態(tài),再在這些主要字段基礎上加入可配置的判定條件,比如請求銀聯(lián)10分鐘以內(nèi)未收到反饋信息,被設定為一類警告,請求某個具體銀聯(lián)10分鐘以上沒返回的,被設定為另一類警告(銀聯(lián)的處理時間會有差別),以此建立起最初的預警模型。
系統(tǒng)平臺還為預警模塊設立了專門的學習資料庫,每次發(fā)出的預警都會被記錄,類似快照功能。運維人員可以對每次的預警記錄設定效果等級,預警模塊會自動定期讀取這些評定,在給定范圍內(nèi)自行對預警條件進行微調(diào),完善預警模型。這樣隨著時間的增加,模型和學習數(shù)據(jù)庫都將逐步完善,即使增加新的監(jiān)控條件,預警模塊也可以借助已有模型來迅速優(yōu)化預警條件。預警是由查詢分析功能來實現(xiàn),預警模塊另一個重要組件是處理策略。系統(tǒng)不但可以發(fā)出通知,還可以根據(jù)模型和策略自行處理一些業(yè)務上的異常情況。例如,發(fā)現(xiàn)某銀聯(lián)在一段時間內(nèi),連續(xù)多筆業(yè)務返回金額超限,系統(tǒng)會自動停止請求該銀聯(lián),將業(yè)務切換到其它可以使用的銀聯(lián)通道。
當下,云計算的使用不再是簡單的接入,自身業(yè)務的分析與云的結合才是金融單位信息技術部門今后需要長期探索的方向。機器學習的算法大多比較復雜,天安人壽雖然目前在系統(tǒng)中加入這個功能旨在勇于嘗試,技術團隊還在繼續(xù)研究和完善,但經(jīng)過更深入的探索和學習后平臺系統(tǒng)必將有更大進步?!绑w量小,性能強,技術新”,互聯(lián)網(wǎng)技術應用的強大優(yōu)勢注定其將越來越有效促進和支撐整個行業(yè)甚至社會的進步與發(fā)展。