本發明專利技術提供一種基于令牌桶的智能QOS方法及系統,屬于網絡應用技術領域。本發明專利技術方法包括如下步驟:標記報文優先級,然后將標記優先級的數據包送入用戶保障令牌桶;判斷是否在保障帶寬內,如果是,將數據包送入系統保障隊列,如果否,將數據包按照用戶分類送入用戶隊列;調度器優先將系統保障隊列的數據包按照優先級順序調入系統令牌桶,如果有剩余帶寬,將用戶隊列的數據包調入系統令牌桶;調度器根據系統令牌桶的令牌發送數據包。本發明專利技術的有益效果為:系統在保持公平的原則上,加入懲罰機制,讓部分等應用不再占用大量帶寬,將帶寬分配給了其他應用,并且延遲明顯減小,用戶上網環境得到明顯改善。
【技術實現步驟摘要】
一種基于令牌桶的智能QOS方法及系統
本專利技術涉及網絡應用
,尤其涉及一種基于令牌桶的智能QOS方法,還涉及一種實現所述智能QOS方法的系統。
技術介紹
隨著IP技術和網絡的發展,過去將網絡中所有的報文無差別對待、采用先進先出、盡力交付報文等不明確、不可靠傳輸方式已經不再適應當前網絡中涌現的各類應用、視頻、語音等復雜網絡業務的需求。傳統的QOS大多是基于一條流(五元組標識的數據流)來進行排隊和擁塞處理的流量控制,而沒有對不同的應用業務加以區分,也就無法在總的網絡資源有限的情況下實現為保障某部分應用的帶寬而降低其它應用的服務質量的需求。企業在日常的辦公過程中,不同員工對網絡應用的需求是不同的,通常會出現不相關業務占用了大量的帶寬資源,當網絡過載或者發生擁塞時,核心業務的數據包卻因為沒有相應的帶寬保障從而出現被延遲或者被丟棄的現象,由于總的帶寬一定,要解決因業務需求帶來的帶寬資源搶占的問題,就需要提出一套合理的分配各用戶的帶寬資源的方案以達到對上網流量進行有效管理,提高網絡服務質量的目的,動態的合理分配帶寬。
技術實現思路
為解決現有技術中的問題,本專利技術提供一種基于令牌桶的智能QOS方法,還提供一種實現所述智能QOS方法的系統。本專利技術基于令牌桶的智能QOS方法包括如下步驟:S1:標記報文優先級,然后將標記優先級的數據包送入用戶保障令牌桶;S2:判斷是否在保障帶寬內,如果是,將數據包送入系統保障隊列,如果否,將數據包按照用戶分類送入用戶隊列;S3:調度器優先將系統保障隊列的數據包按照優先級順序調入系統令牌桶,如果有剩余帶寬,將用戶隊列的數據包調入系統令牌桶;S4:調度器根據系統令牌桶的令牌發送數據包。本專利技術作進一步改進,在步驟S3后,步驟S4執行前,還包括定時器觸發步驟:將數據包掛載到定時器鏈表上,由定時器觸發調入系統令牌桶。本專利技術作進一步改進,數據包在進出用戶保障令牌桶和系統令牌桶時,由定時器觸發每隔一定時間增加令牌,消耗的令牌在數據包進入時實時更新。本專利技術作進一步改進,在步驟S2中,系統保障隊列由所有用戶共用,速率在保障帶寬內的用戶的數據包直接進入系統保障隊列按照優先級發送,其中,保障帶寬的值等于總帶寬除以在線用戶數。本專利技術作進一步改進,用戶隊列中的子隊列的個數等于在線用戶數,其中,每個子隊列中的數據包按照優先級順序排列。本專利技術作進一步改進,數據包進入系統保障隊列或者用戶隊列的處理方法為:S21:進隊處理;S22:獲取數據包優先級;S23:判斷隊列是否已滿,如果是,丟包,退出;如果否,按照優先級進入隊列,退出。本專利技術作進一步改進,在步驟S3中,調度器調取用戶隊列的數據包時,子隊列間的數據包公平輪轉出隊。本專利技術作進一步改進,在步驟S3中,系統保障隊列發包處理方法為:S301:系統保障隊列出隊處理;S302:系統保障隊列的數據包按照優先級順序由高到低依次出包;S303:判斷是否有數據包,如果沒有,執行步驟S305,如果有,執行步驟S304;S304:判斷wan口寬帶令牌是否足夠,如果是,發送數據包,統計流量,然后執行步驟S302,如果否,數據包重新入隊,標志wan口令牌不足;S305:系統保障隊列出包完成。本專利技術作進一步改進,所述用戶隊列發包處理方法為:S311:開始發包;S312:用戶隊列數據包按照優先級從高到低出包;S313:判斷是否出包成功,如果出包成功,執行步驟S314,如果出包失敗,執行步驟S316;S314:判斷用戶是否有限速規則,如果否,執行步驟S315;如果是,判斷限速令牌是否足夠,如果足夠,執行步驟S315;S315:判斷wan口令牌是否足夠,如果是,發送數據包,統計流量,然后執行步驟S312,如果否,數據包重新入隊,標志wan口令牌不足;S316:退出發包。本專利技術還提供一種實現所述智能QOS方法的系統,包括報文識別模塊:用于識別報文的類型;報文標記模塊:用于標記報文的優先級;QOS內核實現模塊:用于判斷是否在保障帶寬內,如果是,將數據包送入系統保障隊列,如果否,將數據包按照用戶分類送入用戶隊列;其中,所述QOS內核實現模塊包括:調度器:用于優先將系統保障隊列的數據包按照優先級順序調入系統令牌桶,如果有剩余帶寬,將用戶隊列的數據包調入系統令牌桶,并根據系統令牌桶的令牌發送數據包;令牌計算模塊:用于數據包進出時計算用戶保障令牌桶及系統令牌桶的數量;所述智能QOS系統還包括,接口層:用于與實現QOS內核模塊與應用層的通信;發包控制接口模塊:用于將數據包根據數據包上下行標記發送到指定的地址。與現有技術相比,本專利技術的有益效果是:動態合理的分配帶寬,當有多臺設備都有帶寬需求時,避免了迅雷,P2P等多連接的應用會占用大量的帶寬,導致其他用戶無法上網、游戲、正常觀看視頻等問題,系統在保持公平的原則上,加入懲罰機制,讓部分等應用不再占用大量帶寬,將帶寬分配給了其他應用,并且延遲明顯減小,用戶上網環境得到明顯改善。附圖說明圖1為本專利技術方法流程圖;圖2本專利技術處理流程示意圖;圖3為數據包進入隊列流程圖;圖4為用戶隊列數據包出隊進入系統保障隊列流程圖;圖5為系統保障隊列發包處理方法流程圖;圖6為用戶隊列發包處理方法流程圖;圖7為系統結構框圖。具體實施方式下面結合附圖和實施例對本專利技術做進一步詳細說明。如圖1和圖2所示,本專利技術基于令牌桶的智能QOS方法包括如下步驟:S1:標記報文優先級,然后將標記優先級的數據包送入用戶保障令牌桶;S2:判斷是否在保障帶寬內,如果是,將數據包送入系統保障隊列,如果否,將數據包按照用戶分類送入用戶隊列;S3:調度器優先將系統保障隊列的數據包按照優先級順序調入系統令牌桶,如果有剩余帶寬,將用戶隊列的數據包調入系統令牌桶;S4:調度器根據系統令牌桶的令牌發送數據包。傳統的FIFO(先入先出)隊列不對報文進行分類,采用先進先出的方式發送報文,無法滿足我們應用優先級的需求;SPQ隊列(嚴格優先隊列)雖然采用優先級的概念,但當其高優先級隊列總是有數據包時,會出現低優先級隊列“餓死”的現象;CQ隊列(可定制隊列)技術在SPQ的技術上加以改進,避免了“餓死”現象,但是無法保障任何流的延遲問題。基于以上原因,我們在SPQ隊列的基礎上加以改進添加了保障隊列機制,設計了一個由所有用戶共用的保障隊列,同時每個用戶都有自己獨立的優先級隊列來存儲數據包,無論是保障隊列還是用戶自己的隊列仍然采用絕對優先發包機制,只有高優先級沒有數據包才會發送低優先級的數據包,本例將一個優先級隊列的優先級分為5級(0~4),4為最低優先級,由于每次都是先發保障隊列的包再發用戶自己隊列包的順序,因此可以保證新用戶的流不被延遲的問題。為了更好保證用戶之間的帶寬的合理分配,本例設置保障帶寬的機制,即用戶最小保證的速率,保障帶寬的值等于總帶寬除以在線用戶數;速率在保障帶寬內的用戶的數據包直接進入系統保障隊列優先級發送,確保剛上線的用戶能很快的從其他用戶搶占自己保障帶寬。此外,在以上方法的基礎上,本專利技術優選地,在步驟S3后,步驟S4執行前,還包括定時器觸發步驟:將數據包掛載到定時器鏈表上,由定時器觸發調入系統令牌桶。使本專利技術的發包為數據包觸發與定時器觸發發包相結合,每個數據包進入本系統后觸發優先發送系統保障隊列數據包,再發送該用本文檔來自技高網...

【技術保護點】
一種基于令牌桶的智能QOS方法,其特征在于包括如下步驟:S1:標記報文優先級,然后將標記優先級的數據包送入用戶保障令牌桶;S2:判斷是否在保障帶寬內,如果是,將數據包送入系統保障隊列,如果否,將數據包按照用戶分類送入用戶隊列;S3:調度器優先將系統保障隊列的數據包按照優先級順序調入系統令牌桶,如果有剩余帶寬,將用戶隊列的數據包調入系統令牌桶;S4:調度器根據系統令牌桶的令牌發送數據包。
【技術特征摘要】
1.一種基于令牌桶的智能QOS方法,其特征在于包括如下步驟:S1:標記報文優先級,然后將標記優先級的數據包送入用戶保障令牌桶;S2:判斷是否在保障帶寬內,如果是,將數據包送入系統保障隊列,如果否,將數據包按照用戶分類送入用戶隊列;S3:調度器優先將系統保障隊列的數據包按照優先級順序調入系統令牌桶,如果有剩余帶寬,將用戶隊列的數據包調入系統令牌桶;S4:調度器根據系統令牌桶的令牌發送數據包。2.根據權利要求1所述的智能QOS方法,其特征在于:在步驟S3后,步驟S4執行前,還包括定時器觸發步驟:將數據包掛載到定時器鏈表上,由定時器觸發調入系統令牌桶。3.根據權利要求2所述的智能QOS方法,其特征在于:數據包在進出用戶保障令牌桶和系統令牌桶時,由定時器觸發每隔一定時間增加令牌,消耗的令牌在數據包進入時實時更新。4.根據權利要求1-3任一項所述的智能QOS方法,其特征在于:在步驟S2中,系統保障隊列由所有用戶共用,速率在保障帶寬內的用戶的數據包直接進入系統保障隊列按照優先級發送,其中,保障帶寬的值等于總帶寬除以在線用戶數。5.根據權利要求4所述的智能QOS方法,其特征在于:用戶隊列中的子隊列的個數等于在線用戶數,其中,每個子隊列中的數據包按照優先級順序排列。6.根據權利要求5所述的智能QOS方法,其特征在于:數據包進入系統保障隊列或者用戶隊列的處理方法為:S21:進隊處理;S22:獲取數據包優先級;S23:判斷隊列是否已滿,如果是,丟包,退出;如果否,按照優先級進入隊列,退出。7.根據權利要求1-3任一項所述的智能QOS方法,其特征在于:在步驟S3中,調度器調取用戶隊列的數據包時,子隊列間的數據包公平輪轉出隊。8.根據權利要求7所述的智能QOS方法,其特征在于:在步驟S3中,系統保障隊列發包處理方法為:S30...
【專利技術屬性】
技術研發人員:熊平,
申請(專利權)人:深圳市吉祥騰達科技有限公司,
類型:發明
國別省市:廣東,44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。