
摘要:隨著互聯網技術的蓬勃發展與數字化信息的快速增長,新媒體行業正邁入數智化時代[1],大數據技術為形式各異的數據提供了分析處理方式,賦予新媒體行業更全面、準確的用戶洞察能力,提升了內容生產和傳播的效率和精度,成為新媒體行業發生的重要驅動力。IDC(互聯網數據中心)預測,2025年全球數據總量將達到175 ZB,80%的數據都將以非結構化形式存在[2],結構化數據才是數據處理的關鍵性因素。數據量的快速增長、數據類型及位置的不斷變化,導致越來越多的企業對于數據采集、分析、利用的需求也越來越多樣化[3]。在媒體業務產生的數據呈指數級增長的形勢下,傳統的數據管理方式越來越無法適應新媒體行業的時效性需求,容量受限、性能瓶頸、管理困難等問題亟須解決[4]。
關鍵詞:媒體;日志;數據;互聯網
Structured Processing of Media Business Logs
XU Zhiliang
(Shanghai Oriental Media Technology Co., Ltd., Shanghai 200041, China)
Abstract: With the vigorous development of Internet technology and the rapid growth of digital information, the new media industry is entering the era of digitalization. Big data technology provides analysis and processing methods for various forms of data, giving the new media industry more comprehensive and accurate user insights, improving the efficiency and accuracy of content production and dissemination, and becoming an important driving force for the new media industry. IDC (Internet Data Center) predicts that the total global data volume will reach 175 ZB by 2025, and 80% of the data will exist in unstructured form. Structured data is the key factor in data processing. The rapid growth of data volume and the constant changes in data types and locations have led to more and more enterprises having increasingly diverse demands for data collection, analysis, and utilization. In the context of exponential growth in data generated by media business, traditional data management methods are increasingly unable to meet the timeliness requirements of the new media industry, and problems such as limited capacity, performance bottlenecks, and management difficulties urgently need to be solved.
Key words: media; log; data internet
上海文化廣播影視集團作為信息傳播和內容創作的重要單位,其包含的眾多軟硬件設備每時每刻都在產生大量的業務日志。如何對海量零散數據進行結構化處理,滿足低成本、高效率的智能運維需求,已成為數據處理相關研究中的一個核心問題,這也是企業構建協同生態的關鍵一環[5]。
1" "媒體業務日志現狀及趨勢分析
在“互聯網+”驅動產業創新的格局下,媒體行業經歷從“去中心化”到“互聯網化”的數字化轉型,并迎來融合發展的新契機。大數據技術逐漸深入到媒體行業的各個應用層面,為媒體行業提供了更多的數據源和分析手段,創造了新的媒體發展生態,成為推動媒體融合發展的新引擎[6]。
在數字化轉型的浪潮中,非結構化數據扮演著數字體驗基石的重要角色,其數量之大、類型之多、生成之快的特性也決定了其利用價值及挖掘潛力之大,而機器學習算法為數據的處理提供了高效、精確的解決方案[7]。
基于此,本文主要介紹日志的結構化處理過程、相關結構化的算法以及在上海文化廣播影視集團的具體應用。
2" "結構化處理流程
媒體業務系統在采集到非結構化的原始數據后,根據內置規則進行自動識別,提取字段并與已有規則進行匹配,如命中則返回結構化數據。如果內置規則無法匹配,則暫時存入事件容器進行后續處理。
媒體業務系統可根據特定標識符自動判斷是否為用戶自定義配置:如果是用戶自定義配置,則使用其配置的解析規則來處理,同時更新緩存;如果不是,則使用默認規則并保留原始數據,不提取任何字段,同時對比不同類型的解析規則嘗試匹配,如果匹配成功則生成結構化數據,同時更新緩存;如果不成功則繼續保留該數據,并返回其他結構化數據。
3" "結構化處理技術
日志的結構化處理,也稱日志模式解析,是指將日志從半結構化數據解析為結構化數據的一種算法,可以幫助我們快速了解大量日志的概貌,在日志的自動化分析過程中,常作為中間步驟,服務于日志后續的異常檢測等任務。結構化處理相關技術如圖1所示:
以下是一些常見的日志模式解析算法:
3.1 基于規則的匹配算法
使用事先定義的規則或模式來匹配和解析日志數據。規則可以基于關鍵字、正則表達式、模板等進行定義。算法簡單易懂,但需要手動定義規則,適用于已知的模式和結構化的日志數據。
3.2 基于模板的算法
使用事先定義的模板來匹配和解析日志數據。模板包含固定的文本和占位符,用于表示可變的字段或參數。相對于規則匹配,模板提供了更靈活的方式來處理變化的日志格式。
3.3 基于機器學習的算法
使用機器學習技術對日志數據進行訓練和學習,以自動發現和提取其中的模式。可使用聚類、分類、序列標注等機器學習方法。這種算法適應不同的日志數據和模式變化,但需要大量的訓練數據和合適的特征選擇。
3.4 基于序列模式挖掘的算法
通過挖掘日志數據中的序列模式,識別和提取其中的重復模式或規律性模式。序列模式挖掘算法可以幫助發現隱藏在日志數據中的重要模式和事件。
3.5 基于語義分析的算法
利用自然語言處理和語義分析技術,對日志數據進行分析和理解,從中提取有意義的模式和信息。該算法可以更深入地理解日志文本的含義,提取上下文相關的模式。
4" "媒體業務日志的結構化處理
4.1 集中采集日志,建立標準模型庫
集中采集日志,根據業務區分,建立不同的日志解析模型,一個業務對應一個模型,建立標準模型庫。項目包括網絡、安全、業務三大模塊,對涉及的業務按照索引進行劃分,由此對細分出的53個業務建立53個對應的索引。
4.2 截斷日志只保留部分日志
完整日志數據量較大,且日志訓練會得到大量無用模式,為保障訓練結果高效可用,需要對訓練日志進行進一步的處理操作:截斷日志頭部的1 500字節,并將其后半部分丟棄,再對日志進行模式訓練。
采用Heka進行截斷,過程如下:
默認狀態:
[RzyHttpOutput]
message_matcher = \"TRUE\" #默認數據全部接入
address = \"http://172.22.0.245:5180/proto/?compressed=true\"
use_buffering = true
encoder = \"RzyProtobufEncoder\"
rate_limit = 0
worker = 0
進行截斷后:
[RzyHttpOutput]
message_matcher =" \"Payload =~ /^\\[\\d+-\\d+-\\d+\\s+\\d+:\\d+:\\d+\\],\\[\\w+\\]\\s+\\[\\d+-\\d+-\\d+\\s+\\d+:\\d+:\\d+\\,\\d+\\],\\[\\d{4}-\\d{2}-\\d{2}\\s+\\d{2}:\\d{2}:\\d{2}\\]/\"
寫法:
\"Payload =~ /xxx,xxx,xxxx,xxx/\"
4.3 使用路徑作為appname、tag字段內容
文廣集團原始日志存儲在同一個路徑下,同一路徑下包含大量業務日志,會造成數據采集效率低下,Heka自動將使用路徑作為appname、tag字段內容,并進行正則匹配,可直接采集數據并寫入索引。
###Other
[1_file_deocder]
type = \"PathDecoder\"
[1_file_input]
type = \"LogstreamerInput\"
#路徑
log_directory = \"/var/log/\"
#此處部分路徑作為appname、tag
file_match = '(?Plt;Appnamegt;\w+)/(?Plt;Taggt;\w+)/(?Plt;FilePrefixgt;\w+)\.log'
# 必須保證differentiator為Appname/Tag/xxx方式拼湊
differentiator = [\"Appname\", \"/\", \"Tag\", \"/\"," \"FilePrefix\", \".log\"]
decoder = \"1_file_deocder\"
oldest_duration = \"720h\"
樣例路徑:
/var/log/data/rizhiyi/test.log
4.4 手動遷移索引
#確認當前的配置,記錄下當前值 x
curl \"master_ip:50051/_flags?flags=max_concurrent_rebalance\" amp;amp; echo
#關閉reblance功能
curl \"master_ip:50051/_flags?flags=max_concurrent_rebalance:0\" amp;amp; echo
#api自動遷移索引
curl -s -XPOST \"http://10.200.16.164:50051/_conf?index=ops-hhub-20210805\" -d '{\"node_filter\": {\"include\": {\"ip\": \"10.200.16.164,10.200.16.165,10.200.16.166,10.200.16.167,10.200.16.168\"}}}'
#使用bcli工具
#查看分片分布狀態
show shards ops-hhub-20210812
#查看索引config配置
show config ops-hhub-20210812
4.5 重做topic
完成上述操作后,工程師可利用后臺工具查看當前topic記錄,停用collector,刪除原有topic信息,清理原有/data/rizhiyi/kafka下的數據,再修改kafka的監聽端口以外的端口,重啟kafka之后重新創建topic,確認新建topic符合預期后再修改kafka的監聽端口并重啟kafka。
4.6 個性化添加解析規則
技術工程師根據日志具體情況,還可以對日志進行個性化解析操作,添加解析規則。
5" "結束語
數據的結構化處理對媒體業務的深入分析具有重要的戰略及商業價值,根據不同業務的數據特征,有針對性地進行分析及預測,有利于數據整合及復用,最大化程度地實現數據價值,幫助發現業務潛在問題及異常情況,及時采取相應措施。同時,數據的結構化降低了數據存儲成本,去除冗余信息之后的數據質量也大幅提升,可以更好地支持決策并優化業務流程[8]。今后,上海文化廣播影視集團將進一步利用日志數據來優化運營,提升運維能力。
參考文獻
[1] 萬里鵬.非結構化到結構化數據轉換的研究與實現[D].成都:西南交通大學,2013.
[2] 賈統,李影,吳中海.基于日志數據的分布式軟件系統故障診斷綜述[J].軟件學報,2020(7):1997-2018.
[3] 王霄.某中型企業數據中心日志分析系統的設計與實現[D].成都:電子科技大學,2020.
[4] 潘世成,單愛民,覃炯聰.非結構化機器數據范式化處理的研究[J].現代信息科技,2018(6):99-101.
[5] 萬欣隴.信息管理系統日志分析系統的設計與實現[D].濟南:山東大學,2017.
[6] 曾恒.基于ELK的網絡安全日志管理分析系統的設計與實現[D].北京:北京郵電大學,2017.
[7] 印聰.面向非結構化文本大數據預處理中間件系統的設計與實現[D].武漢:武漢理工大學,2015.
[8] 姜鋒.基于Hadoop平臺的海量數據處理研究及應用[D].北京:北京郵電大學,2013.
作者簡介:徐志亮(1983-),男,漢族,上海人,工程師,研究生,研究方向為信息安全、傳媒。