首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

系統監控技術:信息轉發模塊設計與實現

     編輯:關於C語言

第21章 系統監控技術之信息轉發模塊

作者:朱雲翔、胡平

信息轉發模塊在系統監控項目中扮演「承上啟下」的關鍵角色:它一方面匯總監控主機發送的各類信息,另一方面將這些信息分發給各個顯示端。本章將詳細設計一個具備接收、轉發監控信息,並為顯示端提供用戶簽到服務的信息轉發模塊。

21.1 系統分析與設計

信息轉發模塊負責接收被監控主機的系統信息與應用信息,並根據顯示端的簽到狀態決定是否發送數據。模塊由三大部分組成:用戶模塊、簽到程序、轉發程序。

1. 用戶模塊

為確保數據安全,系統不允許任意顯示端獲取主機信息,必須對每個顯示端進行備案。信息轉發進程僅向已備案的顯示端發送數據。每個顯示端分配一個用戶,用戶信息至少包含:

  • 顯示端的 IP 地址與端口號
  • 用戶名與密碼
  • 簽到標志(決定是否向該端發送信息)
  • 註冊標志組(對應特定監控類型,只有標志開啟時才轉發相應信息)

實踐經驗:配置信息通常存在兩種狀態——存儲態(靜態存儲)與運行態(動態存儲)。存儲態指系統未運行時的配置存儲方式(如文件系統、數據庫);運行態指系統啟動後配置信息載入內存或數據庫的方式。本項目用戶信息靜態存儲於 config.ini,啟動時讀入內存結構。

2. 簽到程序

系統啟動載入用戶信息時,不會自動開啟簽到標志。只有接收並審核通過顯示端發送的簽到申請報文後,才更新用戶簽到標志。該程序專責與顯示端的 TCP 通信,接收請求並修改用戶動態配置。常見受理信息包括:簽到報文、簽退報文、註冊報文。

3. 轉發程序

轉發程序負責將監控到的主機信息分發給顯示端,處理流程如下:

  1. 系統啟動,讀入用戶配置信息(靜態轉動態)。
  2. 以阻塞方式接收監控主機系統信息。
  3. 接收成功後,遍歷所有用戶動態存儲信息。
  4. 查找滿足接收條件的顯示端並發送數據。

由於簽到模塊與轉發模塊均需操作顯示端用戶信息(前者實時更新,後者頻繁讀取),必須採用多進程共享的動態存儲方式——共享內存是最佳選擇。

圖21-1 信息轉發模塊分解圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved