一種日志傳輸方法及裝置的制造方法
【技術領域】
[0001 ]本發明涉及網絡日志技術領域,尤其涉及一種日志傳輸方法及裝置。
【背景技術】
[0002]現有技術在日志傳輸方面一般都是開源解決方案,如Scribe (Scribe是Facebook開源的日志收集系統,在Facebook內部已經得到大量的應用)、Flume (Flume最早是Cloudera提供的日志收集系統,目前是Apache下的一個孵化項目,Flume支持在日志系統中定制各類數據發送方,用于收集數據)或者通過編寫腳本將本地文件定期傳輸到處理節點上,對于有些屬于事務類型的日志,這些方式傳輸無法達到實時傳輸,trace(追蹤)類型的日志可以用以上方式傳輸,但是如果日志傳輸用兩套解決方案勢必會增加業務團隊的工作量,維護成本也會隨之增加。
【發明內容】
[0003]本發明實施例提供一種日志傳輸方法及裝置,以降低日志產生業務方的接入門檻。
[0004]—方面,本發明實施例提供了一種日志傳輸方法,所述方法包括:
[0005]監聽并獲取日志數據;
[0006]將監聽獲取到的日志數據依次轉存到數據轉存隊列中;
[0007]從所述數據轉存隊列中讀取日志數據,根據包含日志的存儲類型和日志存儲服務器的對應關系的日志類型配置對應表,確定所述日志數據需要存儲的對應的日志存儲服務器,將所述日志數據發送到對應的日志存儲服務器上。
[0008]另一方面,本發明實施例提供了一種日志傳輸裝置,所述裝置包括:
[0009]日志數據獲取單元,用于監聽并獲取日志數據;
[0010]數據轉存隊列單元,用于將監聽獲取到的日志數據依次轉存到數據轉存隊列中;[0011 ]日志存儲適配單元,用于從所述數據轉存隊列中讀取日志數據,根據包含日志的存儲類型和日志存儲服務器的對應關系的日志類型配置對應表,確定所述日志數據需要存儲的對應的日志存儲服務器,將所述日志數據發送到對應的日志存儲服務器上。
[0012]上述技術方案具有如下有益效果:降低了日志產生業務方的接入門檻,解決了現有技術特定協議的接入不靈活的問題和日志消息實時性的問題,順便解決了日志吞吐量的問題,最終使得業務方隨便選擇一個自己團隊熟悉的接入方式即可,不再需要業務方考慮日志消息的實時性問題和日志存儲服務對接方式的解決方案。
【附圖說明】
[0013]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0014]圖1為本發明實施例一種日志傳輸方法流程圖;
[0015]圖2為本發明實施例一種日志傳輸裝置結構示意圖;
[0016]圖3為本發明實施例一種日志數據獲取單元結構示意圖;
[0017]圖4為本發明實施例另一種日志傳輸裝置結構示意圖;
[0018]圖5為本發明應用實例一種日志傳輸流程示意圖;
[0019]圖6為本發明應用實例日志數據的統一的數據封裝數據格式示意圖。
【具體實施方式】
[0020]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0021 ]如圖1所示,為本發明實施例一種日志傳輸方法流程圖,所述方法包括:
[0022]101、監聽并獲取日志數據;
[0023]102、將監聽獲取到的日志數據依次轉存到數據轉存隊列中;
[0024]103、從所述數據轉存隊列中讀取日志數據,根據包含日志的存儲類型和日志存儲服務器的對應關系的日志類型配置對應表,確定所述日志數據需要存儲的對應的日志存儲服務器,將所述日志數據發送到對應的日志存儲服務器上。
[0025]優選地,所述日志數據包括:不同的網絡協議數據、發生變更的目錄或文件數據。
[0026]優選地,監聽并獲取所述不同的網絡協議數據具體包括:監聽并獲取超文本傳輸協議Http數據;監聽并獲取分布式的高速緩存系統使用的應用層協議Memcache數據;監聽并獲取公司內部應用層通訊協議Adhead數據。
[0027]優選地,監聽并獲取所述不同的網絡協議數據后,所述方法還包括:對不同的網絡協議數據分別進行網絡協議適配,然后進行網絡協議解析,獲得需要傳輸的日志數據;將解析出的不同的網絡協議數據對應的需要傳輸的日志數據和所述發生變更的目錄或文件數據,封裝為一個統一的數據格式,然后再依次轉存到所述數據轉存隊列中。
[0028]優選地,所述統一的數據格式包括:日志的存儲類型,要轉存的日志數據,用于保證時序一致的哈希身份標識號hashid。
[0029]如圖2所示,為本發明實施例一種日志傳輸裝置結構示意圖,所述裝置包括:
[0030]日志數據獲取單元21,用于監聽并獲取日志數據;
[0031]數據轉存隊列單元22,用于將監聽獲取到的日志數據依次轉存到數據轉存隊列中;
[0032]日志存儲適配單元23,用于從所述數據轉存隊列中讀取日志數據,根據包含日志的存儲類型和日志存儲服務器的對應關系的日志類型配置對應表,確定所述日志數據需要存儲的對應的日志存儲服務器,將所述日志數據發送到對應的日志存儲服務器上。
[0033]優選地,如圖3所示,為本發明實施例一種日志數據獲取單元結構示意圖,所述日志數據獲取單元21包括:
[0034]網絡數據獲取模塊211,用于監聽并獲取不同的網絡協議數據;
[0035]目錄文件數據獲取模塊212,用于監聽并獲取發生變更的目錄或文件數據。
[0036]優選地,所述網絡數據獲取模塊211,具體用于監聽并獲取超文本傳輸協議Http數據;還具體用于監聽并獲取分布式的高速緩存系統使用的應用層協議Memcache數據;還具體用于監聽并獲取公司內部應用層通訊協議Adhead數據。
[0037]優選地,如圖4所示,為本發明實施例另一種日志傳輸裝置結構示意圖,所述裝置不但包括日志數據獲取單元21、數據轉存隊列單元22、日志存儲適配單元23,還包括:
[0038]網絡協議適配單元24,用于所述日志數據獲取單元監聽并獲取不同的網絡協議數據后,對不同的網絡協議數據分別進行網絡協議適配,然后進行網絡協議解析,獲得需要傳輸的日志數據;
[0039]統一數據格式封裝單元25,用于將解析出的不同的網絡協議數據對應的需要傳輸的日志數據和所述發生變更的目錄或文件數據,封裝為一個統一的數據格式,然后再依次轉存到所述數據轉存隊列中。
[0040]優選地,所述統一的數據格式包括:日志的存儲類型,要轉存的日志數據,用于保證時序一致的hashid。
[0041]本發明實施例上述技術方案具有如下有益效果:降低了日志產生業務方的接入門檻,解決了現有技術特定協議的接入不靈活的問題和日志消息實時性的問題,順便解決了日志吞吐量的問題,最終使得業務方隨便選擇一個自己團隊熟悉的接入方式即可,不再需要業務方考慮日志消息的實時性問題和日志存儲服務對接方式的解決方案。
[0042]以下結合應用實例對本發明實施例上述技術方案進行詳細說明:
[0043]現有的技術方案的缺點是對于傳輸事務類型的日志在實時性方面沒有辦法保證,或者支持網絡傳輸的傳輸中間件是特定的自定義協議,增加業務方接入的門檻,事務日志必須業務方自己出方案解決實時性的問題。
[0044]如圖5所示,為本發明應用實例一種日志傳輸流程示意圖。本發明應用實例技術方案的重