




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目總體概述建設(shè)背景為有效落實(shí)集團(tuán)公司全面深化改革的指導(dǎo)意見,按照《全面推進(jìn)深化改革的通知》的要求,推進(jìn)IT深化改革,既要立足當(dāng)前,提升運(yùn)營(yíng)效率,服務(wù)好企業(yè)的改革發(fā)展,又要抓住機(jī)遇,從IT架構(gòu)、IT研發(fā)與運(yùn)營(yíng)、IT人才激勵(lì)等方面系統(tǒng)地推進(jìn)改革,解決IT體系中存在的突出矛盾和根本問題,支撐企業(yè)的轉(zhuǎn)型發(fā)展,集團(tuán)公司在深入研究的基礎(chǔ)上,制定了企業(yè)IT深化改革實(shí)施方案。企業(yè)IT深化改革實(shí)施方案提出,在服務(wù)好企業(yè)全面深化改革的同時(shí),要抓住改革的機(jī)遇,系統(tǒng)化地推進(jìn)IT自身的改革,并將兩者有機(jī)的融為一體,相得益彰。具體目標(biāo)是:以互聯(lián)網(wǎng)思維變革企業(yè)的IT體系,構(gòu)建以客戶為中心的全網(wǎng)集中、開放的云化IT架構(gòu),建立核心架構(gòu)自主掌控的開放式IT研發(fā)體系和全網(wǎng)一體化管理的集約化IT運(yùn)營(yíng)體系,通過市場(chǎng)化機(jī)制組建充滿活力的IT研發(fā)和運(yùn)營(yíng)隊(duì)伍,推動(dòng)企業(yè)全面深化改革,使IT成為企業(yè)核心競(jìng)爭(zhēng)力。企業(yè)IT深化改革的目標(biāo)是構(gòu)建集中、開放、云化的互聯(lián)網(wǎng)化IT架構(gòu),實(shí)現(xiàn)這一目標(biāo)的關(guān)鍵是聚焦兩大關(guān)鍵任務(wù)協(xié)同快速推進(jìn)。一是通過自主研發(fā),建成穩(wěn)定高效、開源開放、可持續(xù)演進(jìn)的IT云服務(wù)能力平臺(tái)(以下簡(jiǎn)稱“IT云平臺(tái)”);二是基于IT云平臺(tái)的技術(shù)架構(gòu)和集成能力,合作伙伴以低技術(shù)門檻快速開發(fā)構(gòu)建CRM、計(jì)費(fèi)等IT核心生產(chǎn)應(yīng)用。平臺(tái)與應(yīng)用之間不斷磨合、迭代優(yōu)化,最終形成平臺(tái)自主掌控、應(yīng)用百花齊放的良性平臺(tái)生態(tài)。為此,企業(yè)信息化事業(yè)部遵照集團(tuán)公司領(lǐng)導(dǎo)指示,啟動(dòng)了IT云平臺(tái)一期工程建設(shè)。根據(jù)IT云平臺(tái)自主研發(fā)的要求,同時(shí)考慮到IT研發(fā)中心編制及人員逐步到位,平臺(tái)一期工程由IT研發(fā)中心牽頭,多家主業(yè)公司參與,完成了10個(gè)關(guān)鍵組件的研發(fā),功能、性能指標(biāo)均達(dá)預(yù)期。經(jīng)過專家進(jìn)行評(píng)審,一致認(rèn)為IT云平臺(tái)(一期工程)已基本具備承載應(yīng)用的能力,有必要在現(xiàn)網(wǎng)生產(chǎn)系統(tǒng)開展應(yīng)用試點(diǎn),通過試點(diǎn)加快平臺(tái)成熟穩(wěn)定,同時(shí)啟動(dòng)IT云平臺(tái)二期研發(fā)工作,進(jìn)一步提升平臺(tái)能力。平臺(tái)現(xiàn)狀業(yè)務(wù)功能現(xiàn)狀一期工程在內(nèi)蒙古云基地新建了一套IT云服務(wù)能力平臺(tái),搭建新一代IT系統(tǒng)的PaaS層,主要建設(shè)平臺(tái)基礎(chǔ)能力組件,包括數(shù)據(jù)中間件組件、消息中間件組件、負(fù)載均衡組件、工作流引擎組件、分布式協(xié)調(diào)管理服務(wù)組件、事件驅(qū)動(dòng)框架組件、安全中心組件、監(jiān)控與日志中心組件;同時(shí)在新建的IT云服務(wù)能力平臺(tái)上開發(fā)交易密集型應(yīng)用原型和計(jì)算密集型應(yīng)用原型,開展部分智慧運(yùn)營(yíng)平臺(tái)應(yīng)用場(chǎng)景的功能和性能驗(yàn)證,通過原型驗(yàn)證評(píng)估IT云服務(wù)能力平臺(tái)近期承載集約智慧運(yùn)營(yíng)平臺(tái)核心應(yīng)用的技術(shù)可行性和能力成熟度。系統(tǒng)架構(gòu)如下圖所示:企業(yè)IT云服務(wù)能力平臺(tái)為新一代集中、開放、云化IT架構(gòu)的PaaS層。其采用開放架構(gòu),高性能、可擴(kuò)展,數(shù)據(jù)一點(diǎn)生成、全局共享,基于同一的底層平臺(tái)架構(gòu)承載核心業(yè)務(wù)系統(tǒng)應(yīng)用。具有平臺(tái)與應(yīng)用解耦、硬件與軟件解耦、基礎(chǔ)設(shè)施云化,平臺(tái)持續(xù)演進(jìn)、核心架構(gòu)自主掌控、應(yīng)用快速構(gòu)建等特點(diǎn)。平臺(tái)提供統(tǒng)一數(shù)據(jù)服務(wù)、計(jì)算框架、共享業(yè)務(wù)組件組件等面向開發(fā)者的通用能力,提供平臺(tái)運(yùn)維配套設(shè)施。應(yīng)用基于平臺(tái)提供的框架,調(diào)用、組裝云平臺(tái)能力并進(jìn)行業(yè)務(wù)開發(fā),提供面向最終使用者的能力;應(yīng)用受平臺(tái)框架和規(guī)范約束。IT云服務(wù)能力平臺(tái)近期優(yōu)先實(shí)現(xiàn)智慧運(yùn)營(yíng)平臺(tái)域集約化核心應(yīng)用的承載。本期先行加載智慧運(yùn)營(yíng)平臺(tái)域部分交易密集型和計(jì)算密集型應(yīng)用驗(yàn)證平臺(tái)功能與性能需求。組網(wǎng)現(xiàn)狀I(lǐng)T云服務(wù)能力平臺(tái)現(xiàn)部署在內(nèi)蒙古信息園數(shù)據(jù)中心A5機(jī)樓,系統(tǒng)硬件設(shè)備由IT資源池內(nèi)蒙古節(jié)點(diǎn)提供,整個(gè)IT資源池內(nèi)蒙古節(jié)點(diǎn)組網(wǎng)架構(gòu)如下圖所示:其中IT云服務(wù)能力平臺(tái)部署于區(qū)域2,組網(wǎng)部署示意圖如下所示,匯聚網(wǎng)絡(luò)內(nèi)部采用二層網(wǎng)絡(luò)互聯(lián),服務(wù)器采用萬兆網(wǎng)絡(luò)連接接入交換機(jī),滿足高性能高吞吐量需求。設(shè)備現(xiàn)狀I(lǐng)T云服務(wù)能力平臺(tái)現(xiàn)部署在內(nèi)蒙古信息園數(shù)據(jù)中心A5機(jī)樓,設(shè)備配置情況如下表所示:表2-1互聯(lián)網(wǎng)不良信息內(nèi)容檢測(cè)管理系統(tǒng)設(shè)備現(xiàn)狀類別序號(hào)設(shè)備類型用途數(shù)量單位配置要求硬件1物理PC服務(wù)器數(shù)據(jù)層管理服務(wù)器6臺(tái)4路8核,256GB內(nèi)存,10*600GSAS硬盤(轉(zhuǎn)速10K)2物理PC服務(wù)器DSQL服務(wù)器(6臺(tái))、SYNC服務(wù)器(6臺(tái))、計(jì)算框架服務(wù)器(5臺(tái))、分布文件系統(tǒng)管理服務(wù)器(2臺(tái)),原型應(yīng)用服務(wù)器(計(jì)算密集型23臺(tái)、交易密集型19臺(tái))、運(yùn)維管理服務(wù)器(1臺(tái))62臺(tái)4路8核,512GB內(nèi)存,10*600GSAS硬盤(轉(zhuǎn)速10K)3物理PC服務(wù)器原型驗(yàn)證數(shù)據(jù)庫(kù)服務(wù)器(計(jì)算密集型14臺(tái),交易密集型20臺(tái))34臺(tái)4路8核,512GB內(nèi)存,10*600GSAS硬盤(轉(zhuǎn)速10K),PCI-E卡3.2TB,4物理PC服務(wù)器HBASE(6臺(tái))、分布式文件系統(tǒng)服務(wù)器(34臺(tái))40臺(tái)2路8核,128G內(nèi)存,12*3TSATA硬盤轉(zhuǎn)速72005虛擬機(jī)研發(fā)管理服務(wù)器5臺(tái)2路8核,64G內(nèi)存,1T硬盤6虛擬機(jī)研發(fā)管理數(shù)據(jù)庫(kù)服務(wù)器機(jī)1臺(tái)4路8核,64G內(nèi)存,1T硬盤流程現(xiàn)狀當(dāng)前CRM已包含各種業(yè)務(wù)登記單、營(yíng)銷規(guī)則、終端核銷單、積分兌換單等紙質(zhì)文件全部電子化;業(yè)務(wù)稽核電子化:實(shí)現(xiàn)對(duì)業(yè)務(wù)稽核的電子化操作;文件存儲(chǔ)電子化:實(shí)現(xiàn)單據(jù)存檔的自動(dòng)化、電子化,倉(cāng)儲(chǔ)管理系統(tǒng)化;移動(dòng)設(shè)備的無紙化影像采集和電子簽名;電子業(yè)務(wù)受理單管理、電子稽核管理、電子模版管理、電子簽章管理、組織構(gòu)架管理等管理功能;在營(yíng)業(yè)廳和移動(dòng)設(shè)備上實(shí)現(xiàn)了電子業(yè)務(wù)受理單生成、電子簽章、客戶簽名采集、客戶證件采集、營(yíng)銷規(guī)則匹配等業(yè)務(wù)功能。2017年2月對(duì)無紙化系統(tǒng)進(jìn)行了相關(guān)的擴(kuò)容和優(yōu)化工作,“中小渠道”受理訂單接入無紙化、政企CRM營(yíng)業(yè)無紙化受理優(yōu)化、代理商門戶翼受理無紙化優(yōu)化、實(shí)名制拍照功能優(yōu)化、移動(dòng)端能力提升、無紙化平臺(tái)渠道維度信息優(yōu)化、集團(tuán)產(chǎn)品本地?zé)o紙化平臺(tái)歸檔、電渠無紙化歸檔優(yōu)化、CRM的合同與受理資產(chǎn)掛鉤等。2018年6月在現(xiàn)有的營(yíng)業(yè)廳無紙化平臺(tái)功能和能力上進(jìn)行進(jìn)一步優(yōu)化擴(kuò)容,實(shí)現(xiàn)無紙化平臺(tái)優(yōu)化、電渠無紙化優(yōu)化、無紙化營(yíng)銷規(guī)則調(diào)整優(yōu)化、移動(dòng)端能力提升、營(yíng)業(yè)廳前端程序升級(jí)改造、云桌面無紙化改造、新增實(shí)名影像人臉系統(tǒng)自動(dòng)比對(duì)功能、實(shí)名拍照?qǐng)鼍皟?yōu)化、結(jié)對(duì)甩單優(yōu)化、實(shí)名拍照功能優(yōu)化、版本升級(jí)、無紙化平臺(tái)業(yè)務(wù)檔案存檔功能優(yōu)化、開放渠道人證合一影像數(shù)據(jù)提取等功能優(yōu)化。建設(shè)目標(biāo)及需求用戶體驗(yàn)組件根據(jù)智慧運(yùn)營(yíng)平臺(tái)應(yīng)用界面設(shè)計(jì)的現(xiàn)狀分析以及未來集團(tuán)基于云平臺(tái)的全國(guó)集中智慧運(yùn)營(yíng)平臺(tái)應(yīng)用的原型研發(fā)的要求,智慧運(yùn)營(yíng)平臺(tái)應(yīng)用原型的UE/UI設(shè)計(jì)需要完成覆蓋智慧運(yùn)營(yíng)平臺(tái)全業(yè)務(wù)的場(chǎng)景設(shè)計(jì),主要包括訂單類場(chǎng)景、客戶類場(chǎng)景、計(jì)費(fèi)賬務(wù)類場(chǎng)景、客戶管理類場(chǎng)景、批量受理類場(chǎng)景、員工類場(chǎng)景等的設(shè)計(jì)需求。當(dāng)前智慧運(yùn)營(yíng)平臺(tái)設(shè)計(jì)中,產(chǎn)品在提高用戶與產(chǎn)品交互過程的體驗(yàn)的同時(shí),保證要產(chǎn)品能夠成功的定向?qū)τ脩魝鬟_(dá)其價(jià)值,通過從增強(qiáng)產(chǎn)品的可用性,簡(jiǎn)化操作,增加使用愉悅感,三方面改善客戶與產(chǎn)品間的交互體驗(yàn),從而提高用戶滿意度和使用體驗(yàn)。統(tǒng)一數(shù)據(jù)訪問引擎(數(shù)據(jù)中間件)優(yōu)化當(dāng)前智慧運(yùn)營(yíng)平臺(tái)系統(tǒng)將支持T級(jí)業(yè)務(wù)數(shù)據(jù)存儲(chǔ),傳統(tǒng)單庫(kù)已經(jīng)無法滿足當(dāng)前飛快的數(shù)據(jù)存儲(chǔ)和響應(yīng)要求,使用分布式數(shù)據(jù)庫(kù)系統(tǒng)勢(shì)在必行,但是當(dāng)前企業(yè)內(nèi)的分布式系統(tǒng)在配置和生產(chǎn)使用過程中依然存在一些不足需要完善。提供一個(gè)數(shù)據(jù)庫(kù)分庫(kù)分表中間層,采用數(shù)據(jù)庫(kù)代理方式,形成分布式數(shù)據(jù)庫(kù)中間件解決方案,解決分布式系統(tǒng)數(shù)據(jù)庫(kù)分庫(kù)分表帶來的數(shù)據(jù)透明訪問難題。消息中間件優(yōu)化一般,我們認(rèn)為消息中間件是指支持與保障分布式應(yīng)用程序之間同步/異步收發(fā)消息的中間件。消息是分布式應(yīng)用之間進(jìn)行數(shù)據(jù)交換的基本信息單位,分布式應(yīng)用程序之間的通信接口由消息中間件提供。其中,異步方式指消息發(fā)送方在發(fā)送消息時(shí)不必知道接收方的狀態(tài),更無需等待接收方的回復(fù),而接收方在收到消息時(shí)也不必知道發(fā)送方的目前狀態(tài),更無需進(jìn)行同步的消息處理,它們之間的連接完全是松耦合的,通信是非阻塞的,這種異步通信方式是由消息中間件中的消息隊(duì)列及其服務(wù)機(jī)制保障的。消息中間件是在消息的傳輸過程中保存信息的容器。消息中間件在將消息從源頭到達(dá)它的目標(biāo)時(shí)充當(dāng)中間人的作用。隊(duì)列的主要目的是提供路由并保證消息的傳遞;如果發(fā)送消息時(shí)接收者不可用,消息隊(duì)列會(huì)保留消息,直到可以成功地傳遞它為止,當(dāng)然,消息隊(duì)列保存消息也是有期限的。本期工程主要對(duì)API、Broker消息節(jié)點(diǎn)實(shí)現(xiàn)、命令行與運(yùn)維平臺(tái)進(jìn)行優(yōu)化與完善。在對(duì)API、Broker消息節(jié)點(diǎn)實(shí)現(xiàn)方面,需要進(jìn)行消息去重處理,在一期項(xiàng)目中已經(jīng)實(shí)現(xiàn)了消息獲取,但是存在大量的重復(fù)消息,但是在分布式架構(gòu)下,單純依賴消息中間件難以實(shí)現(xiàn)完全去重,建議采用消息中間件增加消費(fèi)去重處理+應(yīng)用冪等性+運(yùn)維手段結(jié)合的方式來達(dá)到消息完全不重復(fù)的目的。提供相應(yīng)的告警機(jī)制處理消息簽收超時(shí),同時(shí)對(duì)客戶端返回中間狀態(tài)提供相應(yīng)機(jī)制確保消息結(jié)果的正確性;當(dāng)增加新的消息隊(duì)列時(shí),能夠增加新的對(duì)應(yīng)的消費(fèi)端;提供無序模式下消息跳躍性簽收處理功能等。完善運(yùn)維平臺(tái),為提高對(duì)消息中間件的使用體驗(yàn),增加消息數(shù)量、消費(fèi)深度等信息查詢、節(jié)點(diǎn)、生產(chǎn)者、消費(fèi)者在線監(jiān)控,實(shí)現(xiàn)對(duì)消息積壓及吞吐量的監(jiān)控,增加關(guān)鍵操作日志方便查看用戶操作,增加消息回溯及綜合查詢功能。另外支持消息中間件接入易監(jiān)控平臺(tái)。交易密集型應(yīng)用原型優(yōu)化本期工程在內(nèi)蒙古云基地現(xiàn)有IT云服務(wù)平臺(tái)基礎(chǔ)上,驗(yàn)證平臺(tái)基礎(chǔ)能力組件,包括數(shù)據(jù)中間件組件、消息中間件組件、負(fù)載均衡組件、工作流引擎組件、分布式協(xié)調(diào)管理服務(wù)組件、事件驅(qū)動(dòng)框架組件、安全中心組件、監(jiān)控與日志中心組件;同時(shí)在原有基于IT云服務(wù)能力平臺(tái)上開發(fā)的交易密集型應(yīng)用原型和計(jì)算密集型應(yīng)用原型,開展部分智慧運(yùn)營(yíng)平臺(tái)應(yīng)用場(chǎng)景的優(yōu)化和驗(yàn)證,通過原型驗(yàn)證進(jìn)一步評(píng)估IT云服務(wù)能力平臺(tái)近期承載集約智慧運(yùn)營(yíng)平臺(tái)核心應(yīng)用的技術(shù)可行性和能力成熟度。本期工程主要建設(shè)內(nèi)容包括:1)IT云服務(wù)能力平臺(tái)基礎(chǔ)能力驗(yàn)證。IT云平臺(tái)為新一代集中、開放、云化IT架構(gòu)的PaaS層,采用開放架構(gòu),高性能、可擴(kuò)展,數(shù)據(jù)一點(diǎn)生成、全局共享,基于同一的底層平臺(tái)架構(gòu)承載核心業(yè)務(wù)系統(tǒng)應(yīng)用。本期建設(shè)內(nèi)容包括數(shù)據(jù)中間件組件、消息中間件組件、負(fù)載均衡組件、工作流引擎組件、分布式協(xié)調(diào)管理服務(wù)組件、事件驅(qū)動(dòng)框架組件、安全中心組件、監(jiān)控與日志中心組件。2)智慧運(yùn)營(yíng)平臺(tái)部分應(yīng)用組件原型的優(yōu)化與場(chǎng)景驗(yàn)證,用于進(jìn)一步驗(yàn)證IT云平臺(tái)的基礎(chǔ)能力。本期建設(shè)內(nèi)容為選取部分智慧運(yùn)營(yíng)平臺(tái)應(yīng)用的典型場(chǎng)景,開展部分場(chǎng)景功能優(yōu)化和驗(yàn)證,包括分布式交易密集型和計(jì)算密集型的部分應(yīng)用在云平臺(tái)架構(gòu)環(huán)境下的功能健壯性和性能穩(wěn)定性。原型驗(yàn)證涉及關(guān)鍵技術(shù)包括分布式文件系統(tǒng)、分布式數(shù)據(jù)庫(kù)、分布式緩存、數(shù)據(jù)中間件、消息中間件、負(fù)載均衡、工作流引擎、分布式協(xié)調(diào)管理服務(wù)、事件驅(qū)動(dòng)框架、運(yùn)維框架等。通過原型驗(yàn)證評(píng)估IT云服務(wù)能力平臺(tái)近期承載集約智慧運(yùn)營(yíng)平臺(tái)核心應(yīng)用的技術(shù)可行性和能力成熟度,為智慧運(yùn)營(yíng)平臺(tái)集約推進(jìn)策略決策提供技術(shù)參考。監(jiān)控中心優(yōu)化本期工程主要新增部分功能,進(jìn)一步完善監(jiān)控中心能力。新增分布式服務(wù)追蹤能力:收集分布式系統(tǒng)調(diào)用棧,并對(duì)調(diào)用鏈數(shù)據(jù)進(jìn)行分析處理,處理的調(diào)用信息統(tǒng)一存貯;隨著業(yè)務(wù)發(fā)展,系統(tǒng)拆分導(dǎo)致系統(tǒng)調(diào)用鏈路愈發(fā)復(fù)雜一個(gè)前端請(qǐng)求可能最終需要調(diào)用很多次后端服務(wù)才能完成,當(dāng)整個(gè)請(qǐng)求變慢或不可用時(shí),我們是無法得知該請(qǐng)求是由某個(gè)或某些后端服務(wù)引起的,這時(shí)就需要解決如何快讀定位服務(wù)故障點(diǎn),以對(duì)癥下藥。于是就有了分布式系統(tǒng)調(diào)用跟蹤的誕生。新增基礎(chǔ)數(shù)據(jù)管理能力,統(tǒng)一存貯應(yīng)用信息及主機(jī)信息;統(tǒng)一存貯應(yīng)用信息及主機(jī)信息,根據(jù)系統(tǒng)大小不同,每一部分的結(jié)構(gòu)又有一定變化。譬如,對(duì)于大規(guī)模分布式系統(tǒng),數(shù)據(jù)存儲(chǔ)可分為實(shí)時(shí)數(shù)據(jù)和全量數(shù)據(jù)兩部分,實(shí)時(shí)數(shù)據(jù)用于故障排查(TroubleShooting),全量數(shù)據(jù)用于系統(tǒng)優(yōu)化;數(shù)據(jù)收集除了支持平臺(tái)無關(guān)和開發(fā)語言無關(guān)系統(tǒng)的數(shù)據(jù)收集,還包括異步數(shù)據(jù)收集(需要跟蹤隊(duì)列中的消息,保證調(diào)用的連貫性),以及確保更小的侵入性;數(shù)據(jù)展示又涉及到數(shù)據(jù)挖掘和分析。雖然每一部分都可能變得很復(fù)雜,但基本原理都類似。新增WEB界面,提供標(biāo)準(zhǔn)化方式展示監(jiān)控?cái)?shù)據(jù);Zipkin的基礎(chǔ)架構(gòu)UI組件,基于API組件實(shí)現(xiàn)的上層應(yīng)用。通過UI組件用戶可以方便而有直觀地查詢和分析跟蹤信息。新增數(shù)據(jù)開放能力,為應(yīng)用開發(fā)個(gè)性化監(jiān)控界面提供監(jiān)控?cái)?shù)據(jù)獲取。在SpringCloudSleuth中對(duì)Zipkin的整合進(jìn)行了自動(dòng)化配置的封裝,所以我們可以很輕松的引入和使用它。分布式WEB項(xiàng)目建設(shè)隨著Internet/Intranet的普及和飛速發(fā)展,充分利用網(wǎng)絡(luò)資源、縮小時(shí)空地域限制,在互聯(lián)網(wǎng)上進(jìn)行并行分布式處理,將成為今后計(jì)算機(jī)應(yīng)用發(fā)展的一個(gè)重要方向,并且隨著業(yè)務(wù)越拆越小,應(yīng)用系統(tǒng)整體復(fù)雜程度呈指數(shù)級(jí)上升,由于所有應(yīng)用要和所有數(shù)據(jù)庫(kù)系統(tǒng)連接,最終導(dǎo)致數(shù)據(jù)庫(kù)連接資源不足,拒絕服務(wù)。所以公共的應(yīng)用模塊被提取出來,部署在分布式服務(wù)器上供應(yīng)用服務(wù)器調(diào)用。使用基于Web的分布式應(yīng)用系統(tǒng),用戶只要有標(biāo)準(zhǔn)的Browser(瀏覽器)軟件,即可訪問和使用計(jì)算機(jī)應(yīng)用系統(tǒng),而且用戶的計(jì)算機(jī)系統(tǒng)可以不受硬件平臺(tái)的限制。而這些服務(wù)之間的調(diào)用就要考慮網(wǎng)絡(luò),負(fù)載,緩存,配置等問題。本期工程主要對(duì)分布式WEB項(xiàng)目涉及的DNS、負(fù)載均衡、網(wǎng)頁緩存、文件中心、Session管理、配置管理及監(jiān)控等功能進(jìn)行建設(shè)。分布式數(shù)據(jù)庫(kù)企業(yè)在支撐系統(tǒng)建設(shè)中一直以來采用Oracle數(shù)據(jù)庫(kù),并利用小型機(jī)和高端存儲(chǔ)設(shè)備提供高性能的數(shù)據(jù)處理和存儲(chǔ)服務(wù)。隨著業(yè)務(wù)的不斷發(fā)展,數(shù)據(jù)量和業(yè)務(wù)量呈爆發(fā)性增長(zhǎng),傳統(tǒng)的集中式Oracle數(shù)據(jù)庫(kù)架構(gòu)在擴(kuò)展性方面遭遇瓶頸。傳統(tǒng)的商業(yè)數(shù)據(jù)庫(kù)軟件(Oracle、DB2),多以集中式架構(gòu)為主,其最大特點(diǎn)就是將所有的數(shù)據(jù)都集中在一個(gè)數(shù)據(jù)庫(kù)中,依靠大型高端設(shè)備來提供高處理能力和擴(kuò)展性。集中式數(shù)據(jù)庫(kù)的擴(kuò)展性主要采用向上擴(kuò)展(Scaleup)的方式,通過增加CPU、內(nèi)存、磁盤等方式提高處理能力。這種集中式數(shù)據(jù)庫(kù)的架構(gòu),使得數(shù)據(jù)庫(kù)成為了整個(gè)系統(tǒng)的瓶頸,已經(jīng)越來越不適應(yīng)海量數(shù)據(jù)對(duì)計(jì)算能力的巨大需求。為解決此問題,本期工程總結(jié)業(yè)界基于Mysql的高可用數(shù)據(jù)庫(kù)集群方案基礎(chǔ)上提出了TeleDB數(shù)據(jù)高可用方案。分布式數(shù)據(jù)庫(kù)系統(tǒng)通常使用較小的計(jì)算機(jī)系統(tǒng),每臺(tái)計(jì)算機(jī)可單獨(dú)放在一個(gè)地方,每臺(tái)計(jì)算機(jī)中都可能有DBMS的一份完整拷貝副本,或者部分拷貝副本,并具有自己局部的數(shù)據(jù)庫(kù),位于不同地點(diǎn)的許多計(jì)算機(jī)通過網(wǎng)絡(luò)互相連接,共同組成一個(gè)完整的、全局的邏輯上集中、物理上分布的大型數(shù)據(jù)庫(kù)。服務(wù)框架企業(yè)集團(tuán)正在推進(jìn)IT架構(gòu)互聯(lián)網(wǎng)化改革并推進(jìn)智慧運(yùn)營(yíng)平臺(tái)系統(tǒng)集中工程,智慧運(yùn)營(yíng)平臺(tái)集中架構(gòu)采用全分布式架構(gòu),新架構(gòu)各業(yè)務(wù)系統(tǒng)及平臺(tái)組件大量采用REST協(xié)議開發(fā)系統(tǒng)間接口。本組件“服務(wù)框架”實(shí)現(xiàn)大量分布式服務(wù)的統(tǒng)一治理,為應(yīng)用提供標(biāo)準(zhǔn)的運(yùn)行容器,設(shè)計(jì)統(tǒng)一的接口協(xié)議,并為應(yīng)用服務(wù)提供統(tǒng)一入口、服務(wù)路由、訪問控制、負(fù)載均衡、高可用、安全認(rèn)證、服務(wù)監(jiān)控及審計(jì)日志等基礎(chǔ)能力服務(wù),并為服務(wù)提供統(tǒng)一服務(wù)目錄。DFS企業(yè)全國(guó)話單文件數(shù)據(jù)量非常大,計(jì)費(fèi)系統(tǒng)在實(shí)時(shí)處理話單的時(shí)候文件很碎,會(huì)產(chǎn)生巨大數(shù)量的小文件。巨大數(shù)量的小文件會(huì)給HDFS帶來巨大的沖擊,HDFS存貯不適合存放小文件,應(yīng)專門為小話單文件設(shè)計(jì)存貯方案。本方案采用將多個(gè)邏輯小文件合并成一個(gè)物理大文件方式實(shí)現(xiàn)小文件在HDFS上存貯,該方案可以使用在任何需要用HDFS存貯小文件場(chǎng)景。開發(fā)DFS文件系統(tǒng),核心功能包括元數(shù)據(jù)管理及數(shù)據(jù)存貯管理,并提供與HDFS一致的開發(fā)API,支持C++/JAVA語言對(duì)文件進(jìn)行讀寫操作;支持Mapreduce并行處理框架;支持REST方式調(diào)用。為配套平臺(tái)監(jiān)控,需要將指標(biāo)推送到監(jiān)控中心。提供文件系統(tǒng)相關(guān)配套,包括文件操作命令集及文件系統(tǒng)健康檢查。結(jié)構(gòu)化數(shù)據(jù)服務(wù)隨著企業(yè)流量經(jīng)營(yíng)的逐步深入,無論企業(yè)內(nèi)部還是外部用戶對(duì)流量使用的服務(wù)需求日趨強(qiáng)烈。在處理用戶流量相關(guān)投訴時(shí),基于現(xiàn)有的客服系統(tǒng)手段難以解釋用戶何時(shí)、何地訪問哪些網(wǎng)址或應(yīng)用導(dǎo)致高流量;面對(duì)計(jì)費(fèi)爭(zhēng)議,企業(yè)也無法提供流量產(chǎn)生的依據(jù),只能協(xié)商退還費(fèi)用。所以,建設(shè)并完善移動(dòng)用戶上網(wǎng)記錄查詢功能(包括上網(wǎng)流量詳單及更詳細(xì)的流量軌跡記錄查詢),通過對(duì)用戶上網(wǎng)內(nèi)容的解析實(shí)現(xiàn)洞察用戶、分析用戶上網(wǎng)行為,以支撐流量經(jīng)營(yíng)、流量服務(wù)。流量軌跡記錄數(shù)據(jù)量十分巨大,據(jù)統(tǒng)計(jì)全國(guó)每天數(shù)據(jù)量約20T,如果提供6月在線數(shù)據(jù)查詢,總數(shù)據(jù)量達(dá)4PB,基于現(xiàn)有技術(shù)方案,無法提供如此巨大數(shù)據(jù)在線實(shí)時(shí)查詢。本期組件“結(jié)構(gòu)化數(shù)據(jù)服務(wù)”,基于多個(gè)開源技術(shù)組件設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)及存貯方案,滿足超大量數(shù)據(jù)存貯,并提供實(shí)時(shí)查詢接口,為“流量軌跡數(shù)據(jù)實(shí)時(shí)查詢”提供解決方案,同時(shí)支持SQL及MapReduce并行處理框架。密集型計(jì)算框架為貫徹企業(yè)深化改革的要求,落實(shí)IT深化改革的具體舉措,構(gòu)建集中、開放的云化IT架構(gòu),按照集團(tuán)公司領(lǐng)導(dǎo)對(duì)簽報(bào)《關(guān)于以互聯(lián)網(wǎng)思維實(shí)現(xiàn)核心業(yè)務(wù)系統(tǒng)(智慧運(yùn)營(yíng)平臺(tái))集中的建議》(2014【351】號(hào))的指示精神,企業(yè)信息化事業(yè)部計(jì)劃采用平臺(tái)加應(yīng)用的方式構(gòu)建全網(wǎng)統(tǒng)一的IT云服務(wù)能力平臺(tái)以及基于云平臺(tái)的全國(guó)集中智慧運(yùn)營(yíng)平臺(tái)應(yīng)用的原型研發(fā)。在2015年IT云服務(wù)平臺(tái)關(guān)鍵技術(shù)專題能力建設(shè)中,提出了建設(shè)密集計(jì)算框架,用于解決集約計(jì)費(fèi)面臨的海量數(shù)據(jù)計(jì)算的問題?;贗T云服務(wù)能力平臺(tái)的集中計(jì)費(fèi)系統(tǒng)技術(shù)架構(gòu)示意如下圖所示,主要實(shí)現(xiàn)采集分發(fā)節(jié)點(diǎn)、計(jì)費(fèi)節(jié)點(diǎn)部分基本功能原型,驗(yàn)證平臺(tái)的分布性能、故障恢復(fù)、平滑擴(kuò)展等問題。分布式事務(wù)系統(tǒng)使用分布式數(shù)據(jù)庫(kù)(TeleUDAL+TeleDB)后,一個(gè)事務(wù)如果涉及到多個(gè)物理數(shù)據(jù)庫(kù)節(jié)點(diǎn)操作,可能會(huì)出現(xiàn)部分物理節(jié)點(diǎn)處理成功、部分失敗的中間狀態(tài),按照傳統(tǒng)的數(shù)據(jù)庫(kù)操作方式無法保障數(shù)據(jù)的一致性及可用性,這就是我們?cè)诜植际綌?shù)據(jù)庫(kù)中需要解決的分布式事務(wù)問題。在分布式數(shù)據(jù)庫(kù)中,事務(wù)邊界越大(或者單個(gè)SQL所執(zhí)行的數(shù)據(jù)分片數(shù)),那么系統(tǒng)的鎖沖突概率越高,系統(tǒng)越難以擴(kuò)展,性能越低。因此,若想將系統(tǒng)做到很好的擴(kuò)展性,那么一個(gè)最重要的原則就是想辦法劃小事務(wù)邊界,并盡可能讓事務(wù)的邊界限制在單臺(tái)機(jī)器內(nèi)??s小事務(wù)邊界的方式,主要有以下三類:第一種方式:事務(wù)邊界本來就很小比如,按照某個(gè)切分條件,數(shù)據(jù)分布均勻,并且事務(wù)邊界只在單機(jī)內(nèi),那么這個(gè)事務(wù)就是單庫(kù)事務(wù),目前TeleUDAL已支持單庫(kù)事務(wù)。第二種方式:使用基于消息的最終一致模型,將強(qiáng)一致事務(wù)變?yōu)樽罱K一致事務(wù)將一個(gè)大的事務(wù)拆解成多個(gè)單庫(kù)事務(wù),分別處理,使用異步消息+冪等性來保障數(shù)據(jù)的最終一致性,此方式由應(yīng)用自行處理。第三種方式:謹(jǐn)慎的使用分布式事務(wù)使用最終一致性事務(wù),一般只能解決90%的業(yè)務(wù)場(chǎng)景,剩下的一些場(chǎng)景,可能還是需要使用分布式事務(wù)方式完成。但分布式事務(wù)必然帶來非常多的性能問題,因此,我們只建議在不得不使用分布式事務(wù)的時(shí)候,才使用。對(duì)于第三種方式,我們需要結(jié)合TeleUDAL及TeleDB現(xiàn)有功能研發(fā)分布式事務(wù)組件,為應(yīng)用系統(tǒng)提供分布式事務(wù)解決方案。分布式任務(wù)調(diào)度系統(tǒng)任務(wù)定時(shí)調(diào)度是指基于給定時(shí)間點(diǎn)、給定時(shí)間間隔或者給定執(zhí)行次數(shù)自動(dòng)執(zhí)行任務(wù)。目前業(yè)界存在的幾種任務(wù)定時(shí)調(diào)度,主要采用Timer,SpringTask,ScheduleExecutorService,Quartz等技術(shù)實(shí)現(xiàn)。作為分布式集群環(huán)境的定時(shí)任務(wù)調(diào)度系統(tǒng),目前開源方案主要有easySchedule、elastic-job、ligth-task-scheduler、uncode-schedule,但都存在一定的不足。easySchedule自2012年之后已不再維護(hù),同時(shí)只支持HTTP任務(wù)。elastic-job是一個(gè)無調(diào)度中心的分布式彈性作業(yè)框架,作業(yè)運(yùn)行的狀態(tài)數(shù)據(jù)保存在Zookeeper節(jié)點(diǎn),在作業(yè)量較大的情況,嚴(yán)重影響調(diào)度的實(shí)時(shí)性和準(zhǔn)確性;同時(shí)運(yùn)維平臺(tái)操作不方便,功能較簡(jiǎn)單,缺乏監(jiān)控、統(tǒng)計(jì)、告警的能力。ligth-task-scheduler的實(shí)現(xiàn)參考了dubbo架構(gòu),采用眾多技術(shù),存在過度設(shè)計(jì)的情況;同時(shí)架構(gòu)上分成了4種不同類型的節(jié)點(diǎn),提高了部署和運(yùn)維的難度;缺乏統(tǒng)一的任務(wù)配置功能。uncode-schedule是基于zookeeper+springtask/quartz的分布式任務(wù)調(diào)度組件,確保所有任務(wù)在集群中不重復(fù),不遺漏的執(zhí)行。支持動(dòng)態(tài)添加和刪除任務(wù)。但存在任務(wù)的開發(fā)必須依賴于springtask的限制。在線交易應(yīng)用框架在線交易應(yīng)用框架包括開發(fā)者門戶、應(yīng)用引擎以及在線交易定制引擎三方面內(nèi)容。其中:開發(fā)者門戶功能主要是實(shí)現(xiàn)對(duì)應(yīng)用的開發(fā)、構(gòu)建、部署的跟蹤管理;應(yīng)用引擎功能主要是對(duì)現(xiàn)有云平臺(tái)的公共組件進(jìn)行封裝,提供給應(yīng)用調(diào)用使用;在線交易定制引擎是根據(jù)應(yīng)用公共特點(diǎn),在應(yīng)用引擎基礎(chǔ)之上,針對(duì)各類應(yīng)用公共特征而定制的一套組件庫(kù)和服務(wù)庫(kù),以快速支撐各類應(yīng)用功能。跨IDC數(shù)據(jù)同步功能跨IDC數(shù)據(jù)復(fù)制的目的通過加速數(shù)據(jù)復(fù)制控制數(shù)據(jù)沖突時(shí)間范圍來減少IDC間的不一致數(shù)據(jù)??鏘DC數(shù)據(jù)同步是一種集數(shù)據(jù)遷移、數(shù)據(jù)實(shí)時(shí)同步于一體的數(shù)據(jù)傳輸服務(wù)。解決遠(yuǎn)距離、毫秒級(jí)異步數(shù)據(jù)傳輸難題??鏘DC數(shù)據(jù)同步組件主要包括以下應(yīng)用場(chǎng)景:異構(gòu)數(shù)據(jù)遷移,增量數(shù)據(jù)同步,災(zāi)備系統(tǒng)。數(shù)據(jù)能力開放企業(yè)集團(tuán)正在推進(jìn)IT架構(gòu)互聯(lián)網(wǎng)化及智慧運(yùn)營(yíng)平臺(tái)系統(tǒng)集中工程,智慧運(yùn)營(yíng)平臺(tái)系統(tǒng)集中后,各類業(yè)務(wù)數(shù)據(jù)如客戶資料、用戶詳單等數(shù)據(jù)隨著系統(tǒng)集中而集中。數(shù)據(jù)隨著集中后,省級(jí)系統(tǒng)及合作伙伴等存在數(shù)據(jù)使用需求,要求集中后系統(tǒng)具備向數(shù)據(jù)需求方提供數(shù)據(jù)能力。另外,智慧運(yùn)營(yíng)平臺(tái)域內(nèi)部系統(tǒng)之間也存在數(shù)據(jù)共享需求。由于數(shù)據(jù)分散在集中后的各子系統(tǒng),數(shù)據(jù)形態(tài)各異,大小不一,數(shù)據(jù)開放需要考慮數(shù)據(jù)開放協(xié)議、數(shù)據(jù)安全、認(rèn)證及數(shù)據(jù)轉(zhuǎn)換等問題。如果由各子系統(tǒng)獨(dú)立開放接口,會(huì)造成域內(nèi)系統(tǒng)間、省級(jí)系統(tǒng)和合作伴系統(tǒng)依賴混亂,不利于統(tǒng)一協(xié)議及管理數(shù)據(jù)安全。數(shù)據(jù)能力開放平臺(tái)就是為了解決集團(tuán)集中智慧運(yùn)營(yíng)平臺(tái)域內(nèi)子系統(tǒng)間數(shù)據(jù)共享、向省級(jí)系統(tǒng)及合作伙伴實(shí)現(xiàn)數(shù)據(jù)開放。分布式緩存隨著業(yè)務(wù)發(fā)展,需要緩存的數(shù)據(jù)越來越大,例如計(jì)費(fèi)系統(tǒng)緩存的客戶資料數(shù)據(jù)已達(dá)到T以上,這些數(shù)據(jù)目前集中部署在小型機(jī)的共享內(nèi)存上,數(shù)據(jù)規(guī)模已經(jīng)達(dá)到單臺(tái)主機(jī)的內(nèi)存瓶頸,后續(xù)擴(kuò)容成本高昂。且在大規(guī)模并發(fā)訪問情況下,系統(tǒng)速度慢和數(shù)據(jù)利用率低的問題大大制約了整體系統(tǒng)性能;目前迫切需要引入分布式緩存技術(shù),解決以下關(guān)鍵性問題:1.將已有部署在小型機(jī)的巨大的共享內(nèi)存,分別部署到多臺(tái)pcserve上;形成分布式緩存,節(jié)約成本,又便于應(yīng)用分布化;2.業(yè)務(wù)不斷增長(zhǎng)的數(shù)據(jù)實(shí)時(shí)擴(kuò)展需求,系統(tǒng)彈性伸縮性瓶頸;3.大規(guī)模并發(fā)的數(shù)據(jù)I/O性能瓶頸,減輕數(shù)據(jù)庫(kù)的負(fù)載壓力,提高事務(wù)吞吐率、降低系統(tǒng)延時(shí)。項(xiàng)目技術(shù)方案總體建設(shè)技術(shù)方案總體概述系統(tǒng)各項(xiàng)技術(shù)應(yīng)遵循企業(yè)相關(guān)標(biāo)準(zhǔn)和技術(shù)體制;我方應(yīng)向甲方提供完整、最新而成熟的系統(tǒng)軟硬件等技術(shù)和產(chǎn)品,并需經(jīng)過企業(yè)的測(cè)試驗(yàn)證。其各項(xiàng)技術(shù)應(yīng)保證具有開放性、可移植性、兼容性和可擴(kuò)展性。系統(tǒng)配置的軟件和硬件設(shè)備提供開放的應(yīng)用接口,可以方便地與其他廠家同類型應(yīng)用系統(tǒng)進(jìn)行軟、硬件平臺(tái)互連,便于系統(tǒng)未來的擴(kuò)展;我方應(yīng)提供快速、有效、功能全面的網(wǎng)絡(luò)管理系統(tǒng),包括軟硬件管理服務(wù)模塊和專用工具,具有設(shè)備配置、統(tǒng)計(jì)分析、告警等管理功能;并具備向上連接到集團(tuán)網(wǎng)管的能力;本項(xiàng)目涉及的軟硬件設(shè)備提供商可能不只一家,因此在遵循本技術(shù)規(guī)范的基礎(chǔ)上,要求我方應(yīng)與各設(shè)備提供商在系統(tǒng)集成方面提供充分的合作和技術(shù)支持;在工程實(shí)施中,不同的承建系統(tǒng)集成商由甲方統(tǒng)一協(xié)調(diào),各設(shè)備提供商須積極配合,涉及到的互連接口,必須提供具體技術(shù)細(xì)節(jié)資料;我方提供的應(yīng)用軟件保修期兩年,保修期自買賣雙方簽訂終驗(yàn)證書之日起開始計(jì)算。系統(tǒng)設(shè)計(jì)企業(yè)IT基礎(chǔ)架構(gòu)云服務(wù)能力擴(kuò)容建設(shè)項(xiàng)目在總體設(shè)計(jì)上應(yīng)滿足以下要求:規(guī)范和標(biāo)準(zhǔn)符合性:系統(tǒng)應(yīng)符合其他IT相關(guān)規(guī)范標(biāo)準(zhǔn)、符合企業(yè)IT云服務(wù)能力平臺(tái)規(guī)范及各項(xiàng)工程項(xiàng)目標(biāo)準(zhǔn)。技術(shù)先進(jìn)成熟性:采用成熟、合理、先進(jìn)的技術(shù),在選用系統(tǒng)組件(中間件等)時(shí)要在保證其成熟性和可靠性的同時(shí)保證系統(tǒng)建設(shè)的適度先進(jìn)性。安全性和可靠性:系統(tǒng)針對(duì)主機(jī)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、應(yīng)用等各層次要制定相應(yīng)的安全策略和可靠性策略,保障系統(tǒng)的安全性和可靠性,應(yīng)用軟件應(yīng)具有處理各種非正常狀態(tài)和事件的能力。開放性:系統(tǒng)應(yīng)采用多層開放式體系結(jié)構(gòu),具有清晰的體系結(jié)構(gòu)。提供靈活的二次開發(fā)手段,在面向?qū)ο蟮臉I(yè)務(wù)組件應(yīng)用框架上,能夠在不影響系統(tǒng)情況下快速開發(fā)新業(yè)務(wù),同時(shí)提供方便地對(duì)業(yè)務(wù)進(jìn)行修改和動(dòng)態(tài)加載的支持。系統(tǒng)集成靈活性:系統(tǒng)采用基于工業(yè)標(biāo)準(zhǔn),如LDAP、WEBSERVICE、J2EE、XML、HTTP、SSL、JSON等技術(shù),與集團(tuán)相關(guān)業(yè)務(wù)平臺(tái)或系統(tǒng)對(duì)接并集成。松耦合和可擴(kuò)展性:系統(tǒng)應(yīng)具有良好的伸縮性,可以隨業(yè)務(wù)規(guī)模的增長(zhǎng)平滑擴(kuò)展;要能夠支持多個(gè)層面的可擴(kuò)展性,通過負(fù)載平衡、快速開發(fā)/重組、業(yè)務(wù)參數(shù)配置等多個(gè)方面使得系統(tǒng)可以支持企業(yè)未來不斷變化的業(yè)務(wù)需求。系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)遵循松耦合、模塊化的原則,采用軟件總線、組件設(shè)計(jì)方式以保證應(yīng)用系統(tǒng)的靈活性,適應(yīng)個(gè)性化的需求;我方保證對(duì)外接口的開放性,支持與不同廠商設(shè)備間的互連(包括支撐系統(tǒng)、業(yè)務(wù)平臺(tái)等);我方應(yīng)滿足系統(tǒng)在大業(yè)務(wù)量下的實(shí)時(shí)、并發(fā)處理的性能要求;我方應(yīng)提供設(shè)備的在線擴(kuò)容,包括在線擴(kuò)展CPU、內(nèi)存,及擴(kuò)展集群點(diǎn);我方所提供系統(tǒng)采用集中式結(jié)構(gòu)(分布采集、集中處理、集中存儲(chǔ)),同時(shí)提供一定的分級(jí)分權(quán)管理機(jī)制;我方在建議書應(yīng)對(duì)系統(tǒng)所采用的體系結(jié)構(gòu)、采用的技術(shù)、實(shí)現(xiàn)方式、編程語言進(jìn)行詳細(xì)的闡述;我方所提供系統(tǒng)應(yīng)進(jìn)行良好的分層和封裝,并在建議書中對(duì)軟件分層和封裝進(jìn)行詳細(xì)說明。系統(tǒng)質(zhì)量保障系統(tǒng)可靠性我方向需求方提供成熟的、穩(wěn)定、容錯(cuò)性和易恢復(fù)性俱佳的系統(tǒng)。在我方的應(yīng)標(biāo)書中應(yīng)明確指明其系統(tǒng)的MTTR和MTBF指標(biāo)(分軟、硬件)。排除人為誤操作因素,由應(yīng)用系統(tǒng)自身原因?qū)е碌南到y(tǒng)崩潰故障,平均無故障時(shí)間(MTBF)應(yīng)大于365天,平均修復(fù)時(shí)間(MTTR)應(yīng)小于4小時(shí)。排除人為誤操作因素,由應(yīng)用系統(tǒng)自身原因?qū)е碌南到y(tǒng)錯(cuò)誤故障,平均無故障時(shí)間(MTBF)應(yīng)大于100天,平均修復(fù)時(shí)間(MTTR)應(yīng)小于30分鐘。隨系統(tǒng)提交的技術(shù)文件必須明確標(biāo)識(shí)出所實(shí)現(xiàn)的可度量的功能和性能指標(biāo)。應(yīng)用系統(tǒng)必須支持連續(xù)7×24小時(shí)不間斷地工作,應(yīng)用軟件中的任一構(gòu)件更新、加載時(shí),在不更新與上下構(gòu)件的接口的前提下,不影響業(yè)務(wù)運(yùn)轉(zhuǎn)和服務(wù)。系統(tǒng)必須采用增量備份和全備份相結(jié)合的方式定期備份重要的系統(tǒng)數(shù)據(jù)。應(yīng)用系統(tǒng)在業(yè)務(wù)處理高峰時(shí),各主機(jī)設(shè)備的內(nèi)存利用率應(yīng)該不大于70%,CPU平均空閑率不低于30%。應(yīng)用系統(tǒng)必須支持負(fù)載均衡能力,支持應(yīng)用部署在多臺(tái)服務(wù)器上,避免應(yīng)用系統(tǒng)的單點(diǎn)故障。應(yīng)用系統(tǒng)應(yīng)具有良好的并行處理機(jī)制,對(duì)存取沖突的競(jìng)爭(zhēng)具有有效的仲裁和加鎖機(jī)制,充分保證事務(wù)處理的完整性,并降低系統(tǒng)I/O開銷,提高并發(fā)用戶查詢和存取的性。系統(tǒng)具備完備的功能性系統(tǒng)應(yīng)依據(jù)本規(guī)范書實(shí)現(xiàn)完善、準(zhǔn)確的功能。系統(tǒng)具備完整性和安全性系統(tǒng)提供有效的安全保密措施,確保系統(tǒng)和數(shù)據(jù)資源的安全,防止對(duì)系統(tǒng)資源的非法侵入,入侵檢測(cè)系統(tǒng)應(yīng)對(duì)違背安全事件記錄并報(bào)警;我方應(yīng)提供有關(guān)網(wǎng)絡(luò)安全的詳細(xì)說明,公網(wǎng)上傳輸?shù)臄?shù)據(jù),必須以國(guó)家標(biāo)準(zhǔn)的加密算法加密,并在應(yīng)標(biāo)書列出算法及相關(guān)軟件列表。系統(tǒng)應(yīng)該充分利用防火墻、安全證書、SSL等數(shù)據(jù)加密技術(shù)保證系統(tǒng)與數(shù)據(jù)的安全。通過防火墻(硬件防火墻)對(duì)進(jìn)入內(nèi)部網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行掃描過濾,能夠根據(jù)用戶、IP地址、訪問類型等方式進(jìn)行訪問規(guī)則限制。系統(tǒng)必須能夠?qū)ΤR姷娜肭中袨檫M(jìn)行判斷并阻止。提供地址翻譯功能,屏蔽網(wǎng)絡(luò)內(nèi)部細(xì)節(jié),防止外部黑客利用IP探測(cè)技術(shù)發(fā)現(xiàn)內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)和服務(wù)器真實(shí)地址,從而實(shí)現(xiàn)有針對(duì)性的攻擊。系統(tǒng)必須能夠?qū)W(wǎng)絡(luò)通訊進(jìn)行監(jiān)控,及時(shí)發(fā)現(xiàn)任何來自于網(wǎng)絡(luò)內(nèi)部或外部的黑客入侵或可疑的訪問行為,并做到及時(shí)報(bào)警與阻斷。我方提供的方案必需保證傳輸安全,網(wǎng)絡(luò)層需認(rèn)證報(bào)文的來源,防止攻擊者利用偽裝地址來發(fā)送報(bào)文,確保報(bào)文在網(wǎng)絡(luò)中傳輸時(shí)沒有發(fā)生變化,確保報(bào)文內(nèi)容在傳輸過程中未被讀取,確保未授權(quán)方不能讀取報(bào)文的內(nèi)容,確保認(rèn)證報(bào)文沒有重復(fù),避免攻擊者通過重發(fā)截獲的認(rèn)證報(bào)文來干擾正常的通信。系統(tǒng)必須周期性地備份系統(tǒng)文件(不含文件傳輸?shù)慕涌诰彌_區(qū),緩沖區(qū)中的內(nèi)容備份在系統(tǒng)接口數(shù)據(jù)備份的章節(jié)描述),能夠在系統(tǒng)崩潰后快速修復(fù)系統(tǒng)文件。不同的操作員具有不同的數(shù)據(jù)訪問權(quán)限和功能操作權(quán)限,系統(tǒng)管理員應(yīng)能對(duì)各操作員的權(quán)限進(jìn)行配置和管理。系統(tǒng)必須支持對(duì)系統(tǒng)運(yùn)行所必須的用戶名與密碼周期性更改的要求。系統(tǒng)必須強(qiáng)制實(shí)現(xiàn)操作員口令安全規(guī)則,如限制口令長(zhǎng)度、限定口令修改時(shí)間間隔等,保證其身份的合法性。系統(tǒng)必須支持操作失效時(shí)間的配置。當(dāng)操作員在所配置的時(shí)間內(nèi)沒有對(duì)界面進(jìn)行任何操作則該應(yīng)用自動(dòng)失效。系統(tǒng)必須提供完善的審計(jì)功能,對(duì)系統(tǒng)關(guān)鍵數(shù)據(jù)的每一次增加、修改和刪除都能記錄相應(yīng)的修改時(shí)間、操作人和修改前的數(shù)據(jù)記錄。系統(tǒng)的審計(jì)功能必須提供根據(jù)時(shí)段、操作員、關(guān)鍵數(shù)據(jù)類型等條件組合查詢系統(tǒng)的審計(jì)記錄。系統(tǒng)的審計(jì)功能必須提供針對(duì)特定關(guān)鍵數(shù)據(jù)查詢歷史審計(jì)記錄。系統(tǒng)易用性系統(tǒng)應(yīng)易于安裝和使用,具備風(fēng)格一致的用戶界面,且為中文操作界面,為方便使用,系統(tǒng)應(yīng)設(shè)置導(dǎo)航欄等內(nèi)容。系統(tǒng)應(yīng)能在瀏覽器中完成基本管理任務(wù),對(duì)用戶輸入錯(cuò)誤應(yīng)盡早發(fā)現(xiàn)和提醒系統(tǒng)應(yīng)具備完善的聯(lián)機(jī)幫助功能。隨系統(tǒng)提交的產(chǎn)品文件必須包括完善的、針對(duì)不同級(jí)別用戶的應(yīng)用系統(tǒng)培訓(xùn)教材、培訓(xùn)考題及培訓(xùn)考核方法建議。廠家可以通過對(duì)產(chǎn)品頒發(fā)資格認(rèn)證證書的方式,以確認(rèn)用戶對(duì)該產(chǎn)品的某個(gè)操作級(jí)別的使用資格。對(duì)于業(yè)務(wù)熟練并且熟悉電腦操作的普通用戶,應(yīng)該可以通過現(xiàn)場(chǎng)培訓(xùn),即可熟練掌握應(yīng)用系統(tǒng)基本功能的操作技能。對(duì)于系統(tǒng)管理員,應(yīng)該可以通過不超過累計(jì)兩周的培訓(xùn),即可熟練掌握應(yīng)用系統(tǒng)管理相關(guān)功能的操作技能。應(yīng)用系統(tǒng)必須提供一致性的圖形用戶界面風(fēng)格。應(yīng)用系統(tǒng)對(duì)普通用戶的操作界面應(yīng)該以B/S方式實(shí)現(xiàn)。應(yīng)用系統(tǒng)應(yīng)該支持操作員登錄系統(tǒng)后,不超過三次鼠標(biāo)的點(diǎn)擊,即可訪問到業(yè)務(wù)所需功能。應(yīng)用系統(tǒng)必須支持同時(shí)打開多個(gè)管理窗口以對(duì)不同任務(wù)進(jìn)行并行的操作。應(yīng)用系統(tǒng)應(yīng)該支持在一個(gè)業(yè)務(wù)過程中的所有功能界面都有返回上一個(gè)操作的快捷鏈接。應(yīng)用系統(tǒng)應(yīng)該支持通過鍵盤即可完成一個(gè)界面窗口內(nèi)的主要操作。應(yīng)用系統(tǒng)應(yīng)支持通過Tab鍵或回車鍵可訪問到同一個(gè)窗口的所有控件對(duì)象。應(yīng)用系統(tǒng)應(yīng)該支持對(duì)于常用功能設(shè)置快捷鍵以方便功能間的切換;快捷鍵的功能定義在全系統(tǒng)保持一致。應(yīng)用系統(tǒng)必須采用分頁機(jī)制顯示查詢結(jié)果,并顯示返回的記錄數(shù)目、當(dāng)前頁和總頁數(shù)。應(yīng)用系統(tǒng)發(fā)現(xiàn)用戶提交有誤信息,必須以彈出窗口的形式明確提示用戶錯(cuò)誤的原因,并把界面控制焦點(diǎn)置于發(fā)生錯(cuò)誤的控件對(duì)象上。應(yīng)用系統(tǒng)的操作界面必須用“*”明確標(biāo)識(shí)出必填的輸入信息。當(dāng)應(yīng)用系統(tǒng)正在執(zhí)行用戶提交的請(qǐng)求而無法返回時(shí),必須明確標(biāo)識(shí)系統(tǒng)處于繁忙階段。系統(tǒng)可維護(hù)性具備完備的數(shù)據(jù)備份和恢復(fù)機(jī)制。系統(tǒng)具備方便且可定期執(zhí)行、分析結(jié)果的業(yè)務(wù)測(cè)試功能。系統(tǒng)應(yīng)易于修改,對(duì)某一個(gè)模塊的修改,不影響其他模塊的正常運(yùn)行。系統(tǒng)應(yīng)易于擴(kuò)展,新增服務(wù)時(shí)要求對(duì)系統(tǒng)做盡可能少的修改。系統(tǒng)應(yīng)具備自管理和監(jiān)控功能,能夠?qū)崟r(shí)監(jiān)控各模塊的執(zhí)行。我方提供的系統(tǒng)應(yīng)具備利用甲方已有時(shí)間同步系統(tǒng)進(jìn)行時(shí)間同步和時(shí)間自動(dòng)調(diào)整的功能。我方提供的系統(tǒng)應(yīng)具備在線升級(jí)協(xié)議及版本的功能,在不中斷業(yè)務(wù)的情況下支持對(duì)系統(tǒng)外部接口協(xié)議進(jìn)行在線升級(jí)、對(duì)修改后的系統(tǒng)版本進(jìn)行在線升級(jí)。系統(tǒng)在運(yùn)行過程中所發(fā)生的任何錯(cuò)誤都應(yīng)該有明確的錯(cuò)誤編號(hào),并能在系統(tǒng)的相應(yīng)維護(hù)手冊(cè)中查到錯(cuò)誤處理方法與步驟。應(yīng)用系統(tǒng)應(yīng)該支持通過統(tǒng)一的圖形界面,監(jiān)控各應(yīng)用構(gòu)件的運(yùn)行狀態(tài)。應(yīng)用系統(tǒng)必須支持通過統(tǒng)一的圖形界面,能夠監(jiān)控到應(yīng)用系統(tǒng)所有的報(bào)警、異常信息。應(yīng)用系統(tǒng)應(yīng)該采用構(gòu)件化設(shè)計(jì)思想,系統(tǒng)框架與業(yè)務(wù)邏輯分離;要求具備開放的體系結(jié)構(gòu)。應(yīng)用系統(tǒng)應(yīng)該支持通過統(tǒng)一的圖形界面能夠訪問到系統(tǒng)各構(gòu)件、合約的版本信息及相應(yīng)功能說明。系統(tǒng)完備性我方根據(jù)本規(guī)范書要求提出的方案及設(shè)備配置,必須能完成網(wǎng)絡(luò)連接及所有要求的功能,不存在電纜、網(wǎng)卡或其它附件的短缺,不存在本期工程設(shè)備和軟件性能不滿足業(yè)務(wù)需求和系統(tǒng)功能的情況,否則我方須在兩周內(nèi)免費(fèi)補(bǔ)齊所缺設(shè)備和軟件。系統(tǒng)可擴(kuò)展性系統(tǒng)應(yīng)可以隨時(shí)增加網(wǎng)絡(luò)設(shè)備或模板來擴(kuò)展整個(gè)網(wǎng)絡(luò),可以不增加任何投資,通過選擇通訊協(xié)議和接入通信速率來提高網(wǎng)絡(luò)傳輸速度,降低系統(tǒng)運(yùn)行費(fèi)用。應(yīng)易于擴(kuò)容和維護(hù)。能支持平滑無中斷在線擴(kuò)容或新增業(yè)務(wù)。系統(tǒng)可測(cè)試性隨系統(tǒng)提交的技術(shù)文件必須明確標(biāo)識(shí)出所實(shí)現(xiàn)可度量的功能和性能指標(biāo)。我方應(yīng)有固定的測(cè)試工程師進(jìn)行專門的測(cè)試工作,每次新功能測(cè)試完成后,應(yīng)提供詳細(xì)的測(cè)試文檔,包括測(cè)試的用例、方法及其結(jié)果等,交付局方人員作驗(yàn)收測(cè)試。測(cè)試結(jié)果應(yīng)符合實(shí)際,測(cè)試未通過的項(xiàng)目應(yīng)及時(shí)反饋并進(jìn)行修改。系統(tǒng)可移植性應(yīng)用系統(tǒng)應(yīng)該不需改動(dòng)或盡可能少的改動(dòng)就可以在不同的主流UNIX服務(wù)器(如IBM、HP、SUN等)或PCserver服務(wù)器(包括虛擬機(jī))上方便地移植。系統(tǒng)必須對(duì)于存儲(chǔ)設(shè)備、備份設(shè)備及各種網(wǎng)絡(luò)設(shè)備具有完全無關(guān)性。應(yīng)用系統(tǒng)必須支持在不同主流數(shù)據(jù)庫(kù)平臺(tái)(ORACLE、Informix、sybase等)間的移植。移植時(shí)不允許修改業(yè)務(wù)邏輯構(gòu)件,應(yīng)該盡可能少地修改直接操作數(shù)據(jù)庫(kù)的信息服務(wù)構(gòu)件。應(yīng)用系統(tǒng)必須支持在不同主流中間件平臺(tái)(如Weblogic、Websphere等)間的移植。系統(tǒng)易安裝性應(yīng)用系統(tǒng)應(yīng)該提供圖形化的安裝與配置界面。應(yīng)用系統(tǒng)必須支持客戶端軟件版本的自動(dòng)升級(jí)。功能可擴(kuò)展性IT內(nèi)控補(bǔ)充細(xì)則我方提供的系統(tǒng)必須符合企業(yè)內(nèi)控的要求,要求至少支持但不限于以下要求。提供多種管理員角色系統(tǒng)管理員:系統(tǒng)管理員負(fù)責(zé)對(duì)該系統(tǒng)所涉及的硬件和軟件配置的集中管理,包含性能管理、故障配置、安全管理、配置管理和統(tǒng)計(jì)功能等。日志管理員:日志管理員負(fù)責(zé)檢查業(yè)務(wù)平臺(tái)應(yīng)用程序、操作系統(tǒng)和數(shù)據(jù)庫(kù)層面安全日志記錄(含對(duì)于重要的數(shù)據(jù)增、刪、改操作),監(jiān)督系統(tǒng)管理員和業(yè)務(wù)管理員執(zhí)行的敏感操作,可通過瀏覽管理員操作日志來取得系統(tǒng)的所有管理操作信息。業(yè)務(wù)管理員:業(yè)務(wù)管理員負(fù)責(zé)對(duì)該系統(tǒng)所提供的業(yè)務(wù)的管理,如業(yè)務(wù)流程管理、業(yè)務(wù)排行管理、業(yè)務(wù)版面管理、業(yè)務(wù)接入管理、業(yè)務(wù)內(nèi)容接入管理、業(yè)務(wù)合作管理業(yè)務(wù)發(fā)展數(shù)據(jù)和使用情況的分析和統(tǒng)計(jì)管理等。系統(tǒng)的數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)管理系統(tǒng)應(yīng)提供安全可靠的聯(lián)機(jī)數(shù)據(jù)備份功能;我方應(yīng)提供有關(guān)數(shù)據(jù)備份的詳細(xì)說明,根據(jù)局方的備份要求,提出具體的備份機(jī)制建議,包括備份方式、備份周期、備份介質(zhì)、備份保留時(shí)間和相關(guān)軟件的列表,備份策略的制定必須充分考慮到出現(xiàn)異常時(shí)數(shù)據(jù)的恢復(fù)。我方應(yīng)根據(jù)1)中對(duì)備份的需求以及系統(tǒng)現(xiàn)狀,提出備份配置方案,并進(jìn)行詳細(xì)的說明。對(duì)業(yè)務(wù)平臺(tái)的備份,系統(tǒng)必須提供和保留備份日志(自動(dòng)或手工記錄方式),以便運(yùn)維人員每日復(fù)核備份日志,以發(fā)現(xiàn)備份錯(cuò)誤或其它異?,F(xiàn)象。能夠在線完成數(shù)據(jù)備份和恢復(fù)的功能。日志管理和監(jiān)控功能日志包括系統(tǒng)運(yùn)行日志、系統(tǒng)和業(yè)務(wù)管理員操作日志兩個(gè)部分。日志由平臺(tái)系統(tǒng)生成,并自動(dòng)進(jìn)行存檔保存。日志應(yīng)分為幾種級(jí)別,由高至低,較低級(jí)別的日志是較高級(jí)別的子集合。系統(tǒng)具備自動(dòng)監(jiān)控或人工監(jiān)控業(yè)務(wù)平臺(tái)的生產(chǎn)環(huán)境的工具和功能,及時(shí)發(fā)出系統(tǒng)故障告警,短信、郵件、信息提示等多種方式告警。必須提供自動(dòng)或人工記錄方式的監(jiān)控結(jié)果日志保存功能。信息系統(tǒng)的邏輯訪問和物理訪問在系統(tǒng)中采用用戶身份的驗(yàn)證機(jī)制,對(duì)系統(tǒng)的訪問必須使用用戶名和密碼或者其他身份驗(yàn)證機(jī)制(例如USBKEY),而且每個(gè)用戶帳號(hào)被授予唯一的用戶。系統(tǒng)維護(hù)部門對(duì)訪問系統(tǒng)(包括操作系統(tǒng)、數(shù)據(jù)庫(kù)和應(yīng)用程序?qū)用妫┑挠脩簦ê?jí)用戶)制定密碼政策,并根據(jù)密碼政策在系統(tǒng)固化相應(yīng)的設(shè)置,以避免用戶使用安全級(jí)別低的密碼。密碼政策應(yīng)包括:用戶密碼長(zhǎng)度最低位數(shù)的規(guī)定,密碼定期更換的規(guī)定,不得使用最近的密碼。對(duì)于使用密鑰棒或動(dòng)態(tài)密碼卡的系統(tǒng),需要配合使用由用戶掌握的PIN碼。獨(dú)立于系統(tǒng)管理員的日志管理員負(fù)責(zé)每周檢查平臺(tái)應(yīng)用程序、操作系統(tǒng)和數(shù)據(jù)庫(kù)層面安全日志記錄(含對(duì)于重要的數(shù)據(jù)增、刪、改操作),發(fā)現(xiàn)異?,F(xiàn)象應(yīng)于3日內(nèi)跟進(jìn)或上報(bào)。安裝平臺(tái)應(yīng)用程序、操作系統(tǒng)和數(shù)據(jù)庫(kù)的硬件設(shè)備存放在安全的機(jī)房中。所有出入口均具備電子門禁系統(tǒng)或門鎖的保護(hù)。只有經(jīng)授權(quán)的人員可對(duì)存放平臺(tái)設(shè)備的計(jì)算機(jī)機(jī)房和設(shè)備進(jìn)行物理訪問。對(duì)機(jī)房的訪問授權(quán)須經(jīng)系統(tǒng)維護(hù)部門主管審批。非授權(quán)人員出入機(jī)房必須由機(jī)房工作人員陪同。人員進(jìn)出機(jī)房會(huì)在機(jī)房門禁系統(tǒng)或機(jī)房進(jìn)出日志中留下記錄。對(duì)IPv6的支持我方提供的軟硬件應(yīng)能支持IPv4/IPv6雙棧(需支持IPv6功能,支持IPv6終端用戶的訪問,提供基于IPv6的業(yè)務(wù)),如暫時(shí)不能支持,我方應(yīng)承諾免費(fèi)升級(jí)至支持IPv4/IPv6雙棧的版本。對(duì)云計(jì)算的支持我方提供的軟件應(yīng)能支持云計(jì)算技術(shù),如暫時(shí)不能支持,我方應(yīng)承諾免費(fèi)升級(jí)至支持云計(jì)算技術(shù)的版本。詳細(xì)建設(shè)技術(shù)方案在以下功能要求中,如果系統(tǒng)需進(jìn)行周期性操作,要求實(shí)現(xiàn)周期可配置;如不特別說明,系統(tǒng)所配置的缺省參數(shù)均為本規(guī)范書所提出的要求??傮w設(shè)計(jì)總體架構(gòu)主要架構(gòu)說明:應(yīng)用展現(xiàn)層Pdf編輯器使用了VC的MFC框架實(shí)現(xiàn),雙屏監(jiān)控及廣告播放采用.net的c#實(shí)現(xiàn)。頁面展示主要是通過客戶端瀏覽器給客戶提供服務(wù)的,此部分采用了jsp動(dòng)態(tài)頁面技術(shù),jquery腳本語言(基于javascript),easyUIFramework提供的前段布局樣式。中間件層中間件層主要實(shí)現(xiàn)了請(qǐng)求的控制及轉(zhuǎn)發(fā),給客戶展現(xiàn)的數(shù)據(jù)封裝等工作。此部分采用了Nginx。管理及服務(wù)層在管理及服務(wù)層中是實(shí)現(xiàn)了系統(tǒng)的主要業(yè)務(wù)邏輯,系統(tǒng)通過業(yè)務(wù)邏輯層訪問數(shù)據(jù)層,實(shí)現(xiàn)業(yè)務(wù)處理的事務(wù)性,異步性等許多與需求密切相關(guān)的業(yè)務(wù)。同時(shí),業(yè)務(wù)邏輯子層又對(duì)外提供了一個(gè)統(tǒng)一的接口,調(diào)用者無需了解業(yè)務(wù)邏輯的具體實(shí)現(xiàn)。此部分主要采用了spring的業(yè)務(wù)Bean的方式,統(tǒng)一用spring容器托管,給對(duì)外提供的接口方面采用了ApacheCXF開源的Services框架。應(yīng)用安全層主要定義object與RDB(表)的映射關(guān)系,用xml格式保存映射關(guān)系。通過數(shù)字證書托管、密鑰存儲(chǔ)、數(shù)字簽名及加密算法實(shí)現(xiàn)。數(shù)據(jù)庫(kù)層數(shù)據(jù)訪問子層是為業(yè)務(wù)邏輯子層提供數(shù)據(jù)訪問接口,此部分采用了Hibernate框架,通過Hibernate,一方面實(shí)現(xiàn)了ORM映射,另一方面可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)的無縫遷移。系統(tǒng)流程系統(tǒng)數(shù)據(jù)流程見下圖:功能架構(gòu)服務(wù)平臺(tái)是云化IT架構(gòu)的核心組成部分,基于統(tǒng)一的共享PaaS使能平臺(tái),可以面向企業(yè)不同域的業(yè)務(wù)系統(tǒng),實(shí)現(xiàn)統(tǒng)一的技術(shù)架構(gòu)、統(tǒng)一的運(yùn)營(yíng)體系、統(tǒng)一的運(yùn)維團(tuán)隊(duì),以及組件的分布部署。PaaS平臺(tái)平臺(tái)技術(shù)以微服務(wù)和DevOps為核心理念提供統(tǒng)一的技術(shù)架構(gòu)和運(yùn)營(yíng)體系,平臺(tái)向上提供分布式服務(wù)框架與分布式基礎(chǔ)技術(shù)組件,簡(jiǎn)化開發(fā)分布式微服務(wù)應(yīng)用的過程,提升開發(fā)微服務(wù)應(yīng)用的效率,降低開發(fā)微服務(wù)應(yīng)用的技能要求。向下提供多租戶管理能力,開發(fā)運(yùn)維門戶,DevOps系統(tǒng),管理調(diào)度等能力,形成應(yīng)用從開發(fā)到運(yùn)維的生命周期閉環(huán)管理,功能架構(gòu)圖如下。建設(shè)原則本工程在建設(shè)過程中需要從系統(tǒng)的先進(jìn)性、可擴(kuò)展性、安全可靠性、投資保護(hù)原則等諸多方面給予全面的考慮:先進(jìn)性、標(biāo)準(zhǔn)性原則本工程新增設(shè)備應(yīng)具有國(guó)際先進(jìn)性,應(yīng)符合國(guó)內(nèi)外相關(guān)標(biāo)準(zhǔn)、規(guī)范。安全、可靠性本工程新增設(shè)備應(yīng)具備高度的安全、可靠性。大容量原則本期系統(tǒng)的建設(shè)在設(shè)備配置、系統(tǒng)規(guī)模等方面應(yīng)滿足大容量、適度超前的原則,綜合考慮本期以及未來可能建設(shè)的OSS域相關(guān)系統(tǒng)的需要。投資保護(hù)原則本工程的建設(shè)應(yīng)盡量利用現(xiàn)網(wǎng)及集團(tuán)同期建設(shè)的企業(yè)2016年集團(tuán)云資源池內(nèi)蒙節(jié)點(diǎn)A擴(kuò)容工程的軟硬件設(shè)備,以降低建設(shè)成本,充分保護(hù)企業(yè)原有的投資。建設(shè)方案用戶體驗(yàn)組件用戶體驗(yàn)是人對(duì)于使用一個(gè)產(chǎn)品、系統(tǒng)、服務(wù)時(shí)的預(yù)期和反應(yīng)。從廣義上來看,體驗(yàn)的主體是人,客體可以是一切物體和事情,媒介是我們的感官;當(dāng)我們的感官作用在一切事物上,會(huì)產(chǎn)生相應(yīng)的心理行為,比如預(yù)期,比如反饋,比如情緒,這所有的一切一起作用,形成了用戶體驗(yàn)過程。用戶體驗(yàn)設(shè)計(jì)的目標(biāo)是逐步不斷提升用戶滿意度,對(duì)于用戶而言,永遠(yuǎn)沒有所謂“最滿意”的說法,只有“相較于上一次體驗(yàn)更滿意”.所以除非定義一種可量化的終極滿意度模型作為指標(biāo)參照,否則用戶體驗(yàn)設(shè)計(jì)是一個(gè)永遠(yuǎn)都有優(yōu)化空間的過程。用戶體驗(yàn)設(shè)計(jì)是圍繞過程的設(shè)計(jì),當(dāng)前智慧運(yùn)營(yíng)平臺(tái)項(xiàng)目改造中,優(yōu)秀的用戶體驗(yàn)組件不僅要好看而且要好用,不僅僅是視覺上高端大氣上檔次,使用上也要給人以暢快淋漓,一氣呵成之感。為了提供當(dāng)前系統(tǒng)的用戶體驗(yàn)并保證智慧運(yùn)營(yíng)平臺(tái)系統(tǒng)交互體驗(yàn)規(guī)范統(tǒng)一,本次組件設(shè)計(jì)需要遵循以下準(zhǔn)則:組件色系風(fēng)格統(tǒng)一,在整個(gè)智慧運(yùn)營(yíng)平臺(tái)系統(tǒng)中,主色調(diào)推薦使用藍(lán)色商務(wù)色系,正確使用綠色,警告使用藍(lán)色,重要警告使用紅色;操作按鈕也藍(lán)色為主。示例如下圖:
全系統(tǒng)中布局和導(dǎo)航設(shè)計(jì)規(guī)范統(tǒng)一,符合互聯(lián)網(wǎng)用戶使用習(xí)慣??刂茊未伪韱蔚拇笮?,對(duì)于負(fù)責(zé)的業(yè)務(wù)表單數(shù)據(jù),建議分步或分組進(jìn)行,降低用戶受挫感并支持單步表單保存提高使用體驗(yàn)。示例如下:
操作和交互行為規(guī)范統(tǒng)一,提供常用的行為組件模型,操作行為流程各子系統(tǒng)中進(jìn)行規(guī)范統(tǒng)一,包括導(dǎo)航、菜單和切換返回的布局位置要協(xié)調(diào)統(tǒng)一。重要操作需再次確認(rèn)并警告突出,關(guān)鍵業(yè)務(wù)數(shù)據(jù)操作時(shí),一定要對(duì)用戶進(jìn)行足夠的提醒,避免人為誤操作。示例如下:
提供豐富完善的擴(kuò)展組件,除了提供統(tǒng)一布局導(dǎo)航和常用表單組件外,并提供豐富的高級(jí)擴(kuò)展組件,如日歷、時(shí)間軸、圖表等統(tǒng)計(jì)組件。用戶體驗(yàn)組件除了滿足視覺和交互要求外,同時(shí)要保證自身的代碼質(zhì)量并要降低開發(fā)人員的使用成本:代碼質(zhì)量高,功能豐富,API靈活友好,快速的交互相應(yīng),細(xì)致、漂亮的UI,完整的的文檔和開發(fā)擴(kuò)展支持。設(shè)計(jì)原則1.對(duì)比(Contrast)對(duì)比的基本思想是,要避免頁面上的元素太過相似。如果元素(字體、顏色、大小、線寬、形狀、空間等)不相同,那就干脆讓它們截然不同。要讓頁面引人注意,對(duì)比通常是最重要的一個(gè)因素,正是它能使讀者首先看這個(gè)頁面。2.重復(fù)(Repetition)讓設(shè)計(jì)中的視覺要素在整個(gè)作品中重復(fù)出現(xiàn)。可以重復(fù)顏色、形狀、材質(zhì)、空間關(guān)系、線寬、字體、大小和圖片,等等。這樣一來,既能增加條理性,還可以加強(qiáng)統(tǒng)一性。3.對(duì)齊(Alignment)任何東西都不能在頁面上隨意安放。每個(gè)元素都應(yīng)當(dāng)與頁面上的另一個(gè)元素有某種視覺聯(lián)系。這樣能建立一種清晰、精巧而且清爽的外觀。4.親密性(Proximity)彼此相關(guān)的項(xiàng)應(yīng)當(dāng)靠近,歸組在一起。如果多個(gè)項(xiàng)相互之間存在很近的親密性,它們就會(huì)成為一個(gè)視覺單元,而不是多個(gè)孤立的元素。這有助于組織信息,減少混亂,為讀者提供清晰的結(jié)構(gòu)。色彩和布局主色調(diào)推薦使用藍(lán)色商務(wù)色系,正確行為使用綠色,警告行為使用藍(lán)色,重要警告行為使用紅色。我們推進(jìn)使用以下顏色作為設(shè)計(jì)和開發(fā)規(guī)范,以保證頁面和組件之間的視覺一致。藍(lán)色作為主色調(diào)LightPrimary常用于hover,DarkPrimary常用于active,顏色參照如下:輔助色是具有代表性的顏色,常用于信息提示,比如成功、警告和失敗。中性色常用于文本、背景、邊框、陰影等,可以體現(xiàn)出頁面的層次結(jié)構(gòu)。整體頁面布局上,一般主導(dǎo)航放置于頁面的頂端,從左自右依次為:logo、一級(jí)導(dǎo)航項(xiàng)、輔助菜單(用戶、設(shè)置、通知等)。通常將內(nèi)容放在固定尺寸(例如:1200px)內(nèi),整個(gè)頁面排版穩(wěn)定,不受用戶終端顯示器影響;上下級(jí)的結(jié)構(gòu)符合用戶上下瀏覽的習(xí)慣,也是較為經(jīng)典的網(wǎng)站導(dǎo)航模式。頁面上下切分的方式提高了主工作區(qū)域的信息展示效率,但在縱向空間上會(huì)有一些犧牲。此外,由于導(dǎo)航欄水平空間的限制,不適合那些一級(jí)導(dǎo)航項(xiàng)很多的信息結(jié)構(gòu)。示例如下:導(dǎo)航菜單導(dǎo)航菜單基于以下準(zhǔn)則進(jìn)行設(shè)計(jì):一級(jí)導(dǎo)航和末級(jí)的導(dǎo)航需要在可視化的層面被強(qiáng)調(diào)出來;當(dāng)前項(xiàng)應(yīng)該在呈現(xiàn)上優(yōu)先級(jí)最高;當(dāng)導(dǎo)航收起的時(shí)候,當(dāng)前項(xiàng)的樣式自動(dòng)賦予給它的上一個(gè)層級(jí);左側(cè)導(dǎo)航欄的收放交互同時(shí)支持手風(fēng)琴和全展開的樣式,根據(jù)業(yè)務(wù)的要求進(jìn)行適當(dāng)?shù)倪x擇。菜單示例如下:
字體和圖標(biāo)框架組件中,對(duì)CSS對(duì)字體進(jìn)行統(tǒng)一規(guī)范,力求在不同平臺(tái)、瀏覽器下能顯示出其最佳的效果。當(dāng)前智慧運(yùn)營(yíng)平臺(tái)系統(tǒng)中,中文字體推薦優(yōu)先使用微軟雅黑。框架組件中提供豐富的針對(duì)智慧運(yùn)營(yíng)平臺(tái)和企業(yè)業(yè)務(wù)系統(tǒng)的字體圖標(biāo)庫(kù),以滿足各中心引擎業(yè)務(wù)開發(fā)的要求。示例如下:按鈕當(dāng)前系統(tǒng)中按鈕的設(shè)計(jì)規(guī)范如下:將按鈕放在用戶希望看到的地方,用戶對(duì)于頁面交互其實(shí)是有基本的感知和期望的,也就是說用戶對(duì)于按鈕的位置是有個(gè)基本的認(rèn)知的。不要讓用戶到處找按鈕,它最好在用戶所期望的位置出現(xiàn)。按鈕上應(yīng)該加上相應(yīng)操作的標(biāo)簽,當(dāng)按鈕的文本標(biāo)簽上的內(nèi)容寫的太過于寬泛,或者使用帶有誤解的內(nèi)容,可能會(huì)讓用戶感到迷惑。每個(gè)標(biāo)簽上的文本標(biāo)簽都應(yīng)該盡量準(zhǔn)確,簡(jiǎn)明直接地介紹清楚它的真實(shí)功能。按鈕應(yīng)該擁有合理的尺寸,按鈕的大小應(yīng)該反映出屏幕上這一元素的優(yōu)先級(jí),更大的按鈕應(yīng)該意味著更重要的交互。注意按鈕的次序,按鈕的順序應(yīng)該反映出用戶和界面之間交互的屬性,問問自己用戶期望在屏幕上看到什么樣的順序,或者說什么樣的順序更合理,然后進(jìn)行相應(yīng)的設(shè)計(jì)。避免使用太多按鈕,當(dāng)你提供太多的選擇的時(shí)候,用戶往往會(huì)無所適從。按鈕類型有:默認(rèn)按鈕、主按鈕、虛線按鈕、文字按鈕以及四種顏色按鈕。示例如下:圖標(biāo)按鈕示例如下:按鈕狀態(tài)示例如下:表單表單按照由小到大,由靜到動(dòng)的策略進(jìn)行設(shè)計(jì)。表單之所以復(fù)雜,很重要一點(diǎn)是來源于它所服務(wù)業(yè)務(wù)(特別是后臺(tái)產(chǎn)品)的復(fù)雜度。各種業(yè)務(wù)邏輯的組合,不同“層級(jí)”的信息透出,一大達(dá)到一定的復(fù)雜度就會(huì)導(dǎo)致混亂,最后失控。為了讓我們自己先不混淆,我們需要把表單的最小單元、單元組合、靜態(tài)展示、動(dòng)態(tài)反饋拆開分別一步步的遞進(jìn)處理。表單示例如下:表格表格的設(shè)計(jì)集中體現(xiàn)在可視化(可讀性)和易操作兩個(gè)方面,好的數(shù)據(jù)表格允許用戶對(duì)信息進(jìn)行快速的掃描、查詢、過濾、分析等操作,以獲取深刻認(rèn)知并快速準(zhǔn)確完成目標(biāo)任務(wù)。其基本設(shè)計(jì)原則是“全面整合并呈現(xiàn)業(yè)務(wù)數(shù)據(jù),提供順暢閱讀體驗(yàn),便于用戶發(fā)掘重要信息,進(jìn)行便捷操作”,簡(jiǎn)而言之,即“滿足業(yè)務(wù)需求+符合用戶心智模型”。表格示例如下:標(biāo)簽標(biāo)簽用于對(duì)不同維度進(jìn)行簡(jiǎn)單的標(biāo)記和分類,標(biāo)簽的增加要在視覺上起到輔助作用,同時(shí)又不會(huì)讓整個(gè)頁面變得很有負(fù)擔(dān),因此大多都是對(duì)比色或者飽和度比較高的顏色。標(biāo)簽示例如下:提示層提示層示例如下:擴(kuò)展組件擴(kuò)展組件示例如下:統(tǒng)一數(shù)據(jù)訪問引擎(數(shù)據(jù)中間件)優(yōu)化提供一個(gè)數(shù)據(jù)庫(kù)分庫(kù)分表中間層,采用數(shù)據(jù)庫(kù)代理方式,形成分布式數(shù)據(jù)庫(kù)中間件解決方案,解決分布式系統(tǒng)數(shù)據(jù)庫(kù)分庫(kù)分表帶來的數(shù)據(jù)透明訪問難題。整體功能架構(gòu)如下圖所示:圖功能架構(gòu)圖DBProxy:UDAL的核心組件,是一個(gè)實(shí)現(xiàn)了mysql協(xié)議的Sever進(jìn)程,前端用戶可以把DBProxy看成數(shù)據(jù)庫(kù)代理,可用mysql客戶端工具或命令行方式直接訪問,其后端以mysql原生協(xié)議與多個(gè)mysql數(shù)據(jù)庫(kù)進(jìn)行通信,也可以用jdbc協(xié)議與大多數(shù)主流數(shù)據(jù)庫(kù)服務(wù)器通信,DBProxy的核心功能是分庫(kù)分表并對(duì)應(yīng)用層屏蔽分庫(kù)分表帶來的訪問難題。網(wǎng)絡(luò)通訊:提供高并發(fā)、低延遲的網(wǎng)絡(luò)通訊。MySQL協(xié)議適配:采用MySQL開源協(xié)議,實(shí)現(xiàn)前后端網(wǎng)絡(luò)請(qǐng)求的協(xié)議格式。SQL解析:解析SQL語句文本,為節(jié)點(diǎn)路由計(jì)算提供依據(jù)對(duì)象。分庫(kù)分表數(shù)據(jù)路由:通過用戶配置的分庫(kù)策略,計(jì)算數(shù)據(jù)存取的數(shù)據(jù)庫(kù)節(jié)點(diǎn)。SQL執(zhí)行:實(shí)現(xiàn)單語句、多語句并發(fā)執(zhí)行SQL功能。SQL結(jié)果匯聚:對(duì)語句多節(jié)點(diǎn)執(zhí)行的結(jié)果進(jìn)行接收并做二次計(jì)算,得到多節(jié)點(diǎn)情況下的正確結(jié)果。全局序列:實(shí)現(xiàn)全局唯一序列。事務(wù)控制:同一個(gè)事務(wù)內(nèi)的SQL由同一個(gè)鏈接進(jìn)行處理,保證事務(wù)原子性。讀寫分離:提供數(shù)據(jù)庫(kù)節(jié)點(diǎn)的讀寫分離功能。由分庫(kù)分表中間件根據(jù)配置動(dòng)態(tài)判斷。安全控制:SQL語句攔截過濾,權(quán)限認(rèn)證等。GiServer:切片索引服務(wù)進(jìn)程,是為了提升非分片鍵查詢(select語句)時(shí)的效率(避免廣播查詢)而開發(fā)的,與數(shù)據(jù)庫(kù)的索引沒有任何關(guān)系,是完全不同的兩個(gè)概念,GiServer是切片索引數(shù)據(jù)的生產(chǎn)者,真正的消費(fèi)者是DBProxy進(jìn)程,假設(shè)客戶表是以cust_id進(jìn)行分表的,但應(yīng)用需要通過客戶身份證來查詢客戶信息,如果沒有切片索引,則DBProxy會(huì)將查詢語句廣播到所有節(jié)點(diǎn)執(zhí)行,接收到執(zhí)行結(jié)果進(jìn)行匯聚后再返回給應(yīng)用,如果建立了切片索引,則DBProxy首先會(huì)根據(jù)身份證號(hào)碼從切片索引中查詢到對(duì)應(yīng)的cust_id,再根據(jù)分片算法定位到cust_id對(duì)應(yīng)的分片,這樣就避免了廣播查詢。運(yùn)維管理平臺(tái):提供完善的配置、發(fā)布和運(yùn)維管控平臺(tái)。配置功能及發(fā)布:提供在線配置功能、實(shí)時(shí)發(fā)布,無須重啟服務(wù),保證不中斷在線調(diào) 整服務(wù)。服務(wù)發(fā)布啟停:提供分庫(kù)分表中間件服務(wù)的發(fā)布和啟停功能。服務(wù)監(jiān)控報(bào)警:提供CPU、內(nèi)存、IO、連接數(shù)、慢SQL、TOPSQL等監(jiān)控,對(duì)于超過閥值提供報(bào)警功能。運(yùn)維操作功能:提供在線查看數(shù)據(jù)、數(shù)據(jù)遷移同步、限制應(yīng)用鏈接、安全檢測(cè)等日常運(yùn)維管理操作。統(tǒng)一數(shù)據(jù)訪問層技術(shù)架構(gòu)如下圖所示:圖技術(shù)架構(gòu)圖基于NIO技術(shù)提供高并發(fā)、低延遲的網(wǎng)絡(luò)通訊。采用MySQL開源協(xié)議,實(shí)現(xiàn)前后端網(wǎng)絡(luò)請(qǐng)求的協(xié)議格式。采用druid開源項(xiàng)目,解析SQL語句文本,為節(jié)點(diǎn)路由計(jì)算提供依據(jù)對(duì)象。實(shí)現(xiàn)取模、一致性哈希等算法,通過用戶配置的分庫(kù)策略,計(jì)算數(shù)據(jù)存取的數(shù)據(jù)庫(kù)節(jié)點(diǎn)?;趜ookeeper存放DBProxy、GiServer等的配置信息及利用zookeeper的分布式一致性實(shí)現(xiàn)全局唯一序列。依賴外部組件分布式緩存,存放切片索引數(shù)據(jù)。全局序列由于分庫(kù)分表的主鍵ID保存在不同的數(shù)據(jù)庫(kù),為了保證全局序列號(hào)的唯一性,需要統(tǒng)一提供全局序列號(hào)的維護(hù)來保證序列號(hào)的唯一性。系統(tǒng)提供全局sequence,并且提供包含本地配置和數(shù)據(jù)庫(kù)配置等多種實(shí)現(xiàn)方式。本地配置方式,將sequence配置到文件中,當(dāng)使用到sequence中的配置后,獲取配置文件中sequence當(dāng)前的值。數(shù)據(jù)庫(kù)方式,在數(shù)據(jù)庫(kù)中建立一張表,存放sequence名稱(name),sequence當(dāng)前值(currentvalue),步長(zhǎng)(incrementint類型每次讀取多少個(gè)sequence,假設(shè)為K)等信息,Sequence獲取步驟:
a)當(dāng)初次使用該sequence時(shí),根據(jù)傳入的sequence名稱,從數(shù)據(jù)庫(kù)這張表中讀取current-value,和increment到系統(tǒng)中,并將數(shù)據(jù)庫(kù)中的current-value設(shè)置為原current-value值+increment的值。
b)系統(tǒng)將讀取到current-value和increment作為本次要使用的sequence值,下次使用時(shí),自動(dòng)加1,當(dāng)使用increment次后,執(zhí)行步驟a)相同的操作。
c)系統(tǒng)負(fù)責(zé)維護(hù)這張表,用到哪些sequence,只需要在這張表中插入一條記錄即可。若某次讀取的sequence沒有用完,系統(tǒng)就停掉了,則這次讀取的sequence剩余值不會(huì)再使用。本地時(shí)間戳方式,ID=64位二進(jìn)制(42(毫秒)+5(機(jī)器ID)+5(業(yè)務(wù)編碼)+12(重復(fù)累加),換算成十進(jìn)制為18位數(shù)的long類型,每毫秒可以并發(fā)12位二進(jìn)制的累加。分布式ZKID生成器,基于ZK與本地配置的分布式ID生成器,ID結(jié)構(gòu):long64位,ID最大可占63位:*|currenttime(微秒時(shí)間戳38位,可以使用17年)|cluster-Id(機(jī)房或者ZKID,通過配置文件配置5位)|instance-Id(實(shí)例ID,可以通過ZK或者配置文件獲取,5位)|thread-Id(線程ID,9位)|increment(自增,6位)。應(yīng)用自定義方式,有上層平臺(tái)框架提供公共的應(yīng)用服務(wù)全局序列支持。事務(wù)控制分布式事務(wù)處理(DistributedTransactionProcessing,DTP)指一個(gè)程序或程序段,在一個(gè)或多個(gè)資源如數(shù)據(jù)庫(kù)或文件上為完成某些功能的執(zhí)行過程的集合,分布式事務(wù)處理的關(guān)鍵是必須有一種方法可以知道事務(wù)在任何地方所做的所有動(dòng)作,提交或回滾事務(wù)的決定必須產(chǎn)生統(tǒng)一的結(jié)果(全部提交或全部回滾)。X/Open組織定義了分布式事務(wù)處理模型。X/OpenDTP模型(1994)包括應(yīng)用程序(AP)、事務(wù)管理器(TM)、資源管理器(RM)、通信資源管理器(CRM)四部分。一般,常見的事務(wù)管理器(TM)是交易中間件,常見的資源管理器(RM)是數(shù)據(jù)庫(kù),常見的通信資源管理器(CRM)是消息中間件,下圖是X/OpenDTP模型:一般的編程方式是這樣的:配置TM,通過TM或者RM提供的方式,把RM注冊(cè)到TM??梢岳斫鉃榻oTM注冊(cè)RM作為數(shù)據(jù)源。一個(gè)TM可以注冊(cè)多個(gè)RM。AP從TM獲取資源管理器的代理(例如:使用JTA接口,從TM管理的上下文中,獲取出這個(gè)TM所管理的RM的JDBC連接或JMS連接)AP向TM發(fā)起一個(gè)全局事務(wù)。這時(shí),TM會(huì)通知各個(gè)RM。XID(全局事務(wù)ID)會(huì)通知到各個(gè)RM。AP通過1中獲取的連接,直接操作RM進(jìn)行業(yè)務(wù)操作。這時(shí),AP在每次操作時(shí)把XID(包括所屬分支的信息)傳遞給RM,RM正是通過這個(gè)XID與2步中的XID關(guān)聯(lián)來知道操作和事務(wù)的關(guān)系的。AP結(jié)束全局事務(wù)。此時(shí)TM會(huì)通知RM全局事務(wù)結(jié)束。開始二段提交,也就是prepare-commit的過程。XA協(xié)議,指的是TM和RM之間的接口,其實(shí)這個(gè)協(xié)議只是定義了XA_和AX_系列的函數(shù)原型以及功能描述、約束和實(shí)施規(guī)范等。至于RM和TM之間通過什么協(xié)議通信,則沒有提及,目前知名的數(shù)據(jù)庫(kù),如Oracle,DB2等,都是實(shí)現(xiàn)了XA接口的,都可以作為RM。Tuxedo、TXseries等事務(wù)中間件可以通過XA協(xié)議跟這些數(shù)據(jù)源進(jìn)行對(duì)接。JTA是符合X/OpenDTP的一個(gè)編程模型,事務(wù)管理和資源管理器支架也是用了XA協(xié)議。下面兩個(gè)圖片分別給出了XA成功與失敗的兩種情況,首先是XA事務(wù)成功的流程圖:然后,是XA事務(wù)失敗的流程圖:安全控制數(shù)據(jù)庫(kù)中間件的安全控制主要由SQL攔截和權(quán)限認(rèn)證實(shí)現(xiàn)。SQL攔截是一個(gè)比較有用的技術(shù),用戶可以寫一個(gè)java類,將傳入的SQL進(jìn)行改寫然后再去執(zhí)行,此技巧可以完成如下一些特殊功能:捕獲和記錄某些特殊的SQL;記錄SQL查找異常;出于性能優(yōu)化的考慮,改寫SQL,比如改變查詢條件的順序或增加分頁限制;將某些SelectSQL強(qiáng)制設(shè)置為Read模式,走讀寫分離;攔截所有SQL做智能分析,自動(dòng)監(jiān)控節(jié)點(diǎn)負(fù)載,自動(dòng)優(yōu)化路由,提供數(shù)據(jù)庫(kù)優(yōu)化建議。SQL攔截的原理是在路由之前攔截SQL,然后做其他處理,完了之后再做路由,執(zhí)行,如下圖所示:權(quán)限認(rèn)證支持租戶、用戶隔離,支持平臺(tái)權(quán)限和精細(xì)顆粒權(quán)限控制。分片規(guī)則分片枚舉
通過在配置文件中配置可能的枚舉id,自己配置分片,本規(guī)則適用于特定的場(chǎng)景,比如有些業(yè)務(wù)需要按照省份或區(qū)縣來做保存,而全國(guó)省份區(qū)縣固定的,這類業(yè)務(wù)使用本條規(guī)則。固定分片hash算法
本條規(guī)則類似于十進(jìn)制的求模運(yùn)算,區(qū)別在于是二進(jìn)制的操作,是取id的二進(jìn)制低10位,即id二進(jìn)制&1111111111。此算法的優(yōu)點(diǎn)在于如果按照10進(jìn)制取模運(yùn)算,在連續(xù)插入1-10時(shí)候1-10會(huì)被分到1-10個(gè)分片,增大了插入的事務(wù)控制難度,而此算法根據(jù)二進(jìn)制則可能會(huì)分到連續(xù)的分片,減少插入事務(wù)事務(wù)控制難度。范圍約定
此分片適用于,提前規(guī)劃好分片字段某個(gè)范圍屬于哪個(gè)分片取模,此規(guī)則為對(duì)分片字段求摸運(yùn)算。按日期(天)分片
此規(guī)則為按天分片。取模范圍約束
此種規(guī)則是取模運(yùn)算與范圍約束的結(jié)合,主要為了后續(xù)數(shù)據(jù)遷移做準(zhǔn)備,即可以自主決定取模后數(shù)據(jù)的節(jié)點(diǎn)分布。截取數(shù)字做hash求模范圍約束
此種規(guī)則類似于取模范圍約束,此規(guī)則支持?jǐn)?shù)據(jù)符號(hào)字母取模。應(yīng)用指定
此規(guī)則是在運(yùn)行階段有應(yīng)用自主決定路由到那個(gè)分片。截取數(shù)字hash解析
此規(guī)則是截取字符串中的int數(shù)值hash分片。一致性hash
一致性hash預(yù)算有效解決了分布式數(shù)據(jù)的擴(kuò)容問題。按單月小時(shí)拆分
此規(guī)則是單月內(nèi)按照小時(shí)拆分,最小粒度是小時(shí),可以一天最多24個(gè)分片,最少1個(gè)分片,一個(gè)月完后下月從頭開始循環(huán)。每個(gè)月月尾,需要手工清理數(shù)據(jù)。范圍求模分片
先進(jìn)行范圍分片計(jì)算出分片組,組內(nèi)再求模優(yōu)點(diǎn)可以避免擴(kuò)容時(shí)的數(shù)據(jù)遷移,又可以一定程度上避免范圍分片的熱點(diǎn)問題綜合了范圍分片和求模分片的優(yōu)點(diǎn),分片組內(nèi)使用求??梢员WC組內(nèi)數(shù)據(jù)比較均勻,分片組之間是范圍分片可以兼顧范圍查詢。最好事先規(guī)劃好分片的數(shù)量,數(shù)據(jù)擴(kuò)容時(shí)按分片組擴(kuò)容,則原有分片組的數(shù)據(jù)不需要遷移。由于分片組內(nèi)數(shù)據(jù)比較均勻,所以分片組內(nèi)可以避免熱點(diǎn)數(shù)據(jù)問題。日期范圍hash分片
思想與范圍求模一致,當(dāng)由于日期在取模會(huì)有數(shù)據(jù)集中問題,所以改成hash方法。先根據(jù)日期分組,再根據(jù)時(shí)間hash使得短期內(nèi)數(shù)據(jù)分布的更均勻優(yōu)點(diǎn)可以避免擴(kuò)容時(shí)的數(shù)據(jù)遷移,又可以一定程度上避免范圍分片的熱點(diǎn)問題要求日期格式盡量精確些,不然達(dá)不到局部均勻的目的冷熱數(shù)據(jù)分片
根據(jù)日期查詢?nèi)罩緮?shù)據(jù)冷熱數(shù)據(jù)分布,最近n個(gè)月的到實(shí)時(shí)交易庫(kù)查詢,超過n個(gè)月的按照m天分片。自然月分片
按月份列分區(qū),每個(gè)自然月一個(gè)分片,格式between操作解析的范例。路由分發(fā)路由能保證sql轉(zhuǎn)發(fā)到正確的節(jié)點(diǎn)。轉(zhuǎn)發(fā)的范圍是剛剛好,不多發(fā)也不少發(fā)。多發(fā)會(huì)出現(xiàn)兩種問題:浪費(fèi)性能和找不到表。比如一個(gè)select*fromorderswherepro=‘wuhan’這個(gè)語句,只有dn1節(jié)點(diǎn),能查到數(shù)據(jù),如果將語句同時(shí)轉(zhuǎn)發(fā)到dn1、dn2、dn3三個(gè)節(jié)點(diǎn),這樣的范圍就多發(fā)了,性能上是一種浪費(fèi)。如果新增了一個(gè)節(jié)點(diǎn)dn4,但是orders的datanode范圍只是dn1,dn2,dn3,如果同時(shí)轉(zhuǎn)發(fā)到dn1、dn2、dn3、dn4四個(gè)節(jié)點(diǎn),則發(fā)到dn4執(zhí)行時(shí)會(huì)返回tableordersnotexists。少發(fā)則會(huì)出現(xiàn)結(jié)果集不全的問題,如select*fromorders如果只轉(zhuǎn)發(fā)到dn1,只會(huì)返回dn1上的結(jié)果集,dn2、dn3上的結(jié)果集得不到。單表路由計(jì)算流程如下圖:多表路由計(jì)算中有子流程“單表路由計(jì)算”,這個(gè)子流程引用了上面的單表路由計(jì)算流程,多表路由計(jì)算流程如下:消息中間件本期工程整體功能架構(gòu)如下圖所示:圖STYLEREF2\s4.2SEQ圖\*ARABIC\s28功能架構(gòu)圖如圖中所示,本期工程主要對(duì)API、Broker消息節(jié)點(diǎn)實(shí)現(xiàn)、命令行與運(yùn)維平臺(tái)進(jìn)行優(yōu)化與完善。系統(tǒng)技術(shù)架構(gòu)如下圖所示:圖技術(shù)架構(gòu)圖其中,Producer/consumer與server,broker建立并維持長(zhǎng)連接,broker將系統(tǒng)狀態(tài),服務(wù)統(tǒng)計(jì)通過心跳傳送給nameserver,供客戶端訪問獲取。消息重復(fù)處理在實(shí)際CRM、計(jì)費(fèi)需求中,部分業(yè)務(wù)場(chǎng)景如:訂單,不能有重復(fù)消息,因此需要進(jìn)行消息去重處理。在分布式架構(gòu)下,單純依賴消息中間件難以實(shí)現(xiàn)完全去重,因此采用消息中間件增加消費(fèi)去重處理+應(yīng)用冪等性+運(yùn)維手段結(jié)合的方式來達(dá)到消息完全不重復(fù)的目的。發(fā)送階段,消息中間件對(duì)網(wǎng)絡(luò)超時(shí)等不確定失敗進(jìn)行記錄。方便運(yùn)維排查重復(fù)。消費(fèi)階段,通過在服務(wù)端記錄消息的消費(fèi)狀態(tài),避免消息被重復(fù)消費(fèi)與簽收客戶端返回中間狀態(tài)處理消息中間件是通過持久化磁盤和主備機(jī)制來保證消息高可靠不丟失。當(dāng)前消息中間件支持同步/異步刷盤,以及主從節(jié)點(diǎn)的同步/異步復(fù)制模式。在強(qiáng)同步模式下,生產(chǎn)者發(fā)送消息到消息中間件可能存在如下中間狀態(tài):1、主節(jié)點(diǎn)刷盤超時(shí)(FLUSH_DISK_TIMEOUT)2、主節(jié)點(diǎn)寫Slave超時(shí)(FLUSH_SLAVE_TIMEOUT)3、寫Slave失敗(SLAVE_NOT_AVALIABLE)4、生產(chǎn)者與Broker之間網(wǎng)絡(luò)超時(shí)上述狀態(tài)之所以稱為中間狀態(tài),是因?yàn)橄⒅虚g件發(fā)送消息并非強(qiáng)一致性的事務(wù),因此出現(xiàn)上述狀態(tài)時(shí),消息可能成功,也可能失敗;為了確保應(yīng)用消息處理邏輯,消息中間件需要有對(duì)應(yīng)上述狀態(tài)的處理機(jī)制。增大超時(shí)時(shí)間,減少超時(shí)錯(cuò)誤對(duì)于超時(shí)狀態(tài):增加超時(shí)消息確認(rèn)機(jī)制,嘗試查詢服務(wù)端,確認(rèn)消息是否成功,如果成功返回成功,如果失敗返回失敗,如果無法確定,則返回timeout,并記錄異常消息對(duì)于其他中間狀態(tài)(刷盤,寫slave超時(shí),寫slave失?。喊l(fā)送失敗,提供明細(xì)錯(cuò)誤碼,供應(yīng)用根據(jù)可靠性要求選擇處理,并記錄異常消息,告警并人工介入,進(jìn)行主備切換或者禁寫broker(提供處理腳本和文檔說明)。消息簽收超時(shí)處理當(dāng)前CtgMQ中,沒有消費(fèi)超時(shí)的處理,即如果消息派發(fā)給應(yīng)用消費(fèi),但應(yīng)用不返回消費(fèi)結(jié)果也不拋異常,那消息中間件會(huì)一直等待消息完成,而此種情況下,無序/有序消費(fèi)都會(huì)出現(xiàn)堆積,堵塞所在同一消息分區(qū)的后續(xù)消息的消費(fèi)。據(jù)了解,阿里的設(shè)計(jì)初衷是考慮到此類情況一般都是應(yīng)用邏輯發(fā)生問題,必須應(yīng)用告警(應(yīng)用自身告警,或根據(jù)堆積量告警)介入處理,因此MQ自身不提供處理機(jī)制。計(jì)費(fèi)應(yīng)用提出,希望能夠提供機(jī)制,保證在消息處理無法返回(如消息數(shù)據(jù)、邏輯等問題導(dǎo)致消息處理線程卡住)的情況下,能夠繼續(xù)后續(xù)消息的消費(fèi)。提供可選的簽收超時(shí)處理機(jī)制打開超時(shí)處理,自動(dòng)簽收超時(shí)消息。按GroupId分片有序場(chǎng)景隊(duì)列擴(kuò)容需求隊(duì)列按GroupID多分片部署,消息有序,訂單按照CustID取模分發(fā)到不同的分區(qū)。隊(duì)列在線擴(kuò)容后,可能相同CustID的不同訂單同時(shí)在新、老分片都存在,可能導(dǎo)致消息短暫無序,在嚴(yán)格要求消息有序場(chǎng)景下,需要有相應(yīng)機(jī)制處理;消息中間件隊(duì)列擴(kuò)容過程中,由于消息新老分發(fā)規(guī)則變更,可能出現(xiàn)消息無序。建議解決方案為通過運(yùn)維手段,在擴(kuò)容前暫停消息寫入,待隊(duì)列消息全部消費(fèi)完成后再擴(kuò)容,最后恢復(fù)消息生產(chǎn)消息中間件運(yùn)維控制臺(tái)增加功能:監(jiān)控隊(duì)列深度停止和恢復(fù)生產(chǎn)消息寫入創(chuàng)建新隊(duì)列在線擴(kuò)容通過運(yùn)維控制臺(tái)手工進(jìn)行,具體操作步驟為:停止需要擴(kuò)容的隊(duì)列消息寫入;查看隊(duì)列深度,直至全部消息消費(fèi)完成;隊(duì)列深度為零后,創(chuàng)建新的隊(duì)列;新增加消費(fèi)端應(yīng)用啟動(dòng);恢復(fù)生產(chǎn)消息寫入,擴(kuò)容完成。消費(fèi)者擴(kuò)容當(dāng)增加新的消息隊(duì)列時(shí),希望能增加新的對(duì)應(yīng)的消費(fèi)端。消息中間件提供按Topic查詢隊(duì)列使用明細(xì)API,應(yīng)用調(diào)用該API可以獲取該Topic下的隊(duì)列情況,靈活對(duì)應(yīng)消費(fèi)端。提供《消費(fèi)線程機(jī)制說明文檔》,詳細(xì)說明消息中間件消息消費(fèi)線程機(jī)制。單隊(duì)列不同業(yè)務(wù)類型消息消費(fèi)需求計(jì)費(fèi)應(yīng)用單個(gè)隊(duì)列中可能存在不同業(yè)務(wù)類型的消息,希望能夠相互之間不影響消息的消費(fèi),一個(gè)業(yè)務(wù)的消息不消費(fèi)、簽收,不會(huì)影響其他類型業(yè)務(wù)消息的處理。能夠?qū)Σ煌愋偷南ⅲO(shè)置不同的tag,不同消費(fèi)者指定tag消費(fèi)。從而相互不影響支持跳躍簽收,由應(yīng)用的邏輯來處理不同類型業(yè)務(wù)消息。提供無序模式下消息跳躍性簽收處理功能計(jì)費(fèi)應(yīng)用一個(gè)隊(duì)列中可能包含多個(gè)分片的消息,導(dǎo)致部分消息之間存在順序依賴,但是并不是完全順序。消息中間件現(xiàn)有的機(jī)制,在消費(fèi)客戶端保存了一些消費(fèi)相關(guān)狀態(tài),因此1) 由于客戶端可能頻繁重啟和數(shù)量變化,以及MQ的rebalance機(jī)制,這些狀態(tài)可能會(huì)丟失,從而可能導(dǎo)致狀態(tài)丟失后的消費(fèi)重復(fù)2) 滑動(dòng)窗口機(jī)制下,如果消息長(zhǎng)時(shí)間不簽收,將導(dǎo)致無法消費(fèi)后續(xù)消息,否則存在大量消息重復(fù)的風(fēng)險(xiǎn)此問題的本質(zhì)是當(dāng)前MQ實(shí)現(xiàn)為了性能和設(shè)計(jì)簡(jiǎn)化,沒有對(duì)每條消息記錄狀態(tài),而只是記錄一個(gè)標(biāo)量的消費(fèi)進(jìn)度,導(dǎo)致客戶端需要記錄額外的狀態(tài),而客戶端可靠性較低(尤其是在測(cè)試環(huán)境下)。服務(wù)端存儲(chǔ)消費(fèi)狀態(tài),保證客戶端重啟或變化不丟失狀態(tài)增加滑動(dòng)窗口,保證消息不簽收情況下,仍能繼續(xù)拉取新消息。用戶名密碼接入認(rèn)證API在創(chuàng)建連接的時(shí)候,做用戶名密碼認(rèn)證,認(rèn)證通過才可以發(fā)送和消費(fèi)消息服務(wù)端增加用戶名、密碼配置文件,保存加密后的認(rèn)證信息客戶端初始化時(shí),連接服務(wù)端將用戶名密碼加密發(fā)往服務(wù)端認(rèn)證,認(rèn)證成功才能進(jìn)行后續(xù)的發(fā)送和消費(fèi)操作動(dòng)態(tài)增減nameserver為了保證消息中間件nameserver模塊的高可用,nameserver可能包含多個(gè)進(jìn)程,且可能動(dòng)態(tài)調(diào)整增減。希望能夠有機(jī)制設(shè)置并在運(yùn)行過程中自動(dòng)調(diào)整?;赗ocketMQ的http方式獲取nameserver地址,并與管理控制臺(tái)結(jié)合,在創(chuàng)建集群后,能夠自動(dòng)生成http服務(wù)地址,并可用于API使用。增加相應(yīng)配置的校驗(yàn)完善連接管理,關(guān)閉不存在的服務(wù)連接完善監(jiān)控平臺(tái)為了提高消息中間件的使用體驗(yàn),MQ管理臺(tái)需要進(jìn)行優(yōu)化與完善。消息數(shù)量、消費(fèi)深度等信息查詢Broker服務(wù)擴(kuò)容、縮容流程節(jié)點(diǎn)、生產(chǎn)者、消費(fèi)者在線監(jiān)控消費(fèi)積壓監(jiān)控消息吞吐量監(jiān)控消息回溯批量創(chuàng)建主題重置消費(fèi)進(jìn)度增加關(guān)鍵操作日志方便查看用戶操作刪除topic和消費(fèi)組關(guān)系消息回溯消息綜合查詢。監(jiān)控運(yùn)維提升支持監(jiān)控中心對(duì)接,支持應(yīng)用運(yùn)營(yíng)平臺(tái)對(duì)接。支持消息中間件接入易監(jiān)控平臺(tái)支持消息隊(duì)列監(jiān)控支持消息隊(duì)列查詢提供消息中間件概況信息點(diǎn)指標(biāo)完善版本自動(dòng)發(fā)布和自動(dòng)測(cè)試流程梳理測(cè)試、發(fā)布流程,并進(jìn)行自動(dòng)化,減少人工測(cè)試、發(fā)布過程中的錯(cuò)誤。版本自動(dòng)發(fā)布:提交某個(gè)版本最終代碼后,補(bǔ)充相應(yīng)的部署文檔、API說明文檔、changlog說明以后,可以通過jenkins自動(dòng)完成版本的編譯、部署、自動(dòng)化測(cè)試和發(fā)布最終版本等工作。最終獲取的發(fā)布包不用做修改可以直接發(fā)送給客戶使用。自動(dòng)測(cè)試流程:通過jenkins定期根據(jù)主干代碼編譯、部署消息中間件,同時(shí)運(yùn)行自動(dòng)化測(cè)試用例進(jìn)行測(cè)試。當(dāng)發(fā)現(xiàn)缺陷時(shí),模擬缺陷的場(chǎng)景補(bǔ)充自動(dòng)化測(cè)試用例。多集群的主備自動(dòng)切換,備機(jī)自動(dòng)拉起支持MQbroker服務(wù)的自動(dòng)切換與備機(jī)自動(dòng)拉起。Broker分組的備機(jī)故障后,可以自動(dòng)拉起B(yǎng)roker分組的的主機(jī)故障后,從broker升主后可以繼續(xù)對(duì)外提供服務(wù)整個(gè)broker分組中的機(jī)器被重啟后broker可以重新被拉起。主備切換過程中不一致數(shù)據(jù)的回滾主備切換前主從數(shù)據(jù)不一致,主從切換后可以對(duì)不一致的數(shù)據(jù)進(jìn)行回滾。支持主從切換過程中新從上面的多余Commitlog、ConsumeQueue等消息數(shù)據(jù)回滾、消費(fèi)進(jìn)度和消費(fèi)狀態(tài)數(shù)據(jù)的回滾。支持從升主后消息數(shù)據(jù)和消費(fèi)進(jìn)度數(shù)據(jù)不一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上半年安徽省銅陵義安區(qū)事業(yè)單位招聘82人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽省滁州市來安縣事業(yè)單位招聘101人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽省合肥市包河區(qū)政府購(gòu)買崗招聘209人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽宿州蕭縣事業(yè)單位招考(288人)易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年寧波市鄞州區(qū)事業(yè)單位招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年寧波市北侖區(qū)交通運(yùn)輸局編外人員招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024年瀝青試驗(yàn)儀器項(xiàng)目資金申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2024貴州黔東南州凱里市供銷集團(tuán)有限責(zé)任公司職業(yè)經(jīng)理人招聘1人筆試參考題庫(kù)附帶答案詳解
- 2025年冶金輥項(xiàng)目可行性研究報(bào)告
- 2024福建寧德市交通投資集團(tuán)有限公司研究生專場(chǎng)招聘8人筆試參考題庫(kù)附帶答案詳解
- GB/T 30839.2-2015工業(yè)電熱裝置能耗分等第2部分:三相煉鋼電弧爐
- GB/T 23859-2009勞動(dòng)定額測(cè)時(shí)方法
- GB/T 1692-2008硫化橡膠絕緣電阻率的測(cè)定
- 人教版PEP初中英語中考總復(fù)習(xí):復(fù)習(xí)重點(diǎn)課件
- 數(shù)字化消防管理解決方案
- 二類汽修廠汽車維修管理新規(guī)制度匯編
- 交接班流程綱要綱要圖
- 浙江省衢州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 品德家庭小賬本
- 癥狀性大腦中動(dòng)脈慢性閉塞血管內(nèi)開通治療課件
- 大象版科學(xué)四年級(jí)下冊(cè)第一單元測(cè)試卷(含答案)
評(píng)論
0/150
提交評(píng)論