樊東霞
(中國福利彩票發(fā)行管理中心數(shù)據(jù)管理部,北京 100101)
目前福彩系統(tǒng)的信息化建設(shè),多以各省具體的信息化需求為出發(fā)點(diǎn)開展工作,即開票、電腦票銷售系統(tǒng)均由各省福彩中心自行建設(shè),導(dǎo)致原始數(shù)據(jù)缺乏統(tǒng)一的技術(shù)標(biāo)準(zhǔn)與數(shù)據(jù)標(biāo)準(zhǔn)規(guī)范,中國福利彩票發(fā)行管理中心(以下簡稱“中福彩中心”)對原始數(shù)據(jù)的實(shí)時收集與處理存在困難,無法對業(yè)務(wù)開展的事中風(fēng)險進(jìn)行排查與管控,在營銷宣傳、渠道管理、數(shù)據(jù)管理與應(yīng)用管理等方面存在一定制約,對系統(tǒng)整體的架構(gòu)規(guī)劃、架構(gòu)管控方面存在不足,因此亟需站在系統(tǒng)全局視角,整合中福彩中心層面和各省市中心層面的信息化需求,加強(qiáng)數(shù)據(jù)統(tǒng)籌管理。
福彩銷售大數(shù)據(jù)平臺基于大數(shù)據(jù)技術(shù)設(shè)計與開發(fā),為整合各省銷售數(shù)據(jù)資源,打造集數(shù)據(jù)接入、數(shù)據(jù)處理、數(shù)據(jù)存儲、監(jiān)測管理、BI 報表和可視化平臺于一體的大數(shù)據(jù)平臺,著力提升信息化管理與服務(wù)能力,實(shí)現(xiàn)數(shù)據(jù)要素價值的充分發(fā)揮。
隨著計算機(jī)技術(shù)全面融入社會生活,移動互聯(lián)、電子商務(wù)平臺、社交媒體和物聯(lián)網(wǎng)技術(shù)正在不斷改變?nèi)藗兊纳罘绞?,其?shù)據(jù)量與對傳輸速率的要求超過了傳統(tǒng)數(shù)據(jù)庫的處理能力,數(shù)據(jù)的爆發(fā)式增長與社會屬性是大數(shù)據(jù)概念及相關(guān)技術(shù)應(yīng)運(yùn)而生的本質(zhì)原因,維克托·邁爾-舍恩伯格[1]將大數(shù)據(jù)定義為不用隨機(jī)分析法這樣的捷徑,而采用所有數(shù)據(jù)的方法。大數(shù)據(jù)也可用5V 特征概括,主要包括Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)和Veracity(真實(shí)性)。
1)Volume:數(shù)據(jù)量的超大規(guī)模與數(shù)據(jù)的高速增長。
2)Velocity:對海量數(shù)據(jù)的快速處理。
3)Variety:數(shù)據(jù)格式多樣化,既包括結(jié)構(gòu)化數(shù)據(jù),也包括語音、圖片和視頻等非結(jié)構(gòu)化數(shù)據(jù)。
4)Value:數(shù)據(jù)的低密度價值,數(shù)據(jù)存在大量不相關(guān)信息,需要通過技術(shù)手段挖掘其中的有用信息。
5)Veracity:數(shù)據(jù)的準(zhǔn)確性,即數(shù)據(jù)質(zhì)量。
大數(shù)據(jù)技術(shù)主要包括數(shù)據(jù)收集、數(shù)據(jù)存儲、數(shù)據(jù)計算和大數(shù)據(jù)分析與應(yīng)用,如圖1 所示。
圖1 大數(shù)據(jù)技術(shù)結(jié)構(gòu)圖
數(shù)據(jù)收集是大數(shù)據(jù)的基礎(chǔ),數(shù)據(jù)只有經(jīng)過了數(shù)據(jù)收集才能歸并,以供后續(xù)進(jìn)一步處理。數(shù)據(jù)源根據(jù)不同的類型和應(yīng)用場景,可分為關(guān)系及非關(guān)系型數(shù)據(jù)庫、應(yīng)用的日志信息、消息型數(shù)據(jù)和多媒體文檔等,不同類型的數(shù)據(jù)需要采用不同的數(shù)據(jù)收集技術(shù)框架。常見的數(shù)據(jù)收集技術(shù)框架包括Kafka、Flume、Logstash、FileBeat和Sqoop 等。
目前傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已不能適應(yīng)結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化海量數(shù)據(jù)的存儲及計算要求,選用何種數(shù)據(jù)庫一般會根據(jù)數(shù)據(jù)的類型及使用場景選擇一種或多種的大數(shù)據(jù)存儲方式。如分布式文件/對象數(shù)據(jù)庫可采用HDFS,分布式關(guān)系數(shù)據(jù)庫可采用TiDB、DRDS 等,文檔數(shù)據(jù)庫可采用MongoDb、CouchDB 等,圖數(shù)據(jù)庫可采用Neo4J、OrientDB 等。大數(shù)據(jù)存儲有時也配搭傳統(tǒng)關(guān)系數(shù)據(jù)庫作為輔助,如存儲索引、統(tǒng)計結(jié)果等。
大數(shù)據(jù)計算常用框架主要包含批處理框架、流處理框架。批處理是先存儲后處理,而流處理是直接處理[2]。Hadoop 是應(yīng)用較為廣泛的批處理框架,其包含分布式文件存儲數(shù)據(jù)庫HDFS 和計算框架MapReduce,HDFS 為海量數(shù)據(jù)提供了存儲,MapReduce 對海量的數(shù)據(jù)進(jìn)行計算。流處理框架以Storm 為代表,無須存儲,只要數(shù)據(jù)源處于活動狀態(tài),數(shù)據(jù)就會持續(xù)生成,并以流的形式在各工作節(jié)點(diǎn)的內(nèi)存中進(jìn)行計算[3],此外還有Spark、Flink 等混合計算框架。
大數(shù)據(jù)技術(shù)的應(yīng)用場景很廣泛,常見的如各種統(tǒng)計分析報表、BI 報表、客戶畫像、信息推送和定制化服務(wù)等,目前在金融行業(yè)、醫(yī)療行業(yè)、零售行業(yè)、互聯(lián)網(wǎng)和電信行業(yè)等各領(lǐng)域均有涉及。
銷售大數(shù)據(jù)平臺整體分為3 層,即數(shù)據(jù)資源層、數(shù)據(jù)平臺層和數(shù)據(jù)應(yīng)用層。數(shù)據(jù)流向如圖2 所示,數(shù)據(jù)資源層數(shù)據(jù)通過數(shù)據(jù)接收平臺流向數(shù)據(jù)平臺層,數(shù)據(jù)平臺層接收并存儲數(shù)據(jù)資源層數(shù)據(jù),并通過數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換和挖掘分析,為數(shù)據(jù)應(yīng)用層提供數(shù)據(jù)服務(wù),數(shù)據(jù)應(yīng)用層提供數(shù)據(jù)引擎進(jìn)行并展示各種統(tǒng)計數(shù)據(jù),同時對業(yè)務(wù)進(jìn)行實(shí)時監(jiān)控與風(fēng)險控制。
圖2 數(shù)據(jù)平臺總體架構(gòu)
2.1.1 數(shù)據(jù)資源層
數(shù)據(jù)資源層主要包括各省中心上傳的即開票銷售數(shù)據(jù)、即開票倉儲物流數(shù)據(jù)、電腦票銷售數(shù)據(jù)、棄獎數(shù)據(jù)、兌獎數(shù)據(jù)和渠道數(shù)據(jù)等,也包括各省中心應(yīng)用服務(wù)數(shù)據(jù)、容災(zāi)備份等其他數(shù)據(jù)。
2.1.2 數(shù)據(jù)平臺層
數(shù)據(jù)平臺層包含數(shù)據(jù)接收平臺、ETL 服務(wù)、數(shù)據(jù)存儲平臺和管理控制單元等,將數(shù)據(jù)資源進(jìn)行接收、存儲與加工整合。
數(shù)據(jù)平臺層提供數(shù)據(jù)接收服務(wù),對各省市報送的數(shù)據(jù)進(jìn)行接收,并將接收到的數(shù)據(jù)存儲到數(shù)據(jù)存儲平臺。
數(shù)據(jù)平臺層提供數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)清洗服務(wù),對接收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗,根據(jù)數(shù)據(jù)流水號檢測數(shù)據(jù)報送過程中遺漏的數(shù)據(jù),將結(jié)果反饋給省中心進(jìn)行數(shù)據(jù)補(bǔ)報。
數(shù)據(jù)平臺層提供數(shù)據(jù)挖掘功能,對清洗后的數(shù)據(jù)進(jìn)行挖掘分析,將分析結(jié)果存儲到關(guān)系型數(shù)據(jù)庫Greenplum 中。
2.1.3 數(shù)據(jù)應(yīng)用層
數(shù)據(jù)應(yīng)用層提供數(shù)據(jù)查詢引擎、銷量分析引擎、游戲分析引擎、渠道分析引擎、資金分析引擎和風(fēng)險分析引擎,通過上述引擎提供實(shí)時監(jiān)控、銷量查詢分析、數(shù)據(jù)建模分析、異常監(jiān)控和業(yè)務(wù)報表查詢及生成等功能。
數(shù)據(jù)接收平臺(圖3)為各省中心提供統(tǒng)一的數(shù)據(jù)報送接口,各省按照協(xié)議中規(guī)定的格式通過數(shù)據(jù)接收平臺報送各類數(shù)據(jù)。接收平臺提供數(shù)據(jù)轉(zhuǎn)換服務(wù)對報送的數(shù)據(jù)格式進(jìn)行實(shí)時格式校驗,保證報送數(shù)據(jù)能夠進(jìn)行正常轉(zhuǎn)換,轉(zhuǎn)換正確的數(shù)據(jù)被寫入到數(shù)據(jù)存儲平臺的消息隊列Kafka 中,Kafka 是一個分布式、支持分區(qū)的、多副本的和基于Zookeeper 協(xié)調(diào)的分布式高速消息傳遞系統(tǒng)[4],Kafka 集群作為消息中間件,對大量寫入的交易數(shù)據(jù)進(jìn)行緩存。接收平臺通過Spark Streaming消費(fèi)Kafka 集群中指定的Topic 來獲取業(yè)務(wù)數(shù)據(jù)并進(jìn)行實(shí)時計算,包括對數(shù)據(jù)進(jìn)行一致性校驗,對校驗后的數(shù)據(jù)進(jìn)行指標(biāo)計算、數(shù)據(jù)建模等,將計算后的結(jié)果存儲到數(shù)據(jù)庫中。接收平臺同時將格式錯誤的數(shù)據(jù)流水號保存至數(shù)據(jù)庫中,省中心可以通過查詢異常流水號,對錯誤的數(shù)據(jù)進(jìn)行補(bǔ)傳,保證數(shù)據(jù)的一致性。
圖3 數(shù)據(jù)接收平臺
Spark Streaming 是構(gòu)建在Spark 上的實(shí)時計算框架,擴(kuò)展了Spark 處理大規(guī)模流式數(shù)據(jù)的能力,Spark Streaming 可結(jié)合批處理和交互查詢,足以勝任除高頻實(shí)時交易以外的其他流式準(zhǔn)實(shí)時計算場景。Spark Streaming 構(gòu)建在Spark 之上,一方面是因為Spark 的低延遲執(zhí)行引擎(100 ms 左右)可以用于實(shí)時計算,另一方面,彈性分布式數(shù)據(jù)集(RDD)更容易做高效的容錯處理。此外,Spark Streaming 采用的小批量處理方式使得其可以同時兼容批量和實(shí)時數(shù)據(jù)處理的邏輯和算法,因此,適用于需要?dú)v史數(shù)據(jù)和實(shí)時數(shù)據(jù)聯(lián)合分析的特定應(yīng)用場合。
數(shù)據(jù)接收平臺整體接口設(shè)計為RESTful,遵循統(tǒng)一接口原則,使用XML 格式進(jìn)行定義,系統(tǒng)對接簡單高效,能夠支持全國各省銷售系統(tǒng)對接。接收平臺數(shù)據(jù)轉(zhuǎn)化服務(wù)能夠從配置管理中心實(shí)時獲取最新的數(shù)據(jù)格式配置文件,在數(shù)據(jù)規(guī)范發(fā)生變更時能夠及時進(jìn)行變更,數(shù)據(jù)格式校驗具備熱更新的能力。
數(shù)據(jù)接收平臺使用LVS 技術(shù)進(jìn)行負(fù)載均衡,LVS是一個虛擬的Linux 服務(wù)器集群系統(tǒng),主要用于多個Linux 服務(wù)器的負(fù)載平衡,在Linux 內(nèi)核層級實(shí)現(xiàn)了基于IP 的數(shù)據(jù)請求負(fù)載均衡調(diào)度方案,平臺中采用該技術(shù)實(shí)現(xiàn)高并發(fā)數(shù)據(jù)的負(fù)載均衡處理,保證了平臺在高并發(fā)情況下的運(yùn)算能力,同時數(shù)據(jù)接收平臺支持動態(tài)擴(kuò)展,允許系統(tǒng)快速彈性擴(kuò)容,在高并發(fā)壓力下,實(shí)現(xiàn)秒級系統(tǒng)彈性伸縮,提升數(shù)據(jù)接收平臺整體的可擴(kuò)展性。
大數(shù)據(jù)存儲平臺提供分布式數(shù)據(jù)存儲文件系統(tǒng)、分布式數(shù)據(jù)庫、分布式計算框架及大數(shù)據(jù)挖掘程序,對海量數(shù)據(jù)進(jìn)行存儲并挖掘價值數(shù)據(jù)。
1)數(shù)據(jù)存儲平臺使用HBase 作為實(shí)時數(shù)據(jù)接收數(shù)據(jù)庫,將Spark Streaming 計算后的結(jié)果數(shù)據(jù)存儲到數(shù)據(jù)庫,實(shí)現(xiàn)實(shí)時入庫。
2)數(shù)據(jù)存儲平臺使用VMware 虛擬機(jī)集群,搭建Hadoop 大數(shù)據(jù)集群,大數(shù)據(jù)集群中使用HDFS 作為底層分布式文件存儲系統(tǒng)。
3)數(shù)據(jù)存儲平臺使用Hive 作為離線數(shù)據(jù)挖掘分析處理框架,在Hive 數(shù)據(jù)的基礎(chǔ)上,對銷售數(shù)據(jù)進(jìn)行挖掘分析。
4)數(shù)據(jù)存儲平臺使用Greenplum 數(shù)據(jù)庫作為前后端交互的分布式關(guān)系型數(shù)據(jù)庫,在Greenplum 數(shù)據(jù)庫中保存數(shù)據(jù)挖掘分析的結(jié)果數(shù)據(jù)。
5)數(shù)據(jù)存儲平臺使用Redis 作為高性能的實(shí)時數(shù)據(jù)統(tǒng)計數(shù)據(jù)庫和緩存數(shù)據(jù)庫。
大數(shù)據(jù)分析是大數(shù)據(jù)研究領(lǐng)域的核心內(nèi)容之一[5],數(shù)據(jù)分析平臺使用數(shù)據(jù)可視化框架,利用大數(shù)據(jù)技術(shù)對大數(shù)據(jù)平臺的數(shù)據(jù)進(jìn)行價值挖掘后進(jìn)行可視化展示,方便業(yè)務(wù)人員通過可視化圖表對業(yè)務(wù)中存在的問題、風(fēng)險進(jìn)行深入分析,幫助業(yè)務(wù)人員和運(yùn)行維護(hù)人員快速定位問題,數(shù)據(jù)分析平臺功能架構(gòu)圖如圖4 所示。
圖4 數(shù)據(jù)分析平臺功能架構(gòu)
銷量分析是針對彩票總體銷量的統(tǒng)計分析,包括銷量排名、同比增幅、同比增量、環(huán)比增幅、環(huán)比增量,以及彩票發(fā)展指數(shù)、人均購彩金額和人均可支配收入購彩率等。
游戲分析是指對游戲全生命周期的分析,分為電腦票游戲分析和即開票游戲分析。電腦票游戲分析針對電腦票發(fā)行、銷售、開獎、兌獎、棄獎、期管理和停銷等業(yè)務(wù)的分析,包括當(dāng)期銷售熱點(diǎn)時間、受歡迎的投注方式等指標(biāo);即開票游戲分析針對即開票發(fā)行、生產(chǎn)、倉儲物流、銷售、兌獎、棄獎和停銷等業(yè)務(wù)的分析,包括面值分布、上市時間分布等指標(biāo)。
渠道分析主要用于展示全國各省投注站數(shù)量情況、投注站逐年銷量與數(shù)量的變化趨勢、當(dāng)前站點(diǎn)經(jīng)營信息及站點(diǎn)人員信息,此外統(tǒng)計了銷量排名靠前及靠后的投注站特點(diǎn),便于業(yè)務(wù)人員對特殊站點(diǎn)進(jìn)行重點(diǎn)管理。
資金分析主要包括公益金查詢、發(fā)行費(fèi)管理、兌獎周轉(zhuǎn)金管理、一般調(diào)節(jié)基金管理和發(fā)行銷售風(fēng)險金管理等業(yè)務(wù)。
風(fēng)險分析主要用于監(jiān)管業(yè)務(wù)合規(guī)性,包括大額售彩、高頻交易、交易時間異常、銷量異常波動、出票票數(shù)異常、注銷異常、兌獎異常、站點(diǎn)營業(yè)時間異常、站點(diǎn)開設(shè)位置合規(guī)性和站點(diǎn)交易時間分布規(guī)律異常等業(yè)務(wù)風(fēng)險監(jiān)管。
自助分析是指把歸集的數(shù)據(jù)根據(jù)業(yè)務(wù)需求進(jìn)行數(shù)據(jù)的聚合,再從各個維度進(jìn)行數(shù)據(jù)分析,針對數(shù)據(jù)維度提供不同顆粒度的選擇查詢、定制、導(dǎo)出和展示等功能,自助生成可視化報表。
隨著近年來福彩銷量增加,各省中心積累了大量原始數(shù)據(jù),如何實(shí)時準(zhǔn)確歸集福彩銷售相關(guān)數(shù)據(jù)并挖掘其中的潛在價值,成為中福彩中心持續(xù)研究的一個重要方向。福彩銷售大數(shù)據(jù)平臺的建設(shè)為福利彩票的發(fā)行銷售和業(yè)務(wù)監(jiān)管提供了重要的數(shù)據(jù)支撐與決策依據(jù)。平臺綜合運(yùn)用大數(shù)據(jù)挖掘與分析技術(shù),輔助產(chǎn)品研發(fā)、渠道布局、精準(zhǔn)營銷和精細(xì)化管理,實(shí)現(xiàn)福利福彩銷售的多元化,增強(qiáng)福彩監(jiān)管力度,有助于提高福彩公信力,提升“陽光福彩”公益品牌形象,符合責(zé)任彩票體系建設(shè)要求,推動福彩數(shù)字化轉(zhuǎn)型,響應(yīng)國家數(shù)據(jù)政府、數(shù)字經(jīng)濟(jì)和數(shù)字生活建設(shè)的政策導(dǎo)向。