欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Storm平臺(tái)的分布式數(shù)字標(biāo)牌廣告投放方法

文檔序號(hào):9433431閱讀:731來(lái)源:國(guó)知局
一種基于Storm平臺(tái)的分布式數(shù)字標(biāo)牌廣告投放方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)字標(biāo)牌廣告投放,具體涉及一種基于Storm平臺(tái)的分布式數(shù)字標(biāo)牌 廣告投放方法,屬于新媒體廣告投放領(lǐng)域。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展和廣告行業(yè)的數(shù)字化變革,數(shù)字標(biāo)牌廣告在政府機(jī) 關(guān)、銀行金融、商業(yè)連鎖、機(jī)場(chǎng)車(chē)站、營(yíng)業(yè)廳等行業(yè)和場(chǎng)所得到了廣泛的應(yīng)用。數(shù)字標(biāo)牌廣告 與傳統(tǒng)的電視廣告、報(bào)紙廣告相比,更具有靈活性,廣告投放系統(tǒng)可根據(jù)廣告主設(shè)定的多樣 個(gè)性化的條件選擇合適的數(shù)字標(biāo)牌屏幕(下文簡(jiǎn)稱(chēng)廣告屏),并且根據(jù)播放時(shí)間約束為每 一塊屏位(廣告屏上的某一廣告播放位)上的多個(gè)廣告安排播放時(shí)間;同時(shí),復(fù)雜多樣的約 束條件也增加了數(shù)字標(biāo)牌廣告位上排期的難度,造成時(shí)間碎片問(wèn)題;基于互聯(lián)網(wǎng)的廣告投 放系統(tǒng)為大規(guī)模海量廣告投放提供了可能性,同時(shí)即時(shí)精準(zhǔn)投放的目標(biāo)對(duì)計(jì)算資源和計(jì)算 方法提出了更高的要求;高效穩(wěn)定的廣告投放方法成為深具價(jià)值的研究課題。如何高效地 實(shí)現(xiàn)海量訂單的廣告選屏排期需求,同時(shí)提高數(shù)字標(biāo)牌的屏位利用率,減少時(shí)間碎片成為 數(shù)字標(biāo)牌廣告投放系統(tǒng)設(shè)計(jì)者面臨的主要挑戰(zhàn)。
[0003] 數(shù)字標(biāo)牌廣告投放包括選屏和排期兩個(gè)階段。選屏是廣告投放系統(tǒng)根據(jù)訂單中的 行政區(qū)域名稱(chēng)或編號(hào)、受眾特征、經(jīng)煒度范圍等(地點(diǎn)約束條件),從廣告屏數(shù)據(jù)庫(kù)里選擇 合適的廣告屏及屏位集合;排期是廣告投放系統(tǒng)根據(jù)廣告主設(shè)定的廣告時(shí)長(zhǎng)、播放頻次、上 下刊日、播放的時(shí)間段、最小間隔時(shí)間等(時(shí)間約束條件),最終為廣告安排在屏位上的播 放時(shí)間。一個(gè)高效穩(wěn)定的數(shù)字標(biāo)牌廣告排期的系統(tǒng),要能夠?qū)崿F(xiàn)廣告主、媒體商和廣告投放 系統(tǒng)運(yùn)營(yíng)者多方共贏的目標(biāo),使更多的廣告高效地按需投放,使媒體商的廣告屏資源得到 充分合理的利用。
[0004] 數(shù)字標(biāo)牌企業(yè)現(xiàn)有的數(shù)字標(biāo)牌廣告投放系統(tǒng),還主要采用人工交互方式選屏、靜 態(tài)的預(yù)排期方法排期,難以滿足海量訂單以及處理萬(wàn)臺(tái)以上數(shù)字標(biāo)牌的廣告投放業(yè)務(wù)的需 求。另一方面,傳統(tǒng)的人工交互方式選屏由于缺乏有效的信息組織和收集方法,只能針對(duì)地 理位置等有限的廣告屏屬性進(jìn)行選屏,而難以綜合地理位置、受眾特征、商業(yè)環(huán)境等多維度 的約束條件進(jìn)行選屏;傳統(tǒng)的半自動(dòng)化排期方法難以應(yīng)對(duì)廣告投放業(yè)務(wù)的即時(shí)變化,存在 時(shí)間碎片多、屏幕利用率低的問(wèn)題。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明的目的在于實(shí)現(xiàn)一種基于Storm平臺(tái)的分布式數(shù)字標(biāo)牌廣告投放方法,將 選屏任務(wù)和排期任務(wù)部署在基于Hadoop集群Storm流計(jì)算框架上并行執(zhí)行;根據(jù)訂單的選 屏排期要求,以及廣告屏的開(kāi)關(guān)機(jī)時(shí)間、屏位的空閑時(shí)間段等條件,為每個(gè)訂單選擇屏位, 并在每個(gè)屏位上為訂單廣告排期,生成排期列表,并發(fā)送給播放端。
[0006] 本發(fā)明的方法分為5個(gè)階段:搭建基于Storm平臺(tái)的選屏排期框架-接收服務(wù)器 發(fā)來(lái)的訂單消息-為每個(gè)訂單選擇合適的屏位-為每個(gè)屏位進(jìn)行廣告排期并保存至Redis 數(shù)據(jù)庫(kù)-更新訂單狀態(tài),具體過(guò)程包括:1)搭建基于storm平臺(tái)的選屏排期處理框架:該框 架包含4個(gè)連續(xù)的任務(wù)階段,讀訂單,選屏,排期,更新訂單狀態(tài),按照前后順序形成多任務(wù) 段流水線;4個(gè)任務(wù)階段分別由一個(gè)發(fā)射源(Spout)和三個(gè)處理單元(Bolt)來(lái)實(shí)施;其中 在選屏和排期任務(wù)階段,可以同時(shí)并行運(yùn)行多個(gè)任務(wù),每個(gè)任務(wù)分別對(duì)應(yīng)于一個(gè)訂單或者 一個(gè)屏位;2)接收服務(wù)器發(fā)來(lái)的訂單消息:發(fā)射源讀訂單任務(wù)接收訂單服務(wù)器發(fā)來(lái)的訂單 消息,發(fā)給選屏處理單元(SSBolt) ;3)為每個(gè)訂單選擇合適的屏位:選屏處理單元為每個(gè) 訂單啟動(dòng)一個(gè)選屏任務(wù),根據(jù)每個(gè)訂單中提供的地理位置、受眾特征、商業(yè)環(huán)境等多維度的 約束條件,為每個(gè)廣告訂單選擇合適的屏位;4)為每個(gè)屏位進(jìn)行廣告排期:排期處理單元 (SCBolt)為每個(gè)屏位啟動(dòng)一個(gè)排期任務(wù),對(duì)排在該屏位上的每個(gè)訂單,按照訂單中設(shè)定的 時(shí)間約束條件、屏位空閑時(shí)間段等進(jìn)行排期,生成該屏位的排期列表以及每個(gè)訂單獨(dú)立的 排期列表,存入Redis數(shù)據(jù)庫(kù);5)更新訂單狀態(tài):狀態(tài)處理單元(ResultBolt)判斷每個(gè)訂 單在每個(gè)屏位上的排期次數(shù),如果滿足訂單要求,則修改訂單狀態(tài)為已排期狀態(tài),否則置為 失敗狀態(tài)。
[0007] 具體來(lái)說(shuō),本發(fā)明的方法包括下列步驟:
[0008] A.搭建基于Storm平臺(tái)的選屏排期框架:該框架包含讀訂單,選屏,排期,更新 訂單狀態(tài)四個(gè)連續(xù)任務(wù)階段,分別由讀訂單處理單元(OrderSocketSpout)、選屏處理單元 (SSBolt)、排期處理單元(SCBolt)和狀態(tài)處理單元(ResultBolt)組成,具體實(shí)現(xiàn)如下:
[0009] AL OrderSocketSpout從Socket服務(wù)器讀取訂單信息,并將一個(gè)訂單的所有信息 打包成一個(gè)元組(tuple),并發(fā)射給SSBolt ;
[0010] 所述的元組(tuple)指一次訂單消息傳遞的基本單元,源源不斷傳遞的tuple組 成數(shù)據(jù)流(stream);
[0011] A2. SSBolt為每個(gè)訂單啟動(dòng)一個(gè)選屏任務(wù),根據(jù)接收到的訂單的地理位置、受眾特 征、商業(yè)環(huán)境等多維度的約束條件,進(jìn)行精準(zhǔn)選屏,得到每個(gè)訂單的屏位集合;并合并每個(gè) 屏位上的訂單ID,形成集合;將屏位ID、訂單ID、以及該訂單在該屏位上分配的次數(shù)打包成 元組,發(fā)射給SCBolt ;
[0012] A3. SCBolt每接到一個(gè)元組,為元組指定的屏位ID啟動(dòng)一個(gè)排期任務(wù),為該屏位 上的訂單ID,按照訂單約束條件和屏位空閑時(shí)間段排期,生成排期列表;將屏位ID、訂單 ID、以及未排完的次數(shù)打包成元組,發(fā)射給ResultBolt ;
[0013] A4. ResultBolt接收到步驟A3發(fā)來(lái)的元組,累計(jì)該訂單未排完的次數(shù),如果累計(jì) 未排完次數(shù)為〇,則修改訂單狀態(tài)為已排期狀態(tài);否則修改訂單狀態(tài)為排期失敗狀態(tài);
[0014] B.讀訂單發(fā)射源(OrderSocketSpout)接收Socket服務(wù)器發(fā)來(lái)的訂單消息,以元 組形式發(fā)射給SSBolt選屏處理單元,具體實(shí)現(xiàn)如下:
[0015] B1.0 rderSocketSpout 與 Socket 服務(wù)器建立連接;
[0016] B2. OrderSocketSpout最初接收到的訂單信息是以<xml>為開(kāi)端,<\xml>為結(jié)尾 格式的訂單,找到訂單中以〈Order〉為開(kāi)端,〈/Order〉為結(jié)尾的部分內(nèi)容;
[0017] B3.截取B2所找到的內(nèi)容,將訂單格式修改為以〈Order〉為開(kāi)端,〈/Order〉為結(jié) 尾格式的訂單;
[0018] B4.將這個(gè)訂單信息以元組形式發(fā)射給SSBolt ;
[0019] C. SSBolt為每個(gè)訂單選擇合適的屏位:根據(jù)接收到的訂單的媒體商ID、標(biāo)簽集 合、要求的廣告屏以及屏位寬高尺寸、要求的地理位置以及廣告屏的相容互斥標(biāo)簽,為這個(gè) 訂單啟動(dòng)一個(gè)選屏任務(wù),進(jìn)行精準(zhǔn)選屏;將屏位ID、訂單ID、以及該訂單在該屏位上分配的 排期次數(shù)打包成元組,發(fā)射給SCBolt ;
[0020] D.根據(jù)訂單要求的總次數(shù)、播放頻次,計(jì)算訂單在該屏位上每天應(yīng)當(dāng)播放的次數(shù), 具體實(shí)現(xiàn)如下:
[0021] DL分別算出一天秒值(oneday)、起始日期秒值(sday)、明天日期秒值 (tomorow)、結(jié)束日期秒值(eday),在起始日期秒值與明天日期秒值中取較大值作為起始日 期;
[0022] D2.把總次數(shù)分?jǐn)偟綇钠鹗既掌诘浇Y(jié)束日期的每一天,計(jì)算每天應(yīng)播放的次數(shù),具 體實(shí)現(xiàn)如下:
[0023] D2. 1根據(jù)days = (eday_sday)/oneday算出播放此廣告需要的天數(shù);
[0024] D2. 2根據(jù)訂單要求的每天最多播放的次數(shù)(ad_frequency),計(jì)算每天播放的次 數(shù):
[0025] D2. 2. 1 如果 days*ad_frequency> 沒(méi)有被排期的訂單的次數(shù)(not_play), 則計(jì)算頻次(times) = not_play/days,剩余沒(méi)有被排期的訂單(left) = (not_ play_times*days),left再根據(jù)剩余的天數(shù)安排每天播放的次數(shù);
[0026] D2. 2. 2 如果 days*ad_frequency〈 = not_play,則根據(jù) ad_frequency 來(lái)安排每天 播放的次數(shù);
[0027] E.將廣告屏的時(shí)間段采用時(shí)間軌道的方法管理,具體實(shí)現(xiàn)如下:
[0028] 所述的時(shí)間段(segments)記為[秒值(time),秒長(zhǎng)(tlen)];秒值time表示距離 當(dāng)天0時(shí)0分0秒的秒數(shù);秒長(zhǎng)tlen表示時(shí)間段的秒數(shù);
[0029] 所述的時(shí)間軌道是一個(gè)用二進(jìn)制長(zhǎng)字節(jié)字符串(bytes)表示的時(shí)間段,每一個(gè)二 進(jìn)制位代表1秒,〇表不空閑,1表不被占用;
[0030] EL將一個(gè)被占用的時(shí)間段(segments) [time,tlen]轉(zhuǎn)換為時(shí)間軌道(bytes)的 算法(SegmentsToBytes),具體實(shí)現(xiàn)如下:
[0031] El. 1定義一個(gè)二進(jìn)制長(zhǎng)字節(jié)字符串(右端為低位0)表示的空時(shí)間軌道;
[0032] EL 2在時(shí)間軌道中,把從time開(kāi)始的tlen位二進(jìn)制位串置為1,具體實(shí)現(xiàn)如下:
[0033] 將1左移tlen個(gè)長(zhǎng)度,將其結(jié)果減1,將減1的結(jié)果向左移time個(gè)長(zhǎng)度,得到從 time開(kāi)始向右的tlen位為1的二進(jìn)制位串;
[0034] E2.將一個(gè)時(shí)間軌道轉(zhuǎn)換為時(shí)間段的算法(BytesToSegment),具體實(shí)現(xiàn)如下:
[0035] 在時(shí)間軌道中,判斷從多少位開(kāi)始是1,開(kāi)始記錄time,再判斷多少位的時(shí)候變回 0,記錄為tlen,具體實(shí)現(xiàn)如下:
[0036] 從最低位0位開(kāi)始數(shù),右移計(jì)數(shù),右移η次如果發(fā)現(xiàn)最低位變1 了,則說(shuō)明n+1位 是1,如此往復(fù),最終得到此二進(jìn)制串所相對(duì)應(yīng)的[time,tlen];
[0037] E3.合并兩個(gè)時(shí)間段的算法,具體實(shí)現(xiàn)
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
芒康县| 安义县| 兴安县| 广宁县| 米林县| 都匀市| 依兰县| 慈利县| 佛山市| 宜丰县| 嵊泗县| 永登县| 高雄市| 中阳县| 禄丰县| 翼城县| 芮城县| 航空| 阿城市| 中西区| 彰化县| 陆良县| 宣威市| 双流县| 北票市| 宜黄县| 东乡| 杭锦后旗| 兴安县| 辽源市| 连山| 安福县| 龙门县| 临高县| 芦山县| 于都县| 西充县| 巴林右旗| 开封市| 太仆寺旗| 温泉县|