整體流程:Android上報廣告,統(tǒng)計-->分析-->計費。
為了減少后端壓力,中間加了收集的流程,由于廣告量比較大所以我采用了Openresty這門語言來收集。
OpenResty 致力于將你的服務器端應用完全運行于 Nginx 服務器中,充分利用 Nginx 的事件模型來進行非阻塞 I/O 通信。不僅僅是和 HTTP 客戶端間的網(wǎng)絡通信是非阻塞的,與MySQL、PostgreSQL、Memcached 以及 Redis 等眾多遠方后端之間的網(wǎng)絡通信也是非阻塞的?! 乱啻?/i>
接下來說一下加密和收集的流程:
?1.Android端(以下稱電視) 向openresty申請uuid,每次申請50個本地存為數(shù)組,每次使用一個就刪掉一個,用完會重新獲取。
2.電視申請uuid后要根據(jù)加密串和終端mac地址進行對稱加密,發(fā)送給Openresty,代理層會根據(jù)之前預存的uuid進行第一次校驗,uuid存在我的庫里將會進行后續(xù)操作,如不存在則認為是非法請求。(此過程是防止惡意攻擊以及無效請求產生壓力),uuid校驗通過后將會進行對稱解密,如正常解密說明數(shù)據(jù)安全,存儲至緩存服務器。
3.后端采用php或者go來根據(jù)收集數(shù)據(jù)進行分析即可。