專利名稱:用于實現(xiàn)跨網(wǎng)段設(shè)備發(fā)現(xiàn)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于實現(xiàn)跨網(wǎng)段設(shè)備發(fā)現(xiàn)的方法和系統(tǒng)。
背景技術(shù):
隨著IP網(wǎng)絡(luò)的快速發(fā)展,利用IP網(wǎng)絡(luò)搭建監(jiān)控系統(tǒng)正變得越來越普遍。例如,在一個安防監(jiān)控系統(tǒng)(如小區(qū)監(jiān)控系統(tǒng))中,監(jiān)控設(shè)備(如IPC網(wǎng)絡(luò)攝像機、NVR網(wǎng)絡(luò)視頻錄像機)一般處在不同樓層、不同樓棟,即這些監(jiān)控設(shè)備可能處于不同網(wǎng)段中。在這種情況下,能夠自動快速地搜索、發(fā)現(xiàn)各個監(jiān)控設(shè)備,并實時關(guān)注設(shè)備的在線信息、IP信息等,對于用戶都極為重要。UPnP(Universal Plug and Play,通用即插即用)是一套旨在使家庭網(wǎng)絡(luò)和公司網(wǎng)絡(luò)中的各種設(shè)備實現(xiàn)相互無縫連接,并簡化相關(guān)網(wǎng)絡(luò)實現(xiàn)的協(xié)議框架。UPnP協(xié)議框架通過SSDP協(xié)議(簡單服務(wù)發(fā)現(xiàn)協(xié)議)實現(xiàn)設(shè)備發(fā)現(xiàn)功能。控制節(jié)點單元通過組播方式搜索即插即用設(shè)備,即插即用設(shè)備以單播方式回復(fù)控制節(jié)點單元的搜索請求。但是,普通交換機和路由器都不支持不同網(wǎng)段間組播包的轉(zhuǎn)發(fā),即使是支持組播包轉(zhuǎn)發(fā)的三層交換機,為了避免組播轉(zhuǎn)發(fā)引起的網(wǎng)絡(luò)風(fēng)暴、網(wǎng)絡(luò)阻塞,也配置為不轉(zhuǎn)發(fā)組播包。也就是說,在常規(guī)網(wǎng)絡(luò)環(huán)境中,基于組播方式的SSDP協(xié)議只能發(fā)現(xiàn)同一網(wǎng)段內(nèi)的設(shè)備。不僅是SSDP協(xié)議,其他常規(guī)的基于組播、廣播、鏈路層設(shè)備發(fā)現(xiàn)協(xié)議都實現(xiàn)不了跨網(wǎng)段設(shè)備發(fā)現(xiàn),滿足不了上述跨樓層、跨樓棟、跨網(wǎng)段監(jiān)控設(shè)備的自動搜索發(fā)現(xiàn)、統(tǒng)一配置部署的應(yīng)用場景。常規(guī)的跨網(wǎng)段設(shè)備發(fā)現(xiàn)和實時關(guān)注設(shè)備在線信息的方法是:設(shè)置一個集中注冊服務(wù)器,然后每臺監(jiān)控設(shè)備上都設(shè)置一下該集中注冊服務(wù)器的IP信息和認(rèn)證信息。當(dāng)監(jiān)控設(shè)備上線、下線時,都統(tǒng)一向該集中注冊服務(wù)器發(fā)送通知消息。但是,這種方法對于有上百、上千臺監(jiān)控設(shè)備規(guī)模的應(yīng)用中,要每臺設(shè)備都去設(shè)置集中服務(wù)器信息,很不方便,而且,集中服務(wù)器IP地址或認(rèn)證信息一旦發(fā)生變化,所有的監(jiān)控設(shè)備都需要重新設(shè)置。另外,集中注冊服務(wù)器需要由專門的計算機來承擔(dān)。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的是提供一種跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法和系統(tǒng)。本發(fā)明提供了一種跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法,所述方法包括:a.在每個網(wǎng)段中設(shè)置至少一個代理服務(wù)器,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元;b.設(shè)置至少一個客戶端,客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP協(xié)議進行通信;c.客戶端向與客戶端不同網(wǎng)段的各代理服務(wù)器的代理服務(wù)單元發(fā)送搜索設(shè)備請求;
d.各個代理服務(wù)器的代理服務(wù)單元接受所述請求,并且由控制節(jié)點單元在相應(yīng)網(wǎng)段內(nèi)通過SSDP協(xié)議發(fā)出搜索命令;e.控制節(jié)點單元接收來自各即插即用設(shè)備的單播消息,以獲得各即插即用設(shè)備的設(shè)備信息;f.由代理服務(wù)單元將所述設(shè)備信息發(fā)送給客戶端,以使客戶端發(fā)現(xiàn)即插即用設(shè)備。優(yōu)選地,步驟b還包括:每個客戶端將即插即用設(shè)備的訂閱消息發(fā)送給代理服務(wù)器,代理服務(wù)器返回訂閱標(biāo)識,所述訂閱標(biāo)識用于區(qū)分每個客戶端。優(yōu)選地,步驟b還包括:在每個客戶端上設(shè)置代理服務(wù)器認(rèn)證信息。優(yōu)選地,所述認(rèn)證信息包括客戶端的用戶名和口令。優(yōu)選地,所述方法還包括:保持客戶端和代理服務(wù)器的代理服務(wù)單元之間的連接
一直有效。本發(fā)明還提供了一種用于實現(xiàn)跨網(wǎng)段設(shè)備發(fā)現(xiàn)的系統(tǒng),所述系統(tǒng)包括:代理服務(wù)器和客戶端,其中:代理服務(wù)器設(shè)置在每個網(wǎng)段中,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元;客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP的RPC遠(yuǎn)程調(diào)用協(xié)議進行通信;控制節(jié)點單元用于在相應(yīng)網(wǎng)段內(nèi)通過SSDP協(xié)議發(fā)出搜索命令并且接收來自各即插即用設(shè)備的消息,以獲得各即插即用設(shè)備的設(shè)備信息;代理服務(wù)單元用于接受客戶端發(fā)送的搜索設(shè)備請求,并將即插即用設(shè)備的設(shè)備信息發(fā)送給客戶端,以使客戶端發(fā)現(xiàn)即插即用設(shè)備。優(yōu)選地,所述客戶端是位于任意網(wǎng)段中的PC機或即插即用設(shè)備。優(yōu)選地,控制節(jié)點單元包括設(shè)備信息管理模塊、網(wǎng)絡(luò)收發(fā)模塊、SSDP協(xié)議解析器,其中:設(shè)備信息管理模塊用于記錄發(fā)現(xiàn)的設(shè)備信息;網(wǎng)絡(luò)收發(fā)模塊用于向即插即用設(shè)備發(fā)起設(shè)備搜索消息,并將發(fā)現(xiàn)的設(shè)備信息發(fā)送到設(shè)備信息管理模塊;SSDP協(xié)議解析器用于根據(jù)即插即用設(shè)備發(fā)出的SSDP消息,解析出設(shè)備信息。優(yōu)選地,代理服務(wù)單元和控制節(jié)點單元在同一個即插即用設(shè)備的同一進程空間內(nèi)運行。本發(fā)明中還提供了一種用于實現(xiàn)跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法,所述方法包括:a.在每個網(wǎng)段中設(shè)置至少一個代理服務(wù)器,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元;b.設(shè)置至少一個客戶端,客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP協(xié)議進行通信;c.一個或多個即插即用設(shè)備在本網(wǎng)段內(nèi)發(fā)送SSDP組播消息,以報告實時設(shè)備信息;d.本網(wǎng)段內(nèi)代理服務(wù)器的控制節(jié)點單元接收到所述SSDP組播消息,從而獲得所述即插即用設(shè)備的實時設(shè)備信息;e.由該代理服務(wù)器的代理服務(wù)單元將所述實時設(shè)備信息發(fā)送給客戶端。在該方法中,步驟c優(yōu)選地包括:當(dāng)一個網(wǎng)段內(nèi)的一個或多個即插即用設(shè)備的設(shè)備狀態(tài)發(fā)生變化時,所述即插即用設(shè)備在本網(wǎng)段內(nèi)發(fā)送SSDP組播消息,以報告實時設(shè)備信息。優(yōu)選地,設(shè)備狀態(tài)發(fā)生變化包括所述一個或多個即插即用設(shè)備接入網(wǎng)絡(luò)、退出網(wǎng)絡(luò)或更新。在該方法中,步驟c優(yōu)選地包括:一個或多個即插即用設(shè)備每隔預(yù)定時間就在本網(wǎng)段內(nèi)發(fā)送一次SSDP組播消息,以報告實時設(shè)備信息。相對于現(xiàn)有技術(shù),本發(fā)明的跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法和系統(tǒng),在跨路由器或交換機的網(wǎng)絡(luò)應(yīng)用的情況下,無須路由器或交換機轉(zhuǎn)發(fā)組播包,通過各網(wǎng)段中的代理服務(wù)器,結(jié)合使用SSDP協(xié)議,即可實現(xiàn)不同網(wǎng)段間即插即用設(shè)備的發(fā)現(xiàn)以及設(shè)備狀態(tài)信息的獲取。
圖1是本發(fā)明一種用于實現(xiàn)跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法的流程圖;圖2是本發(fā)明一種用于實現(xiàn)跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的系統(tǒng)的結(jié)構(gòu)示意圖;圖3本發(fā)明一種用于實現(xiàn)跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法的協(xié)議交互過程圖;圖4是本發(fā)明另一種用于實現(xiàn)跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法的流程圖。
具體實施例方式本發(fā)明應(yīng)用于由多個即插即用設(shè)備組成的局域網(wǎng)中,所述即插即用設(shè)備可以是例如攝像機的監(jiān)控設(shè)備。所述即插即用設(shè)備位于不同的網(wǎng)段中,本發(fā)明的提供的方法和系統(tǒng)用于及時發(fā)現(xiàn)即插即用設(shè)備插入、退出網(wǎng)絡(luò)或者更新。本發(fā)明的一種用于實現(xiàn)跨網(wǎng)段設(shè)備發(fā)現(xiàn)的方法包括以下步驟:在步驟101,在每個網(wǎng)段中設(shè)置至少一個代理服務(wù)器。代理服務(wù)器用于采集本網(wǎng)段中即插即用設(shè)備的狀態(tài)信息,例如即插即用設(shè)備宣告存在、退出、更新等。代理服務(wù)器由相應(yīng)的軟件模塊和必要的存儲器、控制器、網(wǎng)絡(luò)接口等硬件模塊構(gòu)成。優(yōu)選地,每個代理服務(wù)器可以設(shè)置在一臺即插即用設(shè)備上。優(yōu)選地,在每臺即插即用設(shè)備上都集成有代理服務(wù)器模塊,因此,可以將任意一臺即插即用設(shè)備設(shè)定為代理服務(wù)器。每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元,優(yōu)選地,代理服務(wù)單元和控制節(jié)點單元在同一個即插即用設(shè)備的同一進程空間內(nèi)運行。在步驟102,設(shè)置至少一個客戶端,客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP協(xié)議進行通信,例如基于TCP的RPC遠(yuǎn)程調(diào)用協(xié)議進行通信??蛻舳丝梢栽O(shè)置在任何一個網(wǎng)段中,優(yōu)選地,客戶端可以是PC機或網(wǎng)段中的一臺即插即用設(shè)備。客戶端與代理服務(wù)器通常位于不同的網(wǎng)段內(nèi)。在客戶端安裝相應(yīng)的協(xié)議并且設(shè)置代理服務(wù)器的IP地址。由于可以設(shè)置多個客戶端,因此不同的客戶端可以對應(yīng)不同的代理服務(wù)器??蛻舳烁鶕?jù)設(shè)置的代理服務(wù)器信息連接代理服務(wù)器,例如客戶端發(fā)送登錄請求,代理服務(wù)器接受登錄請求,并回復(fù)確認(rèn)。優(yōu)選地,在連接成功后,客戶端與代理服務(wù)器之間的連接一直有效,例如通過定期向代理服務(wù)器發(fā)送?;蠲?、與代理服務(wù)器斷開后重新連接等方式,保持與代理服務(wù)器之間的連接一直有效。優(yōu)選地,為了提高網(wǎng)絡(luò)連接的安全性,在客戶端設(shè)置代理服務(wù)器的認(rèn)證信息。認(rèn)證信息可以包括用戶名和密碼,以此來簡便地實現(xiàn)用戶信息的認(rèn)證。本領(lǐng)域技術(shù)人員也可以采用其他的認(rèn)證方法來實現(xiàn)網(wǎng)絡(luò)連接的安全。優(yōu)選地,不同的客戶端都可以向代理服務(wù)器發(fā)送訂閱請求,用于訂閱即插即用設(shè)備的設(shè)備信息。代理服務(wù)器接受訂閱,并返回訂閱標(biāo)識,以便標(biāo)識不同的客戶端。在步驟103,客戶端向與客戶端不同網(wǎng)段的各代理服務(wù)器的代理服務(wù)單元發(fā)送搜索設(shè)備請求。在客戶端的網(wǎng)段內(nèi),可以由客戶端基于SSDP協(xié)議向即插即用設(shè)備直接發(fā)送組播消息,來實現(xiàn)即插即用設(shè)備的發(fā)現(xiàn)、自動更新設(shè)備信息功能。搜索設(shè)備請求可以基于TCP協(xié)議框架的RPC遠(yuǎn)程調(diào)用協(xié)議發(fā)送,根據(jù)TCP協(xié)議,在代理服務(wù)單元收到搜索設(shè)備請求后,可以發(fā)送確收消息。在步驟104,各個代理服務(wù)器接受所述請求,并且由控制節(jié)點單元在相應(yīng)網(wǎng)段內(nèi)通過SSDP協(xié)議發(fā)出搜索命令,以獲得各即插即用設(shè)備的設(shè)備信息。所述搜索命令可以是組播消息,即,控制節(jié)點單元在發(fā)出搜索命令搜索即插即用設(shè)備時,通過SSDP協(xié)議發(fā)出多播消息進行搜索??刂乒?jié)點單元發(fā)送搜索命令后,當(dāng)即插即用設(shè)備在上線時則通過多播消息宣告自身的存在,在下線時則通過多播消息宣告退出,這些多播消息也都能被控制節(jié)點單元實時接收,控制節(jié)點單元便可獲取設(shè)備的在線信息。在步驟105,控制節(jié)點單元接收來自各即插即用設(shè)備的SSDP消息,從而獲得各即插即用設(shè)備的設(shè)備信息。SSDP消息的格式符合SSDP協(xié)議。在步驟106,由代理服務(wù)器的代理服務(wù)單元將所述設(shè)備信息發(fā)送給客戶端,從而使客戶端發(fā)現(xiàn)即插即用設(shè)備。優(yōu)選地,代理服務(wù)器的代理服務(wù)單元將訂閱標(biāo)識(訂閱ID)和設(shè)備信息發(fā)送給客戶端,即,以“訂閱標(biāo)識+設(shè)備信息”的方式通知客戶端。因此客戶端能夠?qū)崟r獲取代理服務(wù)器所在網(wǎng)段的即插即用設(shè)備的相關(guān)信息。在本發(fā)明中,還提供了一種用于實現(xiàn)跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法,如圖4所示。所述方法包括:在步驟201,在每個網(wǎng)段中設(shè)置至少一個代理服務(wù)器,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元。在步驟202,設(shè)置至少一個客戶端,客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP協(xié)議進行通信。在該方法中,對于代理服務(wù)器和客戶端的設(shè)置與前面的描述相同,在此不再贅述。在步驟203,一個或多個即插即用設(shè)備在本網(wǎng)段內(nèi)發(fā)送SSDP組播消息,以報告實時設(shè)備信息。在一種實施方式中,當(dāng)一個網(wǎng)段內(nèi)的一個或多個即插即用設(shè)備的設(shè)備狀態(tài)發(fā)生變化時,所述即插即用設(shè)備會主動在本網(wǎng)段內(nèi)發(fā)送SSDP組播消息,以報告實時設(shè)備信息。其中,設(shè)備狀態(tài)發(fā)生變化可以包括以下任何一種情況:所述即插即用設(shè)備接入網(wǎng)絡(luò)、退出網(wǎng)絡(luò)或更新。即插即用設(shè)備發(fā)送的SSDP組播消息可以被本網(wǎng)段內(nèi)的其他設(shè)備接收到,其中本網(wǎng)段的代理服務(wù)器也能夠接收到。在另一種實施方式中,一個網(wǎng)段內(nèi)的即插即用設(shè)備可以定時報告自身的設(shè)備狀態(tài),即,一個或多個即插即用設(shè)備每隔預(yù)定時間就在本網(wǎng)段內(nèi)發(fā)送一次SSDP組播消息,以報告實時設(shè)備信息。在步驟204,該網(wǎng)段內(nèi)代理服務(wù)器的控制節(jié)點單元接收所述SSDP組播消息,從而可以獲得所述一個或多個即插即用設(shè)備的實時設(shè)備信息。在步驟205,由該代理服務(wù)器的代理服務(wù)單元將所述實時設(shè)備信息發(fā)送給客戶端,從而使得客戶端能夠?qū)崟r了解即插即用設(shè)備的狀態(tài)。相應(yīng)地,本發(fā)明還提供了一種用于實現(xiàn)跨網(wǎng)段設(shè)備發(fā)現(xiàn)的系統(tǒng),所述系統(tǒng)包括:代理服務(wù)器和客戶端。其中,代理服務(wù)器可以設(shè)置在每個網(wǎng)段中,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元??蛻舳伺c各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP的RPC遠(yuǎn)程調(diào)用協(xié)議進行通信??蛻舳丝梢允荘C機或網(wǎng)段中的一臺即插即用設(shè)備,S卩,在PC機或即插即用設(shè)備上集成了相應(yīng)的通信協(xié)議和人機接口軟件。代理服務(wù)單元作為代理服務(wù)器的網(wǎng)絡(luò)接口,用于與客戶端進行通信,并且用于與控制節(jié)點單元的數(shù)據(jù)接口。當(dāng)客戶端將搜索命令發(fā)送到代理服務(wù)器時,是由代理服務(wù)器的代理服務(wù)單元接收,然后將所述搜索命令傳遞到控制節(jié)點單元;而當(dāng)控制節(jié)點單元獲得各即插即用設(shè)備的設(shè)備信息后,控制節(jié)點單元也將所述設(shè)備信息傳遞到代理服務(wù)單元,由代理服務(wù)單元轉(zhuǎn)發(fā)到客戶端??刂乒?jié)點單元用于在相應(yīng)網(wǎng)段內(nèi)通過SSDP協(xié)議發(fā)出搜索命令并且接收來自各即插即用設(shè)備的單播或組播消息,以獲得各即插即用設(shè)備的設(shè)備信息。控制節(jié)點單元可以包括設(shè)備信息管理模塊、網(wǎng)絡(luò)收發(fā)模塊、SSDP協(xié)議解析器。其中:設(shè)備信息管理模塊用于記錄、保存發(fā)現(xiàn)的設(shè)備信息(包括設(shè)備在線信息、設(shè)備IP地址等)。網(wǎng)絡(luò)收發(fā)模塊發(fā)現(xiàn)的設(shè)備信息將保存在設(shè)備信息管理模塊中,當(dāng)客戶端請求獲取設(shè)備信息時,代理服務(wù)單元從設(shè)備信息管理模塊中獲取設(shè)備信息并返回給客戶端。同時,網(wǎng)絡(luò)收發(fā)模塊任何的設(shè)備信息變更,都會將更新發(fā)送給信息管理模塊,再由信息管理模塊主動通知代理服務(wù)單元,讓代理服務(wù)單元將設(shè)備信息實時發(fā)送給已經(jīng)訂閱的客戶端。網(wǎng)絡(luò)收發(fā)模塊用于實現(xiàn)SSDP協(xié)議的網(wǎng)絡(luò)收發(fā)功能。網(wǎng)絡(luò)收發(fā)模塊將即插即用設(shè)備加入組播地址,能實時獲取網(wǎng)段內(nèi)即插即用設(shè)備組播信息。網(wǎng)絡(luò)收發(fā)模塊提供接口供代理服務(wù)單元調(diào)用,以便能夠主動向即插即用設(shè)備發(fā)起設(shè)備搜索消息。網(wǎng)絡(luò)收發(fā)模塊通過SSDP協(xié)議解析器完成SSDP協(xié)議的封裝和解析,并將發(fā)現(xiàn)的設(shè)備信息實時通知設(shè)備信息管理模塊。SSDP協(xié)議解析器用于解析即插即用設(shè)備發(fā)出的SSDP消息,從中解析出設(shè)備uuid、設(shè)備IP等設(shè)備信息。代理服務(wù)單元用于接受客戶端發(fā)送的搜索設(shè)備請求,并將即插即用設(shè)備的設(shè)備信息發(fā)送給客戶端,以使客戶端發(fā)現(xiàn)即插即用設(shè)備。如圖2、3所示,在本發(fā)明的一個客戶端主動搜索即插即用設(shè)備的具體實施例中:網(wǎng)絡(luò)拓?fù)渚哂蠥、B、C三個不同網(wǎng)段,各網(wǎng)段均具有交換機,以實現(xiàn)網(wǎng)段之間的通信,但交換機不能轉(zhuǎn)發(fā)組播包。可以將客戶端設(shè)置在第一網(wǎng)段A中,該客戶端是一臺PC機。當(dāng)客戶端希望搜索網(wǎng)段A、B、C內(nèi)的所有即插即用設(shè)備(UPnP設(shè)備)的設(shè)備信息時,與客戶端同在第一網(wǎng)段A的設(shè)備可以通過直接在A網(wǎng)段內(nèi)組播發(fā)現(xiàn),但是第二網(wǎng)段B、第三網(wǎng)段C內(nèi)的設(shè)備不能直接被客戶端發(fā)現(xiàn)。此時,可以在第二網(wǎng)段B、第三網(wǎng)段C內(nèi)各選擇一臺代理服務(wù)器來轉(zhuǎn)發(fā)組播消息,以進行設(shè)備搜索,在第二網(wǎng)段B內(nèi),選擇UPnP設(shè)備I作為代理服務(wù)器;在第三網(wǎng)段C內(nèi),選擇UPnP設(shè)備4作為代理服務(wù)器,所述代理服務(wù)器由控制節(jié)點單元和代理服務(wù)單元實現(xiàn)??蛻舳伺c服務(wù)器通過TCP協(xié)議連接??蛻舳说卿洿矸?wù)器,代理服務(wù)器向客戶端返回確認(rèn)信號“0K”。連接期間,客戶端可以采用主動發(fā)送?;詈彤惓嚅_重連等方式,確保和代理服務(wù)器間的連接一直有效。當(dāng)客戶端在第一網(wǎng)段A發(fā)出搜索命令后,第二網(wǎng)段B、第三網(wǎng)段C內(nèi)的代理服務(wù)單元接收到所述搜索命令,也可以返回確認(rèn)信號“0K”。代理服務(wù)單元將所述搜索命令傳遞給控制節(jié)點單元,控制節(jié)點單元可以返回確認(rèn)信號“0K”。然后,各控制節(jié)點單元分別在第二網(wǎng)段B、第三網(wǎng)段C內(nèi)發(fā)出組播消息“SSDP search”,各網(wǎng)段內(nèi)的即插即用設(shè)備接收到組播消息后,即反饋設(shè)備的SSDP消息,各控制節(jié)點單元根據(jù)所述設(shè)備SSDP消息,向代理服務(wù)單元傳遞設(shè)備信息。代理服務(wù)單元再將設(shè)備信息發(fā)送到各客戶端,例如:以“訂閱ID+設(shè)備信息”的格式發(fā)送到各客戶端。盡管本發(fā)明是通過上述的優(yōu)選實施方式進行描述的,但是其實現(xiàn)形式并不局限于上述的實施方式。應(yīng)該認(rèn)識到:在不脫離本發(fā)明主旨的情況下,本領(lǐng)域技術(shù)人員可以對本發(fā)明做出不同的變化和修改。
權(quán)利要求
1.一種用于實現(xiàn)跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法,其特征在于,所述方法包括: a.在每個網(wǎng)段中設(shè)置至少一個代理服務(wù)器,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元; b.設(shè)置至少一個客戶端,客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP協(xié)議進行通信; c.客戶端向與客戶端不同網(wǎng)段的各代理服務(wù)器的代理服務(wù)單元發(fā)送搜索設(shè)備請求; d.各個代理服務(wù)器的代理服務(wù)單元接受所述請求,并且由控制節(jié)點單元在相應(yīng)網(wǎng)段內(nèi)通過SSDP協(xié)議發(fā)出搜索命令; e.控制節(jié)點單元接收來自各即插即用設(shè)備的單播消息,以獲得各即插即用設(shè)備的設(shè)備信息; f.由代理服務(wù)單元將所述設(shè)備信息發(fā)送給客戶端,以使客戶端發(fā)現(xiàn)即插即用設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟b還包括:每個客戶端將即插即用設(shè)備的訂閱消息發(fā)送給代理服務(wù)器,代理服務(wù)器返回訂閱標(biāo)識,所述訂閱標(biāo)識用于區(qū)分每個客戶端。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,步驟b還包括:在每個客戶端上設(shè)置代理服務(wù)器認(rèn)證信息。
4.根據(jù)權(quán)利要求3所述方法,其特征在于,所述認(rèn)證信息包括客戶端的用戶名和口令。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:保持客戶端和代理服務(wù)器的代理服務(wù)單元之間的連接一直有效。
6.一種用于實現(xiàn)跨網(wǎng)段設(shè)備發(fā)現(xiàn)的系統(tǒng),其特征在于,所述系統(tǒng)包括:代理服務(wù)器和客戶端,其中: 代理服務(wù)器設(shè)置在每個網(wǎng)段中,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元; 客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP的RPC遠(yuǎn)程調(diào)用協(xié)議進行通f目; 控制節(jié)點單元用于在相應(yīng)網(wǎng)段內(nèi)通過SSDP協(xié)議發(fā)出搜索命令并且接收來自各即插即用設(shè)備的消息,以獲得各即插即用設(shè)備的設(shè)備信息; 代理服務(wù)單元用于接受客戶端發(fā)送的搜索設(shè)備請求,并將即插即用設(shè)備的設(shè)備信息發(fā)送給客戶端,以使客戶端發(fā)現(xiàn)即插即用設(shè)備。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述客戶端是位于任意網(wǎng)段中的PC機或即插即用設(shè)備。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,控制節(jié)點單元包括設(shè)備信息管理模塊、網(wǎng)絡(luò)收發(fā)模塊、SSDP協(xié)議解析器,其中: 設(shè)備信息管理模塊用于記錄發(fā)現(xiàn)的設(shè)備信息; 網(wǎng)絡(luò)收發(fā)模塊用于向即插即用設(shè)備發(fā)起設(shè)備搜索消息,并將發(fā)現(xiàn)的設(shè)備信息發(fā)送到設(shè)備信息管理模塊; SSDP協(xié)議解析器用于根據(jù)即插即用設(shè)備發(fā)出的SSDP消息,解析出設(shè)備信息。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,代理服務(wù)單元和控制節(jié)點單元在同一個即插即用設(shè)備的同一進程空間內(nèi)運行。
10.一種用于實現(xiàn)跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法,其特征在于,所述方法包括:a.在每個網(wǎng)段中設(shè)置至少一個代理服務(wù)器,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元; b.設(shè)置至少一個客戶端,客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP協(xié)議進行通信; c.一個或多個即插即用設(shè)備在本網(wǎng)段內(nèi)發(fā)送SSDP組播消息,以報告實時設(shè)備信息; d.本網(wǎng)段內(nèi)代理服務(wù)器的控制節(jié)點單元接收到所述SSDP組播消息,從而獲得所述即插即用設(shè)備的實時設(shè)備信息; e.由該代理服務(wù)器的代理服務(wù)單元將所述實時設(shè)備信息發(fā)送給客戶端。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,步驟c包括:當(dāng)一個網(wǎng)段內(nèi)的一個或多個即插即用設(shè)備的設(shè)備狀態(tài)發(fā)生變化時,所述即插即用設(shè)備在本網(wǎng)段內(nèi)發(fā)送SSDP組播消息,以報告實時設(shè)備信息。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,設(shè)備狀態(tài)發(fā)生變化包括所述一個或多個即插即用設(shè)備接入網(wǎng)絡(luò)、退出網(wǎng)絡(luò)或更新。
13.根據(jù)權(quán)利要求10所述的方法,其特征在于,步驟c包括:一個或多個即插即用設(shè)備每隔預(yù)定時間就在本網(wǎng) 段內(nèi)發(fā)送一次SSDP組播消息,以報告實時設(shè)備信息。
全文摘要
本發(fā)明公開的跨網(wǎng)段發(fā)現(xiàn)即插即用設(shè)備的方法包括在每個網(wǎng)段中設(shè)置至少一個代理服務(wù)器,每個代理服務(wù)器包括代理服務(wù)單元和控制節(jié)點單元;設(shè)置至少一個客戶端,客戶端與各代理服務(wù)器的代理服務(wù)單元之間通過基于TCP協(xié)議進行通信;客戶端向與客戶端不同網(wǎng)段的各代理服務(wù)器的代理服務(wù)單元發(fā)送搜索設(shè)備請求;各個代理服務(wù)器的代理服務(wù)單元接受所述請求,并且由控制節(jié)點單元在相應(yīng)網(wǎng)段內(nèi)通過SSDP協(xié)議發(fā)出搜索命令;控制節(jié)點單元接收來自各即插即用設(shè)備的單播消息,以獲得各即插即用設(shè)備的設(shè)備信息;由代理服務(wù)單元將所述設(shè)備信息發(fā)送給客戶端。本發(fā)明無須路由器或交換機轉(zhuǎn)發(fā)組播包,即可實現(xiàn)不同網(wǎng)段間即插即用設(shè)備的發(fā)現(xiàn)。
文檔編號H04L29/12GK103095749SQ201110335560
公開日2013年5月8日 申請日期2011年10月28日 優(yōu)先權(quán)日2011年10月28日
發(fā)明者黃小進, 周明偉, 張興明, 傅利泉, 朱江明, 吳軍, 吳堅 申請人:浙江大華技術(shù)股份有限公司