程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 系統監控技術之信息轉發模塊(精通Unix下C語言編程與項目實踐

系統監控技術之信息轉發模塊(精通Unix下C語言編程與項目實踐

編輯:關於C語言

文章試讀 不拘一個遍程序系列編程序不能一個腦袋鑽到底,有時要學會變通,即所謂的曲線救國。 職場規劃:一些雜七雜八的職場感悟吧。不值錢的軟件人才 精力充沛與事業成功   讓系分來得更猛烈些吧    不值錢的系統分析師   經濟危機下大學生如何就業 我的詩歌:都是我的打油詩,但是很值得一讀。不要工作還衣食無憂之四難歌   香格裡拉美人圖 寶寶圖片:超可愛的小寶寶 博客 考試培訓:主要是關於考研、軟考和等級的相關題解。2009考研試題分析   2008年12月程序員試題分析    2009年軟考備考全攻略    2008年5月程序員試題解析 輕松寫系分論文        

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

作者:朱雲翔,胡平   信息轉發模塊一邊匯總監控主機發送來的信息,一邊將這些信息發散地傳遞到各個顯示端,在系統監控項目中,它處於承上啟下的位置。 本章將設計一個系統監控項目的信息轉發模塊,它不但能夠接收並轉發主機發送的監控信息,同時還可以為顯示端提供用戶簽到服務。

21.1 系統分析與設計

信息轉發模塊負責接收被監控主機的系統信息和應用信息,並根據顯示端的簽到情況選擇發送或者不發送監控信息。信息轉發模塊由三個部分組成,分別是用戶模塊、簽到程序和轉發程序。

1. 用戶模塊

我們並不希望人人都可以獲得主機信息,因此需要為每個顯示端備案,信息轉發進程只會將數據發送到備案的顯示端。通常我們會為每個顯示端分配一個用戶,這個用戶信息至少包括以下幾項內容: (1) 顯示端的IP地址與端口號。 (2) 為顯示端分配的用戶信息,包括用戶名和密碼。 (3) 顯示端簽到標志,這個標志決定了是否向顯示端發送信息。 (4) 顯示端注冊標志組。顯示端不一定需要監控全部的數據,這個數組中的每個元素都對應一個特別的監控類型,只有當這個標志打開時,其對應的監控信息才可以轉發到顯示端。 實踐經驗】在大多數系統中,諸如用戶等配置信息都存在兩種狀態,分別為存儲態和運行態: (1) 存儲態。 又可以稱為靜態存儲,是指當系統尚未運行時配置信息的存儲方式,一般有文件系統存儲和數據庫存儲等方式。比如系統監控項目中主機進程尚未啟動前,監控代碼信息就以文件的形式存儲在配置文件“config.ini”中。 (2) 運行態。 又可以稱為動態存儲,系統啟動時都會載入配置信息,運行態就是指配置信息被載入系統後的存儲方式,一般有內存數據存儲和數據庫存儲等方式。比如在系統監控項目中,主機進程啟動時將監控代碼信息讀入內存結構“SIMTIMER”中保存,以後監控信息的所有改變都發生在內存中,與配置文件無關。 在程序啟動前,本項目的用戶信息靜態存儲於配置文件“config.ini”中。在程序啟動時,這些用戶信息將被讀入到內存相應的結構中。

2. 簽到程序

當系統初啟,載入用戶信息時,並不會自動打開用戶簽到等標志,只有當接收並審核通過顯示端發送來的簽到申請報文時,才更改用戶簽到標志。 本部分專門負責與顯示端的TCP通信連接,它接收顯示端的請求信息,並按要求修改用戶動態配置的信息。常見的受理信息有: (1) 簽到報文,顯示端開始監控時發送。 (2) 簽退報文,顯示端結束監控時發送。 (3) 注冊報文,顯示端選擇監控信息時發送。

3. 轉發程序

本程序負責將監控到的主機信息轉發到顯示端,它的處理流程如下: (1) 系統啟動,讀入用戶配置信息用戶配置由靜態轉動態)。 (2) 以阻塞方式接收監控到的主機系統信息。 (3) 如果接收主機信息成功,則遍歷全部的用戶動態存儲信息。 (4) 查找滿足該條信息接收條件的顯示端,並發送數據。 綜上得知,在本項目中簽到模塊和轉發模塊都操作了顯示端用戶信息,前者將實時更新用戶信息,後者則需要經常讀取信息,因此必須選擇一種可供多個進程共享的動態存儲方式,共享內存無疑是最佳選擇。 本項目三個組成模塊的關系如圖21-1所示: 圖21-1 信息轉發模塊分解圖     相關文章: 封面          前言        目錄         策劃         作者 動態庫        變長參數    文件鎖       外設         僵死進程 定時器        I/O重定向   消息隊列    共享內存    實踐項目: 開發網頁投票器一)  二)  開發網頁投票器  字符串報文 銀行代發工資報文 Unix下遠程控制程序 監控程序主機模塊 監控程序信息轉發模塊  

本文出自 “編程浪子朱雲翔” 博客,請務必保留此出處http://zhuyunxiang.blog.51cto.com/653596/145037

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved