一、網站廣告的計費模式
一個網站的廣告服務器(Ads Server)模塊部分從業務模式上看,廣告服務器需要最少支持兩個計費模式:按時及按點擊次數計費。
對於按發布時間計費,發布事件是很容易獲得的,難的是終止發布時間,假如沒有一個計時器的話。對於大量應用運行的服務器,鑒於資源消耗量的考慮,使用多線程的計時器要慎重,毫無疑問,分散到模塊級自行決定計時器是低效而且危險的。如果是單一模塊中使用完整的計時器,也會令這個模塊的開發顯得過大,邊緣性的功能占據了主要的開發工作;如果共用一個計時框架,那麼就需要對已有的計時功能進行整體規則,令其使用新的計時框架,這實際上是一個升級。
即使是對於點擊次數的計費方式,發布時間計費仍是必須的,這與Googgle的廣告不一樣;後者沒有一個固定的頁面,也沒有固定的格式。而前者,卻有固定的地方,如果單純采用點擊計費,那麼誰都希望放到首頁首欄,因為不點擊是不收錢的。
二、廣告欄目和廣告條目;
把廣告位置(欄目)看作是一個廣告框,那麼發布到這個框的廣告條目應該看作是廣告主的所有物,他是租用網站的廣告和相應的計費服務,發布自已的廣告,然後向網站支付廣告費用。每一個廣告條目包括有廣告內容(發布代碼);而每一個廣告欄目(位置)包括有價格信息和滾動設定,也即輪換廣告的設定,以及默認空白內容。廣告條目與廣告位是一個多對多的關系,通過一個廣告條目訂單的實體實現聯系。
廣告條目定單是這樣的意思:每一個廣告條目可以發布到不同的廣告位(定單),以用將發面布多長的時間,多個訂單按先後順序排隊。這就意味著需要有一個雙向的廣告定單管理模塊存在。
廣告的發布實現是通過標簽完成。該標簽應用時需要包括如下屬性:廣告位ID,廣告條目ID。廣告位的ID把廣告標簽與廣告位置綁定,獲得廣告的價格和更替內容,以及發布時間;通過廣告條目ID獲得所要發布的的廣告內容。
三、網站管理者制定廣告欄目
廣告欄目主要與費用相關,但不包含位置信息,這時侯與在那一個頁面沒有關系(那是由標簽使用決定),一般情況下與費用相關。位置信息只是它的一個提示屬性。這樣,廣告位就可以不確定伴置地出現在“某類”伴置,同一個廣告欄目可以出現在不同的版面;而同一個版也可以出現多個廣告位置。所以,廣告欄目本質上也等同於是版面廣告伴的集合。這樣的原因是由於無論如何定義廣告位置,最終都需要通過頁面的jsp代碼反應,既然jsp標簽本身與位置綁定,就不必在抽象層對它進行細化管理了。這樣,可以省下管理員大量的工作。