專利名稱:一種廣告投放頻次控制方法及裝置的制作方法
技術領域:
本發明涉及互聯網技術領域,尤其涉及一種廣告投放頻次控制方法及裝置。
背景技術:
廣告投放中的頻次控制常常被叫做N+控制,即一個廣告在指定的投放周期內,最多只能被一個用戶觀看N次。目前,常見的互聯網廣告系統基本都只能做很簡單的N+控制。比如僅對某廣告A在某個時間周期T內作N+控制,即控制每個用戶在廣告投放周期T內觀看廣告A的次數最多只能有N次。像這樣的廣告,通常稱之為N+廣告。要實現對N+廣告的頻次控制,需要利用用戶瀏覽器cookie來記錄用戶觀看的每個N+廣告的次數,然后在投放時進行次數判斷,當未達到投放上限時候,便可繼續投放;若已經達到,則不能投放。而實際投放時,有可能出現這樣情況,比如某客戶有一個廣告A,其投放周期為2011年10月I日到10月30日,要求做6+控制,廣告A開始投放后,常常有些用戶在第一天,或者第二天就看滿6次廣告A,而后面的20多天,則一次也沒有看到廣告A,像這種一個用戶在很短的時期內過于密集的看到某一個廣告的現象既影響了用戶體驗,又傷害了客戶利益。鑒于此,廣告主往往會進一步提出類似于這樣的要求在保證N+控制的基礎上,進一步要求這N次的廣告在這一個月的投放周期內被均勻的投放出去,具體的限制如每個用戶每天最多只能看廣告A —次、每周最多只能看廣告A三次、每十天內最多只能看廣告A四次,這相當于在整個投放周期的總頻次控制要求下,又分別劃分出若干種小的投放周期,并對每個小的投放周期做出頻次控制要求。而目前常見的廣告系統是無法滿足這種復雜的頻次控制要求的。
發明內容
有鑒于此,本發明的主要目的在于提供一種廣告投放頻次控制方法及裝置,用于解決現有廣告投放技術無法實現復雜的多子周期頻次控制要求,廣告投放效率低,對瀏覽器cookie資源占用過多的技術問題。為達到上述目的,本發明的技術方案是這樣實現的一種廣告投放頻次控制方法,該方法包括廣告服務器接收到廣告請求后,獲取符合投放條件的頻次控制廣告即N+廣告;若所述廣告請求攜帶所述N+廣告的歷史瀏覽cookie,則將所述歷史瀏覽cookie 反序列化為歷史頻次控制數據對象CampCookie,并依據當前時間對CampCookie中的各頻次限制條件進行預處理;若所述廣告請求未攜帶所述N+廣告的歷史瀏覽cookie,則為用戶新建CampCookie,并依據基準頻次控制數據對象CampInfo對所述CampCookie數據對象進行初始化;廣告服務器基于所述CampInfo和CampCookie判斷本次廣告請求是否符合所述N+廣告的頻次控制條件,當符合時,更新CampCookie內的觀看次數,將CampCookie序列化為歷史瀏覽cookie后反饋給用戶,并向用戶投放所述N+廣告。進一步地,所述CampCookie用于以結構化的方式描述用戶對所述N+廣告的瀏覽歷史,其中至少包含已觀看總次數showTotalTimes和一個或多個子周期記錄結構,子周期記錄結構至少包含頻次控制子周期字段period、子周期內已觀看次數字段showTimes、子周期截止時間字段expireTime。進一步地,所述CampInfo用于描述廣告商的廣告頻次控制要求,廣告服務器會為每一個要求作N+控制的廣告建立一個唯一的Camplnfo, CampInfo至少包含對象標識campID、總次數限制值numLimit、一個或多個子周期控制結構及投放截止日期endDate,子周期控制結構至少包含子周期字段period、子周期限制值times。進一步地,所述依據當前時間對CampCookie中的各頻次限制條件進行預處理具體為將當前時間與CampCookie中各子周期截止時間相比較,如果當前時間已超過對 應子周期截止時間,則將對應的子周期已觀看次數showTimes置O并根據當前時間重新設置對應子周期的截止時間expireTime。進一步地,所述依據Camplnfo對所述CampCookie數據對象進行初始化的步驟具體為將showTotalTimes 置 O ;根據CampInfo 中的子周期 Camplnfo. period I Camplnfo. periodn 設置CampCookie 中的子周期 CampCookie. period I CampCookie. periodn,其中 η 為頻次控制子周期的個數;將CampCookie. showTimes I CampCookie. showTimesn 置為 O ;以當前日期為基準,計算各子周期對應的結束時間,并將計算值賦給CampCookie.expireTime I CampCookie. expireTimen。進一步地,所述基于Camplnfo和CampCookie判斷本次廣告請求是否符合所述N+廣告的頻次控制條件的方法具體為判斷所述N+廣告對應的CampCookie中用戶已觀看總次數showTotalTimes是否大于等于所述N+廣告對應的Camplnfo中的numLimit,若是則拒絕向用戶再次投放所述N+廣告,否則依次判斷每個頻次控制子周期內,用戶已觀看次數showTimes是否大于等于Camplnfo中設定的對應子周期內允許用戶觀看次數的上限值times,只有在所有的子周期內用戶已觀看次數showTimes都小于Camplnfo中對應子周期內允許用戶觀看次數的上限值times時,才允許向用戶投放所述N+廣告,否則拒絕向用戶再次投放所述N+廣告。本發明還提供一種廣告投放頻次控制裝置,該裝置包括獲取模塊,用于在接收到廣告請求后,獲取符合投放條件的頻次控制廣告即N+廣
生P=I ;第一判斷模塊,用于判斷所述廣告請求是否攜帶所述N+廣告的歷史瀏覽cookie ;序列化處理模塊,用于將歷史瀏覽cookie反序列化為歷史頻次控制數據對象CampCookie ;以及將CampCookie序列化為歷史瀏覽cookie ;預處理模塊,用于在所述廣告請求攜帶所述N+廣告的歷史瀏覽cookie的情況下,依據當前時間對CampCookie中的各頻次限制條件進行預處理;
初始化模塊,用于在所述廣告請求未攜帶所述N+廣告的歷史瀏覽cookie的情況下,為用戶新建CampCookie,并依據基準頻次控制數據對象Camplnfo對所述CampCookie數據對象進行初始化;第二判斷模塊,用于基于所述Camplnfo和CampCookie判斷本次廣告請求是否符合所述N+廣告的頻次控制條件;投放模塊,用于在本次廣告請求符合所述N+廣告的頻次控制條件時,更新所述N+廣告的CampCookie,向用戶反饋CampCookie序列化后所得的歷史瀏 覽cookie,并向用戶投放所述N+廣告。進一步地,所述CampCookie用于以結構化的方式描述用戶對所述N+廣告的瀏覽歷史,其中至少包含已觀看總次數showTotalTimes和一個或多個子周期記錄結構,子周期記錄結構至少包含頻次控制子周期字段period、子周期內已觀看次數字段showTimes、子周期截止時間字段expireTime ;所述Camplnfo用于描述廣告商的廣告頻次控制要求,廣告服務器會為每一個要求作N+控制的廣告建立一個唯一的Camplnfo, Camplnfo至少包含對象標識campID、總次數限制值numLimit、一個或多個子周期控制結構及投放截止日期endDate,子周期控制結構至少包含子周期字段period、子周期限制值times。進一步地,所述預處理模塊包括截止時間判斷模塊,用于將當前時間與CampCookie中各子周期截止時間相比較,判斷當前時間已超過對應子周期截止時間;預處理子模塊,用于在當前時間已超過對應子周期截止時間的情況下,將對應的子周期已觀看次數showTimes置O并根據當前時間重新設置對應子周期的截止時間expireTime。進一步地,所述第二判斷模塊包括總次數校驗模塊,用于判斷所述N+廣告對應的CampCookie中用戶已觀看總次數showTotalTimes是否大于等于所述N+廣告對應的Camplnfo中的numLimit,若是則拒絕向用戶再次投放所述N+廣告,否則指示子周期頻次校驗模塊執行;子周期頻次校驗模塊,用于依次判斷每個頻次控制子周期內,用戶已觀看次數showTimes是否大于等于Camplnfo中設定的對應子周期內允許用戶觀看次數的上限值times,在所有的子周期內用戶已觀看次數showTimes都小于Camplnfo中對應子周期內允許用戶觀看次數的上限值times時,向用戶投放所述N+廣告,否則拒絕向用戶再次投放所述N+廣告。本發明通過CampCookie數據結構和Camplnfo數據結構的比較實現了對N+廣告的多個子周期頻次控制的要求,從而使得廣告能夠在整個周期內間隔均勻地投放給用戶,充分滿足了廣告商需求和保證了廣告商的利益,同時提升了用戶體驗。本發明還利用數據對象的序列化和反序列化技術,提高了廣告服務器對用戶瀏覽歷史數據的處理效率以及進行多個子周期頻次控制條件匹配的效率,且節約了有限的瀏覽器cookie資源。
圖I為本發明實施例提供的一種廣告投放頻次控制方法流程圖2為本發明實施例提供的CampCookie數據對象結構;圖3為本發明實施例提供的Camplnfo數據對象結構;圖4為本發明實施例提供的根據N+廣告的Camplnfo和CampCookie進行投放校驗的流程圖;圖5為本發明實施例還提供一種廣告投放頻次控制裝置。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚明白,以下舉實施例并參照附圖,對本發明進一步詳細說明。圖I為本發明提供的一種廣告投放頻次控制方法流程圖,具體步驟如下 步驟101、用戶瀏覽器向廣告服務器發送廣告請求,所述廣告請求中包含請求參數。所述請求參數包含但不限于用戶觀看的視頻id、視頻所屬的一級分類、二級分類、用戶IP、關鍵字等。若所述廣告為視頻廣告,則所述廣告請求由瀏覽器中嵌入的視頻播放器來發送。步驟102、判斷是否有廣告庫存,如果有則執行步驟103,否則結束流程;步驟103、根據請求參數取得一個符合投放條件的廣告;步驟104、判斷所取得的廣告是否為需要進行頻次控制的N+廣告,如果是則執行步驟105,否則執行步驟112 ;步驟105、判斷所述廣告請求是否攜帶所取得的N+廣告的瀏覽歷史cookie,若是則執行步驟106,否則執行步驟108 ;在瀏覽器保存有N+廣告瀏覽歷史cookie的情況下,所述廣告請求還會攜帶N+廣告瀏覽歷史cookie,通過廣告瀏覽歷史cookie使廣告服務器能夠獲知用戶觀看過N+廣告的歷史情況。步驟106、將廣告請求攜帶的N+廣告的廣告瀏覽歷史cookie反序列化為歷史頻次控制數據對象CampCookie ;本發明定義的歷史頻次控制數據對象CampCookie,該數據對象用于以結構化的方式描述用戶對N+廣告的瀏覽歷史,在廣告服務器更新CampCookie后會將其序列化后反饋給用戶瀏覽器,用戶瀏覽器將其保存為廣告瀏覽歷史cookie,在用戶再次發送廣告請求時,用戶瀏覽器將廣告瀏覽歷史cookie再次發送給廣告服務器,廣告服務器再次將廣告瀏覽歷史cookie反序列化為CampCookie,通過CampCookie廣告服務器可方便的獲知用戶之前的廣告瀏覽歷史,并通過CampCookie實現對N+廣告的廣告頻次控制。序列化(Serialize)和反序列化(Deserialize)是運行時環境用來支持用戶定義類型的流化的機制。序列化的目的是以某種存儲形式使自定義對象持久化,反序列化是序列化的逆過程,通過二者的結合可實現對象的跨網絡傳輸,從而使程序更具維護性。CampCookie數據對象結構如附圖2所示,用戶觀看每個N+廣告的歷史信息都可以用CampCookie數據結構來描述,其中至少包含如下組成元素已觀看總次數showTotalTimes :用于記錄N+廣告被用戶觀看的總次數;頻次控制子周期periodi (i = I, 2,. . . η):用于記錄在N+廣告頻次控制大周期中的第i個子周期值,優選地以天為單位;子周期i內已觀看次數showTimesi (i = I, 2, · · · ,η):用于記錄在子周期periodi內,某用戶觀看當前廣告的次數;子周期i截止時間expireTimei (i = 1,2,... ,η):用于記錄子周期periodi的截止時間。步驟107、依據當前時間對CampCookie中的子周期觀看次數和截止時間進行預處理,然后執行步驟109;該步驟將當前時間與CampCookie中各子周期截止時間相比較,如果當前時間已超過子周期截止時間,則對子周期已觀看次數showTimesi和子周期截止時間expireTimei重新進行初始化,即將showTimesi置0,根據當前時間重新設置對應子周期的截止時間expireTimei ο
步驟108、廣告服務器為用戶創建所述N+廣告的CampCookie數據對象,并進行初始化,然后執行步驟109;如果廣告請求不包含所述N+廣告的廣告瀏覽歷史cookie,則說明用戶之前未曾觀看該N+廣告,系統會自動為用戶創建一個CampCookie并對其進行初始化。對CampCookie的初始化需要依據廣告服務器為N+廣告創建的基準頻次控制數據對象Camplnfo中的信息,Camplnfo數據對象用于描述廣告商的廣告頻次控制要求,廣告服務器會為每一個要求作N+控制的廣告建立一個唯一的Camplnfo來描述其具體的N+控制要求。Camplnfo的結構如附圖3所示,其中至少包含如下組成元素對象標識campld Camplnfo對象的唯一標識,每個廣告實體中包含一個campld屬性,用于關聯對應的Camplnfo ;總次數限制值numLimit :廣告在以N+控制的方式進行投放的整個周期內,一個用戶總共能夠看到該廣告的最多次數;子周期periodi :在整個投放周期之下的子投放周期,以天為單位;子周期限制值timesi (i = 1,2, ···, η):廣告在子周期periodi內最多能被一個用戶觀看的次數,具體實現時,每個periodi和timesi可以key-value對的形式存放在HashMap<Integer, Integer〉結構中; 截止日期endDate :廣告的N+控制投放的截止日期,超過該日期后,廣告可不必再遵守N+控制要求。依據Camplnfo對CampCookie進行初始化的過程為(I)將 showTotalTimes 置 O ;(2)根據 Camplnfo 中的子周期 Camplnfo. period I Camplnfo. periodn 設置CampCookie 中的子周期 CampCookie. period I CampCookie. periodn ;(3)將 CampCookie. showTimes I CampCookie. showTimesn 置為 O ;(4)以當前日期為基準,計算各子周期對應的結束時間,并將計算值賦給CampCookie. expireTime I CampCookie. expireTimen,例如,當日為 12 月 I 日,子周期period I 為 5 日,則對應的 CampCookie. expireTime I 為 12 月 6 日 00 點 00 分 00 秒。在系統運行期間,Camplnfo數據對象將被加載于廣告服務器的緩存中,以提高響應速度。步驟109、根據所述N+廣告的Camplnfo數據對象和CampCookie數據對象來判斷用戶是否可以觀看這個廣告,若判斷結果為是,則執行步驟110,否則執行步驟102 ;步驟110、更新CampCookie,將CampCookie中已觀看總次數及各子周期觀看次數均加1,;步驟111、將更新后的CampCookie序列化后反饋給用戶瀏覽器存儲為用戶廣告瀏覽歷史cookie ;步驟112、向用戶投放廣告。圖4為廣告服務器根據N+廣告的Camplnfo和CampCookie判斷是否向用戶投放所述N+廣告的流程,具體步驟如下步驟401、根據campld獲取對應的Camplnfo數據對象;步驟402、判斷CampCookie中用戶已觀看總次數showTotalTimes是否大于等于Camplnfo中的numLimit,若大于等于則說明在廣告的總投放周期內用戶的觀看次數已經超過或達到了廣告商要求的總觀看次數的上限值,因此拒絕向該用戶再次投放該N+廣告,因此返回false ;若小于則執行步驟403 ;步驟403、為循環控制參數i賦初值O ;步驟404、判斷CampCookie的子周期i內用戶已觀看次數showTimesi是否小于Camplnfo中設定的子周期i內允許用戶觀看次數的上限值timesi,若小于則說明該用戶滿足子周期i的頻次控制要求,可繼續進行下一子周期的判斷,執行步驟405 ;若大于等于則說明該用戶已不滿足子周期i的頻次控制要求,因此拒絕向該用戶再次投放該N+廣告,返回 false ;
步驟405、循環控制參數i做自增操作,即i = i+Ι ;步驟406、判斷是否已處理完所有子周期的頻次控制判斷,若是則說明該用戶滿足所有子周期的頻次控制條件,可以向該用戶投放該N+廣告,返回true ;若否,則執行步驟404。圖5為本發明實施例還提供一種廣告投放頻次控制裝置,該裝置500包括獲取模塊510,用于在接收到廣告請求后,獲取符合投放條件的頻次控制廣告即N+廣告;第一判斷模塊520,用于判斷所述廣告請求是否攜帶所述N+廣告的歷史瀏覽cookie ;序列化處理模塊530,用于將歷史瀏覽cookie反序列化為歷史頻次控制數據對象CampCookie ;以及將CampCookie序列化為歷史瀏覽cookie ;預處理模塊540,用于在所述廣告請求攜帶所述N+廣告的歷史瀏覽cookie的情況下,依據當前時間對CampCookie中的各頻次限制條件進行預處理;初始化模塊550,用于在所述廣告請求未攜帶所述N+廣告的歷史瀏覽cookie的情況下,為用戶新建CampCookie,并依據基準頻次控制數據對象Camplnfo對所述CampCookie數據對象進行初始化;第二判斷模塊560,用于基于所述Camplnfo和CampCookie判斷本次廣告請求是否符合所述N+廣告的頻次控制條件;
投放模塊570,用于在本次廣告請求符合所述N+廣告的頻次控制條件時,更新所述N+廣告的CampCookie,向用戶反饋CampCookie序列化后所得的歷史瀏覽cookie,并向用戶投放所述N+廣告。優選地,所述CampCookie用于以結構化的方式描述用戶對所述N+廣告的瀏覽歷史,其中至少包含已觀看總次數showTotalTimes和一個或多個子周期記錄結構,子周期記錄結構至少包含頻次控制子周期字段period、子周期內已觀看次數字段showTimes、子周期截止時間字段expireTime ;優選地,所述Camplnfo用于描述廣告商的廣告頻次控制要求,廣告服務器會為每一個要求作N+控制的廣告建立一個唯一的Camplnfo, Camplnfo至少包含對象標識campID、總次數限制值numLimit、一個或多個子周期控制結構及投放截止日期endDate,子周期控制結構至少包含子周期字段period、子周期限制值times。優選地,所述預處理模塊540包括
截止時間判斷模塊541,用于將當前時間與CampCookie中各子周期截止時間相比較,判斷當前時間已超過對應子周期截止時間;預處理子模塊542,用于在當前時間已超過對應子周期截止時間的情況下,將對應的子周期已觀看次數showTimes置O并根據當前時間重新設置對應子周期的截止時間expireTime。優選地,所述第二判斷模塊560包括總次數校驗模塊561,用于判斷所述N+廣告對應的CampCookie中用戶已觀看總次數showTotalTimes是否大于等于所述N+廣告對應的Camplnfo中的numLimit,若是則拒絕向用戶再次投放所述N+廣告,否則指示子周期頻次校驗模塊562執行;子周期頻次校驗模塊562,用于依次判斷每個頻次控制子周期內,用戶已觀看次數showTimes是否大于等于Camplnfo中設定的對應子周期內允許用戶觀看次數的上限值times,在所有的子周期內用戶已觀看次數showTimes都小于Camplnfo中對應子周期內允許用戶觀看次數的上限值times時,向用戶投放所述N+廣告,否則拒絕向用戶再次投放所述N+廣告。本發明所提出的廣告投放頻次控制方法及裝置不僅對整個投放周期的用戶觀看次數進行了限制,還能夠在投放周期內劃分多個大小不一的子周期,對每個子周期的用戶觀看頻次作更詳細的限制,從而使得廣告能夠在整個周期內間隔均勻地投放給用戶,滿足廣告商提出的多個限制條件的頻次控制要求,比起傳統的N+頻次控制方法來說,既有更好的用戶體驗,又更大程度地保證了廣告商的利益。本發明通過定義CampCookie數據結構來對用戶的廣告瀏覽歷史信息進行結構化描述,并利用數據對象的序列化和反序列化技術,提高了廣告服務器對用戶瀏覽歷史數據的處理效率以及進行多個子周期頻次控制條件匹配的效率,而且僅使用一個cookie便完成了復雜的用戶信息的存儲和訪問,節約了有限的瀏覽器cookie資源(目前主流瀏覽器在一個域名下能保存的cookie數量基本都僅有50個左右)。實例I某廣告商需要投放廣告Al,要求廣告投放周期是2011-09-25 2011_10_25,要求在整個投放周期內每個用戶最多只能看到該廣告6次,并且要求每個用戶每天最多只能看到該廣告2次,每10天最多只能看到4次。下面是具體實施步驟(I)首先在廣告系統的廣告數據庫相關表中創建該廣告Al的記錄,并設置該廣告對應的各項屬性,以及N+限制信息。(2)實際投放時,所有當前待投的N+廣告的頻次限制信息都會被從數據庫中提取出來,并分別為它們創建一個Camplnfo實例。如廣告Al對應的Camplnfo信息結構如下表I 表I
處 2 55numLimit: 6 次
|-0112]periodi: I 天timesi: 2 次 period2: 10 天times2: 4 次
endDate: 2011-10-25 23:59:59(3)當廣告系統找到可匹配當前請求的廣告Al,發現Al是N+廣告,然后會提取用戶瀏覽器端傳來的廣告Al相關的cookie信息,如果找到則將其還原為一個CampCookie對象,如果未找到,則新初始化一個CampCookie對象。例如,廣告系統接收到某次廣告請求時所得到的瀏覽器cookie的值為“4_1:1:1317484800000_10:2:1317830400000”,將其還原為某個CampCookie對象后,其結構如下表2所示表2
showTotalTimes: 4 次periodi: I 天showTimesi: I 次I /4 818 00000 period2: 10 天 showTimes2: 2 次 ■ 830400000表2的含義為廣告Al已經被某個用戶總共觀看了 4次,其中,當天已經觀看I次,最近10天之內已經觀看2次,其中長整數1317484800000、1317830400000分別為I天和10天這兩個子周期的截止時間點2011-10-0200:00:00和2011-10-06 00:00:00,根據前者可推斷出當天是2011-10-01日,根據后者可推斷出從5天前的2011-09-26日到2011-10-01當天,用戶總共看了這個廣告2次,并將于5天后的2011-10-06日零點結束該子周期,該子周期內瀏覽次數會被清零,然后重新開始下一個10天的頻次統計。根據圖4的校驗流程,可以發現該用戶總觀看次數4次小于允許觀看的最大次數6次,當天觀看次數I次小于I天內允許觀看的次數上限2次,10天內觀看次數2次也小于10天內最多允許觀看的次數4次,所以本次廣告請求校驗結果是TRUE,即廣告Al可以投給該用戶。當該用戶過幾分鐘后,再次向廣告系統請求廣告,且廣告系統再次命中廣告Al時,發現此時取得的CampCookie已經變成如下表3所示表權利要求
1.一種廣告投放頻次控制方法,其特征在于,該方法包括 廣告服務器接收到廣告請求后,獲取符合投放條件的頻次控制廣告即N+廣告; 若所述廣告請求攜帶所述N+廣告的歷史瀏覽cookie,則將所述歷史瀏覽cookie反序列化為歷史頻次控制數據對象CampCookie,并依據當前時間對CampCookie中的各頻次限制條件進行預處理; 若所述廣告請求未攜帶所述N+廣告的歷史瀏覽cookie,則為用戶新建CampCookie,并依據基準頻次控制數據對象CampInfo對所述CampCookie數據對象進行初始化; 廣告服務器基于所述CampInfo和CampCookie判斷本次廣告請求是否符合所述N+廣告的頻次控制條件,當符合時,更新CampCookie內的觀看次數,將CampCookie序列化為歷史瀏覽cookie后反饋給用戶,并向用戶投放所述N+廣告。
2.根據權利要求I所述的方法,其特征在于,所述CampCookie用于以結構化的方式描述用戶對所述N+廣告的瀏覽歷史,其中至少包含已觀看總次數showTotalTimes和一個或多個子周期記錄結構,子周期記錄結構至少包含頻次控制子周期字段period、子周期內已觀看次數字段showTimes、子周期截止時間字段expireTime。
3.根據權利要求2所述的方法,其特征在于,所述CampInfo用于描述廣告商的廣告頻次控制要求,廣告服務器會為每一個要求作N+控制的廣告建立一個唯一的Camplnfo,CampInfo至少包含對象標識campID、總次數限制值numLimit、一個或多個子周期控制結構及投放截止日期endDate,子周期控制結構至少包含子周期字段period、子周期限制值times。
4.根據權利要求2所述的方法,其特征在于,所述依據當前時間對CampCookie中的各頻次限制條件進行預處理具體為 將當前時間與CampCookie中各子周期截止時間相比較,如果當前時間已超過對應子周期截止時間,則將對應的子周期已觀看次數showTimes置0并根據當前時間重新設置對應子周期的截止時間expireTime。
5.根據權利要求2所述的方法,其特征在于,所述依據Camplnfo對所述CampCookie數據對象進行初始化的步驟具體為將 showTotalTimes 置 0 ; 根據 Camplnfo 中的子周期 Camplnfo. period I Camplnfo. periodn 設置 CampCookie中的子周期CampCookie. period I CampCookie. periodn,其中n為頻次控制子周期的個數;將 CampCookie. showTimes I CampCookie. showTimesn 置為 0 ; 以當前日期為基準,計算各子周期對應的結束時間,并將計算值賦給CampCookie.expireTime I CampCookie. expireTimen。
6.根據權利要求3所述的方法,其特征在于,所述基于Camplnfo和CampCookie判斷本次廣告請求是否符合所述N+廣告的頻次控制條件的方法具體為 判斷所述N+廣告對應的CampCookie中用戶已觀看總次數showTotalTimes是否大于等于所述N+廣告對應的Camplnfo中的numLimit,若是則拒絕向用戶再次投放所述N+廣告,否則依次判斷每個頻次控制子周期內,用戶已觀看次數showTimes是否大于等于Camplnfo中設定的對應子周期內允許用戶觀看次數的上限值times,只有在所有的子周期內用戶已觀看次數showTimes都小于Camplnfo中對應子周期內允許用戶觀看次數的上限值times時,才允許向用戶投放所述N+廣告,否則拒絕向用戶再次投放所述N+廣告。
7.一種廣告投放頻次控制裝置,其特征在于,該裝置包括 獲取模塊,用于在接收到廣告請求后,獲取符合投放條件的頻次控制廣告即N+廣告; 第一判斷模塊,用于判斷所述廣告請求是否攜帶所述N+廣告的歷史瀏覽cookie ; 序列化處理模塊,用于將歷史瀏覽cookie反序列化為歷史頻次控制數據對象CampCookie ;以及將CampCookie序列化為歷史瀏覽cookie ; 預處理模塊,用于在所述廣告請求攜帶所述N+廣告的歷史瀏覽cookie的情況下,依據當前時間對CampCookie中的各頻次限制條件進行預處理; 初始化模塊,用于在所述廣告請求未攜帶所述N+廣告的歷史瀏覽cookie的情況下,為用戶新建CampCookie,并依據基準頻次控制數據對象Camplnfo對所述CampCookie數據對象進行初始化; 第二判斷模塊,用于基于所述Camplnfo和CampCookie判斷本次廣告請求是否符合所述N+廣告的頻次控制條件; 投放模塊,用于在本次廣告請求符合所述N+廣告的頻次控制條件時,更新所述N+廣告的CampCookie,向用戶反饋CampCookie序列化后所得的歷史瀏覽cookie,并向用戶投放所述N+廣告。
8.根據權利要求7所述的裝置,其特征在于, 所述CampCookie用于以結構化的方式描述用戶對所述N+廣告的瀏覽歷史,其中至少包含已觀看總次數showTotalTimes和一個或多個子周期記錄結構,子周期記錄結構至少包含頻次控制子周期字段period、子周期內已觀看次數字段showTimes、子周期截止時間字段 expireTime ; 所述Camplnfo用于描述廣告商的廣告頻次控制要求,廣告服務器會為每一個要求作N+控制的廣告建立一個唯一的Camplnfo, Camplnfo至少包含對象標識campID、總次數限制值numLimit、一個或多個子周期控制結構及投放截止日期endDate,子周期控制結構至少包含子周期字段period、子周期限制值times。
9.根據權利要求8所述的裝置,其特征在于,所述預處理模塊包括 截止時間判斷模塊,用于將當前時間與CampCookie中各子周期截止時間相比較,判斷當前時間已超過對應子周期截止時間; 預處理子模塊,用于在當前時間已超過對應子周期截止時間的情況下,將對應的子周期已觀看次數showTimes置0并根據當前時間重新設置對應子周期的截止時間expireTime。
10.根據權利要求8所述的裝置,其特征在于,所述第二判斷模塊包括 總次數校驗模塊,用于判斷所述N+廣告對應的CampCookie中用戶已觀看總次數showTotalTimes是否大于等于所述N+廣告對應的Camplnfo中的numLimit,若是則拒絕向用戶再次投放所述N+廣告,否則指示子周期頻次校驗模塊執行; 子周期頻次校驗模塊,用于依次判斷每個頻次控制子周期內,用戶已觀看次數showTimes是否大于等于Camplnfo中設定的對應子周期內允許用戶觀看次數的上限值times,在所有的子周期內用戶已觀看次數showTimes都小于Camplnfo中對應子周期內允許用戶觀看次數的上限值times時, 向用戶投放所述N+廣告,否則拒絕向用戶再次投放所述N+廣告。
全文摘要
本發明公開了一種廣告投放頻次控制方法及裝置,用于解決現有廣告投放技術無法實現復雜的多子周期頻次控制要求,廣告投放效率低,對瀏覽器cookie資源占用過多的技術問題。本發明通過CampCookie數據結構和CampInfo數據結構的比較實現了對N+廣告的多個子周期頻次控制的要求,從而使得廣告能夠在整個周期內間隔均勻地投放給用戶,充分滿足了廣告商需求和保證了廣告商的利益,同時提升了用戶體驗。本發明還利用數據對象的序列化和反序列化技術,提高了廣告服務器對用戶瀏覽歷史數據的處理效率以及進行多個子周期頻次控制條件匹配的效率,且節約了有限的瀏覽器cookie資源。
文檔編號G06Q30/02GK102708495SQ201210006190
公開日2012年10月3日 申請日期2012年1月6日 優先權日2012年1月6日
發明者盧述奇, 姚鍵, 孫欣, 尹玉宗, 張云鋒, 張緩迅, 潘柏宇, 蒲仕超 申請人:合一網絡技術(北京)有限公司