[發(fā)明專利]日志采集系統(tǒng)線池自適應方法有效
| 申請?zhí)枺?/td> | 201410655727.3 | 申請日: | 2014-11-17 |
| 公開(公告)號: | CN104461845A | 公開(公告)日: | 2015-03-25 |
| 發(fā)明(設計)人: | 孫宇;王斌;王潤高;高景生 | 申請(專利權)人: | 中國航天科工集團第二研究院七〇六所 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34;H04L12/24 |
| 代理公司: | 北京思海天達知識產權代理有限公司 11203 | 代理人: | 劉萍 |
| 地址: | 100854 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 日志 采集 系統(tǒng) 自適應 方法 | ||
技術領域
本發(fā)明主要涉及日志采集系統(tǒng),主要考慮日志采集系統(tǒng)中有關線程池的自適應問題。
背景技術
隨著信息技術的發(fā)展,各組織機構為了其內部網絡需要,部署了多種多樣的網絡設備和應用服務器。這些應用服務器和網絡設備每天都在產生大量的日志,這些日志記錄了設備的運行情況和用戶對應用服務器的訪問操作。可以通過分析日志進而監(jiān)控網絡運行,優(yōu)化網絡設備和應用服務器。
目前,由于日志并無統(tǒng)一的格式規(guī)范要求不利于進一步的分析工作,所以需要對日志進行處理,由此產生了日志采集系統(tǒng)。但隨著網絡流量的增大,網絡設備、應用服務器等日志發(fā)送端的日志發(fā)送速度遠大于日志采集系統(tǒng)的日志處理速度,導致大量的日志丟失,因此對日志采集系統(tǒng)的響應速度、穩(wěn)健性和整體性能都提出了較高的要求。除了對服務器的硬件配置和網絡等基礎設施進行改進提升之外,如何在硬件設施固定的情況下提升日志采集系統(tǒng)的性能已經成為人們研究的重要方向。固定的硬件配置,其中的各項系統(tǒng)資源(CPU、內存、線程等)是有限的,合理分配和管理這些有限系統(tǒng)資源將會給日志采集系統(tǒng)的性能帶來新的提升。如果使用單個線程技術來處理所有的日志不能保證CPU等系統(tǒng)資源的性能充分發(fā)揮,所以在日志采集系統(tǒng)中使用多線程技術同時并行處理日志較單線程技術能夠充分利用CPU等系統(tǒng)資源,提高系統(tǒng)性能。但是,線程也作為系統(tǒng)資源,對每一個日志處理都生成一個新的線程進行處理也不是一個理想的選擇。針對合理使用線程資源的需求,線程池是信息系統(tǒng)中常用的一種技術。它通過對多個任務復用已有線程,減少反復創(chuàng)建和銷毀線程的操作,改善了系統(tǒng)的性能并減少了響應時間。
在使用線程池中,需要配置線程池運行的相關參數,包括核心線程個數、線程池最大線程個數、空閑等待時間和任務隊列大小等,主要依賴經驗和個人判斷進行手工配置。當前線程池的研究熱點是盡量擺脫以往手工配置的弱點和如何動態(tài)調整線程池中線程的個數。本發(fā)明也是從優(yōu)化線程池的角度,來研究日志采集系統(tǒng)中線程池的自適應方法,主要包括:
1.用于動態(tài)調整線程池中的線程個數的線程創(chuàng)建的啟發(fā)方法。
2.減少手工配置參數。
3.對個別需要手工配置的參數給出更準確、范圍更小的取值建議。
發(fā)明內容
本發(fā)明不考慮日志發(fā)送端的各種因素,根據日志到達日志采集系統(tǒng)的間隔、解析處理日志的執(zhí)行時間等因素動態(tài)調整線程池,保證日志快速處理。
線程池自適應方法中最主要的內容為線程啟發(fā)方法。傳統(tǒng)的線程啟發(fā)方法分為兩種,方法一:每次接收到日志都創(chuàng)建一個新的線程用于處理。方法二:緩存接收到的日志將其放在任務隊列之中,直到任務隊列達到飽和才創(chuàng)建一個新的線程用于處理。
在傳統(tǒng)方法一的實際應用中會造成線程頻發(fā)地創(chuàng)建和撤銷。因為線程在創(chuàng)建和撤銷的過程中需要執(zhí)行許多操作,所以創(chuàng)建和撤銷線程的執(zhí)行時間要比處理日志的執(zhí)行時間長。采用此線程啟發(fā)方法的日志采集系統(tǒng)將會使大部分時間都消耗在線程的相關操作之上,延緩日志的處理。
為了彌補方法一的缺點,進而提出線程池概念,線程池可以重復地利用池中線程處理短小的任務。線程池中線程的啟發(fā)方法正如方法二的描述。如果采用此線程啟發(fā)方法,任務隊列中的日志因長期等待新線程創(chuàng)建而延緩處理。
本發(fā)明解決傳統(tǒng)線程池中線程啟發(fā)方法的缺點,保證在不頻繁地創(chuàng)建和撤銷線程的基礎之上快速處理日志采集系統(tǒng)接受到的日志。本發(fā)明有關線程啟發(fā)方法的內容如下:
在日志采集系統(tǒng)之中增加基于事件驅動的檢查器,手工設置與任務隊列相關的閾值α、日志處理所需理論時間TE和日志處理時間容忍度β三個參數創(chuàng)建線程池。系統(tǒng)每接受到一個日志即為一個事件,驅動檢查器檢測當前任務隊列大小是否超過α。如果超過則啟動線程啟發(fā)方法,首先,計算tn定義為理論需要增加的線程個數,TE定義為處理日志所需的理論時間,AVGTQ定義為最近α次日志到達系統(tǒng)的平均間隔,PT定義為系統(tǒng)當前時刻線程池中線程的數目。然后,判斷tn與α大小,然后取較小值最為真正需要增加的線程數目。最后,計算AVGTE>(1+β)TE的真假值,AVGTE定義為最近α次日志處理運行的平均值。如果為假值,則創(chuàng)建空閑等待時間大小為TE的非核心線程,線程數目為tn與α的較小值,并從隊列里取出日志進行處理;但是如果為真值,則日志做緩存處理。
具體原理如下:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航天科工集團第二研究院七〇六所,未經中國航天科工集團第二研究院七〇六所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410655727.3/2.html,轉載請聲明來源鉆瓜專利網。





