專利名稱:網關接入控制方法、系統及裝置的制作方法
技術領域:
本發明涉及網絡通信技術領域,特別設計一種網關接入控制方法、系統及裝置。
背景技術:
反向代理(Reverse ftOxy)方式是指以代理服務器來接受hternet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給^ternet 上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。反向代理網關就是負責反向代理、訪問控制以及安全控制的功能。如圖1所示,傳統的接入請求的安全控制的流程,包括如下步驟步驟S101,接收用戶的接入請求;步驟S102,對接入請求進行安全控制A的安全檢查;步驟S103,對接入請求進行安全控制B的安全檢查;步驟S104,將經過安全檢查的接入請求轉至后端服務器,有后端服務器對其進行處理。傳統的網關接入控制存在以下幾個問題(1)傳統的網關接入控制只針對服務,而沒有區分用戶。例如為某個Vip添加同步代理synproxy功能,則訪問該服務的所有tcp連接請求,都需要經過synproxy處理。但是,對于部分高優先級的用戶沒有必要開啟這些訪問控制。從而,在耗費網關計算資源的同時,也導致部分高優先級用戶延遲,影響用戶的體驗。(2)當網關由于某些原因發生處理擁塞時,如受到DDos攻擊,硬件損壞等,所有服務請求均受到影響。但是,沒有區分用戶和服務的優先級。而在實際上,某些特權用戶(VIP 用戶)的請求需要優先處理。同樣,對于某些核心業務的對應的服務,也需要優先占用資源。
發明內容
本發明旨在至少解決現有技術中存在的技術問題之一。為此,本發明的第一個目的在于提供一種網關接入控制方法,該方法可以根據優先級動態地調整網關處理流程,降低了網關的資源消耗。本發明的第二個目的在于提供一種網關接入控制系統。本發明的第三個目的在于提供一種網關。為實現上述目的,本發明第一方面的實施例提供了一種網關接入控制方法,包括如下步驟網關接收多個用戶發送的多個接入請求;所述網關分別計算所述多個接入請求對應的優先級;所述網關按照計算的優先級加入至優先級隊列并排序;以及所述網關按照排序的優先級順序將所述多個接入請求依次地發送至后端服務器。根據本發明實施例的網關接入控制方法,通過綜合考慮接入請求的用戶和服務兩項指標,計算該接入請求的優先級,根據該優先級動態調整和簡化網關處理流程,從而降低網關資源消耗并加快網關處理速度。此外,在網關滿負荷工作時,根據優先級處理資源搶占,從而保護了高優先級用戶體驗。本發明第二方面的實施例提供了一種網關接入控制系統,包括多個客戶端,所述多個客戶端用于發送接入請求;以及網關,所述網關通過有線或無線地方式與所述多個客戶端相連,用于接收所述多個客戶端發送的多個接入請求,分別計算所述多個接入請求對應的優先級,和按照計算的優先級加入至優先級隊列并排序,以及按照排序的優先級順序將所述多個接入請求依次地發送至后端服務器。根據本發明實施例的網關接入控制系統,通過綜合考慮接入請求的用戶和服務兩項指標,計算該接入請求的優先級,根據該優先級動態調整和簡化網關處理流程,從而降低網關資源消耗并加快網關處理速度。此外,在網關滿負荷工作時,根據優先級處理資源搶占,從而保護了高優先級用戶體驗。本發明第三方面的實施例提供了一種網關,包括接收模塊,用于接收多個用戶發送的多個接入請求;優先級計算模塊,用于分別計算所述多個接入請求對應的優先級;排序模塊,用于按照計算的優先級加入至優先級隊列并排序;以及發送模塊,用于按照排序的優先級順序將所述多個接入請求依次地發送至后端服務器。根據本發明實施例的網關,通過綜合考慮接入請求的用戶和服務兩項指標,計算該接入請求的優先級,根據該優先級動態調整和簡化網關處理流程,從而降低網關資源消耗并加快網關處理速度。此外,在網關滿負荷工作時,根據優先級處理資源搶占,從而保護了高優先級用戶體驗。本發明的附加方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
本發明的上述和/或附加的方面和優點從結合下面附圖對實施例的描述中將變得明顯和容易理解,其中圖1為傳統的安全訪問控制的流程圖;圖2為根據本發明實施例的網關接入控制方法的流程圖;圖3為根據本發明實施例的用戶識別的流程圖;圖4為根據本發明實施例的網關處理能力滿負荷情況下的資源搶占的流程圖;圖5為根據本發明實施例的反向代理網關的示意圖;圖6為根據本發明實施例的根據優先級進行安全控制的流程圖;圖7為根據本發明實施例的網關接入控制系統的示意圖;和圖8為根據本發明實施例的網關的示意圖。
具體實施例方式下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發明,而不能理解為對本發明的限制。下面參考圖2至圖6描述根據本發明實施例的網關接入控制方法的流程。如圖2所示,本發明實施例提供的網關接入控制方法,包括如下步驟
步驟S201,網關接收多個用戶發送的多個接入請求。需要說明的是,此處的用戶可以理解為網關終端設備。具體而言,網關接收到來自多個網關終端設備的多個接入請求。步驟S202,網關分別計算多個接入請求對應的優先級。網關在接收到多個用戶發送的多個接入請求后,需要根據該接入請求對應的用戶和服務計算優先級P。其中,P = ul*w+sl* (1-w),其中,ul為用戶優先級,Sl為服務優先級,w為用戶優先級在優先級中的權重因子,w可以根據當前網關的負荷和用戶的需要進行調整。下面對網關分別計算用戶優先級Ul和服務優先級Sl的步驟進行說明。網關可以根據用戶的歷史訪問記錄計算該用戶的優先級。具體地,網關可以從用戶的歷史訪問數據中挖掘用戶訪問頻度,用戶訪問時長等信息,然后根據是上述用戶歷史訪問數據計算用戶優先級ul。可以理解的是,用戶訪問數據不限于上述用戶訪問頻度和用戶訪問時長,也可以為其他可以評價用戶訪問程度的數據。在本發明的一個實施例中,用戶優先級Ul可以劃分為以下五個等級第五等級通過自動裝置或者人工方式加入的黑名單用戶,例如發起惡意訪問或惡意攻擊的用戶;第四等級普通用戶,即正常訪問服務的普通用戶;第三等級高級用戶,通過對歷史訪問信息的統計確定的在歷史時間段內多次訪問的忠實用戶;第二等級付費用戶,主動通過注冊和/或付費等方式申請的用戶;第一等級特權用戶,對于某項服務擁有最高級訪問權的用戶,例如管理員、監
管人員等。可以理解是,上述用戶優先級的劃分原則只是用戶優先級劃分的一種方式。網關可以根據需要采用其他劃分原則對用戶優先級進行劃分,其中,劃分等級的數量和劃分的原則均可以為多種形式。現有的接入控制多從應用層面確定用戶等級,而網關設備為三層設備,無法分析三層之上的報文來獲取用戶信息。并且,網關上的接入控制方案多為靜態配置,缺少不了人工操作環節,靈活性不夠。為克服上述缺陷,本發明實施例中的網關通過二層設備和三層設備分別獲取接入請求的MAC (Media Access Control,硬件地址)地址和IP (Internet Protocol,網絡之間互連的協議)地址,并根據MAC地址和IP地址生成用戶識別碼生成用戶識別碼。具體地,如圖3所示,網關生成用戶識別碼,包括如下步驟步驟S301,網關接收用戶發送的接入請求。步驟S302,根據該接入請求,網關的二層設備獲取該接入請求的MAC地址。步驟S303,根據該接入請求,網關的三層設備獲取該接入請求的IP地址。步驟S304,網關將步驟S302和步驟S303中獲得的MAC地址和IP地址分別轉換為二進制字符串,然后將上述字符串串接在一起,從而形成一個二進制字符串,并將該串接后的二進制字符串作為用戶識別碼。
網關根據上述得到的用戶識別碼可以查詢到該用戶對應的優先級。例如網關獲得接入請求對應的用戶識別碼為付費用戶時,則通過查詢可以獲知該用戶位于第二等級。網關根據用戶發送的接入請求中所請求的服務計算服務優先級Si。具體地,在網關上可以配置多個服務,即多個VIP (virturl IP,虛擬IP)。其中,不同的虛擬IP對應不同的服務優先級。網關可以根據服務的重要性和對用戶的影響程度進行優先級的劃分。例如,將具有以下三種情況中的一種或多種的服務器設置較好的優先級核心服務、影響收入以及嚴重影響用戶體驗。在網關發生處理堵塞時,優先給上述服務的訪問分配處理資源。可以理解是,上述服務優先級的劃分原則只是服務優先級劃分的一種方式。網關可以根據需要采用其他劃分原則對服務優先級進行劃分,其中,劃分等級的數量和劃分的原則均可以為多種形式。在本發明的一個實施例中,網關根據用戶或服務的重要性,可以調整用戶優先級在優先級中的權重因子W。具體的,在網關負荷高于負荷閾值時,為了向盡可能多的用戶提供良好的用戶體驗,則可以調高用戶優先級Ul對應的權重w,從而可以體現用戶優先級ul 的重要性。如果網關傾向于提供穩定的服務,則可以適當降低用戶優先級在優先級中的權重因子w,從而提高服務優先級在優先級中的權重因子(1-w),進而保證重點服務的資源占用,體現服務優先的思想。在本發明的一個示例中,為了兼顧用戶和服務的重要性,w可以為0.5。步驟S203,網關按照計算的優先級加入至優先級隊列并排序。網關將步驟S202計算到的優先級加入到優先級隊列中,并根據優先級的先后進行排序。網關需要對上述優先級隊列進行維護。步驟S204,網關按照排序的優先級順序將多個接入請求依次地發送至后端服務
ο網關根據優先級隊列,將多個接入請求按照優先級由高到低的順序依次發送到后端服務器,從而,后端服務器可以按照優先級由高到低的順序依次執行相應的接入請求。在網關滿負載時,所有的接入請求在到達網關后,首先按照優先級的等級插入到優先級隊列中。在優先級隊列中,從隊首到隊尾,按照優先級由高到低的順序進行排列。當由訪問結束時,空缺出資源,從而高優先級的訪問可以占用該資源,即排在優先級隊列的隊首的訪問可以占用該資源。下面結合圖4以五個接入請求為例對訪問請求處理的流程進行描述。如圖4所示,五個接入請求分別為請求1、請求2、請求3、請求4和請求5,其中,請求1和2首先且同時到達,請求3、4、5隨后到達。由于此時網關正處于滿負荷狀態,沒有空余的資源,因此上述五個接入請求需要進入隊列進行排隊。采用上述優先級P的計算方法, 對五個接入請求的優先級P進行計算。五個接入請求的優先級由高到低依次為請求3 > 請求2 >請求4 >請求1 >請求5。從而,在優先級隊列中,從隊首到隊尾的排列依次為 請求3、請求2、請求4、請求1、請求5。當有接入請求處理完畢時,則空缺出新的資源,此時優先處理拍在優先級隊列的隊首的接入請求。在本實施例中,優先處理請求3的接入請求。 當處理完請求3的請求后,如果在處理請求3的過程中沒有比請求2的優先級高的請求加入隊列,則處理請求2的接入請求,否則處理當前優先級隊列中排在最前面的請求。由上可知,網關處理接入請求是按照該接入請求的優先級P的由高到低的順序進行的。雖然,請求1和請求2先于請求3到達網關,但是由于請求1和請求2的優先級低于請求3,網關還是先處理請求3的接入請求。在本發明的一個實施例中,網關可以為反向代理網關。圖5示出了反向代理網關的示意圖。用戶訪問某項服務,實際上是訪問代理網關上配置的虛擬IP。網關收到接入請求后,會對該請求進行安全檢查。其中,安全檢查為包括安全控制或訪問控制,安全檢查可以包括同步代理Synproxy處理、等待數據waitdata處理和流量清洗處理中的一種或多種。 例如,添加同步代理synproxy功能以防止syn攻擊、添加等待數據waitdata功能以防止 DDos攻擊。根據訪問規則,過濾來某個源IP的流量。在網關上配置一個虛擬IP以代表一項服務的請求,例如配置一個代表請求3的服務的虛擬IP。反向代理網關不負責提供服務, 僅將合法請求轉交后端服務器集群,由服務器集群針對接入請求提供相應的服務。對于服務提供者來說,高優先級用戶的接入訪問是獲取收益的主要來源,可以認為是受歡迎的訪問。可以理解的是,高優先級用戶的接入訪問為受信任的訪問。網關在接收到高優先級用戶的訪問請求后,除了可以向高優先級的用戶提供高優先級的資源占用, 也可以關閉一些安全防護措施。在本發明的一個實施例中,網關可以直接將接入請求轉發給后端服務器,而無需做相關接入控制安全檢查。對于每個安全控制措施,均配置有對應的安全閾值。首先判斷該接入請求對應的優先級P是否大于安全閾值,如果該接入請求對應的優先級P大于該安全控制的安全閾值, 則降低或取消對該接入請求的安全檢查,將該接入請求直接轉發至后端服務器。例如,同步代理synproxy是用于防止syn flood攻擊的安全措施。如果同步代理 synproxy的安全閾值為t,當接入請求的優先級低于安全閾值t時,訪問需要經過同步代理 synproxy的處理后才能轉發給后端服務器進行處理。當接入請求的優先級高于安全閾值t 時,網關直接將該接入請求的報文處理繞過同步代理synproxy處理步驟。下面參考圖6以兩項安全控制為例描述根據優先級進行安全控制的流程。其中, 安全控制包括安全控制A和安全控制B,其中,安全控制A的安全閾值為tl,安全控制B的安全閾值為t2。步驟601,將接入請求的優先級P與安全控制A的安全閾值tl進行比較,如果優先級P低于安全控制A的安全閾值tl,則執行步驟S602,否則執行步驟S603。步驟S602,對接入請求進行安全控制A的安全檢查,然后執行步驟S603。 步驟S603,將接入請求的優先級P與安全控制B的安全閾值t 2進行比較,如果優先級P低于安全控制B的安全閾值t2,則執行步驟S604,否則執行步驟S605。步驟S604,對接入請求進行安全控制B的安全檢查,然后執行步驟S605。步驟S605,將接入請求轉發給后端服務器進行處理。根據本發明實施例的網關接入控制方法通過綜合考慮接入請求的用戶和服務兩項指標,計算該接入請求的優先級,根據該優先級動態調整和簡化網關處理流程,從而降低網關資源消耗并加快網關處理速度。此外,在網關滿負荷工作時,根據優先級處理資源搶占,從而保護了高優先級用戶體驗。下面參考圖7描述根據本發明實施例的網關接入控制系統700。如圖7所示,本發明實施例的網關接入控制系統700包括多個客戶端710和網關 720,其中,多個客戶端710分別通過有線或無線地方式與網關720相連。多個客戶端710用于發送接入請求,網關720用于接收多個客戶端720發送的多個接入請求,分別計算多個接入請求對應的優先級,并按照計算的優先級加入至優先級隊列并排序,以及按照排序的優先級順序將多個接入請求依次地發送至后端服務器。客戶端710可以理解為網關終端設備。具體而言,網關720接收到來自多個客戶端710的多個接入請求。網關720在接收到多個客戶端710發送的多個接入請求后,根據該接入請求對應的用戶和服務計算優先級P。P = ul*w+sl* (1-w),其中,ul為用戶優先級,Sl為服務優先級,w為用戶優先級在優先級中的權重因子,w可以根據當前網關的負荷和用戶的需要進行調整。網關720可以根據客戶端710對應的用戶的歷史訪問記錄計算該用戶的優先級。 具體地,網關720可以從用戶的歷史訪問數據中挖掘用戶訪問頻度,用戶訪問時長等信息, 然后根據是上述用戶歷史訪問數據計算用戶優先級ul。可以理解的是,用戶訪問數據不限于上述用戶訪問頻度和用戶訪問時長,也可以為其他可以評價用戶訪問程度的數據。在本發明的一個實施例中,用戶優先級Ul可以劃分為以下五個等級第五等級通過自動裝置或者人工方式加入的黑名單用戶,例如發起惡意訪問或惡意攻擊的用戶;第四等級普通用戶,即正常訪問服務的普通用戶;第三等級高級用戶,通過對歷史訪問信息的統計確定的在歷史時間段內多次訪問的忠實用戶;第二等級付費用戶,主動通過注冊和/或付費等方式申請的用戶;第一等級特權用戶,對于某項服務擁有最高級訪問權的用戶,例如管理員、監
管人員等。可以理解是,上述用戶優先級的劃分原則只是用戶優先級劃分的一種方式。網關 720可以根據需要采用其他劃分原則對用戶優先級進行劃分,其中,劃分等級的數量和劃分的原則均可以為多種形式。網關720在接收到多個用戶發送的多個接入請求后,獲取發送該接入請求的用戶的 MAC(Media Access Control,硬件地址)地址和 IPQnternet Protocol,網絡之間互連的協議)地址,并根據MAC地址和IP地址生成用戶識別碼。具體地,根據該接入請求,網關 720的二層設備獲取該接入請求的MAC地址。網關720的三層設備獲取該接入請求的IP地址。網關720將獲得的MAC地址和IP地址分別轉換為二進制字符串,然后將上述字符串串接在一起,從而形成一個二進制字符串,并將該串接后的二進制字符串作為用戶識別碼。網關720根據上述得到的用戶識別碼可以查詢到該用戶對應的優先級。例如網關720獲得接入請求對應的用戶識別碼為付費用戶時,則通過查詢可以獲知該用戶位于第二等級。網關720根據用戶發送的接入請求中所請求的服務計算服務優先級Si。具體地, 在網關720上可以配置多個服務,即多個VIP(virturl IP,虛擬IP)。其中,不同的虛擬IP 對應不同的服務優先級。網關720可以根據服務的重要性和對用戶的影響程度進行優先級的劃分。例如,將具有以下三種情況中的一種或多種的服務器設置較好的優先級核心服務、影響收入以及嚴重影響用戶體驗。在網關720發生處理堵塞時,優先給上述服務的訪問分配處理資源。
可以理解是,上述服務優先級的劃分原則只是服務優先級劃分的一種方式。網關 720可以根據需要采用其他劃分原則對服務優先級進行劃分,其中,劃分等級的數量和劃分的原則均可以為多種形式。在本發明的一個實施例中,網關720根據用戶或服務的重要性,可以調整用戶優先級在優先級中的權重因子w。具體的,在網關720負荷增高時,為了向盡可能多的用戶提供良好的用戶體驗,則可以調高用戶優先級Ul對應的權重w,從而可以體現用戶優先級ul 的重要性。如果網關720傾向于提供穩定的服務,則可以適當降低用戶優先級在優先級中的權重因子w,從而提高服務優先級在優先級中的權重因子(1-w),進而保證重點服務的資源占用,體現服務優先的思想。在本發明的一個示例中,為了兼顧用戶和服務的重要性,w可以為0.5。網關720將計算到的優先級加入到優先級隊列中,并根據優先級的先后進行排序。網關720需要對上述優先級隊列進行維護,并根據優先級隊列,將多個接入請求按照優先級由高到低的順序依次發送到后端服務器,從而,后端服務器可以按照優先級由高到低的順序依次執行相應的接入請求。在網關滿負載時,所有的接入請求在到達網關720后,首先按照優先級的等級插入到優先級隊列中。在優先級隊列中,從隊首到隊尾,按照優先級由高到低的順序進行排列。當由訪問結束時,空缺出資源,從而高優先級的訪問可以占用該資源,即排在優先級隊列的隊首的訪問可以占用該資源。在本發明的一個實施例中,網關720可以為反向代理網關。用戶訪問某項服務, 實際上是訪問代理網關上配置的虛擬IP。網關720收到接入請求后,會對該請求進行安全檢查。其中,安全檢查為包括安全控制或訪問控制,安全檢查可以包括同步代理Synproxy 處理、等待數據waitdata處理和流量清洗處理中的一種或多種。例如,添加同步代理 synproxy功能以防止syn攻擊、添加等待數據waitdata功能以防止DDos攻擊。根據訪問規則,過濾來某個源IP的流量。對于服務提供者來說,高優先級用戶的接入訪問是獲取收益的主要來源,可以認為是受歡迎的訪問。可以理解的是,高優先級用戶的接入訪問為受信任的訪問。網關720 在接收到高優先級用戶的訪問請求后,除了可以向高優先級的用戶提供高優先級的資源占用,也可以關閉一些安全防護措施。在本發明的一個實施例中,網關720可以直接將接入請求轉發給后端服務器,而無需做相關接入控制安全檢查。對于每個安全控制措施,均配置有對應的安全閾值。首先網關720判斷該接入請求對應的優先級P是否大于安全閾值,如果該接入請求對應的優先級P大于該安全控制的安全閾值,則降低或取消對該接入請求的安全檢查,將該接入請求直接轉發至后端服務器。例如,同步代理synproxy是用于防止syn flood攻擊的安全措施。如果同步代理 synproxy的安全閾值為t,當接入請求的優先級低于安全閾值t時,訪問需要經過同步代理 synproxy的處理后才能轉發給后端服務器進行處理。當接入請求的優先級高于安全閾值t 時,網關720直接將該接入請求的報文處理繞過同步代理synproxy處理步驟。根據本發明實施例的網關接入控制系統通過綜合考慮接入請求的用戶和服務兩項指標,計算該接入請求的優先級,根據該優先級動態調整和簡化網關處理流程,從而降低網關資源消耗并加快網關處理速度。此外,在網關滿負荷工作時,根據優先級處理資源搶占,從而保護了高優先級用戶體驗。下面參考圖8描述根據本發明實施例的網關。其中,該網關可以反向代理網關。本發明實施例提供的網關包括接收模塊810、優先級計算模塊820、排序模塊830 和發送模塊840。其中,接收模塊810用于接收多個用戶發送的多個接入請求,優先級計算模塊820用于分別計算多個接入請求對應的優先級,其中,優先級包括用戶優先級和服務優先級。排序模塊830用于按照計算的優先級加入到優先級隊列并排序,發送模塊840用于按照排序的優先級順序將多個接入請求依次地發送至后端服務器。接收模塊810接收到來自多個用戶的多個接入請求后,由優先級計算模塊820根據該接入請求對應的用戶和服務計算優先級P。P = ul*w+sl*(l_w),其中,ul為用戶優先級,Sl為服務優先級,w為用戶優先級在優先級中的權重因子,w可以根據當前網關的負荷和用戶的需要進行調整。優先級計算模塊820可以根據用戶的歷史訪問記錄計算該用戶的優先級。具體地,優先級計算模塊820可以從用戶的歷史訪問數據中挖掘用戶訪問頻度,用戶訪問時長等信息,然后根據是上述用戶歷史訪問數據計算用戶優先級ul。可以理解的是,用戶訪問數據不限于上述用戶訪問頻度和用戶訪問時長,也可以為其他可以評價用戶訪問程度的數據。在本發明的一個實施例中,用戶優先級Ul可以劃分為以下五個等級第五等級通過自動裝置或者人工方式加入的黑名單用戶,例如發起惡意訪問或惡意攻擊的用戶;第四等級普通用戶,即正常訪問服務的普通用戶;第三等級高級用戶,通過對歷史訪問信息的統計確定的在歷史時間段內多次訪問的忠實用戶;第二等級付費用戶,主動通過注冊和/或付費等方式申請的用戶;第一等級特權用戶,對于某項服務擁有最高級訪問權的用戶,例如管理員、監
管人員等。可以理解是,上述用戶優先級的劃分原則只是用戶優先級劃分的一種方式。優先級計算模塊820可以根據需要采用其他劃分原則對用戶優先級進行劃分,其中,劃分等級的數量和劃分的原則均可以為多種形式。在本發明的一個實施例中,網關還包括用戶確認模塊870,用于獲取發送該接入請求的用戶的 MAC (Media Access Control,硬件地址)地址和 IP Qnternet Protocol,網絡之間互連的協議)地址,并根據MAC地址和IP地址生成用戶識別碼。用戶確認模塊870將獲得的MAC地址和IP地址分別轉換為二進制字符串,然后將上述字符串串接在一起,從而形成一個二進制字符串,并將該串接后的二進制字符串作為用戶識別碼。用戶確認模塊870 根據上述得到的用戶識別碼可以查詢到該用戶對應的優先級。優先級計算模塊820根據用戶發送的接入請求中所請求的服務計算服務優先級 si。具體地,在網關上可以配置多個服務,即多個VIP (virturl IP,虛擬IP)。其中,不同的虛擬IP對應不同的服務優先級。優先級計算模塊820可以根據服務的重要性和對用戶的影響程度進行優先級的劃分。例如,將具有以下三種情況中的一種或多種的服務器設置較好的優先級核心服務、影響收入以及嚴重影響用戶體驗。在網關發生處理堵塞時,優先給上述服務的訪問分配處理資源。可以理解是,上述服務優先級的劃分原則只是服務優先級劃分的一種方式。優先級計算模塊820可以根據需要采用其他劃分原則對服務優先級進行劃分,其中,劃分等級的數量和劃分的原則均可以為多種形式。在本發明的一個實施例中,網關還包括調整模塊850,用于根據用戶或服務的重要性,可以調整用戶優先級在優先級中的權重因子W。具體的,在網關的負荷高于負荷閾值時, 為了向盡可能多的用戶提供良好的用戶體驗,則調整模塊850可以調高用戶優先級Ul對應的權重w,從而可以體現用戶優先級Ul的重要性。如果網關傾向于提供穩定的服務,則調整模塊850可以適當降低用戶優先級在優先級中的權重因子w,從而提高服務優先級在優先級中的權重因子(1-w),進而保證重點服務的資源占用,體現服務優先的思想。在本發明的一個示例中,為了兼顧用戶和服務的重要性,w可以為0.5。排序模塊830將計算到的優先級加入到優先級隊列中,并根據優先級的先后進行排序。排序模塊830需要對上述優先級隊列進行維護。由發送模塊840根據優先級隊列, 將多個接入請求按照優先級由高到低的順序依次發送到后端服務器,從而,后端服務器可以按照優先級由高到低的順序依次執行相應的接入請求。在網關滿負載時,所有的接入請求在到達網關后,排序模塊830首先按照優先級的等級插入到優先級隊列中。在優先級隊列中,從隊首到隊尾,按照優先級由高到低的順序進行排列。當由訪問結束時,空缺出資源,從而高優先級的訪問可以占用該資源,即排在優先級隊列的隊首的訪問可以占用該資源。用戶訪問某項服務,實際上是訪問代理網關上配置的虛擬IP。不同的虛擬IP對應不同的服務優先級。在本發明的一個實施例中,網關還包括安全控制模塊860,用于在在接入請求對應的優先級大于安全閾值時,降低或取消對接入請求的安全檢查,并通過發送模塊840將優先級大于安全閾值的接入請求轉發至后端服務器。其中,全控制模塊860可以執行的安全檢查為安全控制或訪問控制,安全檢查可以包括同步代理Synproxy處理、等待數據waitdata處理和流量清洗處理中的一種或多種。例如,添加同步代理synproxy功能以防止syn攻擊、添加等待數據waitdata功能以防止DDos攻擊。對于服務提供者來說,高優先級用戶的接入訪問是獲取收益的主要來源,可以認為是受歡迎的訪問。可以理解的是,高優先級用戶的接入訪問為受信任的訪問。網關在接收到高優先級用戶的訪問請求后,除了可以向高優先級的用戶提供高優先級的資源占用, 也可以關閉一些安全防護措施。在本發明的一個實施例中,發送模塊840可以直接將接入請求轉發給后端服務器,而無需經過安全控制模塊860做相關接入控制安全檢查。對于每個安全控制措施,安全控制模塊860均配置有對應的安全閾值。首先安全控制模塊860判斷該接入請求對應的優先級P是否大于安全閾值,如果該接入請求對應的優先級P大于該安全控制的安全閾值,則降低或取消對該接入請求的安全檢查,將該接入請求直接轉發至后端服務器。根據本發明實施例的網關通過綜合考慮接入請求的用戶和服務兩項指標,計算該接入請求的優先級,根據該優先級動態調整和簡化網關處理流程,從而降低網關資源消耗并加快網關處理速度。此外,在網關滿負荷工作時,根據優先級處理資源搶占,從而保護了高優先級用戶體驗。在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現邏輯功能的可執行指令的定序列表,可以具體實現在任何計算機可讀介質中,以供指令執行系統、裝置或設備(如基于計算機的系統、包括處理器的系統或其他可以從指令執行系統、裝置或設備取指令并執行指令的系統)使用,或結合這些指令執行系統、裝置或設備而使用。就本說明書而言,“計算機可讀介質”可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執行系統、裝置或設備或結合這些指令執行系統、裝置或設備而使用的裝置。計算機可讀介質的更具體的示例(非窮盡性列表)包括以下具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPR0M或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDROM)。另外,計算機可讀介質甚至可以是可在其上打印所述程序的紙或其他合適的介質,因為可以例如通過對紙或其他介質進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。應當理解,本發明的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現具有用于對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現場可編程門陣列(FPGA)等。在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。盡管已經示出和描述了本發明的實施例,本領域的普通技術人員可以理解在不脫離本發明的原理和宗旨的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發明的范圍由權利要求及其等同物限定。
權利要求
1.一種網關接入控制方法,其特征在于,包括以下步驟 網關接收多個用戶發送的多個接入請求;所述網關分別計算所述多個接入請求對應的優先級;所述網關按照計算的優先級加入至優先級隊列并排序;以及所述網關按照排序的優先級順序將所述多個接入請求依次地發送至后端服務器。
2.如權利要求1所述的網關接入控制方法,其特征在于,其中,所述優先級包括用戶優先級和服務優先級。
3.如權利要求2所述的網關接入控制方法,其特征在于,還包括 根據所述用戶的歷史訪問記錄計算所述用戶優先級;以及根據所述用戶發送的接入請求中所請求的服務計算所述服務優先級。
4.如權利要求3所述的網關接入控制方法,其特征在于,還包括如果所述網關的負荷高于負荷閾值,則調高所述用戶優先級對應的權重因子。
5.如權利要求3所述的網關接入控制方法,其特征在于,其中,所述網關之中配置有多個虛擬IP,不同的虛擬IP對應不同的服務優先級。
6.如權利要求1所述的網關接入控制方法,其特征在于,還包括 判斷所述接入請求對應的優先級是否大于安全閾值;如果判斷所述接入請求對應的優先級大于所述安全閾值,則降低或取消對所述接入請求的安全檢查,將所述優先級大于所述安全閾值的接入請求轉發至所述后端服務器。
7.如權利要求6所述的網關接入控制方法,其特征在于,所述安全檢查包括同步代理 Synproxy處理、等待數據waitdata處理和流量清洗處理中的一種或多種。
8.如權利要求1所述的網關接入控制方法,其特征在于,還包括 所述網關獲取所述接入請求的MAC地址和IP地址;所述網關根據所述MAC地址和IP地址生成用戶識別碼;以及所述網關根據所述用戶識別碼查詢所述用戶對應的用戶優先級。
9.一種網關接入控制系統,其特征在于,包括 多個客戶端,所述多個客戶端用于發送接入請求;以及網關,所述網關通過有線或無線地方式與所述多個客戶端相連,用于接收所述多個客戶端發送的多個接入請求,分別計算所述多個接入請求對應的優先級,和按照計算的優先級加入至優先級隊列并排序,以及按照排序的優先級順序將所述多個接入請求依次地發送至后端服務器。
10.如權利要求9所述的網關接入控制系統,其特征在于,其中,所述優先級包括用戶優先級和服務優先級。
11.如權利要求10所述的網關接入控制系統,其特征在于,其中,所述用戶優先級根據所述用戶的歷史訪問記錄計算獲得,所述服務優先級根據所述用戶發送的接入請求中所請求的服務計算獲得。
12.如權利要求10所述的網關接入控制系統,其特征在于,所述網關還用于在所述網關的負荷高于負荷閾值時,調高所述用戶優先級對應的權重因子。
13.如權利要求10所述的網關接入控制系統,其特征在于,其中,所述網關之中配置有多個虛擬IP,不同的虛擬IP對應不同的服務優先級。
14.如權利要求9所述的網關接入控制系統,其特征在于,所述網關還用于在所述接入請求對應的優先級大于安全閾值時,降低或取消對所述接入請求的安全檢查,并將所述優先級大于所述安全閾值的接入請求轉發至所述后端服務器。
15.如權利要求14所述的網關接入控制系統,其特征在于,所述安全檢查包括同步代理Synproxy處理、等待數據waitdata處理和流量清洗處理中的一種或多種。
16.一種網關,其特征在于,包括接收模塊,用于接收多個用戶發送的多個接入請求;優先級計算模塊,用于分別計算所述多個接入請求對應的優先級;排序模塊,用于按照計算的優先級加入至優先級隊列并排序;以及發送模塊,用于按照排序的優先級順序將所述多個接入請求依次地發送至后端服務ο
17.如權利要求16所述的網關,其特征在于,其中,所述優先級包括用戶優先級和服務優先級。
18.如權利要求17所述的網關,其特征在于,其中,所述用戶優先級根據所述用戶的歷史訪問記錄計算獲得,所述服務優先級根據所述用戶發送的接入請求中所請求的服務計算獲得。
19.如權利要求17所述的網關,其特征在于,還包括調整模塊,用于在所述網關的負荷高于負荷閾值時,調高所述用戶優先級對應的權重因子。
20.如權利要求17所述的網關,其特征在于,其中,所述網關之中配置有多個虛擬IP, 不同的虛擬IP對應不同的服務優先級。
21.如權利要求16所述的網關,其特征在于,還包括安全控制模塊,用于在所述接入請求對應的優先級大于所述安全閾值時,降低或取消對所述接入請求的安全檢查,并通過所述發送模塊將所述優先級大于所述安全閾值的接入請求轉發至所述后端服務器。
22.如權利要求21所述的網關,其特征在于,所述安全檢查包括同步代理Synproxy處理、等待數據waitdata處理和流量清洗處理中的一種或多種。
23.如權利要求16所述的網關,其特征在于,還包括用戶確認模塊,用于獲取所述接入請求的MAC地址和IP地址,并根據所述MAC地址和 IP地址生成用戶識別碼,以根據所述用戶識別碼查詢所述用戶對應的用戶優先級。
全文摘要
本發明公開了一種網關接入控制方法,包括以下步驟網關接收多個用戶發送的多個接入請求;所述網關分別計算所述多個接入請求對應的優先級;所述網關按照計算的優先級加入至優先級隊列并排序;以及所述網關按照排序的優先級順序將所述多個接入請求依次地發送至后端服務器。本發明還公開了一種網關接入控制系統以及網關。本發明通過綜合考慮接入請求的用戶和服務兩項指標,計算該接入請求的優先級,根據該優先級動態調整和簡化網關處理流程,從而降低網關資源消耗并加快網關處理速度。
文檔編號H04W74/04GK102395212SQ201110370000
公開日2012年3月28日 申請日期2011年11月18日 優先權日2011年11月18日
發明者閔慶歡 申請人:百度在線網絡技術(北京)有限公司