亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

定向流量的統(tǒng)計控制方法、系統(tǒng)與流程

文檔序號:11388777閱讀:499來源:國知局
定向流量的統(tǒng)計控制方法、系統(tǒng)與流程

本發(fā)明涉及網(wǎng)絡數(shù)據(jù)流量的統(tǒng)計控制技術領域,尤其涉及一種定向流量的統(tǒng)計控制方法、系統(tǒng)。



背景技術:

基于內容分發(fā)網(wǎng)絡(contentdeliverynetwork,cdn)的定向流量系統(tǒng),是指cdn服務提供商向多家運營商(例如移動、電信、聯(lián)通)采購定向流量,以代理的角色向內容提供商(例如移動終端上的app生產(chǎn)者)提供全網(wǎng)統(tǒng)一的定向流量服務時所使用的系統(tǒng),該系統(tǒng)通?;趥鹘y(tǒng)的cdn系統(tǒng)進行改造。cdn服務商將一部分cdn代理節(jié)點的ip(internetprotocol,網(wǎng)絡協(xié)議)地址向運營商報備注冊成為定向流量代理節(jié)點,內容提供商的app發(fā)送的訪問請求通過引導方式轉發(fā)到這些定向流量代理節(jié)點,定向流量代理節(jié)點進行代理訪問,在代理訪問過程中所產(chǎn)生的流量即是定向流量。

在現(xiàn)有的定向流量系統(tǒng)中,客戶端app首先向調度中心驗證鑒權,待鑒權通過后,拉取令牌(token)作為客戶端app的身份信息,客戶端app將攜帶令牌的訪問請求轉發(fā)到代理節(jié)點進行代理訪問,代理節(jié)點根據(jù)請求中攜帶的令牌,從代理節(jié)點的節(jié)點數(shù)據(jù)庫中查詢該令牌對應的信息實體,例如流量限額、已用流量等。如果該令牌有效,并且剩余流量額度未用完,代理節(jié)點轉發(fā)該訪問請求至源站進行代理訪問;如果該令牌無效或者流量額度已用完,則拒絕該訪問請求。同時,在代理訪問過程中,代理節(jié)點進行流量統(tǒng)計,并將已用流量更新至節(jié)點數(shù)據(jù)庫,該節(jié)點數(shù)據(jù)庫持久化在磁盤中,因此當代理節(jié)點故障或重啟后,節(jié)點數(shù)據(jù)庫中的數(shù)據(jù)仍然存在,為了保證客戶端流量信息的實時性,節(jié)點數(shù)據(jù)庫定期同步數(shù)據(jù)至中央數(shù)據(jù)庫,以便在調度中心鑒權時判斷流量額度情況。

然而,在傳統(tǒng)的cdn架構中,代理節(jié)點的請求是無狀態(tài)的,請求之間互不關聯(lián),代理節(jié)點也無需存儲用戶狀態(tài),當修改為定向流量系統(tǒng)后,代理節(jié)點的請求變?yōu)橛袪顟B(tài),并開始依賴外部存儲(例如節(jié)點數(shù)據(jù)庫)保存用戶信息,在代理節(jié)點轉發(fā)請求時增加了用戶信息的讀寫步驟,導致磁盤io負載、等待時間都大幅提升,同時還需要額外增加數(shù)據(jù)同步方面的功能,邏輯也更加復雜,進而,帶來總的負載能力大幅下降,可擴展性、可靠性顯著降低的問題。



技術實現(xiàn)要素:

為了解決現(xiàn)有技術的問題,本發(fā)明實施例提供了一種定向流量的統(tǒng)計控制方法、系統(tǒng)。所述技術方案如下:

一方面,提供了一種定向流量的統(tǒng)計控制方法,包括如下步驟:

調度中心分配代理節(jié)點至通過鑒權的客戶端,并將包含有客戶端信息實體的票據(jù)發(fā)送至所述客戶端,其中,所述客戶端唯一對應所述代理節(jié)點;

所述代理節(jié)點接收所述客戶端的包括所述票據(jù)的訪問請求,并根據(jù)所述訪問請求進行代理訪問;

所述代理節(jié)點根據(jù)代理訪問產(chǎn)生的流量更新所述票據(jù),并根據(jù)更新后的所述票據(jù)對所述客戶端進行流量控制,以及將更新后的所述票據(jù)提交至所述調度中心。

進一步的,所述客戶端信息實體至少包括以下之一:當前時間戳、代理節(jié)點ip、用戶令牌、票據(jù)版本號、流量限額、已用流量。

進一步的,所述代理節(jié)點接收所述客戶端的包括所述票據(jù)的訪問請求,并根據(jù)所述訪問請求進行代理訪問的步驟具體為:

所述代理節(jié)點根據(jù)所述票據(jù)分配代理服務實例進程至所述客戶端,所述代理服務實例進程根據(jù)所述訪問請求對客戶端進行代理訪問,其中,所述客戶端唯一對應所述代理服務實例進程。

進一步的,所述代理節(jié)點根據(jù)更新后的所述票據(jù)對所述客戶端進行流量控制的步驟具體為:

所述代理服務實例進程實時監(jiān)控所述流量限額和所述已用流量,當所述已用流量大于等于所述流量限額時,所述代理服務實例進程停止代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

進一步的,所述代理節(jié)點將更新后的所述票據(jù)提交至所述調度中心的步驟具體包括:

所述代理服務實例進程根據(jù)更新后的所述票據(jù)生成日志文件;

所述代理服務實例進程定期將所述日志文件提交至所述代理節(jié)點,或者所述代理服務實例進程重啟之前將所述日志文件提交至所述代理節(jié)點;

所述代理節(jié)點定期將所述代理服務實例進程提交的所述日志文件更新至所述調度中心,或者所述代理節(jié)點重啟之前將所述代理服務實例進程提交的所述日志文件更新至所述調度中心。

進一步的,所述代理節(jié)點根據(jù)所述訪問請求進行代理訪問的步驟之前,還包括所述代理節(jié)點根據(jù)所述票據(jù)生成的判斷策略,判斷所述訪問請求的有效性的步驟;

其中,所述判斷策略至少包括:

所述當前時間戳大于等于所述代理服務實例進程的啟動時間,則所述訪問請求有效,進行代理訪問;

所述當前時間戳小于所述代理服務實例進程的啟動時間,則所述訪問請求無效,拒絕代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端;

所述代理節(jié)點ip等于接收所述客戶端訪問請求的實際代理節(jié)點ip,則所述訪問請求有效,進行代理訪問;

所述代理節(jié)點ip不等于接收所述客戶端訪問請求的實際代理節(jié)點ip,則所述訪問請求無效,拒絕代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

另一方面,提供了一種定向流量的統(tǒng)計控制系統(tǒng),包括調度中心和代理節(jié)點,所述調度中心包括鑒權模塊,所述代理節(jié)點包括代理模塊、更新模塊和控制模塊,其中:

所述鑒權模塊,用于分配代理節(jié)點至通過鑒權的客戶端,并將包含有客戶端信息實體的票據(jù)發(fā)送至所述客戶端,其中,所述客戶端唯一對應所述代理節(jié)點;

所述代理模塊,用于接收所述客戶端的包括所述票據(jù)的訪問請求,并根據(jù)所述訪問請求進行代理訪問;

所述更新模塊,用于根據(jù)代理訪問產(chǎn)生的流量更新所述票據(jù),以及將更新后的所述票據(jù)提交至所述調度中心;

所述控制模塊,用于根據(jù)更新后的所述票據(jù)對所述客戶端進行流量控制。

進一步的,所述客戶端信息實體至少包括以下之一:當前時間戳、代理節(jié)點ip、用戶令牌、票據(jù)版本號、流量限額、已用流量。

進一步的,所述代理模塊還用于根據(jù)所述票據(jù)分配代理服務實例進程至所述客戶端,其中,所述代理服務實例進程根據(jù)所述訪問請求對客戶端進行代理訪問,所述客戶端唯一對應所述代理服務實例進程。

進一步的,所述控制模塊還用于控制所述代理服務實例進程實時監(jiān)控所述流量限額和所述已用流量,并當所述已用流量大于等于所述流量限額時,控制所述代理服務實例進程停止代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

進一步的,所述更新模塊還用于:

將所述代理服務實例進程代理訪問產(chǎn)生的流量更新至所述票據(jù),并根據(jù)更新后的所述票據(jù)生成日志文件;

將所述代理服務實例進程生成的所述日志文件定期提交至所述代理節(jié)點,或者待所述代理服務實例進程重啟之前將所述日志文件提交至所述代理節(jié)點;

將提交至所述代理節(jié)點的所述日志文件定期更新至所述調度中心,或者待所述代理節(jié)點重啟之前將提交至所述代理節(jié)點的所述日志文件更新至所述調度中心。

進一步的,所述代理節(jié)點還包括判斷模塊,用于根據(jù)所述票據(jù)生成的判斷策略,判斷所述訪問請求的有效性;

其中,所述判斷策略至少包括:

所述當前時間戳大于等于所述代理服務實例進程的啟動時間,則所述訪問請求有效,進行代理訪問;

所述當前時間戳小于代理服務實例進程的啟動時間,則所述訪問請求無效,拒絕代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端;

所述代理節(jié)點ip等于接收所述客戶端訪問請求的實際代理節(jié)點ip,則所述訪問請求有效,進行代理訪問;

所述代理節(jié)點ip不等于接收所述客戶端訪問請求的實際代理節(jié)點ip,則所述訪問請求無效,拒絕代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

本發(fā)明實施例提供的技術方案帶來的有益效果是:

通過將包含有客戶端信息實體的票據(jù)直接加載至客戶端訪問請求中,代理節(jié)點直接從訪問請求中獲取客戶端的信息實體,無需從節(jié)點數(shù)據(jù)庫查詢獲取,同時,通過對票據(jù)的實時更新以及票據(jù)與調度中心的及時同步,保證了客戶端流量信息的準確性,即使代理節(jié)點重啟也不影響流量的精確統(tǒng)計和控制,進而將定向流量代理節(jié)點的持久化存儲簡化為內存級別的臨時存儲,大幅簡化了系統(tǒng)架構,提升了負載能力、可擴展性。并且增加對客戶端訪問請求的判斷過程以及對票據(jù)信息的加密過程,進一步提高了可靠性。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例一提供的一種定向流量的統(tǒng)計控制方法流程圖;

圖2是本發(fā)明實施例一提供的票據(jù)同步步驟的詳細子步驟流程圖;

圖3是本發(fā)明實施例二提供的一種定向流量的統(tǒng)計控制系統(tǒng)示意圖;

圖4是本發(fā)明實施例二提供的另一種定向流量的統(tǒng)計控制系統(tǒng)示意圖。

具體實施方式

為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。

實施例一

本發(fā)明實施例提供了一種定向流量的統(tǒng)計控制方法,參見圖1,包括如下步驟:

s101:調度中心分配代理節(jié)點至通過鑒權的客戶端,并將包含有客戶端信息實體的票據(jù)發(fā)送至所述客戶端,其中,所述客戶端唯一對應所述代理節(jié)點。

在本實施例中,上述客戶端指的是,運行在移動終端上的客戶端app,例如優(yōu)酷視頻app、騰訊視頻app,移動終端包括但不限于手機、平板電腦。

在本實施例中,實施本步驟之前還包括客戶端向調度中心驗證鑒權的步驟,調度中心根據(jù)客戶端鑒權請求中的信息,從調度中心的中央數(shù)據(jù)庫中查詢該客戶端的信息實體,例如用戶令牌、流量限額以及已用流量,如果該用戶令牌合法,且已用流量未超過其流量限額,則通過鑒權,否則鑒權失敗,拒絕該用戶訪問。

在本實施例中,調度中心對通過鑒權的客戶端,從所有的代理節(jié)點中,選擇一個與客戶端處于同一運營商網(wǎng)絡,且地理位置最近的一個代理節(jié)點,分配至該通過鑒權的客戶端。同時,通過算法保證該客戶端唯一對應分配至該客戶端的代理節(jié)點,所述唯一對應,是指該客戶端每次訪問時,調度中心均分配同一個代理節(jié)點,例如根據(jù)一致性哈希規(guī)則算法,保證每次分配至該客戶端的代理節(jié)點為同一代理節(jié)點,避免每次分配至該客戶端的代理節(jié)點不同,引起信息同步不及時而帶來流量統(tǒng)計錯誤的問題。

在本實施例中,調度中心對通過鑒權的客戶端,還會生成一個票據(jù)(ticket),并發(fā)送至通過鑒權的客戶端,該票據(jù)包含有客戶端信息實體。

在本實施例中,所述客戶端信息實體至少包括以下之一:當前時間戳、代理節(jié)點ip、用戶令牌、票據(jù)版本號、流量限額、已用流量。

具體而言,當前時間戳表示該票據(jù)的生成時間,例如當前時間戳為2017.2.14.09.31.52,表示票據(jù)生成時間為2017年2月14日上午9點31分52秒。代理節(jié)點ip為調度中心根據(jù)一致性哈希規(guī)則分配的代理節(jié)點的ip地址。用戶令牌為標識該用戶的標識符,并且用戶令牌具有唯一性,即不同用戶以及不同應用的令牌都不相同。流量限額為該用戶訂購的定向流量總和,已用流量為該用戶消耗的流量總和。

對于票據(jù)版本號,由于用戶訪問會動態(tài)產(chǎn)生流量,以及用戶流量限額隨需求會發(fā)生變化,因而票據(jù)需要及時更新,票據(jù)版本號用以標識該票據(jù)的不同版本,例如,新用戶的票據(jù)版本號從0開始,每當該用戶流量限額發(fā)生變化,則版本號遞增1。

為了提升用戶體驗,每次鑒權獲取的票據(jù)可以反復使用,直到產(chǎn)生特定行為觸發(fā)重新鑒權為止。例如用戶流量超限時,需要重新向調度中心發(fā)起鑒權更新票據(jù),或者用戶在客戶端重新登錄時,也會重新向調度中心發(fā)起鑒權更新票據(jù)。

s102:所述代理節(jié)點接收所述客戶端的包括所述票據(jù)的訪問請求,并根據(jù)所述訪問請求進行代理訪問。

在本實施例中,客戶端使用定向流量上網(wǎng)時,通過將訪問請求轉發(fā)至調度中心所分配的代理節(jié)點,并且在訪問請求中攜帶票據(jù),代理節(jié)點根據(jù)票據(jù)中提供的用戶信息進行后續(xù)代理操作,進而省略了代理節(jié)點向節(jié)點數(shù)據(jù)庫查詢用戶信息實體的步驟。

在本實施例中,所述代理節(jié)點接收所述客戶端的包括所述票據(jù)的訪問請求,并根據(jù)所述訪問請求進行代理訪問的步驟具體為,所述代理節(jié)點根據(jù)所述票據(jù)分配代理服務實例進程至所述客戶端,所述代理服務實例進程根據(jù)所述訪問請求對客戶端進行代理訪問,其中,所述客戶端唯一對應所述代理服務實例進程。

具體而言,代理節(jié)點在收到客戶端的訪問請求后,分配具體的代理服務實例進程,該代理服務實例進程將根據(jù)所述訪問請求進行代理訪問,并通過算法保證該客戶端訪問請求唯一對應響應該請求的代理服務實例進程,例如對票據(jù)中的用戶令牌做一致性哈希,保證每次分配給該客戶端的代理服務實例進程均為同一代理服務實例進程,該代理服務實例進程根據(jù)客戶端的訪問請求,轉發(fā)該訪問請求至源站,進行代理訪問。

在本實施例中,通過將包含有客戶端信息實體的票據(jù)直接加載至客戶端訪問請求中,代理節(jié)點直接從訪問請求中獲取客戶端的信息實體,無需從節(jié)點數(shù)據(jù)庫查詢獲取,進而能夠去掉節(jié)點數(shù)據(jù)庫,將持久化存儲簡化為內存級別的臨時存儲,因而代理節(jié)點只在內存中臨時保存訪問流量的相關信息。代理服務實例進程在進行代理訪問之前,會檢查內存中是否存在該票據(jù),如果不存在,則將該票據(jù)保存到內存中;如果已存在,則檢查票據(jù)版本號是否大于當前內存中保存的票據(jù)版本號,若大于,則更新票據(jù),將票據(jù)最新版本號和流量限額信息更新至票據(jù),若不大于,則不做處理。

s103:所述代理節(jié)點根據(jù)代理訪問產(chǎn)生的流量更新所述票據(jù),并根據(jù)更新后的所述票據(jù)對所述客戶端進行流量控制,以及將更新后的所述票據(jù)提交至所述調度中心。

在本實施例中,票據(jù)信息不是一成不變的,例如票據(jù)信息中的已用流量會隨著訪問過程中產(chǎn)生的流量實時更新,保證票據(jù)信息的實時性。

在本實施例中,所述代理節(jié)點根據(jù)更新后的所述票據(jù)對所述客戶端進行流量控制的步驟具體為,所述代理服務實例進程實時監(jiān)控所述流量限額和所述已用流量,當所述已用流量大于等于所述流量限額時,所述代理服務實例進程停止代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

在本實施例中,代理服務實例進程將訪問請求與票據(jù)進行關聯(lián)標記,同時計算訪問過程中用戶產(chǎn)生的流量,并將流量信息在票據(jù)的已用流量中進行更新。當代理訪問過程中,當發(fā)現(xiàn)已用流量超過流量限額時代理服務實例進程中斷該代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

參見圖2,圖2示出了票據(jù)信息同步至調度中心的具體步驟,在本實施例中,所述代理節(jié)點將更新后的所述票據(jù)提交至所述調度中心的步驟具體包括s201-s203三個子步驟。

s201:所述代理服務實例進程根據(jù)更新后的所述票據(jù)生成日志文件。

具體而言,代理服務實例進程根據(jù)代理訪問的連接或者請求粒度計算訪問產(chǎn)生的流量,并在票據(jù)中進行更新,同時落地生成日志文件,該日志文件中記載有本次代理訪問的相關信息,包括票據(jù)信息,及票據(jù)更新信息等。

s202:所述代理服務實例進程定期將所述日志文件提交至所述代理節(jié)點,或者所述代理服務實例進程重啟之前將所述日志文件提交至所述代理節(jié)點。

具體而言,為了保障信息實體的一致性,解決同步和重啟恢復方面的問題,代理服務實例進程不僅需要定期將該代理服務實例進程的日志文件提交至上級代理節(jié)點,例如代理服務實例進程每五分鐘將將該代理服務實例進程的日志文件提交至上級代理節(jié)點;還需要在該代理服務實例進程重啟之前提交該日志文件。

需要注意的是,上述將日志文件提交的目的是為了保證客戶端訪問過程中流量統(tǒng)計和控制的準確性,因而代理服務實例進程定期提交的時間間隔需要在一個合理的范圍內進行選取,該時間間隔過短會消耗過多的系統(tǒng)資源,過久會降低流量統(tǒng)計控制的準確性,例如在五分鐘至一小時內進行時間間隔選取,當然還可以根據(jù)實際需要選取其他范圍,在此不做限定。

進一步的,代理服務實例進程在進行代理訪問過程時,發(fā)現(xiàn)客戶端已用流量超出流量限額時,此時,代理服務實例進程提交該客戶端的日志文件至代理節(jié)點,代理節(jié)點再將該日志文件提交至調度中心的中央數(shù)據(jù)庫,保證用戶流量信息的一致性,便于客戶端再次鑒權時,調度中心對客戶端進行鑒權。

s203:所述代理節(jié)點定期將所述代理服務實例進程提交的所述日志文件更新至所述調度中心,或者所述代理節(jié)點重啟之前將所述代理服務實例進程提交的所述日志文件更新至所述調度中心。

具體而言,待代理節(jié)點下屬的各個代理服務實例進程的日志文件統(tǒng)一提交完成后,代理節(jié)點實時將這些代理服務實例進程提交的所有日志文件提交至調度中心的中央數(shù)據(jù)庫,同時,代理節(jié)點重啟之前,也需要提交其所有的日志文件至中央數(shù)據(jù)庫,進而保證用戶流量信息的一致性,便于調度中心鑒權。

需要說明的是,當調度中心接收到客戶端重新鑒權的請求時,調度中心將根據(jù)中央數(shù)據(jù)庫中該客戶端的最新日志文件,對該客戶端對應的票據(jù)信息進行更新,例如已用流量、票據(jù)版本號等信息,同時根據(jù)客戶端鑒權請求中的有效的變更流量限額請求,對流量限額進行更新,并發(fā)送更新后的票據(jù)至所述客戶端。

通過對票據(jù)的實時更新以及票據(jù)與調度中心的及時同步,保證了客戶端流量信息的準確性,即使代理節(jié)點重啟也不影響流量的精確統(tǒng)計和控制,進而將定向流量代理節(jié)點的持久化存儲,例如節(jié)點數(shù)據(jù)庫,簡化為內存級別的臨時存儲,例如票據(jù),進而大幅簡化了系統(tǒng)架構,提升了負載能力、可擴展性。

在本實施例中,還包括所述調度中心對所述票據(jù)加密的步驟,以及所述代理節(jié)點對所述票據(jù)解密的步驟。

具體而言,調度中心采用的加密算法和代理節(jié)點采用的解密算法不做限定,例如可以是高級加密標準(advancedencryptionstandard,aes)、公鑰加密算法(rsa)、rc4等加解密算法。

需要注意的是,上述調度中心的加密只有調度中心分配的代理節(jié)點才能進行解密,并且調度中心還可以對不同的代理節(jié)點采取不同的加密算法,例如調度中心和代理節(jié)點a之間,采用aes算法,調度中心和代理節(jié)點b之間,采用rsa算法。

通過上述加密方式,能夠確保票據(jù)即使被截獲,也無法獲取票據(jù)內的實體明文,進而防止定向流量盜用,進一步提供了系統(tǒng)的可靠性。

在本實施例中,所述代理節(jié)點根據(jù)所述訪問請求進行代理訪問的步驟之前,還包括所述代理節(jié)點根據(jù)所述票據(jù)生成的判斷策略,判斷所述訪問請求的有效性的步驟。

具體而言,所述判斷策略至少包括:

所述當前時間戳大于等于所述代理服務實例進程的啟動時間,則所述訪問請求有效,進行代理訪問。制定本項策略能夠避免票據(jù)過時后再次利用的問題,例如代理服務實例進程重啟之前,代理服務實例進程將保存的記錄有用戶信息的日志文件上傳至代理節(jié)點,進而上傳至中央數(shù)據(jù)庫進行用戶流量信息更新,提升調度中心對用戶鑒權的準確性,同時,由于重啟后的代理服務實例進程不再保存有用戶信息,如果客戶端使用過時的票據(jù),也就是使用更新前的票據(jù),此時,票據(jù)中的流量信息不是最新的流量信息,進而會引起流量統(tǒng)計不準確的問題。通過校驗時間戳,能夠確保票據(jù)是在代理服務實例進程重啟后生成的,進而保證票據(jù)中的流量信息是最新生成的。

所述當前時間戳小于所述代理服務實例進程的啟動時間,則所述訪問請求無效,拒絕代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端;本項策略表明票據(jù)已過時,需要客戶端重新發(fā)起鑒權,獲取最新的票據(jù)。

所述代理節(jié)點ip等于接收所述客戶端訪問請求的實際代理節(jié)點ip,則所述訪問請求有效,進行代理訪問;本項策略能夠有效應對惡意攻擊,防止惡意攻擊者將截獲到的分配給其他代理節(jié)點的票據(jù),在不正確的代理節(jié)點使用。

所述代理節(jié)點ip不等于接收所述客戶端訪問請求的實際代理節(jié)點ip,則所述訪問請求無效,拒絕代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

為了便于維護人員調試系統(tǒng)時,準確判斷錯誤原因,上述重新鑒權的錯誤碼具有不同的內容,例如301表示當前時間戳驗證失敗,302表示代理節(jié)點ip錯誤。

需要注意的是,上述判斷策略只是本實施例中代理節(jié)點根據(jù)票據(jù)判斷訪問請求有效性的一種具體實施方式,不作為對其他實施方式的限定。

通過對客戶端的訪問請求進行上述判斷,能夠有效防止定向流量盜用,并提升流量統(tǒng)計的準確性,進一步提高了定向流量系統(tǒng)的可靠性。

實施例二

參見圖3,本發(fā)明實施例提供了一種定向流量的統(tǒng)計控制系統(tǒng),可以執(zhí)行實施例一中提供的定向流量的統(tǒng)計控制方法,所述系統(tǒng)包括調度中心30和代理節(jié)點40,所述調度中心30包括鑒權模塊310,所述代理節(jié)點40包括代理模塊410、更新模塊420和控制模塊430,其中:

所述鑒權模塊310,用于分配代理節(jié)點40至通過鑒權的客戶端,并將包含有客戶端信息實體的票據(jù)發(fā)送至所述客戶端,其中,所述客戶端唯一對應所述代理節(jié)點40;

所述代理模塊410,用于接收所述客戶端的包括所述票據(jù)的訪問請求,并根據(jù)所述訪問請求進行代理訪問;

所述更新模塊420,用于根據(jù)代理訪問產(chǎn)生的流量更新所述票據(jù),以及將更新后的所述票據(jù)提交至所述調度中心30;

所述控制模塊430,用于根據(jù)更新后的所述票據(jù)對所述客戶端進行流量控制。

在本實施例中,上述客戶端指的是,運行在移動終端上的客戶端app,例如優(yōu)酷視頻app、騰訊視頻app,移動終端包括但不限于手機、平板電腦。

具體而言,鑒權模塊310根據(jù)客戶端鑒權請求中的信息,從調度中心30的中央數(shù)據(jù)庫中查詢該客戶端的信息實體,例如用戶令牌、流量限額以及已用流量,如果該用戶令牌合法,且已用流量未超過其流量限額,則通過鑒權,否則鑒權失敗,拒絕該用戶訪問。

進一步的,鑒權模塊310對通過鑒權的客戶端,從所有的代理節(jié)點40中,選擇一個與客戶端處于同一運營商網(wǎng)絡,且地理位置最近的一個代理節(jié)點40,分配至該通過鑒權的客戶端。同時,通過算法保證該客戶端唯一對應分配至該客戶端的代理節(jié)點40,所述唯一對應,是指該客戶端每次訪問時,鑒權模塊310均分配同一個代理節(jié)點40,例如根據(jù)一致性哈希規(guī)則算法,保證每次分配至該客戶端的代理節(jié)點40為同一代理節(jié)點40,避免每次分配至該客戶端的代理節(jié)點40不同,引起信息同步不及時而帶來流量統(tǒng)計錯誤的問題。

在本實施例中,鑒權模塊310對通過鑒權的客戶端,還會生成一個票據(jù),并發(fā)送至通過鑒權的客戶端,該票據(jù)包含有客戶端信息實體。

在本實施例中,所述客戶端信息實體至少包括以下之一:當前時間戳、代理節(jié)點ip、用戶令牌、票據(jù)版本號、流量限額、已用流量。

為了提升用戶體驗,每次鑒權獲取的票據(jù)可以反復使用,直到產(chǎn)生特定行為觸發(fā)重新鑒權為止。例如用戶流量超限時,需要重新向調度中心30發(fā)起鑒權更新票據(jù),或者用戶在客戶端重新登錄時,也會重新向調度中心30發(fā)起鑒權更新票據(jù)。

在本實施例中,所述代理模塊410還用于根據(jù)所述票據(jù)分配代理服務實例進程至所述客戶端,其中,所述代理服務實例進程根據(jù)所述訪問請求對客戶端進行代理訪問,所述客戶端唯一對應所述代理服務實例進程。

在本實施例中,所述控制模塊430還用于控制所述代理服務實例進程實時監(jiān)控所述流量限額和所述已用流量,并當所述已用流量大于等于所述流量限額時,控制所述代理服務實例進程停止代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

具體而言,代理服務實例進程將訪問請求與票據(jù)進行關聯(lián)標記,同時計算訪問過程中用戶產(chǎn)生的流量,并將流量信息在票據(jù)的已用流量中進行更新。當代理訪問過程中,當發(fā)現(xiàn)已用流量超過流量限額時代理服務實例進程中斷該代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端

在本實施例中,所述更新模塊420還用于:

將所述代理服務實例進程代理訪問產(chǎn)生的流量更新至所述票據(jù),并根據(jù)更新后的所述票據(jù)生成日志文件;

將所述代理服務實例進程生成的所述日志文件定期提交至所述代理節(jié)點40,或者待所述代理服務實例進程重啟之前將所述日志文件提交至所述代理節(jié)點40;

將提交至所述代理節(jié)點40的所述日志文件定期更新至所述調度中心30,或者待所述代理節(jié)點40重啟之前將提交至所述代理節(jié)點40的所述日志文件更新至所述調度中心30。

需要說明的是,當調度中心30的鑒權模塊310接收到客戶端重新鑒權的請求時,鑒權模塊310將根據(jù)中央數(shù)據(jù)庫中該客戶端的最新日志文件,對該客戶端對應的票據(jù)信息進行更新,例如已用流量、票據(jù)版本號等信息,同時根據(jù)客戶端鑒權請求中的有效的變更流量限額請求,對流量限額進行更新,并發(fā)送更新后的票據(jù)至所述客戶端。

通過對票據(jù)的實時更新以及票據(jù)與調度中心30的及時同步,保證了客戶端流量信息的準確性,即使代理節(jié)點40重啟也不影響流量的精確統(tǒng)計和控制,進而將定向流量代理節(jié)點40的持久化存儲,例如節(jié)點數(shù)據(jù)庫,簡化為內存級別的臨時存儲,例如票據(jù),進而大幅簡化了系統(tǒng)架構,提升了負載能力、可擴展性。

參見圖4,在本實施例中,所述代理節(jié)點40還包括判斷模塊440,用于根據(jù)所述票據(jù)生成的判斷策略,判斷所述訪問請求的有效性;

其中,所述判斷策略至少包括:

所述當前時間戳大于等于所述代理服務實例進程的啟動時間,則所述訪問請求有效,進行代理訪問;

所述當前時間戳小于代理服務實例進程的啟動時間,則所述訪問請求無效,拒絕代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端;

所述代理節(jié)點ip等于接收所述客戶端訪問請求的實際代理節(jié)點ip,則所述訪問請求有效,進行代理訪問;

所述代理節(jié)點ip不等于接收所述客戶端訪問請求的實際代理節(jié)點ip,則所述訪問請求無效,拒絕代理訪問,并發(fā)送重新鑒權的錯誤碼至所述客戶端。

需要注意的是,上述判斷策略只是本實施例中判斷模塊440根據(jù)票據(jù)判斷訪問請求有效性的一種具體實施方式,不作為對其他實施方式的限定。

通過對客戶端的訪問請求進行上述判斷,能夠有效防止定向流量盜用,并提升流量統(tǒng)計的準確性,進一步提高了定向流量系統(tǒng)的可靠性。

在本實施例中,所述調度中心30還包括加密模塊,用于對所述票據(jù)加密;所述代理節(jié)點40還包括解密模塊,用于對所述票據(jù)解密。

具體而言,加密模塊采用的加密算法和解密模塊采用的解密算法不做限定,并且上述加密過程只有調度中心30分配的代理節(jié)點40才能進行解密,并且調度中心30還可以對不同的代理節(jié)點40采取不同的加密算法。

通過上述加密方式,能夠確保票據(jù)即使被截獲,也無法獲取票據(jù)內的實體明文,進而防止定向流量盜用,進一步提供了系統(tǒng)的可靠性。

需要說明的是,所述代理節(jié)點40還可以同時包括判斷模塊440和解密模塊,進一步提高系統(tǒng)的可靠性。

本發(fā)明實施例通過將包含有客戶端信息實體的票據(jù)直接加載至客戶端訪問請求中,代理節(jié)點直接從訪問請求中獲取客戶端的信息實體,無需從節(jié)點數(shù)據(jù)庫查詢獲取,同時,通過對票據(jù)的實時更新以及票據(jù)與調度中心的及時同步,保證了客戶端流量信息的準確性,即使代理節(jié)點重啟也不影響流量的精確統(tǒng)計和控制,進而將定向流量代理節(jié)點的持久化存儲簡化為內存級別的臨時存儲,大幅簡化了系統(tǒng)架構,提升了負載能力、可擴展性。并且增加對客戶端訪問請求的判斷過程以及對票據(jù)信息的加密過程,進一步提高了可靠性。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。

通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。

以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1