導讀
打點是指在網站或者APP中加入一些統計代碼,通過日誌記錄用户在 APP 內觸發的一系列行為,包括點擊、滑動等。打點上報後匯聚成用户行為日誌,用户行為日誌可用於報表統計、AB Testing、個性化推薦等,是分析用户、調整策略、迭代產品的重要依據。
日誌中台做為百度內一站式打點解決方案,覆蓋了廠內以百度APP為代表的大多產品,每天產生千億級的打點日誌PV。這些日誌經過格式化之後,滿足用户的各種數據消費需求,光是佔用的存儲資源每天達上百P。為了滿足業務長週期的數據統計、分析、回溯等需求,需要大量的計算和存儲成本,部分核心數據甚至需要永久存儲。
但是,隨着業務快速迭代發展,線上打點只增不減,單條日誌越來越長,上報量越來越大,規模日漸膨脹。打點日誌的無序增長,既影響打點服務的穩定,也帶來計算和存儲資源的增長。為了在資源有限的前提下,最大化打點日誌的價值,需要對打點日誌進行持續的治理,提升打點收益。治理手段包括無用點位的定位和下線、異常打點的發現和修復、已有打點的字段裁剪和上報機制優化、新feature放量或運營活動期間打點服務的穩定性保障等。
△點位全生命週期治理
通過點位治理措施,對於正常需求導致pv上漲的點位,中台能夠提前擴充資源,保障業務的高效發展;對於異常問題引起的pv上漲的點位,中台能夠協助業務方排查潛在風險,減少業務隱患;對於無用打點,及時發現並完成點位下線,節省後續計算和存儲資源;對於冗餘打點引起pv上漲的點位,中台協助優化打點上報邏輯,實現高質量打點,推動業務方和日誌中台的降本增效。因此,點位治理實踐能夠助力日誌中台感知點位波動、預先為正常流量的增幅留足空間,保證打點符合用户預期、限制低質量有問題流量無序發展,為用户提高更優質量的打點體驗,高效率高質量支持業務蓬勃發展。
△全生命週期打點管理
01 要治理的問題和方案
日誌中台的成本治理實踐主要分三個階段:人工治理、半自動化治理、點位全生命週期標準化治理。在最開始的階段,首要目標為與用户溝通,制止打點流量無序增長。因此採取人工治理的方式:由中台同學和點位相關業務同學溝通來推進點位治理,人工治理能夠充分了解用户治理訴求,分析點位pv增長原因,在支持業務正常推進的基礎上採取定製化的治理措施。通過人工治理的方式,在治理前期取得了一定的治理收益,但隨着成本治理的不斷推進,治理覆蓋的點位、業務線和業務方不斷增加,治理變得越來越複雜且難以持續跟進。參照人工治理階段積累的經驗,採用技術化的手段,升級到了半自動平台化治理,從治理實施的角度出發,實現流程化治理,推進了治理前發現異常點位、治理中介入點位治理和治理後成果展示與分析的狀態流轉,大大提高了治理效率。然而,點位治理不是一勞永逸的事情,為了更好的完成點位可持續治理,日誌中台從點位全生命週期的角度出發,實現了點位全生命週期標準化治理,能夠修復異常打點、優化冗餘打點、下線無用點位,並總結點位相關特性,實現了依據點位特性的長期治理,在對打點的健壯性優化的同時提升了重複治理的效率。
1.1階段一 人工治理
1.1.1 問題分析
打點用户作為日誌中台的核心用户羣體,是打點的發起者、使用者,因此是點位治理的主要執行者。打點用户只要有兩個核心特點:打點目的多樣,點位治理措施多樣。打點目的多樣是指用户會根據實際業務要求進行打點,例如節日/活動流量打點、實驗分析打點、實際需求打點等等。同時打點用户在實現點位治理時,也會有不同的實際操作,例如會選擇優化打點代碼、對打點實驗進行固化或者打點下線、對實際需求打點進行繳費以保證計算和存儲資源充足。人工治理階段依靠着中台同學和業務同學的溝通合作能夠在充分滿足用户打點目的多樣性的同時儘可能提供靈活、豐富的打點治理策略。
△問題分析
點位波動的原因能夠從三個維度進行解析説明,分別是業務線、內部因素和外界因素。從業務線角度而言,不同業務線之間因其承擔着不同的業務定位,因此其點位波動會受到業務整體的決策而波動,因此點位治理策略應當面向業務線特色而展開。對於較大的業務線,例如手百,需要明確到點位的波動是否與某個細節打點相關。而對於較為獨立的業務線,例如貼吧,網盤等,中台更關注業務線整體pv的波動。對於內部因素而言,影響點位pv波動的因素是各種各樣的,主要分為三大類,即需求上線導致的打點pv增幅,這其中有因為直接需求、級聯需求或需求同步導致的pv漲幅(例如極速版同步手百主版)。有異常打點導致的pv增幅,其中主要包括代碼本身異常、流量異常和打點時機異常。在外界因素方面,導致打點pv增幅的原因主要分為三部分:節假日、雙十一等商業活動或熱點直播導致的pv漲幅,以及實驗變更的微觀漲幅和APP大盤增長導致的宏觀漲幅。綜上所述,點位pv波動的因素是較為複雜的,因此點位治理的核心目標是針對各種複雜誘因導致的點位pv波動採取面向用户個性化的點位治理措施,實現高效率靈活的點位治理。
1.1.2 解決方案
階段一主要依靠人工治理,其步驟可以用以下DAG圖説明,支持四大類點位治理模式【需求普漲、異常修復、活動流量和打點優化】,模版化的處理步驟能覆蓋絕大部分點位治理場景。
1.2 階段二 半自動治理平台化
1.2.1 問題分析
隨着成本治理的不斷推進,治理覆蓋的點位、業務線和業務方不斷增加,治理變得越來越複雜且難以僅靠人力溝通持續跟進,而點位治理方作為打點治理的主要發起方和跟進方,需要頻繁的與業務方進行交流,以便於針對點位實際和業務現狀發起點位治理。同時點位治理過程需要全過程記錄,依靠人工治理架構的點位治理過程使用文檔記錄全過程,同時點位治理流程中產生的點位治理時間軸、點位治理總覽、點位治理成果均以文檔的形式記錄會有展現效果差、依賴人力更新的問題。同時點位治理流程較為複雜,如果使用人力治理+文檔記錄的措施缺乏標準的狀態流轉,無法保證打點治理的高效和質量。
△半自動化平台治理
1.2.2 解決方案
打點治理的涉及的方方面面非常多,按照時間順序而言,主要分為異常點位的發現和挖掘、面向異常點位的治理實施、以及治理後成果的總結和治理全局分析。對於涉及的主體而言,打點治理主要涉及的被動主體為點位用户以及點位信息,主動主體為點位治理方,對點位本身而言,打點治理流程需要感知點位異常波動、整理點位相關基礎信息【業務線、負責人、歷史相關需求】等、最終整理完成點位自身特色信息【點位屬性是活動點位、基礎框架點位等】。對於點位治理方而言,需要針對異常點位發起點位治理【通過如流羣內部消息面向業務同學】、需要根據點位自身情況選取點位治理策略【打點優化、異常治理、成本追繳】等,同時在點位治理流程中,點位治理負責人需要及時跟進點位治理情況,推進點位治理信息,在治理完成後需要總結點位治理結果報表,並完成階段性總結。對於業務方而言,用户需要感知點位pv波動信息、點位治理需求並給出點位治理及時反饋。因此在打點治理的重要場景上,主要的難題為:需要形成點位治理【前期、中期和後期】的規範化治理流程,有效推進點位治理狀態的流轉【發現異常、介入治理、推進治理、完成治理】;由於點位治理是面向用户導向的,其中涉及到大量的溝通成本,為了加速辦公效率,針對IM溝通需要做專門的優化。針對上述問題,日誌中台推進了打點半自動化治理平台的建設,實現了治理標準流程化、辦公溝通智能化、點位治理高效化。
△一站式成本治理平台
成本治理平台將打點治理分為三個階段【治理前-異常波動點位挖掘階段】,【治理中-目標點位介入治理階段】,【治理後-治理成果展示&分析階段】。
在治理前期【異常波動點位挖掘階段】,該階段核心為實現一個定時例行任務,該任務定時獲取所有點位的天級pv,並根據異常波動識別算法判別出異常點位,並組裝該點位的其他相關信息(業務線、是否是實時流點位等),最終完成異常點位信息的下發和郵件通告。異常點位挖掘任務依託定時任務調度系統完成開發,實現算子高效配置,任務定時準確執行,能夠有效挖掘出異常點位信息。
在治理實施中期【目標點位介入治理階段】,按照點位治理狀態的不同,分為三個核心頁面進行綜合治理,即待治理頁面,正在治理頁面和治理完成頁面。其中待治理頁面主要展示由【異常波動點位挖掘階段】所得到的異常點位列表,在點位負責人甄別該點位確實符合點位治理要求後,即可一鍵建羣觸發點位治理流程。觸發後,該點位即可展示在正在點位治理頁面,針對目標點位治理,點位治理負責人即可按照【點位治理默認狀態流轉圖】或【自定義算子點位治理狀態圖】完成點位治理,在治理過程中,平台使用企業辦公IM企業機器人來實時推送點位治理模版信息【點位治理背景、點位治理繳費文檔等】,進而加速點位治理過程。同時在點位治理過程中,數據庫會記錄點位狀態變更時間軸,實時記錄點位治理狀態。當點位流程治理完成後,點位會移入已經治理完成的點位頁面。已經治理完成點位頁面會同步至指定MySQL數據庫中,智能報表平台會針對該數據庫做實時數據分析和可視化報表生成。
在治理後期【理成果展示&分析階段】該階段核心是展示指定時間範圍內的治理效果【已經治理pv、已治理的點位個數】,以及分析相關指標【各個治理種類的點位數目、已經追繳的成本金額】。治理平台採取可視化智能報表平台完成對點位治理的趨勢分析,按照時間順序對已經治理的pv數和點位個數完成了對點位治理的分析。
△辦公IM成本治理機器人
在點位治理過程中,點位治理負責同學需要和點位負責同學、點位相關RD有頻繁且密集的溝通,為了提高業務溝通效率,點位治理平台接入 辦公IM企業級開發機器人【成本治理機器人】,成本治理機器人實現了全流程的治理加速,在治理髮起時,點位負責人能夠針對異常目標點位一鍵發起羣聊,該羣聊名為【點位監控】(相關)點位流量上漲。在治理髮起後第一時間,成本治理機器人會同步點位基本信息、點位漲幅pv等,通報使用自動化通報模版。在點位治理推進中,如流機器人支持發送自定義信息並@相關業務人員完成治理狀態推進。
1.3 階段三 點位全生命週期標準化治理
1.3.1 問題分析
△打點全生命週期
點位治理不是一勞永逸的事情,為了更好的完成點位可持續治理,日誌中台從點位角度出發實現了點位全生命週期標準化治理架構。打點本身是點位治理的重要對象,同時打點本身自身也有着足夠的信息量,例如,點位本身會因為業務下線或業務場景的迭代而成為無用點位;點位本身會因為打點開發代碼 BUG而成為異常點位或是冗餘點位;同時點位自身因為其長期存在,進而會在一定時間內長期波動,導致需要點位治理頻繁介入。因此點位治理問題需要在點位生命週期維度完成對無用點位的下線;對有異常問題的點位完成修復、對於冗餘點位的優化;在點位長期波動角度,完成基於點位特性的高效治理,而非是機械重複的全流程點位治理。
1.3.2 解決方案
1.3.2.1 基於點位特性持續治理
基於點位特性持續治理,圖中是某運營活動相關點位pv波動圖,圖中可以清晰看到,該點位在所示週期內出現了三次點位波動,因為該點位屬於活動運營性質點位,因此在春節期間、618活動期間以及暑假活動運營期間,出現了多次波動,如果按照常規治理手段,需要多次頻繁介入,為了在持續性治理中提高治理效率,應當結合點位業務屬性,構建出治理經驗總結,在後續多次治理中不斷完善治理屬性,即可根據歷史治理經驗實現既定治理措施。我們將點位根據業務屬性而形成的分類稱之為“點位特性”,而根據點位特性的操作化治理稱之為“基於點位特性的持續治理”,實踐表明,基於點位特性的持續治理流程針對點位多次治理,大大加速效率。例子中的運營活動點位,在得知其活動屬性的基礎上,僅需關注漲幅與活動映射關係以及預估流量是否與預期相符合即可,無須重複治理流程。
△基於點位特性持續治理
打點治理是一個長期持續性的操作,單個點位存在多次介入治理的可能性,因此考慮到點位的持續性治理是非常重要的。在長期的點位治理中,點位因其個性化特色,具有自身屬性。結合點位自身特色與規則介入,能夠在持續性治理操作中實現基於點位特性的治理。從點位特色出發,常見的點位種類有如下六種,分別為單需求類型點位、複合需求類型點位、活動屬性類型點位、級聯需求類型點位、實驗類型點位、框架性質類型點位。其中不同點位種類具有自身的相應的特徵,因此應當採取相關的治理策略,進而大大降低了二次治理的難度和工作量。
下面是常見點位特性的説明及相應的再次治理策略:
- 單需求類型點位,該類點位上下游關係較為簡單,點位定位明確,主要完成單一或固定類型的需求,因此其漲幅與需求之間關聯,對於二次治理時,重點關注點位所對應的需求方即可,治理策略較為簡單。
- 複合需求類型點位,該類點位往往是多業務方共用打點,執行不同類型的需求,因此再次治理時,需要補充記錄點位使用拓撲關係,完善點位下游關係。
- 活動類型點位,該類打點往往與節假日/運營活動強關聯,例如小説相關打點往往和寒暑假密不可分,手百皮膚活動往往與運營活動強相關,對於此類打點,需要核實對應的活動,並保證容量充足即可。
- 級聯需求類型點位,該類打點往往提供一個基礎性的功能,例如工具性質打點,這類打點並不直接作用於業務方,而是為業務方提供第三方能力,因此其上漲與自身無關,此類打點需要核實符合預期即可。
- 實驗類型點位,該類打點往往與策略實驗放量相關,具有一定的活動週期屬性,但是與活動屬性點位不同的是,實驗複合預期後可能會固化,需要核實長期上漲帶來的費用。
-
框架性質類型打點,該類打點作為手百等APP的基礎打點,承載着多項核心功能,往往打點量級較大(單點位可達百億)正常漲幅波動也較大(天級波動可達10億上下),其波動需要結合DAU大盤漲幅進行分析,往往無法與某些需求直接關聯。
△治理角度的常見點位分類
1.3.2.2 推進無用點位下線
隨着業務的持續迭代與推進,點位的狀態也在不斷更新,一些點位會逐漸成為無用點位。無用點位因其自身屬性分為兩大類:無流量點位和有流量無使用點位,其中無流量點位往往因為實驗的下線或業務線的變更導致點位無流量,而有流量無使用點位往往因為業務的優化升級或是日常迭代導致點位依然有上報,但是不再有下游使用,上報的數據內容也不再有訪問記錄。其中無流量點位會消耗一定的數據分析和維護成本,並對相關分析帶來一定影響,而有流量無使用的點位則會佔用一定的計算和存儲資源。因此,推進無用點位下線是點位全生命週期治理的重要一環,日誌中台及相關數據存儲團隊形成了完善的無用點位下線流程。
△無用點位下線流程圖
在點位負責人完成上線後,中台及相關數據存儲團隊會進行例行的無用點位識別任務,當識別出無用點位後,會通知相關點位負責人,若點位負責人支持點位下線,則點位會進入預下線狀態,當點位在一定時間段內仍無相關業務反饋,則該點位會完成下線。若點位負責人因業務特殊需求,則能夠繼續保留該點位,若該點位超過三次被識別為無用點位則會報備總監確認,結合業務實際則可以錄入白名單。
△基於鑑權信息訪問判別來源
無用點位識別任務的核心在於識別出有流量但是沒有下游使用的點位,識別任務會根據相關業務的若干數據表的鑑權信息篩選出相關的下游訪問來源,這些下游訪問來源包括但不限於實驗分析平台、數據分析平台、報表平台,相關業務使用和一些定時例行任務。當篩選出相關點位的具體下游訪問來源之後,即可聯合下游訪問來源的具體業務信息識別出該點位是否確實無人使用,進而判斷出無用點位。
1.3.2.3 異常點位修復&冗餘點位優化
△異常點位修復&冗餘點位優化
為了更好的完成點位治理,需要對打點潛在問題進行分析,進而能夠根據潛在問題制定相應的解決方案。結合打點實際,業務實際和中台業務邏輯可以發現,打點存在有幾類問題:冗餘打點浪費了一定的資源,多條打點公共參數相同,僅僅業務參數有差異,但是依然分開若干條上報;對於比值類實驗指標,不同的打點量級的實驗效果是一致的,但依然打了較大量級的日誌條數;異常打點不符合業務預期,異常上報了一定量級的日誌,點位缺乏分級別處理無法做到重要點位高優先級處理。為了解決上述問題,我們進行了針對性的方案優化,針對冗餘打點採取合併上報、打點採樣等打點優化措施,針對異常打點採取【發現異常、確認異常,最終修復異常】的工作流程。
02 項目收益&業務反饋
日誌中台點位治理實踐項目對點位實現各種靈活治理措施,包括但不限於打點優化、異常修復、成本追繳和活動流量觀察。在點位治理項目上線後,助力業務方發現10+潛在風險點,手百每人每天上報日誌減少上百條。治理項目每年治理上千億pv,節省數百萬的用於計算、存儲的年化成本費用。
在治理過程中,我們堅持用户導向,點位治理流程協助用户方發現很多問題,排查了潛在異常,節約了很多資源,也收到很多高質量的業務方真實反饋。
△業務高質量反饋
03 總結與展望
△總結與展望
日誌中台打點治理實踐方案已經取得了一定的項目收益,協助用户優化了了打點體驗,提升了打點質量,升級了業務性能,同時也助力了手百等業務的穩健、高質量發展,在未來日誌中台會持續打造業界領先的打點治理方案,進一步優化用户體驗,幫助用户精細化排查點位波動的原因,更為精準化的定位問題原因,精密化提升打點收益與產出,切切實實使每一次打點都取得超出預期的收益。同時進一步助力業務發展,降低手百每人每天上報的日誌數目,在有限的打點資源內儘可能創造更高規模的收益。同時隨着日誌中台對於事件的支持,打點治理方案會探索基於事件的pv治理策略,支持更細粒度的打點治理。
-----END------
推薦閲讀
從數字化到智能化,百度 SRE 數智免疫系統的演進和實踐
走!Ké武漢,看百度智能雲生態大會
名列前茅!百度文心大模型4.5及X1在中國信通院“方升”大模型基準測試中表現優異
飛槳新一代框架3.0正式發佈:加速大模型時代的技術創新與產業應用