[發明專利]測量探針的多任務調度方法無效
| 申請號: | 200710028243.6 | 申請日: | 2007-05-28 |
| 公開(公告)號: | CN101316193A | 公開(公告)日: | 2008-12-03 |
| 發明(設計)人: | 馬維旻;吳楚均 | 申請(專利權)人: | 北京師范大學珠海分校 |
| 主分類號: | H04L12/26 | 分類號: | H04L12/26;H04L12/56 |
| 代理公司: | 廣州三環專利代理有限公司 | 代理人: | 溫旭 |
| 地址: | 519085*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 測量 探針 任務 調度 方法 | ||
技術領域
本發明涉及網絡通信和網絡測量技術,尤其涉及一種測量探針的多任務調度方法。
背景技術
目前在網絡通信和網絡測量技術中,要測量多個網段的流量和性能數據或對網絡上多臺服務器進行性能測試,可每個網段都放置一臺測量探針(或稱監測主機)。
如果要求一臺測量探針上同時執行多個指定任務,比如要對多個網段進行流量采集與統計分析,或者對網絡中某些服務器進行性能測試,然后把這些測試結果發送到另外指定的服務器上,通常采用的方法是,先執行完一個任務,再接收另外的任務,這樣循環下去。這種方法的效率不高,尤其是在執行被動測試任務的時候,更需要一段長的測試時間,這樣就不能保證響應任務的實時性。
發明內容
針對現有技術的缺點,本發明的目的是提供一種測量探針的多任務調度方法,解決了現有測量探針不能同時接收多個測量任務管理主機下達的測試任務的問題。
為了實現上述目的,本發明的技術方案為:一種測量探針的多任務調度方法,所述測量探針使用多線程技術,線程間通過互斥鎖和條件變量進行通訊以實時接收并且響應來自不同管理端發送過來的任務。
所述多線程包括接收任務線程和取出并且執行任務線程,由接收任務線程負責監聽網絡上的多個管理端發送過來的測試任務,并且把任務插入到任務隊列中,完成對測試任務的接收。
所述任務隊列是一串保存任務信息的鏈表,線程通過互斥鎖對任務隊列進行添加或者刪除。
所述互斥鎖用來保證一段時間內只有一個線程在執行一段代碼,對互斥鎖的操作包括創建鎖、上鎖、解鎖、查看鎖的狀態和刪除鎖。
所述條件變量被用來阻塞一個線程,當條件不滿足時,線程解開相應的互斥鎖并等待條件發生變化,一旦其它的某個線程改變了條件變量,它將通知相應的條件變量喚醒一個或多個正被此條件變量阻塞的線程,這些線程將重新鎖定互斥鎖并重新測試條件是否滿足。
任務的接收包括如下步驟:
(1)接收到任務信息后,先判斷互斥鎖是否打開,如果是鎖定的狀態,則休眠,如果是非鎖定狀態,則先設為鎖定狀態,然后把任務信息插到任務隊列尾中,然后發個信號喚醒執行任務線程;
(2)當退出程序時,需要將互斥鎖釋放處理。
所述執行任務線程是負責在任務隊列中取出任務然后執行,任務的執行包括如下步驟:
(1)當任務對列中沒有任務的時候,線程處于阻塞狀態,當收到接收任務線程的信號時,線程會被喚醒;
(2)線程喚醒后,先判斷互斥鎖是否打開,如果是鎖定的狀態,則休眠,如果是非鎖定狀態,則先設為鎖定狀態,然后把頭一個任務取出,然后把互斥鎖設為非鎖定狀態,然后再開個進程執行任務。
與現有技術相比,本發明的方法能夠同時對多個網段進行流量采集與統計分析,或者同時對網絡中某些服務器進行性能測試,大大縮短了測試時間,提高了工作效率。
附圖說明
圖1是本發明的應用環境示意圖。
具體實施方式
下面結合附圖對本發明作進一步的詳細說明。
請參閱圖1,在本發明的測量探針的多任務調度方法中,該測量探針使用多線程技術,線程間通過互斥鎖和條件變量進行通訊,這樣可以實時接收并且響應來自不同測量任務管理主機(管理端)發送過來的任務。多線程包括接收任務線程和取出并且執行任務線程,由接收任務線程負責監聽網絡上的多個測量任務管理主機發送過來的測試任務,并且把任務插入到任務隊列中,完成對測試任務的接收。任務隊列是一串保存任務信息的鏈表,線程通過互斥鎖對任務隊列進行添加或者刪除。
互斥鎖用來保證一段時間內只有一個線程在執行一段代碼。對互斥鎖的操作就有,創建鎖,上鎖,解鎖,查看鎖的狀態,刪除鎖。互斥鎖一個明顯的缺點是它只有兩種狀態:鎖定和非鎖定。而所述條件變量通過允許線程阻塞和等待另一個線程發送信號的方法彌補了互斥鎖的不足,它常和互斥鎖一起使用。使用時,條件變量被用來阻塞一個線程,當條件不滿足時,線程往往解開相應的互斥鎖,并等待條件發生變化。一旦其它的某個線程改變了條件變量,它將通知相應的條件變量喚醒一個或多個正被此條件變量阻塞的線程。這些線程將重新鎖定互斥鎖并重新測試條件是否滿足。一般說來,條件變量被用來進行線程間的同步。
任務的接收包括如下步驟:
(1)接收到任務信息后,先判斷互斥鎖是否打開,如果是鎖定的狀態,則休眠,如果是非鎖定狀態,則先設為鎖定狀態,然后把任務信息插到任務隊列尾中,然后發個信號喚醒執行任務線程;
(2)當退出程序時,需要將互斥鎖釋放處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京師范大學珠海分校,未經北京師范大學珠海分校許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710028243.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種中藥營養護膚膏
- 下一篇:提高監聽用戶面數據上報可靠性的方法及裝置





