溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

發(fā)布時間:2020-08-11 16:03:06 來源:ITPUB博客 閱讀:134 作者:宜信技術(shù)學(xué)院 欄目:網(wǎng)絡(luò)管理

近期收到朋友贈送的一本書—《深入淺出MySQL》。閑暇之余,閱讀了部分章節(jié),書中針對故障處理一節(jié),給我印象頗深。書中提煉出的一些方法論,正是我之前在團(tuán)隊中推廣的方法。其目的是為了將故障應(yīng)急操作標(biāo)準(zhǔn)化,進(jìn)而提升處理效率。推而廣之,這其實是一種結(jié)構(gòu)化思維在具體工作中的體現(xiàn)。而這種思想在某具體工作、乃至個人、團(tuán)隊發(fā)展等,均可發(fā)揮重要作用。特寫下此文。

一、故障處理流程

1.1 示例:數(shù)據(jù)庫故障處理

下面是來自網(wǎng)易的一些經(jīng)驗,整理自《深入淺出MySQL》一書。

1.1.1 事前:故障處理原則

1)溝通第一

在數(shù)據(jù)庫出現(xiàn)故障時,務(wù)必和運(yùn)維、開發(fā)、產(chǎn)品等其他團(tuán)隊保持高效溝通。DBA在遇到故障時,一定不要忘了溝通的重要性,即使時間緊迫,簡要的溝通往往也能帶來事半功倍的效果。從長遠(yuǎn)來看,也有利于培養(yǎng)和其他人、其他團(tuán)隊之間的合作和信任關(guān)系。

2)關(guān)注人為

人為故障占有不小的比例。要通過及時溝通并查看歷史記錄,確認(rèn)操作是否有誤、要和其他團(tuán)隊溝通是否有特殊操作。當(dāng)然,解決人為故障最好的方法還是將數(shù)據(jù)庫運(yùn)維自動化、標(biāo)準(zhǔn)化、規(guī)范化。

3)快速恢復(fù)

在處理故障的時候,要明確的一個思路是要優(yōu)先恢復(fù)服務(wù),確保服務(wù)的最大可用性,其他的不一定要優(yōu)先考慮。

4)三思后行

有些故障處理方式,可能對數(shù)據(jù)庫造成難以恢復(fù)的影響,務(wù)必慎重,并盡量做好備份。對于操作本身不熟悉帶來額外的問題,要盡量避免。認(rèn)真考慮命令可能帶來的后果,避免對系統(tǒng)造成二次傷害。

5)服務(wù)分級

平時應(yīng)當(dāng)對服務(wù)、應(yīng)用、數(shù)據(jù)庫做好分級,一旦出現(xiàn)大面積故障,可以按照服務(wù)的優(yōu)先級來恢復(fù)核心業(yè)務(wù)。

1.1.2 事中:故障處理流程

1)故障發(fā)現(xiàn)

  • OS指標(biāo)

    • 負(fù)載
    • CPU使用率
    • 磁盤空間
    • IO使用率
    • SWAP使用情況
  • DB指標(biāo)

    • 數(shù)據(jù)庫存活
    • 連接數(shù)
    • 慢SQL
    • 主從延遲

2)故障定位

  • 檢查操作

    • 程序發(fā)布
    • 在線表變更
    • 在線數(shù)據(jù)修改
    • 后臺任務(wù)、數(shù)據(jù)統(tǒng)計
    • 數(shù)據(jù)庫參數(shù)調(diào)整
    • 其他誤操作
  • 檢查OS

    • 系統(tǒng)進(jìn)程
    • CPU
    • 內(nèi)存、SWAP
    • IO
    • 系統(tǒng)日志
  • 檢查DB

    • 連接
    • 慢查詢
    • 鎖等待
    • QPS
    • 錯誤日志
1.1.3 事后:故障解決方法

1)慢SQL

  • 選擇條件上沒有索引或者索引效率低。
  • 有索引,但沒有用到索引,或者選擇了錯誤的索引。
  • 過濾條件不強(qiáng),結(jié)果集太大。

2)SQL執(zhí)行頻率高

  • 惡意攻擊
  • 緩存失效
  • 應(yīng)用實現(xiàn)邏輯不合理
  • 業(yè)務(wù)量突增

3)鎖沖突

  • 大事務(wù)
  • 熱點(diǎn)問題

4)硬件問題

  • RAID卡緩存問題
  • 硬件損壞

5)參數(shù)不合理

1.2 示例:GP數(shù)據(jù)庫異常處理(我的經(jīng)驗)  

下面是我在之前單位總結(jié)的,針對GP的異常處理流程。圖中的【】部分對應(yīng)具體的處理步驟(對應(yīng)腳本或操作文檔)。

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

從上述兩個示例可以看出,這是一種"統(tǒng)籌式"的工作方式,而非"應(yīng)急式"的。它強(qiáng)調(diào)的是在出現(xiàn)故障后,按照規(guī)劃好的原則、步驟進(jìn)行分析排查,找出核心問題;然后針對既有問題,再按照已有的相關(guān)預(yù)案進(jìn)行處理。同時在處理過程中,注意規(guī)避風(fēng)險及溝通協(xié)調(diào),以期達(dá)到故障的快速解決。 顯然這種方式,代表著一種對工作的前瞻力,防患于未然;避免了那種忙于救火,使工作永遠(yuǎn)處于被動之中。上述其實就是一種"結(jié)構(gòu)化思維"的體現(xiàn)。

二、結(jié)構(gòu)化思維

2.1 什么是"結(jié)構(gòu)化思維"?

  • 思考的時候沒有邏輯,大多數(shù)時候不知道從哪里下手。
  • 講話時沒有條理,費(fèi)很多口舌卻很難把事說清楚。
  • 處理問題時效率低,東撿西漏,忙得團(tuán)團(tuán)轉(zhuǎn)效果卻不佳。
  • 當(dāng)你面臨上述窘境時,正是可以考慮訓(xùn)練自己的結(jié)構(gòu)化思維來解決。

結(jié)構(gòu)化思維:是指一個人在面對工作任務(wù)或者難題時能從多個側(cè)面進(jìn)行思考,深刻分析導(dǎo)致問題出現(xiàn)的原因,系統(tǒng)制定行動方案,并采取恰當(dāng)?shù)氖侄问构ぷ鞯靡愿咝书_展,取得高績效。當(dāng)你這樣做事的時候,你就擁有了結(jié)構(gòu)化思維,這將對你的職場晉升起到巨大的幫助作用。思維決定發(fā)展,思維層面不同導(dǎo)致結(jié)果不同。簡言之,結(jié)構(gòu)化思維指從整體思考到局部,是一種層級分明的思考模式。就是借用一些思維框架來輔助思考,將碎片化的信息進(jìn)行系統(tǒng)化的思考和處理,從而擴(kuò)大思維的層次,更全面地思考。

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

2.2 結(jié)構(gòu)化思維方法

如何進(jìn)行結(jié)構(gòu)化思考呢,也是有方法論的,總的來說是有兩個步驟,首先是“建立中心”,然后再進(jìn)行“分解”。

1)建立中心

建立中心也就是要定義清楚要解決的問題,要明確目標(biāo),也是一種以終為始的思考方式。也就是說,首先要搞清楚why,然后再進(jìn)行how。建立中心有兩種方式:自上而下、自下而上。后面我們會詳細(xì)說明。

建立中心通常不會是一次成型的,隨著對問題理解的變化,對中心的抽象也會進(jìn)行相應(yīng)的調(diào)整。不同的抽象層次其面對的問題寬度是不一樣的。具體要用哪個層次的抽象作為“中心”,要視具體情況而定。抽象層次越高,要解決的問題域就越寬,外延越大。比如面對“系統(tǒng) bug 多”的問題,向上抽象是“提升代碼質(zhì)量”,向下抽象是“加強(qiáng)測試”,都可以作為中心,選擇哪個為中心取決于你當(dāng)前要解決的問題是什么。

2)結(jié)構(gòu)化分解

使用結(jié)構(gòu)化的思維對問題進(jìn)行分解。分解策略就是常見的四種邏輯順序,即演繹順序、時間順序、空間順序和程度順序。

3)邏輯順序

下面配圖為XMind工具的對應(yīng)圖例。

  • 演繹(因果)順序

“大前提、小前提、結(jié)論”的演繹推理方式就是演繹順序。比如,經(jīng)典三段論:所有人都要死,蘇格拉底是人,蘇格拉底要死。

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

  • 時間(步驟)順序

“第一、第二、第三”,“首先、然后、再者”等,很多的時間順序同時也是因果順序。

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

  • 空間(結(jié)構(gòu))順序

“前端、后端、數(shù)據(jù)”,“波士頓、紐約、華盛頓”,化整為零(將整體分解為部分)等都是空間順序。在做空間分解的時候,要注意滿足 MECE(Mutually Exclusive Collectively Exhaustive,相互獨(dú)立,完全窮盡)原則。

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

  • 程度(重要性)順序

比如“最重要、次重要、不重要”等。

2.3 "自上而下"的思考

自上而下的思考,適用于問題比較明確的情況,我們只需要找到問題的核心要素即可,然后進(jìn)行展開即可。這就是一個非常典型的總分結(jié)構(gòu)化思維的思考方式。先總結(jié),后發(fā)散。用這種方式思考,有助于形成、整理和構(gòu)造思維導(dǎo)圖,從而促進(jìn)大腦自然有序地思考,從而讓你更全面地去分析一個問題。下面介紹幾種常見的自上而下的思考模型:

1)STAR法則

  • Situation 背景  
  • Target 目標(biāo)  
  • Action 行動
  • Result 結(jié)果

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

2)SWOT 分析方法

  • Strengths 優(yōu)勢
  • Weaknesses 劣勢
  • Opportunities 機(jī)會
  • Threats威脅

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

3)問題解決

分析問題>找到原因>設(shè)置目標(biāo)>提出解決方案>實施

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

2.4 "自下而上"的思考

對于問題不夠明確的情況,需要對多種雜亂的內(nèi)容,進(jìn)行分類、剪枝、歸納匯總成一個中心。根據(jù)《金字塔原理》“任何事情都可以歸納出中心論點(diǎn),中心論點(diǎn)可由三至七個論據(jù)支撐,每個一級論點(diǎn)可以衍生出其他的分論點(diǎn)?!比绱税l(fā)散開來,就可以形成以下的金字塔結(jié)構(gòu)思考方式。

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

但是在還沒有掌握這種結(jié)構(gòu)化思維方式時,直接用這種思考方式是有一定難度的。這時候我們就可以采用自下而上的思考方式去找結(jié)構(gòu)。

  • 盡可能列出所有思考的要點(diǎn)
  • 找出關(guān)系,進(jìn)行分類
  • 總結(jié)概括要點(diǎn),提煉觀點(diǎn)
  • 觀點(diǎn)補(bǔ)充,完善思路

總結(jié)下就是:先發(fā)散,后總結(jié)。用這種方式思考,不僅更容易找到邏輯結(jié)構(gòu),也更容易培養(yǎng)你的結(jié)構(gòu)化思維。舉個例子,當(dāng)我們面臨職業(yè)發(fā)展選擇時,如何總結(jié)提煉出自己的決策。

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

2.5 增強(qiáng) — 擴(kuò)展性思維

擴(kuò)展性思維的核心目標(biāo)是提升思維的廣度,可以有三種擴(kuò)展方向:

  • 舉一反三:解決同類型的N個問題

這種思維方式的特征是舉一反三,觸類旁通,相當(dāng)于產(chǎn)生批處理的效果,可以大大提升解決問題的效率,避免重復(fù)處理。

  • 尋求可能性:拓展解決問題的不同手段

拓展思維常見的手段是:是否能夠換更多的理解方式,或者更多的解法。

  • 深挖根源:挖掘問題深層次原因

這種思維方式是要突破現(xiàn)有問題的表面化解決,而是需要深挖原因,探究根本問題。只有這樣才能從根本上解決問題。

2.6 示例:我的一次故障經(jīng)歷(深挖原因)

如何運(yùn)用結(jié)構(gòu)化思維進(jìn)行故障處理

寫在最后

思維方式有很多種,你可以在實際工作中,嘗試使用上面的方法。堅持一段時間后,你會發(fā)現(xiàn)想問題時更有邏輯性,說話也更有條理更有說服力。不僅如此,你還可以用這種結(jié)構(gòu)化的思維,去搭建和構(gòu)造自己的思維體系。

作者:韓鋒

首發(fā)于作者個人公號《韓鋒頻道》。

來源:宜信技術(shù)學(xué)院

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI