System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 无码人妻精品一区二区蜜桃网站,东京热无码一区二区三区av,国产产无码乱码精品久久鸭
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種批量日志入庫的方法技術

    技術編號:44412742 閱讀:4 留言:0更新日期:2025-02-25 10:27
    一種批量日志入庫的方法,主要步驟包括:將已經完成范式化的日志寫入數據桶;將數據桶中日志數據刷新到緩存文件;緩存文件輸出到數據庫導入文件隊列;從隊列取出數據文件,執行數據導入。該方法實現了日志數據從接收到入庫的執行流程模塊化,對不同類型日志數據可以進行不同的資源配置,提高入庫效率;數據桶和緩存文件設置“雙閾值”機制,提高日志數據入庫的實時性;采用tmpfs,改變了傳統的日志緩存文件緩存方式,實現了批量日志數據快速生成數據庫導入文件;從而有效解決了日志數據緩存效率低、緩存文件管理難、數據庫導入數據效率低等問題。

    【技術實現步驟摘要】

    本專利技術涉及網絡安全,特別涉及一種批量日志入庫的方法


    技術介紹

    1、在網絡安全行業中,隨著網絡攻擊的日益復雜和頻繁,每天都會產生海量的安全日志和運行日志數據。面對如此龐大的數據量,如何快速高效地存儲這些日志數據成為了關鍵挑戰。

    2、由于單條數據寫入數據倉庫占用數據倉庫連接數過多,批量sql寫入數據庫受到sql語句長度和日志數據條數限制,所以目前通過文件導入數據是數據倉庫中較為高效、易用且可靠的一種處理方式;文件作為載體執行日志數據導入不僅可以提高數據處理的效率和質量,還能支持大規模數據的批量處理。

    3、現有技術中,數據庫導入文件的生成,大部分依賴本地文件系統。文件存儲在本地磁盤上,其讀寫性能受到磁盤io性能的限制。

    4、另外,由于每次數據導入都會占用數據倉庫的連接數、cpu中央處理器等資源,所以數據倉庫更適合少量大文件導入(gb級別以上),而不是大量小文件導入;也就需要在對日志數據處理過程中對日志數據進行大批量匯聚并生成大緩存文件。再者,安全分析業務對日志數據入庫實時性要求也很高,也就需要在日志數據寫入緩存文件后最長不超過一定時長必須對緩存文件執行一次數據庫導入。


    技術實現思路

    1、本公開提供一種批量日志入庫的方法,目的是解決日志數據緩存效率低、緩存文件管理難、數據庫導入數據效率低的問題,提升日志數據入庫效率,提升日志數據接收并發性。

    2、本公開提供的批量日志入庫方法,包括以下步驟:

    3、s1,將已經完成范式化的日志寫入數據桶;

    4、s2,將數據桶中日志數據刷新到緩存文件;

    5、s3,緩存文件輸出到數據庫導入文件隊列;

    6、s4,從隊列取出數據文件,執行數據導入。

    7、進一步的,所述步驟s1具體包括:

    8、m個數據桶同時啟動,并發接收范式化后的n*m條日志,其中,采用hash算法,使每個數據桶存儲n條數量的日志。

    9、進一步的,所述步驟s1中,日志寫入數據桶的具體方法包括:

    10、如果日志是相同業務日志數據,最終寫入數據庫的同一張表,則只需要一個處理流程模塊組;

    11、如果是不同日志類型,則啟動多個流程模塊組,根據不同的日志類型,自動分流不同類型的流程模塊組;且根據日志的權重,對每個模塊組設置不同的參數來控制資源分配,所述參數包括:線程數、內存大小、緩存時長中的一種或多種。

    12、進一步的,所有日志緩存文件,包括空閑緩存文件、正在導入過程中的游離緩存文件、以及待導入緩存文件,均在tmpfs目錄下生成,對該目錄下的緩存文件的操作,都在內存中進行。

    13、進一步的,所述步驟s2包括:

    14、判斷數據桶中日志數據總大小是否達到設定的數據大小閾值,或是否執行下一次的刷新周期;

    15、當數據桶中的日志數據觸發兩個閾值中的任意一個時,對日志數據執行刷新操作,即將數據桶中的數據寫入緩存文件,并將數據桶清空;

    16、其中,m個數據桶的日志數據轉移到一個或多個緩存文件中,由于緩存文件可以重復利用追加寫入,所以同時寫入的緩存文件不超過m個。

    17、進一步的,所述步驟s2中,當有多個數據桶同時達到數據刷新閾值時,采用“獨占+循環利用”的方式寫入緩存文件,其中,每一個數據桶的數據刷新操作,都有一個單獨的線程負責執行;

    18、具體地,“獨占”指:

    19、數據桶中日志數據刷新的線程,搶占緩存文件隊列頭的一個緩存文件,執行日志數據的寫入;此線程在搶占成功的同時,將此緩存文件從緩存文件隊列移除;上述步驟作為一個不可分割的操作進行執行,以保證不會有兩個線程同時搶占到此緩存文件;

    20、如果線程未獲取到緩存文件,即緩存文件隊列為空,則創建一個新的緩存文件;

    21、“循環利用”指:

    22、當數據刷新線程執行完日志數據寫入后,將緩存文件放回緩存文件隊列,以供其他的數據刷新線程搶占寫入,即多個數據刷新線程在不同的占有周期內對同一個緩存文件執行批量追加寫入。

    23、進一步的,所述步驟s3將緩存文件輸出到數據庫導入文件隊列的步驟,包括:

    24、對緩存文件隊列中的緩存文件進行以下閾值的判斷:

    25、當一個緩存文件從緩存文件隊列中取出并寫入日志數據之后,判斷該緩存文件大小是否達到設置的“文件大小”閾值;

    26、對處在緩存文件隊列中,等待被取出執行數據寫入的緩存文件,以及正在執行寫入的緩存文件,判斷日志的緩存時長是否達到設置的“數據緩存時長”閾值;

    27、如果以上兩項判斷中任意一個達到閾值,則將緩存文件從緩存文件隊列移除,并將該緩存文件放進數據庫導入文件隊列。

    28、進一步的,所述步驟s3中,判斷緩存文件大小是否達到設置的“文件大小”閾值的步驟,具體包括:

    29、從緩存文件隊列中取出緩存文件時,從文件元數據信息中獲取到文件大小s1,加上當前待寫入日志數據大小s2,即為寫入完成之后緩存文件總大小s=s1+s2;

    30、判斷s與緩存文件大小閾值t1大小,

    31、如果s小于t1,則將此緩存文件放回緩存文件隊列,等待下一次被取出;

    32、如果s大于等于t1,則將緩存文件從緩存文件隊列移除,并將該緩存文件放進數據庫導入文件隊列。

    33、進一步的,所述步驟s3中,判斷日志的緩存時長是否達到設置的“數據緩存時長”閾值的步驟,具體包括:

    34、將緩存文件名稱轉換為時間戳,計算跟當前時間的時間差,得到緩存文件的創建時長;其中,緩存文件在創建時,將其創建時刻的時間戳作為緩存文件的文件名;

    35、設緩存文件的創建時間為t,當前時間為t',則緩存時長為:δt=t'-t;

    36、判斷δt與緩存文件緩存時長閾值t2的大小;

    37、如果δt大于等于t2,則將此緩存文件從緩存文件隊列移除,并將該緩存文件放進數據庫導入文件隊列。

    38、進一步的,所述步驟s4具體包括:

    39、開啟單獨的數據導入線程,監聽數據庫導入文件隊列,

    40、從隊列中取出緩存文件,執行數據導入,包括:數據倉庫自帶的客戶端程序,建立與數據倉庫服務器的網絡連接,將緩存數據文件以流的形式發送到數據倉庫服務器,執行數據解析、校驗、寫入、持久化;

    41、導入完畢,刪除緩存文件。

    42、與現有技術相比,本公開的有益效果是:

    43、(1)日志數據從接收到入庫的執行流程模塊化;

    44、(2)如果業務對不同日志數據在數據倉庫有分表存儲需求,則不同類型日志數據可以啟用各自的模塊流水線,不同類型日志數據在模塊流水線處理過程中,互不交叉;還可以根據不同日志類型的重要程度,靈活的參數配置給不同的模塊分配不同的資源,在有限的資源里優先保障重要數據的入庫效率,做到日志數據的隔離性和差異化;

    45、(本文檔來自技高網...

    【技術保護點】

    1.一種批量日志入庫的方法,包括以下步驟:

    2.根據權利要求1所述的方法,其特征在于,所述步驟S1具體包括:

    3.根據權利要求1或2所述的方法,其特征在于,所述步驟S1中,日志寫入數據桶的具體方法包括:

    4.根據權利要求1所述的方法,其特征在于,所有日志緩存文件,包括空閑緩存文件、正在導入過程中的游離緩存文件、以及待導入緩存文件,均在tmpfs目錄下生成,對該目錄下的緩存文件的操作,都在內存中進行。

    5.根據權利要求2所述的方法,其特征在于,所述步驟S2包括:

    6.根據權利要求5所述的方法,其特征在于,所述步驟S2中,當有多個數據桶同時達到數據刷新閾值時,采用“獨占+循環利用”的方式寫入緩存文件,其中,每一個數據桶的數據刷新操作,都有一個單獨的線程負責執行;

    7.根據權利要求1所述的方法,其特征在于,所述步驟S3將緩存文件輸出到數據庫導入文件隊列的步驟,包括:

    8.根據權利要求7所述的方法,其特征在于,所述步驟S3中,判斷緩存文件大小是否達到設置的“文件大小”閾值的步驟,具體包括:

    9.根據權利要求7所述的方法,其特征在于,所述步驟S3中,判斷日志的緩存時長是否達到設置的“數據緩存時長”閾值的步驟,具體包括:

    10.根據權利要求1所述的方法,其特征在于,所述步驟S4具體包括:

    ...

    【技術特征摘要】

    1.一種批量日志入庫的方法,包括以下步驟:

    2.根據權利要求1所述的方法,其特征在于,所述步驟s1具體包括:

    3.根據權利要求1或2所述的方法,其特征在于,所述步驟s1中,日志寫入數據桶的具體方法包括:

    4.根據權利要求1所述的方法,其特征在于,所有日志緩存文件,包括空閑緩存文件、正在導入過程中的游離緩存文件、以及待導入緩存文件,均在tmpfs目錄下生成,對該目錄下的緩存文件的操作,都在內存中進行。

    5.根據權利要求2所述的方法,其特征在于,所述步驟s2包括:

    6.根據權利要求5所述的方法,其特征在于,所述步驟s2中,當有多個數據桶同...

    【專利技術屬性】
    技術研發人員:王川肖振勛
    申請(專利權)人:北京啟明星辰信息安全技術有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久久久亚洲av无码专区蜜芽| 久久久91人妻无码精品蜜桃HD| 无码欧精品亚洲日韩一区| 中文字幕久久精品无码| 亚洲AV无码一区二区乱子仑| 中文无码熟妇人妻AV在线| 亚洲色在线无码国产精品不卡| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 亚洲综合无码AV一区二区| 日日摸日日碰夜夜爽无码| 天堂无码久久综合东京热| av无码免费一区二区三区| 亚洲人成无码网站| 无码人妻精品一区二区三区不卡 | 亚洲日韩精品一区二区三区无码 | 无码av免费一区二区三区试看| 国产免费久久久久久无码| 国语成本人片免费av无码| AA区一区二区三无码精片| 国产在线无码视频一区二区三区 | 久久久久久国产精品无码下载| 亚洲精品无码专区| 中文无码精品A∨在线观看不卡| 亚洲AV日韩AV永久无码久久| 国产精品无码无需播放器| 国产V亚洲V天堂A无码| 国产AV无码专区亚洲精品| 亚洲一区无码中文字幕| 一本色道无码不卡在线观看| 亚洲熟妇无码八AV在线播放| 国产aⅴ激情无码久久| 国产乱人伦Av在线无码| 亚洲一区爱区精品无码| 日韩精品无码久久久久久 | 狠狠精品干练久久久无码中文字幕| 蜜桃臀无码内射一区二区三区| 无码少妇一区二区性色AV| 色综合久久久久无码专区| 亚洲日韩国产精品无码av| 亚洲AV无码一区二区三区性色 | 亚洲av中文无码乱人伦在线r▽ |