楊豪杰,李 云,張玉忠
(中國電信股份有限公司廣東研究院 廣州 510630)
號碼百事通電子商務數據中心研究及實施
楊豪杰,李 云,張玉忠
(中國電信股份有限公司廣東研究院 廣州 510630)
針對目前號碼百事通電子商務平臺各個子系統相互獨立的情況,分析了建設數據中心的必要性和現實意義,梳理了數據中心與平臺主要系統間的關系,提出了一整套可實施的系統框架和方案,解決了異構系統間數據共享的兼容性和安全性等問題,開創性地實現了數據中心與數據挖掘、客戶價值模型的融合應用,最后針對電子商務移動化的趨勢,提出了數據中心的移動性擴展。
數據中心;電子商務;分布式架構;號碼百事通;移動電子商務
根據艾瑞2010中國電子商務年度發展報告,全年交易規模達4.8萬億元人民幣,同比增長33.5%;2013年有望突破10萬億元人民幣[1]。正在向信息服務提供者轉變的電信運營商自然不愿錯過如此龐大的市場。其實早在2007年,中國電信就在上海成立了號碼百事通(簡稱“號百”)信息服務公司,推出了訂票、訂房等商旅服務,初步實現電子商務平臺功能。目前,號碼百事通的商品涵蓋機票、酒店、餐館、禮品、紅酒、小商品、電影票等,由于各種商品之間的差異較大,而與各個合作伙伴之間的合作方式不盡相同,導致不同的商品存在不同的訂購系統,難以提供統一而融合的客戶業務體驗;同時,隨著移動互聯網的發展,用戶的位置軌跡、終端類型等越來越成為電子商務的關鍵業務因素。因此,很有必要建設統一的數據中心,以實現各類數據的跨系統共享,以號碼百事通作為統一品牌為客戶提供統一而融合的業務體驗。
圖1是數據中心在一個典型的電子商務流程中的應用例子。
(1)王經理出差,他撥打了“114”打算訂機票和酒店。
(2)電話進入系統后,通過統一認證和客戶管理系統實現了主叫鑒權并獲得了用戶基本信息,同時,從數據中心的信息發現王經理是VIP客戶(數據挖掘的客戶價值模型),優先接入話務專席。
(3)王經理在機票訂購系統專席完成機票預定,數據中心實時從機票訂購系統中同步了機票信息,包括時間、地點等。王經理還需要訂酒店,因此話務員把話務轉到了酒店訂購系統專席。
(4)酒店專席可以看到王經理的用戶信息,而且通過數據中心發現王經理剛預定了后天到北京的機票,因此詢問王經理是不是要訂后天晚上北京的酒店。

圖1 應用場景
(5)酒店訂購完成后,話務員通過數據中心發現王經理是“電影發燒友”,同時,通過客戶管理系統可以發現王經理有1000個積分,因此推薦王經理兌換院線通電影票。
(6)王經理兌換電影票后,院線通系統發送二維碼電影票到王經理手機。
(7)王經理到院線通二維碼終端機取票后,數據中心提取時間、地點等信息供主動營銷系統查詢。
(8)主動營銷系統主動發短信給王經理:距離電影開場還有一個小時,您可以去商場的XX層看看打折的XX商品。
整個流程展示了號百電子商務如何通過數據中心實現了信息的實時跨業務系統共享、用戶關懷和交叉營銷等電子商務的差異化經營。
數據中心主要包括數據總線服務和數據存儲兩大塊。數據總線對外提供數據的同步和查詢服務,數據存儲實現了數據的持久化保存。數據中心不是一個獨立的系統,系統的實施和運營依賴于外部系統。圖2展示了數據中心與外系統間信息流轉的關系。
·數據中心從客戶管理系統同步客戶信息,從電子商務各個子系統收集客戶訂購信息。
·數據挖掘系統從數據中心獲取相關數據,進行挖掘。
·數據挖掘系統發布其成果,如客戶標簽到數據中心。
·數據中心通過數據總線服務對外系統發布客戶信息、訂購信息、數據挖掘成果等。
數據中心作為溝通各個子系統之間的橋梁,對于系統的信息安全、可用性、吞吐量、數據存儲等要求都比較高。在整個系統設計的過程中,筆者采用分布式系統設計框架。系統框架如圖3所示。

圖2 與外系統間的關系

圖3 系統架構
(1)接口層
接口層提供了HTTP實時接口和文件方式非實時接口。以HTTP實時接口為主,以文件方式接口為輔。HTTP接口采用 RESTful (REpresentation state transfer)[2]Web service的方式對外提供,數據組織形式采用JSON[3]數據格式。
(2)訪問控制層
不同的系統在數據中心的操作權限是不同的。需要對各個系統發送的請求進行身份識別和權限控制。筆者采用HMAC-SHA1[4]算法對請求及請求的內容進行摘要,通過對比業務系統計算的摘要和數據中心計算的摘要,實現對業務系統的身份識別;識別各業務系統身份后,通過數據訪問權限控制器,以確定所請求的操作能否執行。
(3)數據緩存層
對于性能要求高的系統,數據緩存層的實現是提高性能的關鍵。從本文的應用場景可以看到信息的實時跨業務系統共享、用戶關懷和交叉營銷等電子商務的運營需求,會在短時間內相對頻繁地訪問某一部分數據。因此,把這部分頻繁訪問的數據保存在系統內存中,能有效減少對數據庫的讀取,提高系統性能。在實現上,筆者采用Memcached分布式內存對象緩存系統。
(4)數據訪問控制層
數據中心的數據量龐大,如果集中存儲,數據庫很容易成為系統瓶頸,因此,對數據采用分布式存儲。號百電子商務的客戶具有明顯的運營商特色,大多數客戶可以通過電話號碼來綁定識別,因此根據客戶電話號碼所屬區域來分布式存儲客戶相關數據。
(5)數據持久層
數據中心處理的數據量巨大,性能要求高,因此對于SQL的性能要求比較高,為了便于實現SQL語句的性能優化,在數據持久層,采用ibatis這種靈活的持久層方案。
(6)分布式數據庫層
由于數據的分布式存儲,對于數據庫的壓力相對分散,采用開源的MySQL即能滿足性能要求,同時也能降低成本。對于每一個數據節點,筆者采用了Multi-Master Replication Manager for MySQL來管理數據的實時備份和復制以及數據庫的負載均衡。

圖4 已購買商品數據模型
號百目前的各個訂購系統都是已大規模上線運營的業務系統,而且由于系統由不同廠家提供,涉及的商品差異性極大,因此在數據中心的實施過程中,遇到的最大難題就是如何在確保現有運營系統順利運營,并盡可能少改造的情況下,實現數據的跨系統共享。同時,需要確保數據的安全性。
各個訂購系統是獨立的,對于訂單、商品等數據模型的定義存在很大差異。而且這些訂購系統已經上線運營,如果完全統一這些數據模型,涉及全部系統的大規模改造,并不現實。針對這種獨立系統的異構性信息共享需求,筆者定義了可兼容的非嚴格統一的客戶、訂單、商品等模型。對于相對統一的字段嚴格定義,差異化的內容以JSON字符串的方式保存。各個業務系統保留原有數據模型,從其他系統共享過來的數據采用數據中心的兼容數據模型。例已購買商品數據模型如圖4所示。
(1)認證鑒權
為保證數據安全,各業務系統接入數據中心必須經過認證鑒權。數據中心向服務接口調用者頒發key(sys_id+‘_’+app_id)及 secret(通過線下方式頒發),key 是用于識別接口調用者的身份惟一標識,secret是僅對應于一個key的密鑰。
認證流程:調用數據中心接口的業務系統,對調用請求使用HMAC-SHA1算法簽名,得到簽名摘要sig;業務系統發送請求時,把sig作為調用參數之一與其他參數一起發送到數據中心;數據中心收到請求后,對調用請求使用HMAC-SHA1算法簽名 (業務系統發送的sig參數不作為SBS),得到簽名摘要sig’,比較 sig與 sig’,完成認證。
本方案采用簽名算法對接口調用進行驗證。簽名包括兩個步驟:對請求參數進行正規化;對正規化后的請求參數進行簽名。
參數正規化:所有參數名及參數值都使用RFC3986[5]定義的百分號編碼(%xx,即URLEncode);參數以字典序排序,如果多個參數同名,則以參數值進行排序;參數以順序串接為一個字符串,參數名與參數值之間采用“=”分隔,每個參數名-值對采用“&”分隔。
計算簽名:首先,將請求方法、除了參數以外的請求URL、正規化后的參數串接為一個簽名基礎字符串(signature base string,SBS); 采 用 HMAC-SHA1 (參 考RFC2104)對SBS進行摘要簽名,使用secret作為共享密鑰,Signature=URL-encode(BASE64(HMAC-SHA1(text=SBS,key=secret)))。
(2)權限控制
認證鑒權解決了接入系統識別的問題,權限控制則為了防止接入系統非法查詢和更改數據。建立了一個權限控制表,在訪問控制層攔截非法的操作請求。
圖5的記錄,說明來自ReqSysId系統的ReqAppId應用可以對OpSysId系統的OpAppId應用的Model數據模型的Attricbutes屬性進行Operation操作。

圖5 記錄
在業務應用上,筆者開創性地整合了數據中心的數據收集和分享流程與數據挖掘系統的分析挖掘流程,提出了綜合客戶價值評估模型,對客戶價值作出全面的評估,并把評估結果應用到具體業務中。這也是在電信領域首次把數據中心、數據挖掘、客戶價值模型三者整合應用。
在價值評估模型中,選取消費近度R、消費頻率F、消費金額M,這3個維度多方位地描述了客戶價值的全景視圖,定義了綜合價值C的計算公式:

其中,C表示RFM 3個維度的綜合價值打分,W表示RFM 3個維度的權重比例。
整個應用流程如圖2所示,數據中心歸集各個業務系統以及客戶管理系統的數據。由數據挖掘系統對用戶的RFM的3個維度進行分析,得到客戶綜合價值。根據價值得分,為用戶標上相應標簽定義,通過數據中心的總線服務,分享給各個業務系統。目前,客戶價值模型的分析結果通過數據中心已經實時同步到號百坐席客戶端、號百客戶管理系統等系統平臺中。話務員和營銷人員能實時地看到數據挖掘的分析結果,對接入的客戶進行針對性的營銷。
隨著移動互聯網的發展,用戶的電子化消費行為可以發生在“Anywhere,Anywhen(任何地點,任何時間)[6]”,移動電子商務越來越成為電子商務的發展趨勢。數據中心也需要相應的發展以支持電子商務的移動化。
(1)客戶位置信息的記錄與共享。客戶的消費行為是與客戶當前的位置息息相關的。客戶在步行街附近,表示該用戶非常有可能需要逛街購物。數據中心實時或者準實時地更新客戶的位置信息,各個業務系統分享到這些信息就可以向客戶推薦附近合作商家的優惠活動。
(2)客戶消費記錄的位置性信息與時間性信息提取和共享。從一些客戶的消費記錄可以預測到客戶在某段時間的位置和行為。如客戶預定了某天上午某家電影院的電影票,可以預測電影放映介紹后,客戶需要餐飲消費。數據中心把這些信息整理并共享出來,能極大地提高主動營銷、交叉營銷的成功率。
目前,已經從客戶的訂購電影票、訂購機票等消費記錄中,獲取了客戶的位置性和時間性信息。但如何吸引客戶愿意提供并主動提供實時或者準實時的位置信息;同時數據中心如何與其他系統結合,合理有效地利用這些客戶的移動性信息,也需要進一步探索。
1 張艷平.2010年中國電子商務年度數據發布.艾瑞咨詢,http://ec.iresearch.cn/html/131667.shtml
2 Richardson,Leonard.RESTful Web Services.O'Reilly
3 Crockford D.The application/JSON media type for JavaScript object notation(JSON).RFC 4627,July 2006
4 Krawczyk H,Bellare M,Canetti R.HMAC:keyed-hashing for message authentication.RFC 2104,February 1997
5 Berners-Lee T,Fielding R,Masinter L.Uniform resource identifier(URI):generic syntax.RFC 2104,January 2005
6 Noel M E.Finding anyone,anywhere,anywhen.Firefly Books
7 金鐸,徐雄,梁冰,李云.號百電子商務平臺架構建設探討.電信科學,2010,26(8)
8 羅志強,沈軍.移動電子商務用戶溯源認證技術研究與應用.電信科學,2009,25(6)
Research and Implement of Data Center for Bestone e-Commerce
Yang Haojie,Li Yun,Zhang Yuzhong
(Guangdong Research Institute of China Telecom Co.,Ltd.,Guangzhou 510630,China)
In this paper,we analyze the need and the practical significance of data center construction,for the separation of subsystems of bestone e-commerce,and sort through the relationship between data center and Bestone’s major systems.And then we propose a set of system framework can be implemented,solve the model compatibility and data security issues of sharing information among heterogeneous systems,and apply integration of the data center,data mining and customer value model to beston’s business systems.Finally,for the trend of mobile e-commerce,we discuss the mobile expansion of data center.
data center,e-commerce,distributed architecture,bestone,mobile e-commerce
2011-05-13)