集團大數(shù)據(jù)云平臺方案規(guī)劃_第1頁
集團大數(shù)據(jù)云平臺方案規(guī)劃_第2頁
集團大數(shù)據(jù)云平臺方案規(guī)劃_第3頁
集團大數(shù)據(jù)云平臺方案規(guī)劃_第4頁
集團大數(shù)據(jù)云平臺方案規(guī)劃_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第集團大數(shù)據(jù)云平臺方案規(guī)劃目錄 TOC o 1-3 f 1綜述 PAGEREF _Toc508652073 h 31.1項目背景 PAGEREF _Toc508652074 h 31.2建設(shè)目標 PAGEREF _Toc508652075 h 31.3需求分析 PAGEREF _Toc508652076 h 31.3.1基礎(chǔ)平臺 PAGEREF _Toc508652077 h 41.3.2企業(yè)畫像應(yīng)用 PAGEREF _Toc508652078 h 52大數(shù)據(jù)云服務(wù)平臺對應(yīng)用的支撐需求 PAGEREF _Toc508652079 h 62.1用戶與企業(yè)畫像支撐能力 PAGEREF _Toc50

2、8652080 h 62.2物聯(lián)網(wǎng)數(shù)據(jù)分析能力 PAGEREF _Toc508652081 h 82.3互聯(lián)網(wǎng)數(shù)據(jù)應(yīng)用支撐能力 PAGEREF _Toc508652082 h 112.3.1爬蟲引擎 PAGEREF _Toc508652083 h 112.3.2實時查詢 PAGEREF _Toc508652084 h 122.4非結(jié)構(gòu)化數(shù)據(jù)處理能力 PAGEREF _Toc508652085 h 172.4.1文本識別 PAGEREF _Toc508652086 h 172.4.2PDF圖像識別 PAGEREF _Toc508652087 h 212.4.3全文檢索 PAGEREF _Toc5

3、08652088 h 213總體建設(shè)方案 PAGEREF _Toc508652089 h 233.1平臺框架設(shè)計理念 PAGEREF _Toc508652090 h 233.2功能架構(gòu) PAGEREF _Toc508652091 h 243.3技術(shù)架構(gòu) PAGEREF _Toc508652092 h 253.4產(chǎn)品覆蓋綜述 PAGEREF _Toc508652093 h 263.5數(shù)據(jù)分布架構(gòu) PAGEREF _Toc508652094 h 273.6關(guān)鍵技術(shù)說明 PAGEREF _Toc508652095 h 273.6.1云服務(wù)平臺 PAGEREF _Toc508652096 h 273.

4、6.2Hadoop平臺 PAGEREF _Toc508652097 h 393.6.3元數(shù)據(jù)管理 PAGEREF _Toc508652098 h 403.6.4數(shù)據(jù)治理 PAGEREF _Toc508652099 h 473.6.5爬蟲引擎 PAGEREF _Toc508652100 h 523.6.6數(shù)據(jù)探索 PAGEREF _Toc508652101 h 563.6.7自助分析 PAGEREF _Toc508652102 h 573.6.8企業(yè)畫像 PAGEREF _Toc508652103 h 58綜述項目背景互聯(lián)網(wǎng)、云計算、物聯(lián)網(wǎng)、及時通訊工具和社交網(wǎng)絡(luò)的興起和普及,特別是大數(shù)據(jù)技術(shù)的

5、應(yīng)用,正深刻改變著當前市場格局。達沃斯世界經(jīng)濟論壇發(fā)布的大數(shù)據(jù),大影響:國際發(fā)展的新可能的報告宜稱,大數(shù)據(jù)已成為與貨幣和黃金一樣的一種新的經(jīng)濟資產(chǎn)類別。,美國總統(tǒng)辦事室(EOP)公布了大數(shù)據(jù)研究和發(fā)展規(guī)劃,把大數(shù)據(jù)研發(fā)應(yīng)用從商業(yè)行為提升到國家戰(zhàn)略層面。在這種新形式下,大數(shù)據(jù)項目將會作為整個集團的跨公司、跨部門、跨內(nèi)外的數(shù)據(jù)綜合服務(wù)平臺,承載著互聯(lián)網(wǎng)+業(yè)務(wù)的核心樞紐。該平臺的主要建設(shè)目標是為集團及其全部相關(guān)機構(gòu)提供全棧大數(shù)據(jù)服務(wù),包括技術(shù)平臺、數(shù)據(jù)應(yīng)用及產(chǎn)品、數(shù)據(jù)服務(wù)。該平臺的建設(shè)目標并不僅僅局限于使用大數(shù)據(jù)技術(shù)構(gòu)建數(shù)據(jù)分析系統(tǒng),而是基于云計算、云服務(wù)的理念,打造集團“數(shù)據(jù)即服務(wù)”的平臺理念。通

6、過整合集團、子公司、互聯(lián)網(wǎng)+平臺、第三方等數(shù)據(jù),通過授權(quán)機制為集團本部、各子公司、合作伙伴、投資方等提供經(jīng)營、決策等所需的相關(guān)大數(shù)據(jù)能力和數(shù)據(jù)服務(wù)。建設(shè)目標本期項目建設(shè)目標:為集團及其全部相關(guān)機構(gòu)提供全棧式大數(shù)據(jù)服務(wù),包括技術(shù)平臺、數(shù)據(jù)應(yīng)用及產(chǎn)品、數(shù)據(jù)服務(wù);基于云計算、云服務(wù)的理念,打造集團“能力、數(shù)據(jù)即服務(wù)”的平臺理念;為集團本部、各子公司、合作伙伴、投資方等提供經(jīng)營、決策等所需的相關(guān)大數(shù)據(jù)基礎(chǔ)能力和數(shù)據(jù)服務(wù)。需求分析本期大數(shù)據(jù)云服務(wù)平臺項目包括大數(shù)據(jù)基礎(chǔ)平臺建設(shè)、企業(yè)畫像應(yīng)用兩部分。其中數(shù)據(jù)云平臺接入中信云平臺,統(tǒng)一進行運營和對外提供服務(wù)?;A(chǔ)平臺基礎(chǔ)平臺提供一站式大數(shù)據(jù)解決能力和一站式數(shù)

7、據(jù)分析能力。平臺系統(tǒng)支持PaaS層能力,承載用戶創(chuàng)建、修改、刪除計算與存儲資源,創(chuàng)建、發(fā)布、與回收業(yè)務(wù)應(yīng)用等平臺管理功能以及元數(shù)據(jù)管理、數(shù)據(jù)質(zhì)量等數(shù)據(jù)管控功能;平臺系統(tǒng)支持DaaS層能力,即支持數(shù)據(jù)采集、存儲(數(shù)據(jù)湖)、計算以及展現(xiàn)四大部分能力;平臺系統(tǒng)支持SaaS層能力,支持數(shù)據(jù)的分發(fā)、共享、探索、以及協(xié)作等功能。采集部分支持通過探針、爬蟲、ETL手段從數(shù)據(jù)源將數(shù)據(jù)錄入該平臺,從數(shù)據(jù)類型上看,采集部分支持結(jié)構(gòu)化數(shù)據(jù)采集與非結(jié)構(gòu)化數(shù)據(jù)采集;從實效性上看,平臺支持實時數(shù)據(jù)采集、初始化數(shù)據(jù)采集以及增量數(shù)據(jù)采集;從業(yè)務(wù)層面看平臺支持業(yè)務(wù)數(shù)據(jù)采集與第三方數(shù)據(jù)采集多個維度。存儲部分負責將采集端收集的數(shù)據(jù)

8、,以及平臺內(nèi)部處理后生成的數(shù)據(jù)永久性存放。從數(shù)據(jù)類型上看,平臺支持結(jié)構(gòu)化存儲、半結(jié)構(gòu)化存儲以及非結(jié)構(gòu)化存儲;從使用方式上看可以平臺支持歸檔數(shù)據(jù)存儲、批處理數(shù)據(jù)存儲以及在線熱數(shù)據(jù)存儲;從業(yè)務(wù)層面來看平臺支持外部數(shù)據(jù)、子公司業(yè)務(wù)主數(shù)據(jù)以及互聯(lián)網(wǎng)+平臺數(shù)據(jù)存儲。計算部分負責對存儲區(qū)的數(shù)據(jù)進行操作,平臺支持增刪改查、分析統(tǒng)計、模糊檢索、挖掘預(yù)測等功能。從數(shù)據(jù)類型上看,平臺支持結(jié)構(gòu)化數(shù)據(jù)計算(SQL)與半結(jié)構(gòu)化/非結(jié)構(gòu)化數(shù)據(jù)計算;而從使用方式上看,平臺支持離線計算、在線應(yīng)用以及實時處理。數(shù)據(jù)展現(xiàn)層支持開發(fā)運維展現(xiàn)與應(yīng)用展現(xiàn)能力。該平臺具有完整的可視化開發(fā)運維界面,能夠通過圖形的方式進行平臺的狀態(tài)與健康監(jiān)

9、控、性能分析、日志查詢、資源管控等運維功能,以及在線開發(fā)、調(diào)試、部署與診斷功能。平臺支持在BI報表,OLAP交互式分析、用戶自由查詢、交互式挖掘、模糊檢索、移動端展示等可視化功能。平臺基于云計算、云存儲的理念,打造集團“數(shù)據(jù)即服務(wù)”的平臺理念,該平臺能夠使集團將各個子公司、機構(gòu)與部門的數(shù)據(jù)有機地結(jié)合到一起,能夠使用戶在該平臺中自由地創(chuàng)建、修改、刪除計算存儲資源,能夠有效靈活地訪問到其他用戶公開的數(shù)據(jù),并自由定義自身需要的數(shù)據(jù)處理邏輯與報表展現(xiàn)方案,并將結(jié)果數(shù)據(jù)進行公開與共享。平臺需要能夠滿足用戶自定義數(shù)據(jù)加工與分析流程,包括:支撐用戶與企業(yè)畫像應(yīng)用;提供物聯(lián)網(wǎng)數(shù)據(jù)分析能力;支撐互聯(lián)網(wǎng)數(shù)據(jù)應(yīng)用;

10、提供非結(jié)構(gòu)化數(shù)據(jù)處理能力。企業(yè)畫像應(yīng)用企業(yè)畫像應(yīng)用圍繞集團的子公司,整合集團內(nèi)外部數(shù)據(jù)從多個維度進行企業(yè)畫像,增強對子公司的洞察和智能管控。企業(yè)畫像將圍繞企業(yè)基本資料、股東信息、股權(quán)關(guān)系、關(guān)聯(lián)圖譜、管理層信息等維度展示,以及結(jié)合企業(yè)動態(tài)、其它動態(tài)信息等動態(tài)更新。內(nèi)部數(shù)據(jù)以從多個集團公司上報的股權(quán)結(jié)構(gòu)、財務(wù)數(shù)據(jù)、合同文件等為主,同時結(jié)合外部數(shù)據(jù)服務(wù)、互聯(lián)網(wǎng)爬蟲收集的企業(yè)相關(guān)信息,對企業(yè)進行多維度深入分析,構(gòu)建統(tǒng)一的企業(yè)畫像系統(tǒng)。應(yīng)用具備良好的用戶體驗,提供移動端應(yīng)用。大數(shù)據(jù)云服務(wù)平臺對應(yīng)用的支撐需求用戶與企業(yè)畫像支撐能力企業(yè)用戶畫像通過內(nèi)部采集企業(yè)自有數(shù)據(jù)、購買和交換政府等其他外部組織數(shù)據(jù)、爬取

11、互聯(lián)網(wǎng)公開數(shù)據(jù),并對這些數(shù)據(jù)進行融合加工,形成企業(yè)用戶畫像的基礎(chǔ)數(shù)據(jù),為后續(xù)企業(yè)用戶畫像深加工奠定基礎(chǔ)。企業(yè)用戶畫像的數(shù)據(jù)源如下圖所示:圖:企業(yè)用戶畫像數(shù)據(jù)源通過對數(shù)據(jù)進行深度加工、數(shù)據(jù)挖掘、統(tǒng)計分析等操作,企業(yè)用戶畫像構(gòu)建了企業(yè)全景視圖,包含企業(yè)基本信息、股權(quán)信息、風險評估、投資關(guān)系、關(guān)系圖譜、市場動態(tài)、行業(yè)熱點等信息,如下圖所示:圖:企業(yè)用戶畫像全景視圖企業(yè)用戶畫像提供豐富的可視化應(yīng)用展現(xiàn),使集團領(lǐng)導(dǎo)和企業(yè)用戶畫像的業(yè)務(wù)應(yīng)用部門,得以清晰和直觀地了解和分析企業(yè)用戶的偏好和行為。應(yīng)用展現(xiàn)提供PC和移動端等多種形式,提供優(yōu)秀的用戶體驗效果??梢暬瘧?yīng)用展現(xiàn)示例如下圖所示:圖:企業(yè)畫像PC可視化展

12、現(xiàn)圖:企業(yè)畫像移動終端展現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)分析能力針對當前企業(yè)級用戶實時數(shù)據(jù)處理的需求,Hadoop平臺產(chǎn)品引入了Spark stream和Storm作為流處理計算引擎,并在其上進行功能增強,搭建了流處理工廠。流數(shù)據(jù)處理產(chǎn)品提供基于開源流處理框架的底層優(yōu)化版本,系統(tǒng)管理工具,可視化開發(fā)工具。在對開源組件的深入了解及分析的基礎(chǔ)上,結(jié)合實際項目應(yīng)用進行了大量的組件優(yōu)化與重構(gòu),從而使組件擁有更加高效的數(shù)據(jù)處理能力及穩(wěn)定性。主要特點為:支撐基于多個實時數(shù)據(jù)流的數(shù)據(jù)處理。更貼近用戶需求,提供預(yù)制的數(shù)據(jù)標簽,方便用戶業(yè)務(wù)訂制,減少開發(fā)工作;支持通過界面配置的方式,對實時數(shù)據(jù)進行增強與擴展,也可以在使用中央標簽庫

13、的原有標簽的同時,通過對接自定義標簽接口,實現(xiàn)個性化數(shù)據(jù)增強需求,通過界面化配置即可以插件方式注冊到流計算平臺。 完整的解決方案(包括消息中心、高速緩存等),內(nèi)置的分布式緩存框架支持海量靜態(tài)數(shù)據(jù)分布式緩存,滿足動態(tài)數(shù)據(jù)與靜態(tài)數(shù)據(jù)的快速交互讀寫需求。 友好易用的可視化界面,便于用戶業(yè)務(wù)定制和監(jiān)控運維;數(shù)據(jù)接入、應(yīng)用開發(fā)可視化:通用可配置的數(shù)據(jù)源適配器,簡化流數(shù)據(jù)接入及合并,針對不同數(shù)據(jù)格式的融合及不同數(shù)據(jù)源的時間延遲優(yōu)化流數(shù)據(jù)采集。通過流程化配置,快速實現(xiàn)業(yè)務(wù)邏輯。豐富的數(shù)據(jù)訂閱方式,通過輸出適配,可方便將結(jié)果輸出至不同應(yīng)用使用。豐富簡單的開發(fā)API接口,降低特性業(yè)務(wù)插件開發(fā)難度。在對物聯(lián)網(wǎng)數(shù)據(jù)

14、分析時,配置Flume組件作為日志收集工具。在兩個接口機器上各啟動三個flume agent分別收集三類物聯(lián)網(wǎng)數(shù)據(jù)。配置界面如下:圖:Flume Agent配置界面Flume收集物聯(lián)網(wǎng)數(shù)據(jù)并通過Kafka sink輸出給Kafka上的對應(yīng)topic, 然后Spark Streaming程序從Kafka的topic中獲取數(shù)據(jù)進行分析;然后通過spark命令提交作業(yè)監(jiān)聽某類數(shù)據(jù)的topic;最后, Spark Streaming從topic中獲得數(shù)據(jù),并將數(shù)據(jù)寫入HBase中三類數(shù)據(jù)的對應(yīng)表中。處理過程中三類數(shù)據(jù)同時傳入,配置規(guī)則引擎drools,使流處理程序可以對物聯(lián)網(wǎng)數(shù)據(jù)中超過80度且濕度大于

15、60%的數(shù)據(jù)生成告警;流處理程序收到的數(shù)據(jù)經(jīng)過規(guī)則引擎處理,將告警數(shù)據(jù)寫入HBase中的告警表。在物聯(lián)網(wǎng)日志數(shù)據(jù)分析全部過程中,各組件性能指標:圖:Flume組件性能指標圖:集群CPU指標圖:集群磁盤變化互聯(lián)網(wǎng)數(shù)據(jù)應(yīng)用支撐能力爬蟲引擎互聯(lián)網(wǎng)是一個龐大的非結(jié)構(gòu)化的數(shù)據(jù)庫,將數(shù)據(jù)有效的檢索并組織呈現(xiàn)出來有著巨大的應(yīng)用前景?;ヂ?lián)網(wǎng)數(shù)據(jù)形式豐富,且網(wǎng)絡(luò)技術(shù)不斷發(fā)展,圖片、音頻、視頻等不同數(shù)據(jù)大量出現(xiàn),需要網(wǎng)絡(luò)爬蟲將這些多樣化的網(wǎng)頁中用戶真正關(guān)心的內(nèi)容抓取下來。利用網(wǎng)絡(luò)爬蟲,有效地提取并利用這些信息,將低價值密度的公開數(shù)據(jù)進行加工,形成自己的數(shù)據(jù),可以發(fā)現(xiàn)網(wǎng)絡(luò)趨勢、預(yù)測商機等。隨著企業(yè)的不斷發(fā)展,進入了

16、被數(shù)據(jù)“追趕”的階段,越來越多的企業(yè)會依賴大數(shù)據(jù)來提升自身的經(jīng)營能力。單獨一個企業(yè)所掌握的數(shù)據(jù)不足以支撐自有業(yè)務(wù)分析,通過網(wǎng)絡(luò)爬蟲可整合各方公開的數(shù)據(jù),方便各方對數(shù)據(jù)的利用。網(wǎng)絡(luò)爬蟲是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁,從網(wǎng)站某一個頁面(通常是首頁)開始,讀取網(wǎng)頁的內(nèi)容,找到在網(wǎng)頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網(wǎng)頁,這樣一直循環(huán)下去,直到把這個網(wǎng)站所有的網(wǎng)頁都抓取完為止。如果把整個互聯(lián)網(wǎng)當成一個網(wǎng)站,那么網(wǎng)絡(luò)爬蟲就可以用這個原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來。網(wǎng)絡(luò)爬蟲的目標如下:對互聯(lián)網(wǎng)海量公開數(shù)據(jù)獲取 對龐大的互聯(lián)網(wǎng)數(shù)據(jù)進行有效地提取并利用,將數(shù)據(jù)進行沉淀和加工形成價值數(shù)據(jù),支撐

17、企業(yè)建設(shè)自己的全網(wǎng)資源庫,有著巨大的應(yīng)用前景。用戶互聯(lián)網(wǎng)行為分析,助力企業(yè)精準營銷隨著人們對互聯(lián)網(wǎng)的習慣性依賴,使得互聯(lián)網(wǎng)數(shù)據(jù)對用戶行為的分析尤為重要,通過對用戶在互聯(lián)網(wǎng)海量內(nèi)容中的選擇傾向性分析,挖掘用戶上網(wǎng)行為規(guī)律,與企業(yè)廣告策劃和營銷策略相結(jié)合,為企業(yè)帶來更大的價值?;ヂ?lián)網(wǎng)輿情和商情數(shù)據(jù)捕獲,助力企業(yè)輿情競品分析在人人自媒體時代,信息實時化、碎片化明顯,通過收集各類新聞、社交、論壇、貼吧、微博等網(wǎng)站信息,進行網(wǎng)絡(luò)輿情話題發(fā)現(xiàn)與追蹤,社會不利因素預(yù)警監(jiān)測。實時查詢基于云平臺,構(gòu)建實時查詢能力,解決海量數(shù)據(jù)處理的性能瓶頸問題。提供的實時查詢能力是開放的,支持Thrift、Java API、H

18、TTP、FTP等多類接口。查詢服務(wù)對上層業(yè)務(wù)提供靈活的數(shù)據(jù)查詢,屏蔽下層不同存儲處理方式的查詢。通過統(tǒng)一的接口讓使用者和物理數(shù)據(jù)源隔離了開來。這使得不同的數(shù)據(jù)結(jié)構(gòu)或異構(gòu)的數(shù)據(jù)存儲,都不會對使用者產(chǎn)生不利影響。半/非結(jié)構(gòu)化數(shù)據(jù)查詢:使用OpenApi的形式,通過HTTP協(xié)議來查詢小批量數(shù)據(jù),系統(tǒng)提供高穩(wěn)定性與低延遲的性能保證。結(jié)構(gòu)化數(shù)據(jù)查詢:使用各種復(fù)雜的SQL中聚合分組語法來獲取數(shù)據(jù),導(dǎo)出XML、JSON等格式數(shù)據(jù),適用于稍大數(shù)據(jù)量的即時分析類查詢需求。針對以下數(shù)據(jù)查詢的典型的業(yè)務(wù)場景分別描述。模型類API對于數(shù)據(jù)模型表如渠道模型,使用多維API的方式來查詢。數(shù)據(jù)存在關(guān)系型數(shù)據(jù)庫或Spark

19、RDD中,通過API接受參數(shù)生成過濾SQL返回出二維表格數(shù)據(jù)。服務(wù)請求:以上請求地址:http:/server:port/open/channel/brand=1,2/channel_id,fh,biz服務(wù)會把請求參數(shù)轉(zhuǎn)換成類似的sql為:select channel_id,fh,biz from channel where brand in (1,2)文件接口服務(wù)支持在內(nèi)外部系統(tǒng)的不同存儲間(如Hadoop、DB2、MPP等),進行數(shù)據(jù)的交換、同步、分發(fā)。交互的可以通過接口文件、JDBC等多種方式,適用于需要大量數(shù)據(jù)交換的場景。針對大批量數(shù)據(jù)的交互,不適用使用HTTP服務(wù)承載,通過調(diào)用底層事

20、件服務(wù)與分發(fā)服務(wù),提交一個異步分發(fā)請求,如輸入分發(fā)腳本、分發(fā)目錄包裝成消息,提交到事件服務(wù),數(shù)據(jù)導(dǎo)出完成后分發(fā)到相應(yīng)的主機目錄在提供的實時查詢能力引入phoenix sql解析引擎,并對phoenix進行封裝,直接調(diào)用封裝后接口傳入sql語句便可執(zhí)行sql語句得出結(jié)果,無需關(guān)注連接細節(jié),同時,我們也將phoenix數(shù)據(jù)庫連接池管理功能封裝在OCNoSQL中,用戶無需開發(fā)連接池功能。sql支持能力,支持大部分常用函數(shù),支持多表union,支持多表join,支持subquery(子查詢),支持二級索引JAVA native API接口: public List queryByRowkey(Conn

21、ection conn, String rowkey, List tableNames, Criterion criterion, Map param,List columnFamilies)根據(jù)單個rowkey進行多表查詢,返回由數(shù)據(jù)組成的記錄。參數(shù)說明Connection:HBase連接rowkey:主鍵tableNames:表名criterion:過濾條件param:額外參數(shù)columFamilies:需要查詢的列名public List queryByRowkey(Connection conn, String rowkey, List tableNames, Criterion cr

22、iterion, Map param,List columnFamilies)根據(jù)多個rowkey進行多表查詢,返回由數(shù)據(jù)組成的記錄。參數(shù)說明Connection:HBase連接rowkey:多個主鍵tableNames:多個表名criterion:過濾條件param:額外參數(shù)columFamilies:需要查詢的列名public List queryByRowkey(Connection conn, String startKey, String stopKey,List tableNames, Criterion criterion, Map param,List columnFamili

23、es)根據(jù)starkKey和stopKey進行多表條件查詢,返回由數(shù)據(jù)組成的記錄。參數(shù)說明Connection:HBase連接startKey:開始主鍵stopKey:結(jié)束主鍵tableNames:多個表名criterion:過濾條件param:額外參數(shù)columFamilies:需要查詢的列名JDBC接口:public int excuteNonQuery(String sql)執(zhí)行更新操作,返回成功條數(shù)。參數(shù)說明sql:待執(zhí)行sql語句public void excuteNonQuery(String sqls, int batchSize)執(zhí)行批量更新操作,返回成功條數(shù)。參數(shù)說明sql:

24、待執(zhí)行sql語句batchSize:批量更新閾值,即每更新多少條提交一次public int excuteNonQuery(String sql, Object args)執(zhí)行批量更新操作,返回成功條數(shù)。參數(shù)說明sql:待執(zhí)行sql語句args:sql語句參數(shù)值public void excuteNonQuery(String sqls, List args, int batchSize)執(zhí)行批量更新操作,返回成功條數(shù)。參數(shù)說明sql:待執(zhí)行sql語句args:sql語句參數(shù)值batchSize:批量更新閾值,即每更新多少條提交一次public ResultSet executeQueryRa

25、w(String sql)執(zhí)行查詢操作,返回標準JDBC ResultSet。參數(shù)說明:sql:待執(zhí)行sql語句public ResultSet executeQueryRaw(String sql, Object args)執(zhí)行查詢操作,返回標準JDBC ResultSet。參數(shù)說明:sql:待執(zhí)行sql語句args:sql語句參數(shù)值public ListMap executeQuery(String sql)執(zhí)行查詢操作,返回Map數(shù)組。參數(shù)說明:sql:待執(zhí)行sql語句public ListMap executeQuery(String sql, Object args)執(zhí)行查詢操作,返

26、回Map數(shù)組。參數(shù)說明:sql:待執(zhí)行sql語句args:sql語句參數(shù)值Thrift接口public int excuteNonQueryFir(String sql)執(zhí)行更新操作,返回成功條數(shù)。參數(shù)說明sql:待執(zhí)行sql語句public int excuteNonQuerySec(String sql, List param)執(zhí)行批量更新操作,返回成功條數(shù)。參數(shù)說明sql:待執(zhí)行sql語句param:sql參數(shù)值public int excuteNonQueryThr(List sql, int batchSize)執(zhí)行批量多條sql語句更新操作,返回成功條數(shù)。參數(shù)說明sql:待執(zhí)行sq

27、l語句數(shù)組batchSize:批量更新閾值,即每更新多少條提交一次public int excuteNonQueryFou(List sql, ListList param, int batchSize)執(zhí)行批量多條sql語句更新操作,返回成功條數(shù)。參數(shù)說明sql:待執(zhí)行sql語句數(shù)組param:sql對應(yīng)參數(shù)值batchSize:批量更新閾值,即每更新多少條提交一次public ListMap executeQueryFir(String sql)執(zhí)行查詢操作,返回Map數(shù)組。參數(shù)說明:sql:待執(zhí)行sql語句public ListMap executeQuerySec(String sql

28、, List param)執(zhí)行查詢操作,返回Map數(shù)組參數(shù)說明:sql:待執(zhí)行sql語句param:sql參數(shù)值非結(jié)構(gòu)化數(shù)據(jù)處理能力文本識別本期集團公有云平臺將引入外部非結(jié)構(gòu)化文本數(shù)據(jù)。集成商應(yīng)協(xié)助對外部行業(yè)數(shù)據(jù)進行梳理,并負責外部數(shù)據(jù)的采集,建模,加工等工作。文本數(shù)據(jù)梳理、建模應(yīng)對外部行業(yè)的結(jié)構(gòu)化數(shù)據(jù)進行梳理,找到與移動數(shù)據(jù)的耦合點。結(jié)合外部行業(yè)數(shù)據(jù)特點進行概念建模、邏輯建模、物理建模。實現(xiàn)外部行業(yè)數(shù)據(jù)的集中存儲。文本數(shù)據(jù)梳理整合外部數(shù)據(jù)整合數(shù)據(jù)整合前要檢查采集數(shù)據(jù)的質(zhì)量,檢查合格的數(shù)據(jù)方可整合。外部數(shù)據(jù)整合數(shù)據(jù)整合入庫主要包括互聯(lián)網(wǎng)原始信息數(shù)據(jù)、互聯(lián)網(wǎng)門戶結(jié)構(gòu)目錄數(shù)據(jù)和標準化相關(guān)數(shù)據(jù)整合入

29、庫。整合主要包括:1)通用性整合,具有通用意義的互聯(lián)網(wǎng)信息的整合,整合時在邏輯上放置到一個表中。2)業(yè)務(wù)專題整合,基于某個特定業(yè)務(wù)應(yīng)用需要整合的互聯(lián)網(wǎng)信息信息,整合是根據(jù)實際需求,放置到同一表中或分表存儲。對于整合的處理辦法:1)同一區(qū)域范圍內(nèi),多個數(shù)據(jù)來源,同種互聯(lián)網(wǎng)信息整合問題。用去重處理,通過在方案時確定優(yōu)勢性最高的數(shù)據(jù)源為基準數(shù)據(jù),以此為基礎(chǔ)對其他數(shù)據(jù)源同種數(shù)據(jù)進行去重后,進行整合。2)根據(jù)互聯(lián)網(wǎng)信息業(yè)務(wù)應(yīng)用集中,需要整合的互聯(lián)網(wǎng)信息的時效性問題。確定采集時間點來處理整合的時效性問題。數(shù)據(jù)分類我們對于分類的處理,主要包含互聯(lián)網(wǎng)信息切詞處理,并獲取詞的長度、詞性、屬性等信息,對于分類的分

30、析,我們主要是通過規(guī)則分類、關(guān)鍵詞分析和語義分析三個方面進行處理。語義分析特征模式:語義類一般存在有特別的特征模式。包括組成詞的詞性,詞形式,上下文等都滿足一定的規(guī)則。利用這種模式就可以做基本的語義判斷。各個語義類的處理按照優(yōu)先級順序執(zhí)行,后處理的語義類依賴先處理的語義類的執(zhí)行結(jié)果。當某個詞已經(jīng)被識別為某個語義后,就不會被再識別為其他語義。先處理模式清晰,會給其他語義類帶來歧義的語義。這樣剝離了大量可能會對復(fù)雜語義類造成干擾的因素,簡化了其他語義類的處理。例如“三元橋地鐵站機場專線”作為地鐵出口提取后,“機場專線”就不會再被識別為機場類別。中文分詞中文分詞主要是對中文信息的自動智能分析,對地理

31、位置信息的處理,主要是將一個漢字序列切分成一個一個單獨的詞,加快對于地名的識別,以及對于POI分類的精準性。中文分詞算法實現(xiàn)分詞有以下幾個步驟: 1)全切分,原子切分;2)N最短路徑的粗切分,根據(jù)隱馬爾科夫模型和viterbi算法,達到最優(yōu)路徑的規(guī)劃;3)地名等實體名識別;4)系統(tǒng)詞典補充;5)用戶自定義詞典的補充;6)詞性標注。實體名識別,包括人名識別、地名識別、機構(gòu)名識別,還包括有監(jiān)督識別和無監(jiān)督識別。有監(jiān)督的還好,無監(jiān)督基本是無解的,比如“上海的自來水來自海上”是“上海”還是“海上”,對于中文分詞很重要。分詞的顆粒度,可以通過規(guī)則來確定,比如“北京大學(xué)”是“北京”+“大學(xué)”還是“北京大學(xué)

32、”,就連同一個人不同時間的標注也有可能是有區(qū)別的,對分詞結(jié)果的評測卻有著很大的關(guān)系。建立詞典,一方面對地理系統(tǒng)的專業(yè)詞進行補充,一方面采用新詞發(fā)現(xiàn)的方式,不使用規(guī)則,用統(tǒng)計重復(fù)串識別新詞,根據(jù)詞性去掉干擾詞。添加詞性的標注,對于POI分類中,中文的理解,有很大的用處。格式為:自定義詞 詞性 詞頻,如:csdn創(chuàng)新院 userDefine 1000,中間用TAB鍵隔開 原分詞結(jié)果:csdn, 創(chuàng)新, 院, 是, 一個, 好, 公司 增加詞典后:csdn創(chuàng)新院, 是, 一個, 好, 公司文本數(shù)據(jù)清洗外部數(shù)據(jù)有效性判斷,是對爬蟲采集過來的外部數(shù)據(jù)信息,按照相關(guān)規(guī)范標準,進行規(guī)范化轉(zhuǎn)換,轉(zhuǎn)換成符合規(guī)范

33、標準的數(shù)據(jù)基礎(chǔ)、數(shù)據(jù)格式一致的基礎(chǔ)數(shù)據(jù)。外部數(shù)據(jù)有效性數(shù)據(jù)的判斷,主要不符合要求的數(shù)據(jù)主要是有不完整的數(shù)據(jù)、錯誤的數(shù)據(jù)和重復(fù)的數(shù)據(jù)三大類。1)外部數(shù)據(jù)缺失數(shù)據(jù),其特征是一些應(yīng)該有的互聯(lián)網(wǎng)數(shù)據(jù)信息缺失,將這一類數(shù)據(jù)過濾出來,按缺失的內(nèi)容,需要進行補全。2)外部數(shù)據(jù)無效數(shù)據(jù),產(chǎn)生原因是互聯(lián)網(wǎng)的海量數(shù)據(jù)過多,導(dǎo)致爬蟲采集到的數(shù)據(jù)會產(chǎn)生數(shù)值錯誤格式不規(guī)范,可能對互聯(lián)網(wǎng)信息無效,互聯(lián)網(wǎng)爬取內(nèi)容無效。這一類的無效、錯誤數(shù)據(jù),采取修正或刪除。3)外部數(shù)據(jù)重復(fù)數(shù)據(jù),該數(shù)據(jù)主要分為兩種,基于互聯(lián)網(wǎng)外部數(shù)據(jù)爬蟲,從各個門戶網(wǎng)站爬取下來的信息,包含大量重復(fù)信息,初期需要建立較為完善的過濾規(guī)則,同時,在數(shù)據(jù)整合之前,

34、需要對數(shù)據(jù)進行質(zhì)量檢查。PDF圖像識別光學(xué)字符識別(OCR,Optical Character Recognition)是指對文本資料進行掃描,然后對圖像文件進行分析處理,獲取文字及版面信息的過程。OCR技術(shù)非常專業(yè),一般多是印刷、打印行業(yè)的從業(yè)人員使用,可以快速的將紙質(zhì)資料轉(zhuǎn)換為電子資料。Tesseract的OCR引擎最先由HP實驗室于1985年開始研發(fā),至1995年時已經(jīng)成為OCR業(yè)內(nèi)最準確的三款識別引擎之一。然而,HP不久便決定放棄OCR業(yè)務(wù),Tesseract也從此塵封。數(shù)年以后,HP意識到,與其將Tesseract束之高閣,不如貢獻給開源軟件業(yè),讓其重煥新生2005年,Tessera

35、ct由美國內(nèi)華達州信息技術(shù)研究所獲得,并求諸于Google對Tesseract進行改進、消除Bug、優(yōu)化工作。Tesseract引擎功能強大,概括地可以分為兩部分:圖片布局分析 字符分割和識別 圖片布局分析,是字符識別的準備工作。工作內(nèi)容:通過一種混合的基于制表位檢測的頁面布局分析方法,將圖像的表格、文本、圖片等內(nèi)容進行區(qū)分。字符分割和識別是整個Tesseract的設(shè)計目標,工作內(nèi)容最為復(fù)雜。首先是字符切割,Tesseract采用兩步走戰(zhàn)略:利用字符間的間隔進行粗略的切分,得到大部分的字符,同時也有粘連字符或者錯誤切分的字符。這里會進行第一次字符識別,通過字符區(qū)域類型判定,根據(jù)判定結(jié)果對比字符

36、庫識別字符。 根據(jù)識別出來的字符,進行粘連字符的分割,同時把錯誤分割的字符合并,完成字符的精細切分。全文檢索搜索引擎是目前互聯(lián)網(wǎng)信息服務(wù)的主要工具,對于傳統(tǒng)意義上的互聯(lián)網(wǎng)搜索引擎來說,他的資源范圍廣、面積大,資料全,用戶輸入一個檢索關(guān)鍵詞,結(jié)果幾乎任何類型、任何主題的資源。隨著企業(yè)信息系統(tǒng)的發(fā)展,越來越多的應(yīng)用系統(tǒng)投入使用,經(jīng)過多年的運行積累,存儲了海量的信息。這些信息存儲在相應(yīng)的應(yīng)用系統(tǒng)中,當用戶在使用這些信息時,需要耗費大量的時間去查找。Solr是一個基于Lucene的Java搜索引擎服務(wù)器。Solr 提供了層面搜索、命中醒目顯示并且支持多種輸出格式(包括 XML/XSLT 和 JSON

37、格式)。它易于安裝和配置,而且附帶了一個基于 HTTP 的管理界面。Solr已經(jīng)在眾多大型的網(wǎng)站中使用,較為成熟和穩(wěn)定。Solr 包裝并擴展了 Lucene,所以Solr的基本上沿用了Lucene的相關(guān)術(shù)語。更重要的是,Solr 創(chuàng)建的索引與 Lucene 搜索引擎庫完全兼容。通過對Solr 進行適當?shù)呐渲?,某些情況下可能需要進行編碼,Solr 可以閱讀和使用構(gòu)建到其他 Lucene 應(yīng)用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 創(chuàng)建的索引。Solr的體系結(jié)構(gòu)如下圖所示:圖:Solr體系結(jié)構(gòu)文檔通過Http利用XML 加到一個搜索集合中。查詢該

38、集合也是通過http收到一個XML/JSON響應(yīng)來實現(xiàn)。它的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結(jié)果,通過索引復(fù)制來提高可用性,提供一套強大Data Schema來定義字段,類型和設(shè)置文本分析,提供基于Web的管理界面等。總體建設(shè)方案平臺框架設(shè)計理念大數(shù)據(jù)云服務(wù)平臺整體可分為基礎(chǔ)能力、服務(wù)管理、應(yīng)用及工具能力三個層次,基礎(chǔ)能力通過通用的服務(wù)框架供給出去,讓應(yīng)用和工具無需關(guān)心底層細節(jié);服務(wù)管理起到承上啟下的作用,貫穿基礎(chǔ)能力和上層應(yīng)用及工具;應(yīng)用框架提供了應(yīng)用及工具的開發(fā)管理、部署和運行服務(wù),通過Docker實現(xiàn)最小化改動和便利部署。功能架構(gòu)如上圖所示,大數(shù)據(jù)平臺功能需

39、包括基礎(chǔ)能力服務(wù)、服務(wù)管理、應(yīng)用和工具、數(shù)據(jù)可視化及管控中心五部分內(nèi)容:基礎(chǔ)能力服務(wù)包括中間件及數(shù)據(jù)庫等服務(wù)和大數(shù)據(jù)服務(wù)兩個方面,為滿足本期項目需求,中間件及數(shù)據(jù)庫服務(wù)包括Tomcat、Kafka、RabbitMQ、Redis、MongoDB、Greenplum、MySQL、Solr、Flume等基礎(chǔ)服務(wù),大數(shù)據(jù)服務(wù)包括HDFS、HBase、Hive、Spark、R等基礎(chǔ)服務(wù)。服務(wù)管理包括多集群資源調(diào)度管理、服務(wù)管理和容器編排管理功能。大數(shù)據(jù)應(yīng)用包括企業(yè)客戶畫像應(yīng)用,工具包括DataHub工具、企業(yè)級ETL工具、數(shù)據(jù)治理工具、自助分析工具、數(shù)據(jù)探索工具和非結(jié)構(gòu)化數(shù)據(jù)處理工具。數(shù)據(jù)可視化包括平臺

40、運維可視化、大數(shù)據(jù)基礎(chǔ)存儲與計算能力可視化、大數(shù)據(jù)開發(fā)可視化、自助BI可視化、應(yīng)用與開發(fā)管理可視化、數(shù)據(jù)交換能力可視化及企業(yè)畫像應(yīng)用可視化。管控中心功能包括租戶管理、資源管理、服務(wù)集群管理、計費管理、安全管理和系統(tǒng)管理功能。技術(shù)架構(gòu)從技術(shù)上,本期提供的基礎(chǔ)服務(wù)能力包括Tomcat、Kafka、RabbitMQ、Redis、MongoDB、Greenplum、MySQL、Solr、Flume等,Hadoop基礎(chǔ)服務(wù)能力包括HDFS、HBase、Hive、Spark、R等。服務(wù)管理核心技術(shù)包括Mesos(實現(xiàn)多集群資源調(diào)度管理)、ServiceBroker(實現(xiàn)基礎(chǔ)服務(wù)與應(yīng)用統(tǒng)一的服務(wù)管理)、Ku

41、bernetes(實現(xiàn)容器編排管理)。應(yīng)用與工具都是基于基礎(chǔ)服務(wù)能力構(gòu)建起來的:企業(yè)客戶畫像應(yīng)用:Web中間件采用Tomcat,數(shù)據(jù)處理能力采用Greenplum和Spark計算框架;DataHub工具:Web中間件采用Tomcat,消息中間件采用Kafka,數(shù)據(jù)庫采用MySQL、Redis和MongoDB;企業(yè)級ETL工具:Web中間件采用Tomcat,消息中間件采用Kafka和RebbitMQ,數(shù)據(jù)庫采用MySQL,數(shù)據(jù)處理采用Hive和Spark;數(shù)據(jù)采集使用flume;數(shù)據(jù)治理工具:Web中間件采用Tomcat,數(shù)據(jù)庫采用MySQL;自助分析工具:Web中間件采用Tomcat,數(shù)據(jù)庫采

42、用Greenplum;數(shù)據(jù)探索工具:Web中間件采用Tomcat,數(shù)據(jù)庫采用MySQL,數(shù)據(jù)處理采用SparkR;非結(jié)構(gòu)化數(shù)據(jù)處理工具:Web中間件采用Tomcat,數(shù)據(jù)庫采用MySQL,爬蟲采用HttpClient,全文檢索采用Solr,圖像識別采用OCR tesseract。數(shù)據(jù)可視化能力采用的核心技術(shù)包括HTML5、JQuery、BITools、JFreeChart、Canvas等。管控中心Web中間件采用Tomcat,數(shù)據(jù)庫采用MySQL,Hadoop集中式安全管理框架采用Ranger,Hadoop統(tǒng)一運維監(jiān)控告警采用Ambari。產(chǎn)品覆蓋綜述產(chǎn)品可完整覆蓋上述功能架構(gòu):大數(shù)據(jù)平臺整體

43、框架采用云服務(wù)平臺產(chǎn)品,Hadoop平臺采用Hadoop平臺產(chǎn)品,企業(yè)客戶畫像采用企業(yè)畫像產(chǎn)品,DataHub工具采用DataHub產(chǎn)品,企業(yè)級ETL工具采用ETL產(chǎn)品,數(shù)據(jù)治理工具采用治理產(chǎn)品,自助分析工具采用自助分析產(chǎn)品,數(shù)據(jù)探索工具采用探索產(chǎn)品,非結(jié)構(gòu)化數(shù)據(jù)處理工具采用非結(jié)構(gòu)化數(shù)據(jù)處理產(chǎn)品,包括爬蟲工具、圖像識別工具和全文檢索工具。數(shù)據(jù)分布架構(gòu)大數(shù)據(jù)平臺數(shù)據(jù)分布架構(gòu)如上圖所示:接口機:承擔數(shù)據(jù)采集的功能,內(nèi)部渠道數(shù)據(jù)包括合同文件、股東信息、物聯(lián)網(wǎng)數(shù)據(jù)等,外部數(shù)據(jù)包括工商數(shù)據(jù)、法務(wù)數(shù)據(jù)、運營商數(shù)據(jù)等,通過接口機進入HDFS文件系統(tǒng);文件系統(tǒng)HDFS:存放企業(yè)合同附件(PDF),股東信息、企

44、業(yè)關(guān)系、法務(wù)信息、工商稅務(wù)信息、數(shù)據(jù)交換信息等在HDFS上加工處理后入到HBase、Redis數(shù)據(jù)庫中;HBase:存放企業(yè)股東信息、企業(yè)關(guān)系等相關(guān)數(shù)據(jù);外部數(shù)據(jù)(包括工商稅務(wù)及外部爬取的相關(guān)數(shù)據(jù));物聯(lián)網(wǎng)相關(guān)數(shù)據(jù);Greenplum:存放在線匯總數(shù)據(jù)(如未來接入的物聯(lián)網(wǎng)數(shù)據(jù)二次匯總數(shù)據(jù));Redis:存放爬蟲引擎所需的實例庫及DataHub的數(shù)據(jù)信息;MySQL:平臺配置信息庫。關(guān)鍵技術(shù)說明云服務(wù)平臺應(yīng)用封裝工具Docker是一種容器技術(shù),和Hypervisor(KVM/Xen這類)不同的是,Docker不會提供一整個操作系統(tǒng),他能提供隔離的程序運行環(huán)境。對一個應(yīng)用來說這已經(jīng)夠了。 作為一個

45、開源的應(yīng)用容器引擎,Docker讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 linux 機器上,與KVM這類超級底層虛擬化方案相比,Docker是一種輕量級虛擬化方案,他不需要對內(nèi)核進行改變,他主要利用linux內(nèi)核特性實現(xiàn)虛擬化,所有容器運行在同一個內(nèi)核中。另外,docker還可以部署在KVM/XEN這類虛擬機中!容器與虛擬機對比如下圖。Docker使用客戶端-服務(wù)器(client-server)架構(gòu)模式。Docker客戶端會與Docker守護進程進行通信。Docker守護 進程會處理復(fù)雜繁重的任務(wù),例如建立、運行、發(fā)布你的Docker容器。Docker客

46、戶端和守護進程可以運行在同一個系統(tǒng)上,當然你也可以使用 Docker客戶端去連接一個遠程的Docker守護進程。Docker客戶端和守護進程之間通過socket或者RESTful API進行通信。Docker主要有三個重要模塊:鏡像、倉庫和容器鏡像(Image):Docker鏡像是一個只讀的模板。舉個例子,一個鏡像可以包含一個運行在Apache上的Web應(yīng)用和其使用的ubuntu操作系統(tǒng)。鏡像是用來創(chuàng)建容器的。Docker提供了簡單的,你也可以下載別人已經(jīng)創(chuàng)建好的鏡像。倉庫(Image) :Docker倉庫用來保存鏡像。其相當于一個代碼倉庫,同樣的,Docker倉庫也有公有和私有的概念。公有的

47、Docker倉庫名字是Docker Hub。也可以自己創(chuàng)建倉庫。容器(Container):一個Docker容器包含了某個應(yīng)用運行所有的所需要的環(huán)境。每一個Docker容器都是從Docker鏡像創(chuàng)建 的。Docker容器可以運行、開始、停止、移動和刪除、保存為鏡像。每一個Docker容器都是獨立和安全的應(yīng)用平臺。Docker內(nèi)部采用Linux的命名空間機制實現(xiàn)隔離性,采用cgroup實現(xiàn)資源的劃分。我們主要用Docker來做分布式環(huán)境下的進程管理。Docker工作流如圖7所示,我們不僅把Docker應(yīng)用到生產(chǎn)階段,也應(yīng)用到開發(fā)階段,所以我們每天編輯Dockerfile,提升Docker Ima

48、ges,測試上線,發(fā)Docker鏡像,在我們內(nèi)部私有Docker regis里面,再調(diào)到我們Docker集群生產(chǎn)環(huán)境里面,這和其他的Docker工作流沒有什么區(qū)別。應(yīng)用的Docker化,可以推動應(yīng)用與平臺分離、應(yīng)用與服務(wù)分離、應(yīng)用與數(shù)據(jù)分離,給應(yīng)用的開發(fā)、生產(chǎn)和運維帶來很大的變化:1、Docker化給應(yīng)用帶來了一種全新的輕量級虛擬化體驗。同樣是虛擬化,Docker相對虛擬機最大的優(yōu)點是復(fù)用了宿主機的操作系統(tǒng),使得Docker的運行和鏡像的存儲節(jié)省了大量存儲和計算資源,使得應(yīng)用在性能和靈活性方面得到很大的改善。2、采用Docker封裝的方式進行應(yīng)用交付,其封裝內(nèi)容不僅包括程序也包括相關(guān)的參數(shù)、配

49、置和環(huán)境設(shè)置。這種帶環(huán)境的交付方式真正實現(xiàn)了開發(fā)運維環(huán)境的統(tǒng)一,避免了因為環(huán)境不同帶來相關(guān)組件和程序在開發(fā)、測試、生產(chǎn)環(huán)境中的反復(fù)部署。不僅降低由此帶來的額外工作量,同時也避免了環(huán)境差異可能造成的各種差錯。這種封裝使得應(yīng)用的部署和運維簡單到只需關(guān)注地址分配和依賴關(guān)系,使得應(yīng)用的自動化運維成為可能。3、Docker化交付縮短了應(yīng)用開發(fā)、測試和上線的時間,原本以周和月為單位的程序開發(fā)、測試和生產(chǎn)環(huán)境的準備時間,現(xiàn)在可以以小時和天來計算。同時,我們輔以應(yīng)用的灰度發(fā)布和在線升級技術(shù),大大加快應(yīng)用迭代速度,通過開發(fā)與運維的一體化能力,更好的支撐業(yè)務(wù)層面的敏捷化要求。4、Docker容器與集群管理技術(shù)相結(jié)

50、合不僅實現(xiàn)整個應(yīng)用集群的資源高效利用,同時實現(xiàn)資源的按需分配和水平方向的自動和手動的擴展和收縮。例如:當業(yè)務(wù)進入峰值時期,我們可以設(shè)置策略,比如CPU或內(nèi)存超過90%集群自動進行擴展30%。峰值過后,應(yīng)用集群可以根據(jù)策略實現(xiàn)自動化縮容,把空閑的資源交還給資源池,使得其他的應(yīng)用能夠有足夠的資源使用。這種自動化擴展和收縮對業(yè)務(wù)是透明的,只要資源池里的資源足夠業(yè)務(wù)永遠不可能出現(xiàn)性能瓶頸問題。5、通過應(yīng)用與平臺分離、應(yīng)用與服務(wù)分離,實現(xiàn)應(yīng)用與平臺的合理分工。平臺可以聚焦和改善資源和服務(wù)的供給、安全及穩(wěn)定問題,例如:自動化的實現(xiàn)數(shù)據(jù)庫、中間件等服務(wù)的部署、配置、開通和故障處置;自動化的實現(xiàn)應(yīng)用部署、資源

51、分配、運行監(jiān)控、故障恢復(fù);動態(tài)監(jiān)控業(yè)務(wù)負荷的變化自動實現(xiàn)應(yīng)用的擴縮容等。分布式集群管理工具Kubernetes是Google推出的開源容器集群管理系統(tǒng),基于Docker構(gòu)建一個容器調(diào)度服務(wù),為容器化的應(yīng)用提供資源調(diào)度、部署運行、均衡容災(zāi)、服務(wù)注冊、擴容縮容等功能,其本質(zhì)上可看作是基于容器技術(shù)的mini-PaaS平臺,提取PaaS中的業(yè)務(wù)編排和管理模塊而形成的。部署容器的過程中最大化利用資源是十分重要的,Docker和Kubernetes組合就可以完美的實現(xiàn)這一點。Kubernetes以RESTFul形式開放接口,用戶可操作最基本的REST對象有三個:Pod、Service和Replicatio

52、nController。pod:是Kubernetes最基本的部署調(diào)度單元,可以包含container,邏輯上表示某種應(yīng)用的一個實例。比如一個web站點應(yīng)用由前端、后端及數(shù)據(jù)庫構(gòu)建而成,這三個組件將運行在各自的容器中,那么我們可以創(chuàng)建包含三個container的pod。service:是pod的路由代理抽象,用于解決pod之間的服務(wù)發(fā)現(xiàn)問題。因為pod的運行狀態(tài)可動態(tài)變化(比如切換機器了、縮容過程中被終止了等),所以訪問端不能以寫死IP的方式去訪問該pod提供的服務(wù)。service的引入旨在保證pod的動態(tài)變化對訪問端透明,訪問端只需要知道service的地址,由service來提供代理。re

53、plicationController:是pod的復(fù)制抽象,用于解決pod的擴容縮容問題。通常,分布式應(yīng)用為了性能或高可用性的考慮,需要復(fù)制多份資源,并且根據(jù)負載情況動態(tài)伸縮。通過replicationController,我們可以指定一個應(yīng)用需要幾份復(fù)制,Kubernetes將為每份復(fù)制創(chuàng)建一個pod,并且保證實際運行pod數(shù)量總是與該復(fù)制數(shù)量相等(例如,當前某個pod宕機時,自動創(chuàng)建新的pod來替換)。Kubernetes的優(yōu)點是可以通過定義一個Replicationcontroller來將同一個模塊部署到任意多個容器中,并且由Kubernetes自動管理。比如定義了一個Apache Po

54、d,通過Replicationcontroller設(shè)置啟動100個Replicas,系統(tǒng)就會在Pod創(chuàng)建后自動在所有可用的Minions中啟動100個Apache Container。并且輕松的是,當Container或者是所在的服務(wù)器不可用時,Kubernetes會自動通過啟動新的Container來保持100個總數(shù)不變,這樣管理一個大型系統(tǒng)變得輕松和簡單。Master運行三個組件:apiserver:作為kubernetes系統(tǒng)的入口,封裝了核心對象的增刪改查操作,以RESTFul接口方式提供給外部客戶和內(nèi)部組件調(diào)用。它維護的REST對象將持久化到etcd(一個分布式強一致性的key/va

55、lue存儲)。scheduler:負責集群的資源調(diào)度,為新建的pod分配機器。這部分工作分出來變成一個組件,意味著可以很方便地替換成其他的調(diào)度器。controller-manager:負責執(zhí)行各種控制器,目前有兩類:endpoint-controller:定期關(guān)聯(lián)service和pod(關(guān)聯(lián)信息由endpoint對象維護),保證service到pod的映射總是最新的。replication-controller:定期關(guān)聯(lián)replicationController和pod,保證replicationController定義的復(fù)制數(shù)量與實際運行pod的數(shù)量總是一致的。Slave(稱作minion)

56、運行兩個組件:kubelet:負責管控docker容器,如啟動/停止、監(jiān)控運行狀態(tài)等。它會定期從etcd獲取分配到本機的pod,并根據(jù)pod信息啟動或停止相應(yīng)的容器。同時,它也會接收apiserver的HTTP請求,匯報pod的運行狀態(tài)。proxy:負責為pod提供代理。它會定期從etcd獲取所有的service,并根據(jù)service信息創(chuàng)建代理。當某個客戶pod要訪問其他pod時,訪問請求會經(jīng)過本機proxy做轉(zhuǎn)發(fā)。下面分別從它們的對象創(chuàng)建出發(fā),通過時序圖來描述Kubernetes各個組件之間的交互及其工作流。Kubernetes和Docker可以運行在物理機上,也可以運行在虛擬機上。提供P

57、ass支撐,對項目的開發(fā)、測試、實施運行、運維都提供極大的便利,是目前最先進的技術(shù),在國內(nèi)外得到較多的采用,如google、阿里等。Kubernetes和Docker支持集群服務(wù),自動負載均衡和提供高可靠的穩(wěn)定服務(wù)。實例的注冊與發(fā)現(xiàn)服務(wù)發(fā)現(xiàn)可以讓一個服務(wù)實例發(fā)現(xiàn)其運行環(huán)境以及其它服務(wù)實例的信息。它通常采用分布式key-value的存儲方式,它也用來作為查詢配置細節(jié)信息。通過服務(wù)發(fā)現(xiàn)工具可以將Docker實例與運行的配置分離,使得用戶就可以在一個集群中使用同一鏡像運行多個實例以構(gòu)建分布式應(yīng)用。服務(wù)注冊與發(fā)現(xiàn)服務(wù)發(fā)現(xiàn)的基本思想是任何一個應(yīng)用的實例能夠以編程的方式獲取當前環(huán)境的細節(jié)。這是為了讓新的實

58、例可以嵌入到現(xiàn)有的應(yīng)用環(huán)境而不需要人工干預(yù)。服務(wù)發(fā)現(xiàn)工具通常是用全局可訪問的存儲信息注冊表來實現(xiàn),它存儲了當前正在運行的實例或者服務(wù)的信息。雖然服務(wù)發(fā)現(xiàn)平臺的初衷是提供連接信息來連接不同組件的,但是它們更普遍地是用來存儲任何類型的配置信息。許多部署工具通過寫入它們的配置信息給發(fā)現(xiàn)工具來實現(xiàn)這個特性。如果容器配置了這些,它們就可以去查詢這些預(yù)配置信息,并根據(jù)這些信息來調(diào)整自身行為。服務(wù)發(fā)現(xiàn)的機制每一個服務(wù)發(fā)現(xiàn)工具都會提供一套API,使得組件可以用其來設(shè)置或搜索數(shù)據(jù)。正是如此,對于每一個組件,服務(wù)發(fā)現(xiàn)的地址要么硬編碼到程序或容器內(nèi)部,要么在運行時以參數(shù)形式提供。通常來說,發(fā)現(xiàn)服務(wù)用鍵值對形式實現(xiàn),

59、采用標準HTTP協(xié)議交互。服務(wù)發(fā)現(xiàn)門戶的工作方式是:當每一個服務(wù)啟動上線之后,他們通過發(fā)現(xiàn)工具來注冊自身信息。它記錄了一個相關(guān)組件若想使用某服務(wù)時的全部必要信息。例如,一個Docker啟動后會在注冊它運行的IP、端口等信息。當服務(wù)消費者(有依賴關(guān)系的節(jié)點)上線時,它能夠通過服務(wù)發(fā)現(xiàn)機制查詢到該Docker的配置信息,然后基于查到的信息與其需要的Docker進行交互。服務(wù)發(fā)現(xiàn)機制可以讓容器的部署、變更更加靈活,不受限于特定的配置信息,同時容器與容器之間交互時變得簡單,可以動態(tài)進行調(diào)整配置。全局配置存儲在Docker部署中,分布式鍵值對存儲其中一個功能是對集群成員的存儲和管理。配置存儲是為了追蹤D

60、ocker集群宿主機成員變更和管理工具的最好環(huán)境。這些信息是:宿主機的IP地址宿主機自身的鏈接信息跟調(diào)度信息有關(guān)的標簽或元數(shù)據(jù)信息集群中的角色(如果是采用了主從模式的集群)在正常情況下,使用一個服務(wù)發(fā)現(xiàn)平臺時,這些細節(jié)可能不是你需要考慮的。但是他們?yōu)楣芾砉ぞ咛峁┝艘粋€可以查詢或修改集群自身信息的地方。故障檢測機制故障檢測的實現(xiàn)方式也有很多種。需要考慮的是如果一個Docker出現(xiàn)故障,服務(wù)發(fā)現(xiàn)能否更新狀態(tài)指出該Docker不再提供服務(wù)。這種信息是至關(guān)重要的,關(guān)系到將應(yīng)用或服務(wù)故障可能性降到最低。許多服務(wù)發(fā)現(xiàn)平臺允許賦值時帶一個可配置的超時時間。服務(wù)可以設(shè)置一個超時時間,并能定期去請求服務(wù)發(fā)現(xiàn)來重

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論