一種基于Redis數據庫的曝光系統及其操作方法
【技術領域】
[0001]本發明屬于互聯網展示效果監控領域,具體涉及一種基于Redis數據庫的曝光系統。
【背景技術】
[0002]曝光系統是互聯網企業對廣告投放效果監測的關鍵。曝光系統做的不好,會給企業帶來巨大的經濟損失。導致企業無法監控公司投放廣告效果,從而無法做出準確的決定。而現在的互聯網企業網站訪問量巨大且快速增長,投放廣告的數據也急劇增長,給企業廣告投放檢測帶來了巨大挑戰。
[0003]對于廣告投放效果監測的曝光系統,現有技術主要有以下幾種:
[0004](I) RDBMS數據庫:曝光系統在接到曝光請求時,直接將廣告展現信息存入RDBMS數據庫,然后通過曝光系統統計服務器統計廣告展示的各種報表。在曝光請求量不大的情況,可以實現快速的記錄曝光記錄,曝光系統統計也可以及時的統計出廣告投放效果的各種報表。但當曝光請求增大時,這種方案依賴于RDBMS數據庫的性能,而RDBMS數據庫在大量并發請求下讀寫都會變的很慢,無法及時響應曝光請求導致曝光請求數據丟失。這種方案也無法很好的擴展,因為擴展后還是依賴于數據庫的性能。這種法案也無法應對機房網絡異常或者數據庫服務器異常導致數據丟失問題。
[0005](2)服務器內存:曝光系統在接到曝光請求時,將廣告展現信息存到曝光系統的服務器內存中,每隔一段時間將數據同步到數據庫或者Redis數據庫中,然后曝光系統統計服務器等待每個曝光系統實例都同步數據后進行報表數據的統計。這種方案可以一定程度解決曝光系統對RDBMS數據庫的性能的依賴,但曝光系統的統計需要等待所有的曝光系統實例同步完數據后才能執行統計報表,特別是當一些曝光系統實例出現問題,或導致存在內存中廣告展示信息丟失,也會導致曝光系統的統計無法執行。
[0006](3)記錄日志:曝光系統在接到曝光請求時,將廣告展現信息存到曝光系統的服務器的文件系統中,每隔一段時間將日志同步到曝光系統統計服務器。曝光系統統計需要等待每個曝光系統實例都同步完數據后報表數據的統計。這種方案可以解決廣告展示信息丟失的問題,也可以處理高并發的曝光請求并快速的記錄廣告展示信息。但曝光系統統計需要等待每個曝光系統實例都同步完數據才能計算報表,有時會出現同步異常導致報表統計無法執行。也無法保障報表計算的實時性。
【發明內容】
[0007](一 )要解決的技術問題
[0008]鑒于上述問題,本發明的目的在于提供一種基于Redis數據庫的曝光系統,其具有高并發、易擴展、占用內存小、數據庫壓力小的優點。
[0009]( 二)技術方案
[0010]本發明提供一種基于Redis數據庫的曝光系統,包括Nginx服務器、曝光記錄服務器、Redis數據庫、統計服務器及RDBMS數據庫,其中:
[0011]Nginx服務器用于將曝光請求分發給所述曝光記錄服務器,曝光記錄服務器用于處理曝光請求,得到曝光信息,并根據曝光信息生成曝光日志,同時,將曝光信息存儲到Redis數據庫;
[0012]統計服務器用于從Redis數據庫獲取曝光信息,根據曝光信息計算出報表數據,并將報表數據存儲于所述RDBMS數據庫中。
[0013]本發明還提供一種用于曝光系統的操作方法,包括:
[0014]SI,Nginx服務器將曝光請求分發給曝光記錄服務器;
[0015]S2,曝光記錄服務器處理曝光請求,得到曝光信息,并根據曝光信息生成曝光日志,同時,將曝光信息存儲到Redis數據庫;
[0016]S3,統計服務器從Redis數據庫獲取曝光信息,根據曝光信息計算出報表數據,并將報表數據存儲于RDBMS數據庫中。
[0017](三)有益效果
[0018]本發明提供的基于Redis數據庫的曝光系統,可以在曝光信息丟失的情況,通過將曝光日志同步至Redis數據庫,恢復所丟失的報表信息,可以較好的解決高并發曝光系統占用大量內存和對數據庫壓力大,難于擴展的問題;同時,可以幫助廣告投放者及時監測廣告投放效果,幫助公司發現投放效果不好的廣告,并調整廣告投放的策略,并可以監督廣告提供商的統計廣告效果,在一定程度上可以減少惡意廣告展示的消費,降低廣告費用的開銷。
【附圖說明】
[0019]圖1是本發明實施例提供的曝光系統的拓撲圖。
[0020]圖2是本發明實施例提供的曝光系統的運行流程圖。
【具體實施方式】
[0021]本發明提供一種基于Redis數據庫的曝光系統,包括Nginx服務器、曝光記錄服務器、Redis數據庫、統計服務器及RDBMS數據庫,其中曝光記錄服務器包括曝光記錄模塊及曝光補償模塊,記錄服務器包括曝光統計模塊和查詢模塊,在Redis數據庫中曝光信息丟失時,曝光補償模塊將曝光記錄模塊中的曝光日志同步至Redis數據庫中,恢復所丟失的報表信息。本發明提供的曝光系統具有高并發、易擴展、占用內存小、數據庫壓力小的優點。
[0022]根據本發明的一種實施方式,曝光系統包括Nginx服務器、曝光記錄服務器、Redis數據庫、統計服務器及RDBMS數據庫,其中:
[0023]Nginx服務器用于將曝光請求分發給曝光記錄服務器,曝光記錄服務器用于處理所述曝光請求,得到曝光信息,并根據曝光信息生成曝光日志,同時,將曝光信息存儲到Redis數據庫;
[0024]統計服務器用于從Redis數據庫獲取曝光信息,根據曝光信息計算出報表數據,并將報表數據存儲于RDBMS數據庫中。
[0025]根據本發明的一種實施方式,曝光記錄服務器包括曝光記錄模塊,其用于記錄所述曝光日志,并將曝光日志對應的曝光信息存儲到Redis數據庫。
[0026]根據本發明的一種實施方式,曝光記錄服務器包括曝光補償模塊,當系統異常導致Redis數據庫中曝光信息丟失時,曝光補償模塊將曝光信息對應的曝光日志同步至所述Redis數據庫中,Redis數據庫根據該曝光日志獲取相應的曝光信息。
[0027]根據本發明的一種實施方式,統計服務器包括曝光統計模塊,用于定時從Redis數據庫獲取曝光信息,并根據曝光信息分析廣告展示效果,生成報表數據。
[0028]根據本發明的一種實施方式,統計服務器包括查詢模塊,用于從RDBMS數據庫查詢報表數據,并對報表數據進行展示。
[0029]本發明還提供一種用于曝光系統的操作方法,包括:
[0030]SI,Nginx服務器將曝光請求分發給曝光記錄服務器;
[0031]S2,曝光記錄服務器處理曝光請求,得到曝光信息,并根據曝光信息生成曝光日志,同時,將曝光信息存儲到Redis數據庫;
[0032]S3,統計服務器從Redis數據庫獲取曝光信息,根據曝光信息計算出報表數據,并將報表數據存儲于RDBMS數據庫中。
[0033]根據本發明的一種實施方式,曝光記錄服務器包括曝光記錄模塊,其中,在步驟S2中,曝光記錄模塊記錄所述曝光日志,并將曝光日志對應的曝光信息存儲到Redis數據庫。
[0034]根據本發明的一種實施方式,曝光記錄服務器包括曝光補償模塊,其中,步驟S2還包括,當系統異常導致Redis數據庫中曝光信息丟失時,曝光補償模塊將曝光信息對應的曝光日志同步至Redis數據庫中,Redis數據庫根據該曝光日志獲取相應的曝光信息。
[0035]根據本發明的一種實施方式,統計服務器包括曝光統計模塊,其中,在步驟S3中,曝光