分散式架構或將成為金融行業信息化的主要發展方向
近兩年,大數據分散式架構成為金融行業關鍵辭彙,圍繞分散式架構分散式計算、分散式存儲、分散式網路成為信息科技的主流。金融各個子行業包括銀行、保險、證券、信託行業,紛紛採取分散式架構和相關技術建設新系統或重構原有系統,利用分散式架構的高可擴展性、高處理效率、強容錯能力特點,來提升信息系統的靈活性,降低成本,保障供應安全。
中金智匯的大數據架構經歷了三個主要階段:
a. 使用Gearman基於MapReduce思想實現自研的分散式處理架構。
b. 引入Hadoop解決自研分散式處理架構網路IO問題。
c. 引入Spark解決Hadoop小規模數據集處理性能不足,以及磁碟IO等問題。
1.1 Gearman
架構
Gearman驅動的應用程序由三部分組成:Client(客戶端),Worker(工作者)和JobServer(作業伺服器)。
· Client負責創建要運行的作業並將其發送到JobServer。
· JobServer將找到一個合適的工作人員,可以運行該作業並轉發給Worker。
· Worker執行Client的工作,並通過JobServer向Client發送響應。
Gearman提供應用程序調用的Client和Worker API,以與Gearman JobServer(也稱為gearmand)進行通信,因此無需處理網路或作業映射。在內部,Gearman Client和Worker API使用TCP協議與JobServer通信。
優點
Gearman實現了基本的MapReduce思想,Client將一個大任務拆分成多個小任務後,發送給多個Worker並行處理,將處理結果返回Client。
缺點
Gearman在處理大量數據的場景下,由於JobServer不清楚要處理的數據存儲到哪個對應的Worker上,所以導致Worker接到任務時首先需要去公共存儲中獲取數據,導致大量的網路IO,從而導致性能不足。
1.2 Hadoop
架構
HDFS集群由NameNode管理文件系統命名空間的主伺服器和管理客戶端對文件的訪問組成。此外,還有許多DataNode,通常是群集中每個節點一個,用於管理連接到它們運行的節點的存儲。HDFS公開文件系統命名空間,並允許用戶數據存儲在文件中。在內部,文件被分成一個或多個塊,這些塊存儲在一組DataNode中。
· NameNode執行文件系統命名空間操作,如打開,關閉和重命名文件和目錄。它還確定了塊到DataNode的映射。
· DataNode負責提供來自文件系統客戶端的讀寫請求。 DataNode還根據NameNode的指令執行塊創建,刪除和複製。
Hadoop MapReduce作業通常將輸入數據集拆分為獨立的塊,這些塊由Map任務以完全並行的方式處理。Hadoop MapReduce對Map的輸出進行排序,然後輸入到Reduce任務。通常,作業的輸入和輸出都存儲在文件系統中。Hadoop MapReduce負責調度任務,監視它們並重新執行失敗的任務。
優點
Hadoop已經完全實現了MapReduce的分散式處理思想,同時在其基礎上完成失敗重試等功能。同時在Hadoop的架構設計中,由於NameNode已經記錄了每個數據塊具體存在哪些個DataNode上,所以在執行Map任務的分發時,會根據NameNode的存儲記錄表,將需要處理的任務直接分發到有該任務需要的數據的DataNode上進行處理,解決了之前介紹Gearman的缺點,從而導致DataNode處理任務時,不需要去其他伺服器獲取數據,解決了網路IO瓶頸的問題,提高了任務處理效率。
缺點
由於Hadoop設計時運算元單一(只有Map和Reduce)導致如果要完成一個多步驟任務時,每一個步驟都需要寫一個Map和Reduce,同時每個Map和Reduce的執行過程代表數據至少會落地一次,所以導致執行整個任務中會出現大量的磁碟IO,從而影響了處理效率。
1.3 Spark
架構
· Spark中的Driver即運行程序的主函數並創建SparkContext,創建SparkContext的目的是為了準備Spark應用程序的運行環境,在Spark中有SparkContext負責進行資源申請、任務的分配和監控等,當Executor部分運行完畢後,Driver同時負責將SparkContext關閉,通常用SparkContext代表Driver。
· Executor是某個Application運行在工作節點上的一個進程, 該進程負責運行計算任務,並且負責將數據存到內存或磁碟上,每個程序都有各自獨立的一批Executor,在Spark on Yarn模式下,其進程名稱為CoarseGrainedExecutor Backend。一個CoarseGrainedExecutor Backend有且僅有一個Executor對象, 負責將任務包裝成TaskRunner,並從線程池中抽取一個空閑線程運行Task, 這個每一個CoarseGrainedExecutor Backend能並行運行Task的數量取決與分配給它的Cpu個數。
優點
和Hadoop MapReduce相比Spark通過使用內容代替磁碟作為處理過程中間數據的存儲,從而減少了在磁碟IO上的開銷,解決了Hadoop的性能問題。同時設計了彈性分散式數據集(RDD)的數據結構作為數據處理的基礎單元,配合有向無環圖(DAG)、Pipline等技術減少了運算步驟,提高了執行效率。
1.4Hadoop+Spark
原理
由於Spark最出色的就是計算框架,其資源調度框架(Standalone模式)對複雜場景的資源調度略顯不足。所以和Hadoop的資源調度框架(Yarn)和底層存儲框架(HDSF)組合使用,這樣做既可以繼承了Spark計算框架的全部優勢,也可以解決了Hadoop MapReduce的問題。
廣發銀行信用卡中心,擁有6000余坐席,約4.2億 通電話/年,每天3.6萬小時 的語音量,最初領導層根據企業發展戰略,預見了未來企業自身和應用技術的發展趨勢,早在2014年便與原中金數據大數據事業部現中金智匯簽訂了合作協議,運用分散式大數據底層架構開展上層業務。
中金智匯利用分散式大數據技術架構,將原來無法方便處理、 非結構化的數據進行解析、分析和挖掘 。將原來每天必須要人工抽樣的低效模式,變成每天使用機器全量的高效模式。使得卡中心從原來一天處理37件,到現在一天可以處理18000件,創造了500%的顛覆性提升 。
中金智匯通過四年來語音庫數據的積累,結合分散式大數據技術架構、產品快速創新能力和深入行業的應用經驗。不斷的對積累數據進行分析和挖掘,去尋求和發現海量數據背後的價值,從而衍生了多種適合卡中心的分析和挖掘的數據模型。使得卡中心在客戶投訴率下降10%-20%,客戶滿意度上升10%-20%,員工技能提升5%-15%等等的業務價值增長。為其改善了風險防控之外的服務流程優化 20 余項,陸續開拓了營銷效果監控及信審合規等業務範圍,為廣發銀行在智能營銷、信用卡分期方面帶來極大營收。
憑藉技術的先進性、產品的創新性、方案的有效性,中金智匯積累了金融、政府、互聯網等多個行業大中型客戶的成功應用案例,並得到了市場的廣泛認同,陸續服務包括交通銀行、大地保險、同程旅遊、中國一汽等在內的數十家大中型企業客戶,積累了跨銀行、保險、商旅、車企、物流、BPO等多個行業與領域的客戶案例,並與中科院聲學所、北京郵電大學、騰訊、第四範式等資深科研機構及領軍行業企業建立了廣泛的合作關係。
大數據的未來就是人工智慧,而人工智慧需要依靠底層分散式大數據架構的支撐得以實現。中金智匯利用底層分散式大數據架構結合語音識別、NLP/NLU、深度學習等技術在聯絡中心數據分析、實時坐席助手 等場景均實現了可用於生產的智能應用產品。當然,這還遠遠不夠……
「這是一個最好的時代」!在未來,中金智匯會基於大數據架構體系及完備的應用場景結合產品快速創新能力,為追求高效客戶經營能力的企業,提供領先、專業、可靠的智能化應用產品和服務,而持續努力著!
http://weixin.qq.com/r/ty9sdEjEIRVerQwX93ql (二維碼自動識別)
推薦閱讀:
※呼叫中心/客服班組長競聘面試題和筆試題答案及演講稿
※未來,AI+多輪對話怎樣玩轉智能客服
※你被拉黑了,並且,Fcuk you!
※別逗了,做客服有前途?
※來來來,客服小白五步走,輕鬆讓客戶粘著你。