新四季網

一種流量動態可控的系統監控數據採集方法

2023-10-23 21:12:47 1

一種流量動態可控的系統監控數據採集方法
【專利摘要】本發明涉及數據採集和流量控制領域,具體是一種流量動態可控的系統監控數據採集方法,所述的流量動態可控的監控數據採集方法主要分為三個部分,分別是監控數據異步採集處理,流量控制開啟檢測和流控數據合併機制;所述的監控數據異步採集處理方法如下:通過調用系統線程接口,監控模塊在初始化後啟動一個單獨的監控數據處理線程負責系統數據的多目標處理輸出;動態流控的一個總周期可以劃分為兩個階段:流控檢測階段Td和流控執行階段Te。本發明同現有技術相比,其優點在於:通過流速權控制算法,保證關鍵實時系統的平穩運行,能夠有效地滿足不同監控目標的監控數據採集需求,並通過特徵數據的合併方法,保證了落地數據的質量。
【專利說明】一種流量動態可控的系統監控數據採集方法
[【技術領域】]
[0001]本發明涉及數據採集和流量控制領域,具體是一種流量動態可控的系統監控數據採集方法。
[【背景技術】]
[0002]系統狀態數據採集模塊可以實時記錄程序的運行情況、錯誤的發生現場等數據,並輸出採集的數據到多個目標如屏幕,文件和資料庫,從而幫助開發人員和運維人員了解系統狀態、審計操作流程、排查錯誤原因、存檔系統數據等。因此,在關鍵實時系統的開發和運行中,特別是對於具有高可用性目標的交易系統來說,數據採集模塊的良好設計與實現不僅有利於代碼重用,而且對於系統的穩定高效運行具有重要的意義。
[0003]當今主流的監控數據採集框架或多或少都借鑑了Log4j庫的設計理念。Log4j實現了一個基於Java的數據記錄工具框架,在Log4j中定義了 3個重要概念,分別是Logger、Appender和Layout:Logger用於定義不同的數據採集對象;Appender描述輸出流,如屏幕、文件、⑶I組件、Socket伺服器、NT事件記錄器、syslog進程服務等,通過為Logger指定一個Appender,可以區分不同對象的輸出目標;Layout用於指定監控信息的輸出格式,通過為Appender來指定一個Layout,可以決定監控信息以何種格式輸出,比如是否有帶有時間戳,是否包含文件位置信息等,通過這三個組件協同的工作,Log4j為監控數據採集行為控制提供了極大的靈活性,此外,基於預定義的等級和過濾器,可以自由地選擇需要記錄的數據。
[0004]Log4j雖然功能強大,但是該庫只是面向Java語言的,因此基於Log4j機制的其他語言替代庫相繼應運而生,Log4c便是模仿Log4j原理的C語言實現。類似地,它通過定義Category, Appender和Layout三個屬性唯一確定一個數據採集對象,Log4c不支持異步數據米集。
[0005]Log4g同樣是C語言的一個實現,它基於glib的GObject開發,支持異步數據輸出,此外Log4g還支持面向CouchDB的數據記錄,便於日後利用基於NoSQL環境的大數據分析。Log4cplus和Log4cxx是C++的Log4j實現,它們具有線程安全、靈活輸出、以及多粒度控制的特點,但Log4cplus的移植性不高,而Log4cxx雖然通過使用APR增強了移植性,但是APR本身增加了系統的依賴性。此外,Hog作為一款比較新的數據採集庫,通過定義不同的fsync閾值來實現記錄監控數據落地請求和磁碟10工作的異步處理。
[0006]可以看到,現有的各種數據採集模塊雖然能夠實現監控信息的輸出,但是在設計上都比較簡單,缺乏針對系統狀態變化時的動態流量調整,因此在應用系統的實時運行中,如果突然出現大量錯誤信息需要寫文件等情況,會在一段時間內集中產生主機磁碟衝擊,此時文件10讀寫便會成為系統瓶頸,顯著降低系統的整體性能。此外,部分數據採集模塊(如log4c)為了實現數據的及時輸出,採用同步落地機制,那麼在進行數據落地時會阻塞主邏輯的運行,應用進程需要等待10輸出完成才能繼續後續代碼的執行,於是在監控事件大量突發時,可能會因為磁碟10吊住主程序的邏輯,從而對生產環境中實時程序的請求響應產生災難性的影響。
[0007]綜上,雖然目前有很多監控數據採集框架可供選擇,但是關鍵實時系統的高穩定性和低延遲是重要的運行指標,如果由於監控邏輯的負載影響實時業務程序的運行和業務處理的及時響應,那麼在設計上是有顯著缺陷的。系統狀態數據的採集可以幫助管理人員快速了解系統的運行情況、審計操作流程和排查錯誤原因,但是對於某些關鍵實時系統,如證券交易系統的穩定性和高可用性是衡量其設計運行水平的首要指標,那麼在監控的事件(如系統錯誤等)頻繁發生的情況下,大規模的數據採集和落地反而會對系統的整體性能和穩定性產生顯著影響,嚴重時甚至會阻塞主應用程式的邏輯。
[
【發明內容】
]
[0008]本發明的目的就是為了解決交易實時系統的系統狀態數據的採集過程中,大規模的數據採集和落地會對系統的整體性能和穩定性產生顯著影響的技術問題,實現在大規模數據採集和落地時既保證實時系統的平穩運行,又可以有效地滿足特徵數據的採集和分發工作的一種流量動態可控的系統監控數據採集方法。
[0009]為了實現上述目的,發明一種流量動態可控的系統監控數據採集方法,所述的流量動態可控的監控數據採集方法主要分為三個部分,分別是監控數據異步採集處理,流量控制開啟檢測和流控數據合併機制;
[0010]所述的監控數據異步採集處理方法如下:通過調用系統線程接口,監控模塊在初始化後啟動一個單獨的監控數據處理線程負責系統數據的多目標處理輸出;單獨的監控數據處理線程不停輪詢數據輸出請求隊列,一旦發現有新的請求時,就從隊頭彈出數據記錄並執行真正的輸出請求,一直到將隊列中的記錄處理完畢;
[0011]所述的流量控制開啟檢測方法如下:監控數`採集庫的採集接口在進行數據入隊操作時,會實時檢查系統監控事件的發生頻率,並動態調整採集數據的流量,從而避免大量數據操作對系統整體性能的衝擊,流控算法首先在流控檢測周期內計數到達隊列的數據請求數目,一旦該請求數達到或超過請求數閾值,就立即開啟流量控制機制,並一直持續到流控執行周期的時間段結束。因此,動態流控的一個總周期可以劃分為兩個階段:流控檢測階段^和流控執行階段!;;
[0012]所述的流控數據合併機制方法如下:在流控執行周期,監控數據採集庫的採集接口不再將新到的數據加入數據輸出請求隊列,而是通過初始化時的哈希表進行相同特徵數據的合併,從而降低實際數據流量的目標,數據的合併機制是:對於未出現過的特徵數據類型,在哈希表裡面增加一條;否則,只增加相同記錄類型的計數。
[0013]所述的單獨的監控數據處理線程的數據輸出工作為屏幕列印或進行磁碟文件寫入或通過網絡傳輸數據至遠程的資料庫伺服器。
[0014]所述的流控檢測周期設為0,表示始終不執行流控;如果數據輸出請求數閾值設為0,表示始終執行流控機制。
[0015]所述的監控數據異步採集處理方法需在採集模塊初始化時選定異步數據輸出請求隊列長度,隊列長度過小會導致大量監控數據無法入隊而被丟棄,所述的異步數據輸出請求隊列長度選定方法如下:
[0016]監控事件數據的到達和監控事件數據的落地之差即為該時間段的隊列長度的變化量△,在上一個交易日DT_1;$ ei表示第i秒內發生的事件數,對每條採集的數據定義了m個輸出目標,每個輸出目標可以通過性能測試數據的平均值獲得其單條數據處理時間的
v = K ,
期望值_那麼單位時間內m個目標的總服務速度(可以處理的數據)為m /fJjj綜
【權利要求】
1.一種流量動態可控的系統監控數據採集方法,其特徵在於所述的流量動態可控的監控數據採集方法主要分為三個部分,分別是監控數據異步採集處理,流量控制開啟檢測和流控數據合併機制;所述的監控數據異步採集處理方法如下:通過調用系統線程接口,監控模塊在初始化後啟動一個單獨的監控數據處理線程負責系統數據的多目標處理輸出;單獨的監控數據處理線程不停輪詢數據輸出請求隊列,一旦發現有新的請求時,就從隊頭彈出數據記錄並執行真正的輸出請求,一直到將隊列中的記錄處理完畢;所述的流量控制開啟檢測方法如下:監控數據採集庫的採集接口在進行數據入隊操作時,會實時檢查系統監控事件的發生頻率,並動態調整採集數據的流量,從而避免大量數據操作對系統整體性能的衝擊,流控算法首先在流控檢測周期內計數到達隊列的數據請求數目,一旦該請求數達到或超過請求數閾值,就立即開啟流量控制機制,並一直持續到流控執行周期的時間段結束。因此,動態流控的一個總周期可以劃分為兩個階段:流控檢測階段Td和流控執行階段?;;所述的流控數據合併機制方法如下:在流控執行周期,監控數據採集庫的採集接口不再將新到的數據加入數據輸出請求隊列,而是通過初始化時的哈希表進行相同特徵數據的合併,從而降低實際數據流量的目標,數據的合併機制是:對於未出現過的特徵數據類型,在哈希表裡面增加一條;否則,只增加相同記錄類型的計數。
2.如權利要求1所述的一種流量動態可控的系統監控數據採集方法,其特徵在於所述的單獨的監控數據處理線程的數據輸出工作為屏幕列印或進行磁碟文件寫入或通過網絡傳輸數據至遠程的資料庫伺服器。
3.如權利要求1所述的一種流量動態可控的系統監控數據採集方法,其特徵在於所述的流控檢測周期設為0,表示始終不執行流控;如果數據輸出請求數閾值設為0,表示始終執行流控機制。
4.如權利要求1所述的一種流量動態可控的系統監控數據採集方法,其特徵在於所述的監控數據異步採集處理方法需在採集模塊初始化時選定異步數據輸出請求隊列長度,隊列長度過小會導致大量監控數據無法入隊而被丟棄,所述的異步數據輸出請求隊列長度選定方法如下:監控事件數據的到達和監控事件數據的落地之差即為該時間段的隊列長度的變化量Λ,在上一個交易日DT_i,令ei表示第i秒內發生的事件數,對每條採集的數據定義了 m個輸出目標,每個輸出目標可以通過性能測試數據的平均值獲得其單條數據處理時間的期望值那麼單位時間內m個目標的總服務速度(可以處理的數據)為
5.如權利要求1所述的一種流量動態可控的系統監控數據採集方法,其特徵在於所述的流量控制具體方法如下:將一個流控周期Tw劃分為流控檢測階段^和流控執行階段?;,定義λ =m/Td,其中,λ為數據到達速度的上限閾值,m為數據輸出請求數閾值,數據到達速度超過該閾值時,認為磁碟讀寫會對系統性能產生不良影響,對於相同的λ值,m設置的越低,Td就越低,即在一個周期內會越早進入流控執行階段,系統總體性能的損耗會越少;另一方面,越早進入流控執行階段,就有越多的監控信息被壓縮合併,對輸出結果的質量產生削弱。
【文檔編號】G06F11/30GK103678085SQ201310688931
【公開日】2014年3月26日 申請日期:2013年12月16日 優先權日:2013年12月16日
【發明者】金鑫, 武劍鋒, 王泊, 劉凱, 陳雷, 王程程, 惠敏順, 黃寅飛, 白碩 申請人:上海證券交易所

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀