麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

監控數據緩存方法及系統與流程

文檔序號:12770855閱讀:321來源:國知局
監控數據緩存方法及系統與流程
本發明涉及一種緩存方法及系統,尤其是涉及一種監控數據緩存方法及系統。

背景技術:
在云基礎設施硬件監控過程中,常常需要實時監控數據曲線和歷史監控數據曲線的顯示。在B/S架構日趨流行的今天,利用網絡客戶端的監控需求也越來越多,在不同的客戶端對相同的硬件設施進行監控,將導致監控服務器頻繁讀取硬件信息。而讀取硬件信息是一個非常耗時的操作,導致反應遲鈍。例如有100個客戶端,每秒監控一次,這樣對同一硬件就要讀取100次硬件信息,假使一次讀取需要0.1秒,全速運行還需要10秒時間,因此會導致監控服務器的負載過大,而且監控數據會失去實時性。如果把監控數據存入數據庫,雖然可以減少讀取硬件的次數,但是會需要頻繁讀取數據庫,也會造成數據的延時,失去實時數據的精準性。另外,如果在客戶端啟動時就想查看最近時間段的歷史監控數據曲線,也是一個困難點。如果從數據庫讀取歷史數據形成此曲線,依然會面臨多客戶端頻繁訪問數據庫和數據不及時的問題。而傳統的處理方式是只記錄從啟動客戶端時刻起時間軸向后的曲線,無法形成啟動時刻前一段時間的曲線,例如Windows系統中的CPU曲線、PF(PageFile,內存分頁)用量曲線等。

技術實現要素:
鑒于以上內容,有必要提供一種監控數據緩存方法,可以不用頻繁讀取被監控硬件信息,及時反饋監控數據,并且能夠形成客戶端啟動時刻之前的歷史監控數據曲線。鑒于以上內容,還有必要提供一種監控數據緩存系統,可以不用頻繁讀取被監控硬件信息,及時反饋監控數據,并且能夠形成客戶端啟動時刻之前的歷史監控數據曲線。所述監控數據緩存方法包括:第一設置步驟:在監控服務器的緩存區域中設置一個設備數據鏈表及一個監控數據鏈表,并設置監控數據鏈表的預定長度;第二設置步驟:設置循環指針指向所述設備數據鏈表的首記錄節點前一節點;第一接收步驟:每隔預設時間接收監控設備實時監控得到的監控數據及監控時間;第二接收步驟:依次讀取該監控數據中每一監控項目的數據及其對應的監控時間;讀取步驟:當循環指針未到達所述設備數據鏈表尾部時,將該循環指針移至下一個記錄節點,記為當前記錄節點;修改步驟:根據所讀取的監控項目的監控數據及監控時間,修改所述設備數據鏈表中當前記錄節點存儲的數據;移除步驟:當所述監控數據鏈表已經達到預定長度時,移除所述監控數據鏈表中存儲時間最早的記錄節點的數據;及新增步驟:當所述監控數據鏈表未達到預定長度時,或者已經移除存儲時間最早的記錄節點的數據后,新增所述設備數據鏈表中本次修改的記錄節點的數據到所述監控數據鏈表中,然后返回所述第二接收步驟。所述監控數據緩存系統包括:設置模塊,用于在監控服務器的緩存區域中設置一個設備數據鏈表及一個監控數據鏈表,并設置監控數據鏈表的預定長度;所述設置模塊還用于設置循環指針指向所述設備數據鏈表的首記錄節點前一節點;第一接收模塊,用于每隔預設時間接收監控設備實時監控得到的監控數據及監控時間;所述第一接收模塊,還用于依次讀取該監控數據中每一監控項目的數據及其對應的監控時間;第一讀取模塊,用于當循環指針未到達所述設備數據鏈表尾部時,將該循環指針移至下一個記錄節點,記為當前記錄節點;修改模塊,用于根據所讀取的監控項目的監控數據及監控時間,修改所述設備數據鏈表中當前記錄節點存儲的數據;移除模塊,用于當所述監控數據鏈表已經達到預定長度時,移除所述監控數據鏈表中存儲時間最早的記錄節點的數據;及新增模塊,用于當所述監控數據鏈表未達到預定長度時,或者已經移除存儲時間最早的記錄節點的數據后,新增所述設備數據鏈表中本次修改的記錄節點的數據到所述監控數據鏈表中,然后觸發所述第一接收模塊繼續讀取下一個監控項目的數據及其對應的監控時間。相較于現有技術,所述的監控數據緩存方法及系統,能夠在網絡服務器請求實時數據時,不用直接訪問被監控硬件去讀取硬件參數,而由緩存區域的設備數據鏈表直接反饋最新的監控數據,保證了實時監控數據的及時性和精準性;在網絡服務器請求歷史數據時,由緩存區域的監控數據鏈表反饋對應時間段的監控數據,不僅可以形成客戶端(顯示終端)啟動后的歷史監控數據曲線,也可形成客戶端啟動之前一段時間的歷史監控數據曲線。附圖說明圖1是本發明監控數據緩存系統較佳實施例的架構圖。圖2是本發明監控數據緩存系統較佳實施例的功能模塊圖。圖3是本發明監控數據緩存方法較佳實施例的數據緩存過程流程圖。圖4是本發明監控數據緩存方法較佳實施例的數據反饋過程流程圖。主要元件符號說明監控服務器1網絡服務器2顯示終端3數據庫4監控設備5監控數據緩存系統10緩存區域20設備數據鏈表21監控數據鏈表22設置模塊100第一接收模塊101第一判斷模塊102第一讀取模塊103修改模塊104移除模塊105新增模塊106第二接收模塊107第二判斷模塊108第二讀取模塊109反饋模塊110如下具體實施方式將結合上述附圖進一步說明本發明。具體實施方式如圖1所示,是本發明監控數據緩存系統較佳實施例的架構圖。所述監控數據緩存系統10運行于監控服務器1中。所述監控服務器1與網絡服務器2、數據庫4及一個或多個監控設備5(圖中示出兩個作為代表)進行數據通信。所述監控服務器1中還包括緩存區域20,所述緩存區域20為該監控服務器1內存中的一部分。每個監控設備5用于實時監控一個或多個被監控硬件(圖中未示出)的硬件參數和工作環境,并將得到的監控數據及監控時間傳送至所述監控服務器1。所述硬件參數包括CPU使用率、PF使用率等;所述工作環境包括機房溫度、濕度、電源電流強度等。所述監控服務器1用于接收所述監控設備5實時監控得到的監控數據及監控時間,將該監控數據及監控時間緩存至所述緩存區域20中,當網絡服務器2請求監控數據時,由所述緩存區域20提供數據。在本實施例中,所述監控數據為被監控硬件的硬件參數和工作環境。所述網絡服務器2連接于一個或多個顯示終端3(圖中示出兩個作為代表),用于根據用戶的請求從所述監控服務器1獲取相應的監控數據,顯示在所述顯示終端3上供用戶查看。值得注意的是,所述數據庫4可以位于連接于監控服務器1的其他服務器中,也可以位于所述監控服務器1中。所述緩存區域20中的監控數據定期發送至所述數據庫4中進行長期存儲,以供用戶查看歷史數據。如圖2所示,是本發明監控數據緩存系統較佳實施例的功能模塊圖。所述監控數據緩存系統10包括設置模塊100、第一接收模塊101、第一判斷模塊102、第一讀取模塊103、修改模塊104、移除模塊105、新增模塊106、第二接收模塊107、第二判斷模塊108、第二讀取模塊109及反饋模塊110。其中,所述設置模塊100、第一接收模塊101、第一判斷模塊102、第一讀取模塊103、修改模塊104、移除模塊105及新增模塊106主要用于執行數據緩存過程,所述第二接收模塊107、第二判斷模塊108、第二讀取模塊109及反饋模塊110主要用于執行數據反饋過程。所述數據反饋過程是對數據緩存過程中所緩存的監控數據的讀取。所述設置模塊100用于在所述緩存區域20中設置一個設備數據鏈表(DicDeviceData)21及一個監控數據鏈表(MonitorDataList)22,并設置監控數據鏈表22的預定長度。所述設備數據鏈表21用于記錄被監控硬件的最新的監控數據及監控時間,所述最新的監控數據按照監控項目分別進行存儲,每個監控項目的數據及其對應的監控時間可以存儲在設備數據鏈表21的一個記錄節點。例如,所述監控項目包括CPU使用率、PF使用率、溫度、濕度、電源電流強度等。無論網絡服務器2有多少實時監控數據請求,都是通過所述設備數據鏈表21直接反饋最新的監控數據,不再重復訪問被監控硬件。所述監控數據鏈表22用于保存一定時間段內(如十分鐘甚至半小時,通過鏈表預定長度控制)的歷史記錄,當達到指定容量時,采用先進先出(FIFO)原則移除最久記錄,加入最新記錄。當網絡服務器2請求歷史數據時,直接由所述監控數據鏈表22反饋對應時間段的監控數據,這樣在顯示終端3上就能看到用戶需要的時間段內的監控數據曲線。所述設置模塊100還用于設置循環指針指向所述設備數據鏈表21的首記錄節點前一節點。所述循環指針用于指示所述設備數據鏈表21中正在讀取的當前記錄節點。在本實施例中,所述首記錄節點為設備數據鏈表21中開始記錄監控項目的數據及其對應的監控時間的第一個記錄節點,在首記錄節點之前可以有一個空的記錄節點,所述設置模塊100設置循環指針指向該空的記錄節點。所述第一接收模塊101用于每隔預設時間(如10秒),接收所述監控設備5實時監控得到的監控數據及監控時間,并依次讀取每一監控項目的數據及其對應的監控時間。所述第一判斷模塊102用于判斷循環指針是否到達所述設備數據鏈表21尾部。在本實施例中,所述設備數據鏈表21中從首記錄節點到尾部記錄節點的記錄節點個數與監控項目的數量相等。也就是說,當循環指針到達所述設備數據鏈表21的尾部時,表明所有監控項目讀取完畢。所述第一讀取模塊103用于當循環指針未到達所述設備數據鏈表21尾部時,將循環指針移至下一個記錄節點。所述修改模塊104用于根據所讀取的監控項目的監控數據及監控時間,修改所述設備數據鏈表21中當前記錄節點存儲的數據。在本實施例中,當第一次向所述設備數據鏈表21中存儲數據時,各個記錄節點中的值為空,所述修改是指將所述各個監控項目的數據及監控時間依次存入相應的記錄節點。當再次向所述設備數據鏈表21中存儲數據時,所述修改是指將各個記錄節點中原先存儲的數據修改為最新的數據。所述第一判斷模塊102還用于判斷所述監控數據鏈表22是否已經達到預定長度。所述移除模塊105用于當所述監控數據鏈表22已經達到預定長度時,移除所述監控數據鏈表22中的最久記錄,即存儲時間最早的記錄節點的數據。所述移除是按照先進先出原則移除所述監控數據鏈表22中存儲時間最早的記錄節點的數據。所述新增模塊106用于當所述監控數據鏈表22未達到預定長度時,或者已經移除最久記錄后,新增所述設備數據鏈表21中本次修改的記錄節點的數據到所述監控數據鏈表22中,然后觸發所述第一接收模塊101繼續讀取下一個監控項目的數據及其對應的監控時間。所述第一判斷模塊102還用于當循環指針到達所述設備數據鏈表21尾部(即所有監控項目讀取完畢)時,判斷是否繼續監控,當需要繼續監控時,觸發所述設置模塊100再次設置循環指針指向所述設備數據鏈表21的首記錄節點前一節點。在本實施例中,是否需要繼續監控可以由用戶決定及控制。所述第二接收模塊107用于接收來自網絡服務器2的監控數據請求。該監控數據請求用于讀取實時監控數據或相應時間段的監控數據。該相應時間段可以由用戶指定。所述第二判斷模塊108用于判斷該監控數據請求的類型。在本實施例中,所述監控數據請求的類型包括歷史數據請求和實時數據請求。所述第二讀取模塊109用于當該監控數據請求為歷史數據請求時,根據該監控數據請求從所述監控數據鏈表22中讀取相應時間段的監控數據。在本實施例中,所述監控數據鏈表22中的監控數據也按照監控項目分別進行存儲,當用戶請求某一監控項目的歷史數據時,可以讀取該監控項目相應時間段的監控數據,形成歷史監控數據曲線。值得注意的是,所述相應時間段應該在所述監控數據鏈表22所包含的時間范圍內,若超出該時間范圍,則需要從所述數據庫4中讀取相應時間段的監控數據。所述第二讀取模塊109還用于當該監控數據請求為實時數據請求時,根據該監控數據請求從所述設備數據鏈表21中讀取相應的實時監控數據。所述反饋模塊110用于將讀取到的相應時間段的監控數據或實時監控數據反饋至所述網絡服務器2。所述監控數據緩存方法分為數據緩存過程及數據反饋過程。所述數據反饋過程是對數據緩存過程中所緩存的監控數據的讀取。如圖3所示,是本發明監控數據緩存方法較佳實施例的數據緩存過程流程圖。步驟S200,所述設置模塊100在所述緩存區域20中設置一個設備數據鏈表21及一個監控數據鏈表22,并設置監控數據鏈表22的預定長度。步驟S202,所述設置模塊100設置循環指針指向所述設備數據鏈表21的首記錄節點前一節點。步驟S204,所述第一接收模塊101每隔預設時間,接收所述監控設備5實時監控得到的監控數據及監控時間。步驟S205,所述第一接收模塊101依次讀取每一監控項目的數據及其對應的監控時間。步驟S206,第一判斷模塊102判斷循環指針是否到達所述設備數據鏈表21尾部。若循環指針到達所述設備數據鏈表21尾部,則執行步驟S208;若循環指針未到達所述設備數據鏈表21尾部,則執行步驟S210。步驟S208,所述第一判斷模塊102判斷是否繼續監控。若需要繼續監控,則返回所述步驟S202;若不需要繼續監控,則流程結束。步驟S210,所述第一讀取模塊103將設備數據鏈表中的循環指針移至下一個記錄節點。步驟S212,所述修改模塊104根據所讀取的監控項目的監控數據及監控時間,修改所述設備數據鏈表21中當前記錄節點存儲的數據。步驟S214,所述第一判斷模塊102判斷所述監控數據鏈表22是否已經達到預定長度。若所述監控數據鏈表22已經達到預定長度,則執行步驟S216;若所述監控數據鏈表22未達到預定長度,則執行步驟S218。步驟S216,所述移除模塊105移除所述監控數據鏈表22中的最久記錄,即存儲時間最早的記錄節點的數據,然后執行步驟S218。步驟S218,所述新增模塊106新增所述設備數據鏈表21中本次修改的記錄節點的數據到所述監控數據鏈表22中,然后返回所述步驟S205,繼續讀取下一個監控項目的數據及其對應的監控時間,直到所有監控項目讀取完畢。如圖4所示,是本發明監控數據緩存方法較佳實施例的數據反饋過程流程圖。步驟S300,所述第二接收模塊107接收來自網絡服務器2的監控數據請求。步驟S302,所述第二判斷模塊108判斷該監控數據請求的類型。在本實施例中,所述監控數據請求的類型包括歷史數據請求和實時數據請求。若該監控數據請求為歷史數據請求,則執行步驟S304;若該監控數據請求為實時數據請求,則執行步驟S306。步驟S304,所述第二讀取模塊109根據該監控數據請求從所述監控數據鏈表22中讀取相應時間段的監控數據,然后執行步驟S308。步驟S306,所述第二讀取模塊109根據該監控數據請求從所述設備數據鏈表21中讀取相應的實時監控數據,然后執行步驟S308。步驟S308,所述反饋模塊110將讀取到的相應時間段的監控數據或實時監控數據反饋至所述網絡服務器2。值得注意的是,所述監控數據緩存方法適用于多客戶端監控大量設備的領域,并不僅僅局限于云基礎設施硬件監控過程中監控硬件參數和工作環境。綜上所述,使用本發明監控數據緩存方法及系統,可以在網絡服務器2請求實時數據時,不用直接訪問被監控硬件去讀取硬件參數,而由所述設備數據鏈表21直接反饋最新的監控數據,保證了實時監控數據的及時性和精準性;在網絡服務器2請求歷史數據時,由所述監控數據鏈表22反饋對應時間段的監控數據,即使是所述顯示終端3啟動之前一段時間的監控數據,只要已經在所述監控數據鏈表22中緩存,也可直接讀取,形成對應時間段的歷史監控數據曲線。以上實施例僅用以說明本發明的技術方案而非限制,盡管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或等同替換,而不脫離本發明技術方案的精神和范圍。
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 聂拉木县| 和政县| 土默特左旗| 琼中| 运城市| 芜湖市| 古浪县| 朝阳区| 雅江县| 乌苏市| 和田县| 眉山市| 闸北区| 从江县| 垫江县| 霸州市| 岳西县| 株洲县| 明水县| 东兴市| 苗栗市| 成武县| 临西县| 青海省| 铅山县| 抚宁县| 化隆| 金平| 遵义市| 金堂县| 五华县| 高清| 嘉义市| 义马市| 东台市| 搜索| 平乐县| 瓦房店市| 龙游县| 汨罗市| 唐海县|