江 琳,王 煜,李仕旺,賈成強(qiáng),潘 躍
(1.中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081;2.中鐵程科技有限公司,北京 100081)
鐵路12306 互聯(lián)網(wǎng)售票系統(tǒng)(簡(jiǎn)稱(chēng):12306)涵蓋中國(guó)國(guó)家鐵路集團(tuán)有限公司(簡(jiǎn)稱(chēng):國(guó)鐵集團(tuán))、40 組互聯(lián)網(wǎng)節(jié)點(diǎn)中心、18 個(gè)地區(qū)中心、18 個(gè)客服中心和3000 多個(gè)客運(yùn)車(chē)站,由于12306 的層級(jí)復(fù)雜、功能眾多,其運(yùn)營(yíng)維護(hù)(簡(jiǎn)稱(chēng):運(yùn)維)診斷需要耗費(fèi)大量的人力和時(shí)間。為提高運(yùn)維效率,亟需對(duì)運(yùn)維知識(shí)進(jìn)行提取和再利用。知識(shí)圖譜被廣泛地用于智能問(wèn)答、智能推薦等領(lǐng)域,眾多學(xué)者對(duì)知識(shí)圖譜技術(shù)展開(kāi)研究,并將其應(yīng)用于系統(tǒng)的運(yùn)維診斷與分析當(dāng)中。郭盛等人[1]以電商銷(xiāo)售平臺(tái)為研究案例,提煉知識(shí)圖譜模型,構(gòu)建知識(shí)庫(kù),研究形成可視化的網(wǎng)絡(luò)結(jié)構(gòu);歐一鳴等人[2]基于運(yùn)維訴求與分布式光伏運(yùn)維知識(shí)圖譜中的信息,匹配準(zhǔn)確的運(yùn)維方案,為運(yùn)維人員提供方案支持。
基于上述研究,本文引入知識(shí)圖譜技術(shù)對(duì)12306 運(yùn)維知識(shí)進(jìn)行建模,為具有復(fù)雜關(guān)系的知識(shí)信息提供高效存儲(chǔ)、組織、管理的手段。通過(guò)梳理運(yùn)維技術(shù)經(jīng)驗(yàn),使系統(tǒng)告警、故障案例、問(wèn)題記錄、技術(shù)手冊(cè)、操作經(jīng)驗(yàn)等信息明晰化、規(guī)則化,從而構(gòu)建12306 運(yùn)維知識(shí)圖譜,快速、便捷、高效地完成運(yùn)維診斷、自動(dòng)處理和故障排除,最終實(shí)現(xiàn)12306 運(yùn)維自動(dòng)化、智能化。
知識(shí)圖譜以資源信息為數(shù)據(jù)源,自動(dòng)抽取資源,持續(xù)優(yōu)化知識(shí)庫(kù)。完整的知識(shí)圖譜需要不間斷地迭代、更新知識(shí)經(jīng)驗(yàn)信息[3]。12306 的運(yùn)維知識(shí)圖譜構(gòu)建流程,可以分為數(shù)據(jù)獲取、知識(shí)抽取、知識(shí)融合和知識(shí)處置4 個(gè)部分,如圖1 所示。
圖1 12306 運(yùn)維知識(shí)圖譜構(gòu)建流程
12306 運(yùn)維數(shù)據(jù)獲取包括整合結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化的數(shù)據(jù)。監(jiān)控?cái)?shù)據(jù)、指標(biāo)數(shù)據(jù)是結(jié)構(gòu)化數(shù)據(jù),可直接進(jìn)行整合;12306 故障案例、問(wèn)題記錄、技術(shù)手冊(cè)、專(zhuān)家分享帖子和用戶(hù)手冊(cè)等是半結(jié)構(gòu)化數(shù)據(jù);12306 系統(tǒng)配置、日志、規(guī)范化產(chǎn)品文檔等屬于非結(jié)構(gòu)化數(shù)據(jù)。非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)需進(jìn)行加工后才可使用。
半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)需要完成實(shí)體抽取、屬性抽取和關(guān)系抽取形成知識(shí),存入到知識(shí)圖譜中[4]。實(shí)體抽取包括抽取12306 系統(tǒng)日志、配置信息等元素;屬性抽取需要定義監(jiān)控元素各指標(biāo)類(lèi)的性質(zhì);關(guān)系抽取需要提取各個(gè)系統(tǒng)間的相互歸屬或擁有關(guān)系,為知識(shí)結(jié)構(gòu)獲取網(wǎng)狀的關(guān)系定義。
知識(shí)抽取形成的知識(shí)需要進(jìn)行運(yùn)維數(shù)據(jù)整合和知識(shí)推理,從而消除知識(shí)間的歧義[5],其方法有2 種:(1)指代消解,即把代表同一實(shí)體的不同指稱(chēng)劃分到一個(gè)等價(jià)集合,例如錯(cuò)誤日志、系統(tǒng)配置都指向一個(gè)主機(jī)實(shí)體;(2)實(shí)體消歧,即把一個(gè)實(shí)體的具體屬性進(jìn)行定位,例如,通過(guò)計(jì)算得出的系統(tǒng)指標(biāo)是監(jiān)控報(bào)警還是系統(tǒng)故障。
對(duì)運(yùn)維的新知識(shí)進(jìn)行質(zhì)量評(píng)估后,將其加入到12306 運(yùn)維知識(shí)圖譜中,知識(shí)圖譜可通過(guò)客票知識(shí)檢索進(jìn)行展示。
12306 智能運(yùn)維架構(gòu)分為傳輸層、加工層、存儲(chǔ)層、智能處置層,如圖2所示。
圖2 12306 智能運(yùn)維架構(gòu)
傳輸層通過(guò)消息隊(duì)列的方式獲取結(jié)構(gòu)化、非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),并進(jìn)行統(tǒng)一分析和展示,包括對(duì)告警、指標(biāo)、故障案例、問(wèn)題記錄、技術(shù)手冊(cè)、專(zhuān)家分享帖子、用戶(hù)手冊(cè)、系統(tǒng)配置、日志、規(guī)范化產(chǎn)品文檔等進(jìn)行數(shù)據(jù)接收和匯聚。
加工層把12306 的事件、運(yùn)維日志、業(yè)務(wù)數(shù)據(jù)、系統(tǒng)指標(biāo)、運(yùn)維知識(shí)圖譜、專(zhuān)家經(jīng)驗(yàn)和知識(shí)等海量數(shù)據(jù)經(jīng)識(shí)別、篩選,歸納抽取出來(lái),不同數(shù)據(jù)類(lèi)型有不同的抽取方法。結(jié)構(gòu)化數(shù)據(jù)需要用復(fù)雜表數(shù)據(jù)處理獲取知識(shí),其余的數(shù)據(jù)需進(jìn)行持續(xù)的知識(shí)自動(dòng)生成、更新和維護(hù)[6]。
在加工層獲取到12306 新的運(yùn)維知識(shí)后,存儲(chǔ)層對(duì)其進(jìn)行整合,消除知識(shí)間的矛盾和歧義,將其與其他知識(shí)進(jìn)行融合、校對(duì),轉(zhuǎn)換為三元組的形式,按中國(guó)鐵路客票發(fā)售預(yù)定系統(tǒng)(簡(jiǎn)稱(chēng):客票系統(tǒng))的業(yè)務(wù)表結(jié)構(gòu)和圖結(jié)構(gòu)的方式進(jìn)行存儲(chǔ),形成標(biāo)準(zhǔn)的數(shù)據(jù)格式,為上游12306 網(wǎng)站、12306 App 及其他軟件應(yīng)用提供服務(wù)。
通過(guò)存儲(chǔ)層的知識(shí)融合,結(jié)合事件分析、事件模板、知識(shí)庫(kù)和語(yǔ)義編碼對(duì)運(yùn)維知識(shí)進(jìn)行驗(yàn)證、修正和優(yōu)化,構(gòu)建12306 運(yùn)維知識(shí)圖譜,通過(guò)系統(tǒng)收集和提取的故障數(shù)據(jù)、報(bào)警門(mén)限、系統(tǒng)閾值等實(shí)現(xiàn)故障識(shí)別和根因定位,最終實(shí)現(xiàn)故障自動(dòng)處置。
12306 運(yùn)維知識(shí)圖譜擁有上萬(wàn)條運(yùn)維知識(shí),每條知識(shí)由三元關(guān)系(主體、謂語(yǔ)、賓語(yǔ))組成[7]。12306 通過(guò)資源描述框架(RDF,Resource Description Framework)來(lái)描述實(shí)體和資源三元關(guān)系,完成運(yùn)維知識(shí)圖譜構(gòu)建。
先把問(wèn)題描述、異常事件、故障案例、配置管理等數(shù)據(jù)分類(lèi),基于RDF 三元組的知識(shí)表示和本體描述,使用數(shù)組存儲(chǔ)每個(gè)運(yùn)維事件的語(yǔ)義信息,抽取語(yǔ)義信息及運(yùn)維事件關(guān)系[8]。RDF 標(biāo)準(zhǔn)數(shù)據(jù)模型有唯一確定的主體、連接屬性的謂語(yǔ)和明確屬性值的賓語(yǔ)。主體是被描述的資源,謂語(yǔ)可表示主體的屬性,也可表示主體和賓語(yǔ)間的關(guān)系。當(dāng)表示屬性時(shí),賓語(yǔ)就是屬性值;當(dāng)表示關(guān)系時(shí),賓語(yǔ)也可作為資源。本文結(jié)合問(wèn)題事件、故障處置、業(yè)務(wù)報(bào)警、物理設(shè)備信息和專(zhuān)家邏輯信息等,構(gòu)建了以12306 業(yè)務(wù)為核心的運(yùn)維識(shí)圖譜,部分圖譜可視化的內(nèi)容如圖3所示。
圖3 12306 運(yùn)維知識(shí)圖譜示意(部分)
12306 發(fā)生異常事件時(shí),須獲取相關(guān)的系統(tǒng)日志、業(yè)務(wù)報(bào)警、應(yīng)用變更、配置管理等信息,將異常數(shù)據(jù)寫(xiě)入圖數(shù)據(jù)庫(kù),根據(jù)12306 運(yùn)維知識(shí)圖譜使用的演繹推理和歸納推理方法,對(duì)事件根因進(jìn)行定位。
12306 異常事件包括售票交易量、業(yè)務(wù)時(shí)延、支付成功率、連接異常率等指標(biāo)的異常,以及業(yè)務(wù)日志和系統(tǒng)日志的異常。經(jīng)過(guò)異常信息收集,對(duì)系統(tǒng)業(yè)務(wù)進(jìn)行統(tǒng)計(jì)分析,定位到具體子系統(tǒng)的軟硬件,獲取事件根因。以售票業(yè)務(wù)為例,12306 支持中國(guó)工商銀行(簡(jiǎn)稱(chēng):工行)、中國(guó)農(nóng)業(yè)銀行、中國(guó)銀行和招商銀行等網(wǎng)上銀行功能,當(dāng)支付成功率下降時(shí),多筆交易產(chǎn)生了支付錯(cuò)誤日志,系統(tǒng)提取異常時(shí)間點(diǎn)的交易信息,找到某時(shí)間范圍內(nèi)的異常交易。通過(guò)對(duì)異常交易的統(tǒng)計(jì)分析,定位到交易僅在工行支付平臺(tái)子系統(tǒng)報(bào)錯(cuò),說(shuō)明工行接口子系統(tǒng)就是問(wèn)題的根因。
將12306 各業(yè)務(wù)系統(tǒng)采集的大量監(jiān)控?cái)?shù)據(jù)與歷史運(yùn)維數(shù)據(jù)匯聚,進(jìn)行分類(lèi)學(xué)習(xí),通過(guò)告警分類(lèi)、性能趨勢(shì)預(yù)測(cè)和參數(shù)訓(xùn)練,生成運(yùn)維數(shù)據(jù)的閾值和權(quán)重,用以區(qū)分?jǐn)?shù)據(jù)中的正常值和異常值,把檢測(cè)參數(shù)調(diào)整到合理的范圍,對(duì)異常事件進(jìn)行報(bào)警。
異常檢測(cè)包括監(jiān)控指標(biāo)檢測(cè)、動(dòng)態(tài)閾值檢測(cè)和智能基線檢測(cè)。監(jiān)控指標(biāo)檢測(cè)是在服務(wù)器端設(shè)定,當(dāng)應(yīng)用指標(biāo)超過(guò)某閾值時(shí)自動(dòng)報(bào)警,并對(duì)服務(wù)異常的波動(dòng)狀態(tài)進(jìn)行報(bào)警;動(dòng)態(tài)閾值檢測(cè)采用實(shí)時(shí)調(diào)整的閾值設(shè)定法來(lái)解決大小長(zhǎng)假、春運(yùn)售票高峰等周期性數(shù)據(jù)的異常判斷,自動(dòng)發(fā)現(xiàn)異常節(jié)點(diǎn),實(shí)時(shí)標(biāo)紅節(jié)點(diǎn),同步顯示異常詳細(xì)信息,方便運(yùn)維人員快速發(fā)現(xiàn)和定位問(wèn)題;智能基線檢測(cè)無(wú)須逐個(gè)配置報(bào)警規(guī)則,可動(dòng)態(tài)調(diào)整靈敏度,任何一個(gè)接入智能基線的指標(biāo),都需要計(jì)算出它的預(yù)測(cè)基線及合理邊界,當(dāng)實(shí)際數(shù)據(jù)超出邊界并達(dá)到一定時(shí)長(zhǎng)后觸發(fā)報(bào)警。
智能決策將12306 運(yùn)維知識(shí)圖譜中的運(yùn)維處置命令匯總成特定腳本,包括內(nèi)存報(bào)警、文件空間不足、數(shù)據(jù)庫(kù)死鎖等的解決方法和方案。系統(tǒng)工作流通過(guò)定時(shí)或輪詢(xún)?nèi)蝿?wù),自動(dòng)對(duì)上千個(gè)業(yè)務(wù)項(xiàng)進(jìn)行檢查,當(dāng)發(fā)生故障或異常檢測(cè)報(bào)警時(shí),第一時(shí)間觸發(fā)集成化命令,完成自動(dòng)故障修復(fù)。
通過(guò)12306 運(yùn)維知識(shí)圖譜產(chǎn)生的智能決策方案,可自動(dòng)執(zhí)行多個(gè)故障修復(fù)任務(wù),對(duì)報(bào)警的根本原因進(jìn)行故障排查和處置,減少網(wǎng)絡(luò)資源的停機(jī)時(shí)間,確??焖俳鉀Q多個(gè)故障。例如,重新啟動(dòng)主機(jī)服務(wù)器、關(guān)閉系統(tǒng)服務(wù)、發(fā)送故障通知到機(jī)器人、執(zhí)行腳本以更正系統(tǒng)故障等,都可使用智能決策的修復(fù)任務(wù)和解決方案。
本文通過(guò)數(shù)據(jù)獲取、知識(shí)抽取、知識(shí)融合、知識(shí)處置構(gòu)建12306 運(yùn)維知識(shí)圖譜,對(duì)根因定位、異常檢測(cè)、智能決策等關(guān)鍵技術(shù)在12306 智能運(yùn)維領(lǐng)域進(jìn)行了應(yīng)用研究,使12306 運(yùn)維更加實(shí)時(shí)、高效、自動(dòng)化、智能化,根據(jù)12306 運(yùn)維知識(shí)圖譜計(jì)算出的故障預(yù)警準(zhǔn)確率可達(dá)85%以上,有效降低了12306 和各應(yīng)用子系統(tǒng)的故障率,提高了問(wèn)題處理效率,切實(shí)為12306 起到了保駕護(hù)航的作用。