專利名稱:網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)中設(shè)備的檢測方法,特別是涉及一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,屬于計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
目前隨著計算機和網(wǎng)絡(luò)的普及,數(shù)字設(shè)備也越來越豐富,例如PC、NoteBook、PDA、手機、機頂盒、mp3、數(shù)字相機、數(shù)字攝像機等,這些設(shè)備可能運行在多個操作系統(tǒng)(如Windows 9x、Windows 2000、Windows XP、WindowsCE、UINX、Linux等),他們之間的相互發(fā)現(xiàn)通常通過操作系統(tǒng)來實現(xiàn),例如一臺安裝有Windows操作系統(tǒng)的計算機上的資源管理器可以通過網(wǎng)絡(luò)發(fā)現(xiàn)其它安裝有Windows操作系統(tǒng)的計算機,并將這些計算機名顯示在資源管理器中。但Windows操作系統(tǒng)的資源管理器不能發(fā)現(xiàn)非Windows操作系統(tǒng)的計算機。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,實現(xiàn)網(wǎng)絡(luò)中運行有不同操作系統(tǒng)設(shè)備的相互發(fā)現(xiàn);當設(shè)備進入一個網(wǎng)絡(luò)環(huán)境時,該網(wǎng)絡(luò)環(huán)境中其它原有設(shè)備就可以通過該設(shè)備的主動宣告發(fā)現(xiàn)該設(shè)備,該信息的傳遞不受操作系統(tǒng)類型限制;用戶也不必了解設(shè)備的網(wǎng)絡(luò)連接參數(shù)和操作系統(tǒng)類型。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,網(wǎng)絡(luò)中的服務(wù)端向外發(fā)出用于宣告自身存在的多播消息;客戶端監(jiān)聽到服務(wù)端的宣告信息,返回一個單播消息給服務(wù)端,服務(wù)端收到該返回的單播消息,將單播消息中的信息解析后根據(jù)該信息產(chǎn)生客戶端清單,或?qū)⒃摽蛻舳说男畔⒓尤氲娇蛻舳饲鍐沃?;運行客戶端和服務(wù)端的操作系統(tǒng)類型不受限制。
客戶端的多播消息中至少包含客戶端的基本信息,該基本信息至少包括客戶端的網(wǎng)絡(luò)地址。服務(wù)端上的客戶端清單中包含的客戶端基本信息,至少包括客戶端的網(wǎng)絡(luò)地址。服務(wù)端定時發(fā)出多播消息并監(jiān)聽客戶端返回的單播消息,根據(jù)監(jiān)聽結(jié)果不斷更新客戶端清單。
上述方法中的客戶端還向外發(fā)出用于宣告自身存在的多播消息,服務(wù)端收到客戶端的多播消息后,返回單播消息給客戶端,用于確認收到消息并向客戶端宣告自身存在。
服務(wù)端或客戶端至少通過第一端口處理多播消息的發(fā)送和單播消息的收發(fā),通過第二端口監(jiān)聽網(wǎng)絡(luò)中發(fā)來的多播消息。
服務(wù)端發(fā)給客戶端的單播或多播消息中還包括客戶端清單;或者客戶端向服務(wù)端發(fā)出客戶端清單的請求后,服務(wù)端向客戶端發(fā)出客戶端清單。當服務(wù)端更新客戶端清單后,將該更新動作通知客戶端。
上述方法的服務(wù)端與客戶端之間通過至少一級子服務(wù)端連接,各服務(wù)端根據(jù)收到的多播消息或單播消息產(chǎn)生與本服務(wù)端直接連接的客戶端清單;下級服務(wù)端將客戶端清單通過網(wǎng)絡(luò)輸出到上級服務(wù)端,最上級服務(wù)端匯總各服務(wù)端的客戶端清單和最上級服務(wù)端直接連接的客戶端清單,生成網(wǎng)絡(luò)的全部客戶端清單。
服務(wù)端發(fā)給客戶端的單播或多播消息中還包括全部客戶端清單;或者客戶端向直接連接的服務(wù)端發(fā)出全部客戶端清單的請求后,該服務(wù)端向客戶端發(fā)出全部客戶端清單;上級服務(wù)端向下級服務(wù)端發(fā)出全部客戶端清單。
上述方法中,運行客戶端或服務(wù)端的操作系統(tǒng)至少為微軟公司W(wǎng)indows或UINX或Linux或蘋果公司MAC;客戶端或服務(wù)端發(fā)送多播消息或單播消息所用網(wǎng)絡(luò)通訊協(xié)議至少為網(wǎng)絡(luò)控制協(xié)議和網(wǎng)際協(xié)議(TCP/IP)或NOVELL協(xié)議族。
通過上述技術(shù)方案可知,本發(fā)明有如下優(yōu)點1、網(wǎng)絡(luò)上不同操作系統(tǒng)設(shè)備的相互發(fā)現(xiàn)是通過設(shè)備的主動宣告完成,因此用戶不必了解設(shè)備的網(wǎng)絡(luò)連接參數(shù)和操作系統(tǒng)類型。
2、智能的設(shè)備管理。若某設(shè)備退出或進入網(wǎng)絡(luò),網(wǎng)絡(luò)中的其他設(shè)備可以得到網(wǎng)絡(luò)中設(shè)備信息的改變情況。
圖1為本發(fā)明實施例一的網(wǎng)絡(luò)拓撲原理圖;圖2為本發(fā)明實施例二的網(wǎng)絡(luò)拓撲原理圖;圖3為本發(fā)明實施例二服務(wù)端或客戶端通信接口連接原理圖;圖4為本發(fā)明實施例二服務(wù)端處理客戶端信息流程圖;圖5為本發(fā)明實施例二服務(wù)端檢測客戶端流程圖;圖6為本發(fā)明實施例二另一種服務(wù)端檢測客戶端流程圖;圖7為本發(fā)明實施例三的網(wǎng)絡(luò)拓撲原理圖。
具體實施例方式
以下,結(jié)合具體實施例并參照附圖,對本發(fā)明做進一步的詳細說明。
實施例一如圖1所示,該系統(tǒng)由服務(wù)端和若干客戶端組成。服務(wù)端運行的操作系統(tǒng)為Linux,客戶端運行的操作系統(tǒng)包括linux、windows和unix。
服務(wù)端向網(wǎng)絡(luò)發(fā)送用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,簡稱UDP)多播消息。多播消息內(nèi)包含服務(wù)端的名稱、操作系統(tǒng)類型等信息??蛻舳耸盏椒?wù)端的多播消息后,向服務(wù)端返回單播消息,服務(wù)端收到該返回的單播消息,將單播消息中的信息解析后根據(jù)該信息產(chǎn)生客戶端清單,或?qū)⒃摽蛻舳说男畔⒓尤氲娇蛻舳饲鍐沃?;實現(xiàn)了對網(wǎng)絡(luò)中客戶端狀態(tài)的檢測。
由于UDP協(xié)議是網(wǎng)絡(luò)控制協(xié)議和網(wǎng)際協(xié)議(TCP/IP)族的組成部分,而現(xiàn)有操作系統(tǒng)都可調(diào)用TCP/IP協(xié)議的接口進行網(wǎng)絡(luò)通信,所以服務(wù)端對于連接到網(wǎng)絡(luò)中客戶端的檢測不受運行客戶端與服務(wù)端的操作系統(tǒng)類型的限制。
實施例二如圖2所示,該系統(tǒng)由服務(wù)端和若干客戶端組成。服務(wù)端運行的操作系統(tǒng)為Linux,客戶端運行的操作系統(tǒng)包括linux、windows和unix。
如圖5所示,服務(wù)端向網(wǎng)絡(luò)不斷發(fā)送UDP多播消息,發(fā)送間隔為5ms,或者對某一客戶端發(fā)出查找信息。多播消息內(nèi)包含服務(wù)端的名稱、操作系統(tǒng)類型等信息。服務(wù)端接受到客戶端的多播消息后,發(fā)出TCP單播的宣告消息,返回給發(fā)送多播消息的客戶端,TCP單播消息內(nèi)包含服務(wù)端的名稱、操作系統(tǒng)類型等信息。
如圖6所示,客戶端同樣不斷發(fā)出UDP用于宣告自身的信息的多播消息,多播消息內(nèi)包含客戶端的基本信息,包括客戶端名稱、操作系統(tǒng)類型等信息,在接收到服務(wù)端發(fā)出的多播信息后,返回一個TCP單播信息給服務(wù)端,宣告自己的存在,單播消息內(nèi)也包含服務(wù)端的名稱、操作系統(tǒng)類型等信息。
如圖4所示,服務(wù)端還管理客戶端清單的生成、發(fā)布和更新。
服務(wù)端通過客戶端發(fā)來的單播或多播消息發(fā)現(xiàn)客戶端以后,根據(jù)消息內(nèi)的客戶端信息生成一個客戶端清單,或?qū)⒃摽蛻舳诵畔⒓尤氲娇蛻舳饲鍐沃?。對于已?jīng)添加客戶端的宣告信息,服務(wù)端將其過濾掉,不再作進一步處理。
服務(wù)端通過監(jiān)聽客戶端定時發(fā)送的多播消息,或接受客戶端對于服務(wù)端多播消息返回的單播消息,或接受某一客戶端對于服務(wù)端發(fā)出查找消息的放回消息,對于網(wǎng)絡(luò)中的所有客戶端進行隨時檢測,不斷刷新客戶端清單;一旦客戶端狀態(tài)變化,例如進入或退出網(wǎng)絡(luò),就作出相應(yīng)的處理,及時更新客戶端清單,并及時通知其他的客戶端。
如圖3所示,服務(wù)端啟用端口1和端口2;端口1用于定時發(fā)送多播信息、收發(fā)單播確認信息,包括服務(wù)端向客戶端發(fā)出的多播宣告信息、接收客戶端發(fā)來的單播確認信息以及對客戶端發(fā)來多播宣告信息的返回信息;端口2用于監(jiān)聽客戶端發(fā)來的多播宣告信息。
各個客戶端也使用兩個端口,其使用方式與服務(wù)端相同。
實施例三如圖7所示,在實施例二的基礎(chǔ)上,服務(wù)端可以是多級結(jié)構(gòu);各服務(wù)端根據(jù)收到的多播消息或單播消息產(chǎn)生與本服務(wù)端直接連接的客戶端清單;除最上級服務(wù)端外,下級服務(wù)端將客戶端清單通過網(wǎng)絡(luò)輸出到上級服務(wù)端,最上級服務(wù)端匯總各服務(wù)端的客戶端清單和最上級服務(wù)端直接連接的客戶端清單,生成網(wǎng)絡(luò)的全部客戶端清單。
最上級服務(wù)端發(fā)給客戶端的單播或多播消息還包括全部客戶端清單;或者客戶端向最上級服務(wù)端發(fā)出全部客戶端清單的請求后,最上級服務(wù)端向客戶端發(fā)出全部客戶端清單。
上述實施例中的服務(wù)端和某一個客戶端可以存在于同一個設(shè)備上。在本發(fā)明方法的軟件實現(xiàn)上,服務(wù)端包含了客戶端的功能。
上述實施例中運行客戶端或服務(wù)端的操作系統(tǒng)可以是微軟公司W(wǎng)indows或UINX或Linux或蘋果公司MAC,客戶端或服務(wù)端發(fā)送多播消息或單播消息所用網(wǎng)絡(luò)通訊協(xié)議可以是網(wǎng)絡(luò)控制協(xié)議和網(wǎng)際協(xié)議(TCP/IP)或NOVELL協(xié)議族。
權(quán)利要求
1.一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于網(wǎng)絡(luò)中的服務(wù)端向外發(fā)出用于宣告自身存在的多播消息;客戶端監(jiān)聽到服務(wù)端的宣告信息,返回一個單播消息給服務(wù)端,服務(wù)端收到該返回的單播消息,將單播消息中的信息解析后根據(jù)該信息產(chǎn)生客戶端清單,或?qū)⒃摽蛻舳说男畔⒓尤氲娇蛻舳饲鍐沃?;運行客戶端和服務(wù)端的操作系統(tǒng)類型不受限制。
2.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于所述服務(wù)端的多播消息或客戶端的單播消息中至少包含服務(wù)端或客戶端的基本信息,該基本信息至少包括服務(wù)端或客戶端的網(wǎng)絡(luò)地址。
3.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于所述服務(wù)端上的客戶端清單中包含的客戶端基本信息,至少包括客戶端的網(wǎng)絡(luò)地址。
4.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于服務(wù)端定時發(fā)出多播消息并監(jiān)聽客戶端返回的單播消息,根據(jù)監(jiān)聽結(jié)果不斷更新客戶端清單。
5.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于,客戶端還向外發(fā)出用于宣告自身存在的多播消息。
6.根據(jù)權(quán)利要求5所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于,服務(wù)端收到客戶端的多播消息后,返回單播消息給客戶端,用于確認收到消息并向客戶端宣告自身存在。
7.根據(jù)權(quán)利要求5所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于,服務(wù)端或客戶端至少通過第一端口處理多播消息的發(fā)送和單播消息的收發(fā),通過第二端口監(jiān)聽網(wǎng)絡(luò)中發(fā)來的多播消息。
8.根據(jù)權(quán)利要求1或6所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于,服務(wù)端發(fā)給客戶端的單播或多播消息還包括客戶端清單;或者客戶端向服務(wù)端發(fā)出客戶端清單的請求后,服務(wù)端向客戶端發(fā)出客戶端清單。
9.根據(jù)權(quán)利要求4所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于,當服務(wù)端更新客戶端清單后,將該更新動作通知客戶端。
10.根據(jù)權(quán)利要求1-9所述的任一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于服務(wù)端與客戶端之間通過至少一級子服務(wù)端連接,服務(wù)端根據(jù)收到的多播消息或單播消息產(chǎn)生與本服務(wù)端直接連接的客戶端清單;下級服務(wù)端將客戶端清單通過網(wǎng)絡(luò)輸出到上級服務(wù)端,最上級服務(wù)端匯總各服務(wù)端的客戶端清單和最上級服務(wù)端直接連接的客戶端清單,生成網(wǎng)絡(luò)的全部客戶端清單。
11.根據(jù)權(quán)利要求10所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于所述服務(wù)端發(fā)給客戶端的單播或多播消息中還包括全部客戶端清單;或者客戶端向直接連接的服務(wù)端發(fā)出全部客戶端清單的請求后,該服務(wù)端向客戶端發(fā)出全部客戶端清單;上級服務(wù)端向下級服務(wù)端發(fā)出全部客戶端清單。
12.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于,運行客戶端或服務(wù)端的操作系統(tǒng)至少為微軟公司W(wǎng)indows或UINX或Linux或蘋果公司MAC。
13.根據(jù)權(quán)利要求1所述的一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法,其特征在于,客戶端或服務(wù)端發(fā)送多播消息或單播消息所用網(wǎng)絡(luò)通訊協(xié)議至少為網(wǎng)絡(luò)控制協(xié)議和網(wǎng)際協(xié)議(TCP/IP)或NOVELL協(xié)議族。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)中設(shè)備狀態(tài)的檢測方法;服務(wù)端和客戶端均定時發(fā)送多播消息宣告自身存在,服務(wù)端或客戶端收到發(fā)來的多播消息后均返回單播消息確認;服務(wù)端收到客戶端返回的單播消息后產(chǎn)生客戶端清單,或?qū)⒃摽蛻舳思尤氲娇蛻舳饲鍐沃?,并根?jù)定時的監(jiān)聽結(jié)果刷新客戶端清單;客戶端可從服務(wù)端得到網(wǎng)絡(luò)中的客戶端清單,實現(xiàn)了網(wǎng)絡(luò)中運行有不同操作系統(tǒng)設(shè)備的相互發(fā)現(xiàn);當設(shè)備進入一個網(wǎng)絡(luò)環(huán)境時,該網(wǎng)絡(luò)環(huán)境中其它原有設(shè)備就可以發(fā)現(xiàn)該設(shè)備;由于這種發(fā)現(xiàn)是客戶端主動宣告的且不斷更新,因此用戶不必了解設(shè)備的網(wǎng)絡(luò)連接參數(shù)和操作系統(tǒng)類型。
文檔編號G06F15/00GK1535016SQ03108798
公開日2004年10月6日 申請日期2003年3月31日 優(yōu)先權(quán)日2003年3月31日
發(fā)明者王衛(wèi), 陳長征, 王震宇, 王 衛(wèi) 申請人:聯(lián)想(北京)有限公司