溫馨提示×

溫馨提示×

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

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

【我要寫代碼】報警分發(fā)系統(tǒng)分析與設計

發(fā)布時間:2020-08-25 07:59:55 來源:網絡 閱讀:636 作者:li690347460 欄目:編程語言

目前所面臨的問題
目前的報警系統(tǒng)只能簡單的把用戶分為為不同的組,然后每個報警分發(fā)至一個和多個組,有的機器或服務的報警并不是每個用戶都關心,太多的報警反而會降低警惕心失去報警的意義。

1. 需求分析

  本來打算實現(xiàn)分組報警和發(fā)送報警至項目負責人兩個功能,以及用戶按照用戶意愿選擇想要的接受報警的服務等功能,不過作為一個沒正經寫過項目小菜同學,還是以做出東西為第一目標。所以此系統(tǒng)第一版只實現(xiàn)以項目負責人為目標的報警分發(fā)功能。
  思考:每個人都希望自己的產品百分百的完美,但是世上并沒有完美的東西,大家都只是在向著完美的方向努力向前而已。

1.1. 需求分析引伸出來的問題

  目前我們只能實現(xiàn)一個功能,不過以后慢慢加入其他的功能,為了以后其他功能加入的方便,我們應該盡可能的保證程序的可擴展性。

2. 概要設計

  本程序會從接受一個報警信息開始的,每個報警信息經過此系統(tǒng)的分發(fā)會發(fā)送至不同的用戶。所以每個報警信息本身必須帶有標記,用于標記自己的屬性,比如屬于哪個負責人。要把每個報警信息和接收人對應起來,就必須有一個對于關系表,并且此對應關系存儲在某個介質上。為了方便起見,此處以文件的形式來存儲報警與接收人的對應關系,最后就是以指定的方式發(fā)送報警了。所以此系統(tǒng)主要流程有下面三個部分:
  1. 報警輸入標記
  2. 獲取報警
  3. 獲取報警與接收人對應關系
  4. 根據標記和對應關系發(fā)送報警

3. 詳細設計

 ?、賵缶斎胗袠擞?/h5>

  遇到沒標記的情況怎么辦:得有默認的發(fā)送方式及目標
  用戶如何自定義標記:以配置的方式把標記的定義放入配置文件中

 ?、讷@取報警

  報警信息的輸入只能來自prometheus的alertmanager?
  把報警信息的輸入設計成一個接口,此接口有一些方法,然后來自alertmanager的報警實現(xiàn)此接口,然后此信息就能被后續(xù)的方法獲取并處理。

 ?、蹐缶c接收人的對應關系獲取

  第一版的關系來自于文件,后面的版本有可能來自數(shù)據庫或者其他存儲。所以此處“對應關系”的處理也是一個接口。后面所有的操作依賴此接口

 ?、馨l(fā)送報警

  第一版只實現(xiàn)釘釘?shù)陌l(fā)送報警,后面可能實現(xiàn)一些其他的發(fā)送方式,所以此處也是接口。

4. 接口設計

  接口就等著后面邊實現(xiàn)邊決定把,現(xiàn)在也沒啥思路。畢竟我連接口都沒寫過呢。

總結

  以前寫代碼,都是......不對,不應該稱作代碼。。。嗯。。。叫做“腳本“可能更為合適。以前寫腳本呀,都是想到那寫到哪,也沒啥規(guī)劃,類什么的真心得是懶得寫。至于繼承。。。作為一個小菜,我還是crtl+c/v搞定吧。畢竟是寫腳本嘛,以實現(xiàn)暫時的目標為第一方向。不過現(xiàn)在呢,【我要寫代碼】了,已經不是簡單的腳本了,要有基本的結構,不說什么高內聚,低耦合了,至少也得考慮到簡單的擴展吧。當然,依然還只是以實現(xiàn)簡單的功能為目標。至于什么并發(fā)之類的東東,還是以后版本再考慮吧。不過,即使簡單也要有基本的東西。比如日志,配置文件,異常處理~
  第一次寫的分析肯定一點都不像個分析,但是呢,就跟寫代碼一樣,總是要邁出第一步的,以后肯定會盡量越來越來噠,代碼也會越來越好~就醬!

向AI問一下細節(jié)

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

AI