蘇浩偉 鄧志 程世勇 何子登 杜星


摘要:本文在分析國內(nèi)外研究的基礎(chǔ)上,針對一卡通IC卡的特點(diǎn),結(jié)合現(xiàn)狀以及未來發(fā)展的需要,介紹一卡通大數(shù)據(jù)平臺的系統(tǒng)的結(jié)構(gòu)、系統(tǒng)功能等,研究了一卡通大數(shù)據(jù)平臺的設(shè)計與實(shí)現(xiàn)過程。
關(guān)鍵詞:大數(shù)據(jù);公交出行;用戶畫像;數(shù)據(jù)分析
中圖分類號:TP311.13 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)09-0047-02
0 引言
隨著社會經(jīng)濟(jì)和城鎮(zhèn)化快速發(fā)展,人們對于公共交通出行的需求日益強(qiáng)烈,當(dāng)前主要的公共出行工具以公交、地鐵為主,近幾年隨著共享經(jīng)濟(jì)的發(fā)展,如滴滴一類的共享汽車,摩拜、ofo一類的共享單車也成為人們出行的選擇。現(xiàn)在公共交通追求的不僅僅只是出行,同時對于出行方式的安全性、可靠性、便捷性、舒適性也有了更多需求。公共交通離不開公交支付,隨著移動支付的流行,公交支付也逐漸從傳統(tǒng)的實(shí)體卡轉(zhuǎn)向移動支付,移動支付解決了傳統(tǒng)卡的押金、充值、掛失、退卡的痛點(diǎn),實(shí)體卡運(yùn)營提升、產(chǎn)品優(yōu)化也成為當(dāng)前亟待解決的問題。為了提升實(shí)體一卡通的運(yùn)營,各通卡公司根據(jù)自身業(yè)務(wù)特點(diǎn)建立了相應(yīng)數(shù)據(jù)分析系統(tǒng),期望通過管理優(yōu)化,從而進(jìn)一步提升服務(wù)質(zhì)量。目前通卡公司的各個系統(tǒng)中保存著客戶、卡片、賬戶及交易等信息,這些信息在各類系統(tǒng)中都相互獨(dú)立,為了更加有效的、合理的利用這些數(shù)據(jù),急需把各個系統(tǒng)中存在的客戶、卡片、賬戶及交易信息進(jìn)行關(guān)聯(lián)分析。
1 背景與現(xiàn)狀
一卡通大數(shù)據(jù)平臺通過收集公交路線地理信息、公交站點(diǎn)地理信息、支付站點(diǎn)地理信息以及支付交易信息,統(tǒng)計出的公交路線交易量、公交站點(diǎn)交易量及公交企業(yè)交易量,生成相應(yīng)的報表,為企業(yè)運(yùn)營決策、公交調(diào)度提供有力的支持。
近幾年,互聯(lián)網(wǎng)發(fā)展迅速,隨之而來也帶來數(shù)據(jù)的爆發(fā),當(dāng)下各個行業(yè)對于數(shù)據(jù)的挖掘與分析都極為重視,合理的利用數(shù)據(jù)對于行業(yè)有著極大積極的推動作用。自公交一卡通應(yīng)用以來,為了支撐一卡通的運(yùn)營,通卡公司根據(jù)各類業(yè)務(wù)建立相關(guān)系統(tǒng),各類系統(tǒng)中保存著客戶、卡片、賬戶及交易等信息,這些信息在各業(yè)務(wù)系統(tǒng)中都相互獨(dú)立,關(guān)聯(lián)性差、可利用率低。隨著近兩年移動支付的興起,移動支付方式很好的解決了實(shí)體卡押金、充值、丟卡、退卡等痛點(diǎn),傳統(tǒng)的公交實(shí)體卡受到一定程度的沖擊,需要尋求合理的運(yùn)營方式、優(yōu)化產(chǎn)品。當(dāng)前數(shù)據(jù)來源豐富、量大,但是分散、關(guān)聯(lián)性差使得這些數(shù)據(jù)無法得到合理利用,無法產(chǎn)生充分的價值[1-3]。
2 平臺設(shè)計
平臺技術(shù)架構(gòu)圖1所示,平臺以Spark技術(shù)為框架,開發(fā)一卡通大數(shù)據(jù)平臺,數(shù)據(jù)存儲在大數(shù)據(jù)集群的分布式文件系統(tǒng)中。使用Hadoop、 Kettle、Sqoop、Kafka、Hive、Redis等技術(shù),對使用一卡通、二維碼的各種用戶行為進(jìn)行用戶畫像,利用分析的數(shù)據(jù),為公司運(yùn)營、企業(yè)經(jīng)營、政府和行業(yè)管理、用戶個性化服務(wù)提供服務(wù)。通過數(shù)據(jù)支撐,達(dá)到優(yōu)化產(chǎn)品和服務(wù),優(yōu)化資源分配。
Lambda架構(gòu)是一種可以實(shí)時處理海量高并發(fā)數(shù)據(jù)的架構(gòu),其主要思想是將傳統(tǒng)的大數(shù)據(jù)系統(tǒng)架構(gòu)分為批處理層(batch layer)實(shí)時處理層(speed layer)和服務(wù)層(serving layer)三個層次,然后分別對這三個層次進(jìn)行操作支持高速流式處理和海量批量處理,以便緩解數(shù)據(jù)庫的讀寫壓力和隔離實(shí)時數(shù)據(jù)處理的復(fù)雜性,故采用Lambda架構(gòu)作為計算框架,真正做到海量數(shù)據(jù)的實(shí)時分析挖掘和實(shí)時應(yīng)用,集成了社區(qū)版本的Spark和Hadoop兩種計算框架,以及HDFS、Hbase、MySQL、Redis、kafka數(shù)據(jù)存儲服務(wù)。
3 詳細(xì)架構(gòu)設(shè)計
我們將整個大數(shù)據(jù)平臺分為七層結(jié)構(gòu),從下往上依次為:(1)數(shù)據(jù)源層:是平臺的數(shù)據(jù)來源,包括各類卡片交易數(shù)據(jù),卡片發(fā)卡數(shù)據(jù),各類系統(tǒng)中用戶的信息數(shù)據(jù),商戶信息等等。(2)接口層:負(fù)責(zé)將數(shù)據(jù)源的數(shù)據(jù)抽取進(jìn)入存儲層,接口層同步完成數(shù)據(jù)的篩選、清洗等工作。(3)存儲層:存儲層存儲平臺的各類數(shù)據(jù)。通過分布式存儲模式將海量數(shù)據(jù)以高效的方式進(jìn)行存儲、使用。(4)計算層:完成對數(shù)據(jù)的整合,分析,統(tǒng)計。(5)引擎層:通過對計算層提供的數(shù)據(jù)進(jìn)行處理,提供各類決策應(yīng)用數(shù)據(jù)。(6)數(shù)據(jù)服務(wù)層:提供規(guī)范統(tǒng)一的數(shù)據(jù)使用環(huán)境,提供對外統(tǒng)一的數(shù)據(jù)服務(wù)。(7)應(yīng)用層:提供可視化的展示,一般以網(wǎng)頁形式實(shí)現(xiàn)輸出。
4 平臺邏輯架構(gòu)設(shè)計
一卡通大數(shù)據(jù)平臺在邏輯上分為三層,分別為數(shù)據(jù)處理層、數(shù)據(jù)服務(wù)層、數(shù)據(jù)應(yīng)用層。(1)數(shù)據(jù)處理層:該層主要是對通卡公司各個系統(tǒng)數(shù)據(jù)進(jìn)行清洗、整合處理,以保證后續(xù)數(shù)據(jù)使用的數(shù)據(jù)精準(zhǔn)性。(2)數(shù)據(jù)服務(wù)層:針對不用業(yè)務(wù)需求,獲取適宜的業(yè)務(wù)標(biāo)簽,從已處理清洗的數(shù)據(jù)中分析、提取標(biāo)簽需求。(3)數(shù)據(jù)應(yīng)用層:數(shù)據(jù)平臺整合了多個系統(tǒng)的數(shù)據(jù),可應(yīng)對多業(yè)務(wù)場景,通卡公司各大應(yīng)用皆可在一卡通大數(shù)據(jù)平臺針對自己的業(yè)務(wù)提取數(shù)據(jù)以及進(jìn)行數(shù)據(jù)接口的開發(fā)。
5 平臺相關(guān)系統(tǒng)網(wǎng)絡(luò)拓?fù)?/p>
大數(shù)據(jù)平臺數(shù)據(jù)來源主要有清算系統(tǒng)、各業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫以及互聯(lián)網(wǎng)公共數(shù)據(jù),平臺相關(guān)系統(tǒng)網(wǎng)絡(luò)拓?fù)淙鐖D2所示。
6 系統(tǒng)功能
(1)數(shù)據(jù)抽取接口。使用Kettle定時從各個業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫中抽取相關(guān)業(yè)務(wù)數(shù)據(jù)(個人信息、卡片信息、賬戶信息等等),并把數(shù)據(jù)匯聚到關(guān)系數(shù)據(jù)庫表中。利用Sqoop從關(guān)系數(shù)據(jù)庫表中把已匯聚的業(yè)務(wù)數(shù)據(jù)推送到大數(shù)據(jù)環(huán)境下的分布式文件系統(tǒng)(HDFS)。(2)數(shù)據(jù)清洗接口。在大數(shù)據(jù)環(huán)境下進(jìn)行源數(shù)據(jù)的去重、過濾篩選并把篩選后的結(jié)果數(shù)據(jù)保存到大數(shù)據(jù)平臺。(3)數(shù)據(jù)整合接口。進(jìn)行清洗后的數(shù)據(jù)屬于孤立的單元源數(shù)據(jù),通過對象關(guān)系模型對各個孤立的單元數(shù)據(jù)進(jìn)行整合,以使它們建立起關(guān)聯(lián)關(guān)系。對于已存在的單元數(shù)據(jù)或者關(guān)聯(lián)數(shù)據(jù)隨著時間的推移,數(shù)據(jù)狀態(tài)或者關(guān)聯(lián)關(guān)系有所改變,通過對新的單元源數(shù)據(jù)進(jìn)行綜合判斷來更新現(xiàn)存的數(shù)據(jù)信息。(4)集群性能監(jiān)控模塊。平臺通過專門的監(jiān)控服務(wù)Ganglia對集群的狀態(tài)進(jìn)行監(jiān)控,Ganglia主要的目的是對集群有效的監(jiān)控。平臺使用Ganglia對集群的狀態(tài)進(jìn)行監(jiān)控,包括服務(wù)器CPU、內(nèi)存、網(wǎng)絡(luò)和磁盤的利用率和健康狀態(tài),以及分布式應(yīng)用系統(tǒng)的狀態(tài),并在故障發(fā)生或者某項指標(biāo)超過預(yù)設(shè)閥值時提供告警功能。(5)平臺任務(wù)調(diào)度模塊。平臺采用Azkaban作為任務(wù)調(diào)度器,操作簡單,可直接在Web界面進(jìn)行所有操作,可進(jìn)行定時任務(wù)調(diào)度,以及任務(wù)順序執(zhí)行配置。(6)數(shù)據(jù)展示。用戶畫像主題,通過對一卡通用戶類別、年齡、消費(fèi)習(xí)慣、優(yōu)惠情況、出行軌跡、活躍商圈等特征進(jìn)行數(shù)據(jù)挖掘分析,形成一整套可視化的用戶大數(shù)據(jù)平臺。
參考文獻(xiàn)
[1] 羅琛峰,郭淑娟.大數(shù)據(jù)在公共交通方面的應(yīng)用[J].山西建筑,2017(23):35-36.
[2] 韓嫣.Lambda架構(gòu)在處理海量高并發(fā)數(shù)據(jù)中的應(yīng)用[J].現(xiàn)代電視技術(shù),2016(12):70-72.
[3] 曹東航.基于Ganglia的云平臺監(jiān)控的研究與實(shí)現(xiàn)[D].電子科技大學(xué),2016.
Abstract:Based on the analysis of the domestic and foreign research, according to the characteristics of IC card, combined with the current situation and future development needs, this paper introduces the system structure and system functions of the big card data platform, and studies the design and implementation process of the big card data platform.
Key words:big data; bus travel; user portrait; data analysis