本發(fā)明涉及云終端設(shè)備領(lǐng)域,尤其涉及一種云終端設(shè)備批量發(fā)現(xiàn)的方法及云終端管理系統(tǒng)。
背景技術(shù):
對(duì)于成千上萬(wàn)的云終端設(shè)備需要通過(guò)云終端管理系統(tǒng)對(duì)它們進(jìn)行管理,而只有云終端設(shè)備加入云終端管理系統(tǒng)才可以被云終端管理系統(tǒng)進(jìn)行管理。例如:云終端設(shè)備可以為個(gè)人電腦,當(dāng)其加入了云終端管理系統(tǒng)中時(shí),有一個(gè)新的系統(tǒng)更新發(fā)布了,可以通過(guò)云終端管理系統(tǒng)向加入的各個(gè)云終端設(shè)備發(fā)送系統(tǒng)更新的信息,方便、快捷,因此,云終端設(shè)備加入云終端管理系統(tǒng)是一種必要的步驟。
對(duì)于批量的云終端設(shè)備加入云終端管理系統(tǒng)中時(shí),云終端管理系統(tǒng)根據(jù)用戶(hù)輸入的IP地址段,搜索IP地址段內(nèi)存在的云終端設(shè)備,并將搜索的結(jié)果顯示在云終端管理系統(tǒng)的批量發(fā)現(xiàn)的相關(guān)頁(yè)面上,用戶(hù)可以根據(jù)需要選擇性的將相關(guān)云終端設(shè)備加入至云終端管理系統(tǒng)。
現(xiàn)有的批量發(fā)現(xiàn)云終端設(shè)備的方法,一般是用戶(hù)輸入IP地址段,云終端管理系統(tǒng)逐條向IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文(請(qǐng)求云終端設(shè)備相關(guān)信息),云終端管理系統(tǒng)需要同步等待回復(fù)報(bào)文;當(dāng)IP地址對(duì)應(yīng)的云終端設(shè)備返回其相關(guān)信息或者請(qǐng)求超時(shí)之后才會(huì)繼續(xù)向下一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文。
但現(xiàn)有技術(shù)的缺點(diǎn)為:
1、發(fā)現(xiàn)云終端設(shè)備需要消耗的時(shí)間過(guò)長(zhǎng);
2、網(wǎng)絡(luò)吞吐量比較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種云終端設(shè)備批量發(fā)現(xiàn)的方法及云終端管理系統(tǒng),解決云終端管理系統(tǒng)在進(jìn)行云終端設(shè)備批量發(fā)現(xiàn)時(shí)需要等待的時(shí)間過(guò)長(zhǎng)的問(wèn)題,同時(shí)能夠有效降低網(wǎng)絡(luò)吞吐量。
本發(fā)明提供的技術(shù)方案如下:
一種云終端設(shè)備批量發(fā)現(xiàn)的方法,包括:步驟S20當(dāng)需要批量發(fā)現(xiàn)云終端設(shè)備時(shí),獲取用戶(hù)輸入的IP地址段;步驟S30同時(shí)向所述IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文;其中,所述請(qǐng)求報(bào)文的消息頭包括:命令碼;步驟S40每接收到一條云終端設(shè)備返回的回復(fù)報(bào)文時(shí),判斷所述回復(fù)報(bào)文的消息頭是否含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼,若是,則執(zhí)行下一步,若否,則忽略所述回復(fù)報(bào)文;步驟S43將所述云終端設(shè)備的所述回復(fù)報(bào)文緩存;步驟S70根據(jù)緩存的所有所述回復(fù)報(bào)文,顯示批量發(fā)現(xiàn)的云終端設(shè)備。
進(jìn)一步優(yōu)選地,所述請(qǐng)求報(bào)文包括:SN號(hào)碼;所述步驟S40與所述步驟S43之間還包括:步驟S41解析所述回復(fù)報(bào)文,得到所述回復(fù)報(bào)文中包含的所述SN號(hào)碼;步驟S42調(diào)用所述SN號(hào)碼對(duì)應(yīng)的監(jiān)聽(tīng)器處理所述回復(fù)報(bào)文,判斷所述回復(fù)報(bào)文是否為所述IP地址段中的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,若是,則執(zhí)行步驟S43,若否,則忽略所述回復(fù)報(bào)文。
進(jìn)一步優(yōu)選地,所述步驟S43和所述步驟S70之間還包括:步驟S50判斷距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間是否達(dá)到預(yù)設(shè)等待時(shí)間,若是,則執(zhí)行下一步,若否,則執(zhí)行步驟S40。
進(jìn)一步優(yōu)選地,所述步驟S20之前還包括:步驟S10設(shè)置所述預(yù)設(shè)等待時(shí)間,注冊(cè)所述監(jiān)聽(tīng)器,并分配所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
進(jìn)一步優(yōu)選地,所述步驟S50與所述步驟S70之間還包括:步驟S60取消注冊(cè)的所述監(jiān)聽(tīng)器及分配的所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
本發(fā)明還提供一種云終端管理系統(tǒng),包括:獲取模塊,當(dāng)需要批量發(fā)現(xiàn)云終端設(shè)備時(shí),獲取用戶(hù)輸入的IP地址段;發(fā)送模塊,與所述獲取模塊電連接,所述發(fā)送模塊同時(shí)向所述IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文;其中,所述請(qǐng)求報(bào)文的消息頭包括:命令碼;判斷模塊,與所述發(fā)送模塊電連接,所述判斷模塊每接收到一條云終端設(shè)備返回的回復(fù)報(bào)文時(shí),判斷所述回復(fù)報(bào)文的消息頭是否含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼,若否,則忽略所述回復(fù)報(bào)文;緩存模塊,與所述判斷模塊電連接,當(dāng)所述回復(fù)報(bào)文的消息頭含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼時(shí),所述緩存模塊將所述回復(fù)報(bào)文緩存;顯示模塊,與所述緩存模塊電連接,所述顯示模塊根據(jù)緩存的所有所述回復(fù)報(bào)文,顯示批量發(fā)現(xiàn)的云終端設(shè)備。
進(jìn)一步優(yōu)選地,所述請(qǐng)求報(bào)文包括:SN號(hào)碼;所述云終端管理系統(tǒng)還包括:解析模塊,與所述判斷模塊電連接,當(dāng)所述回復(fù)報(bào)文的消息頭含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼時(shí),所述解析模塊解析所述回復(fù)報(bào)文,得到所述回復(fù)報(bào)文中包含的所述SN號(hào)碼;所述判斷模塊,進(jìn)一步用于調(diào)用所述SN號(hào)碼對(duì)應(yīng)的監(jiān)聽(tīng)器處理所述回復(fù)報(bào)文,判斷所述回復(fù)報(bào)文是否為所述IP地址段中的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,若否,則忽略所述回復(fù)報(bào)文。
進(jìn)一步優(yōu)選地,所述判斷模塊,進(jìn)一步用于判斷距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間是否達(dá)到預(yù)設(shè)等待時(shí)間。
進(jìn)一步優(yōu)選地,還包括:配置模塊,與所述判斷模塊電連接,所述配置模塊用于設(shè)置所述預(yù)設(shè)等待時(shí)間,注冊(cè)所述監(jiān)聽(tīng)器,并分配所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
進(jìn)一步優(yōu)選地,所述配置模塊,進(jìn)一步用于若距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間達(dá)到所述預(yù)設(shè)等待時(shí)間,所述配置模塊取消注冊(cè)的所述監(jiān)聽(tīng)器及分配的所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
1、同時(shí)向IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文,不需要等待當(dāng)前的IP地址對(duì)應(yīng)的云終端設(shè)備返回了回復(fù)報(bào)文或者等待回復(fù)報(bào)文超時(shí)后再向下一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文,節(jié)省了較長(zhǎng)的等待時(shí)間。請(qǐng)求報(bào)文的消息頭中包括了命令碼,而在處理云終端設(shè)備返回的回復(fù)報(bào)文時(shí),會(huì)對(duì)接收到的每一條回復(fù)報(bào)文查看其消息頭是否有對(duì)應(yīng)的響應(yīng)碼,這種設(shè)計(jì)保證了后續(xù)能夠緩存正確的回復(fù)報(bào)文,使在IP地址段內(nèi)的IP地址對(duì)應(yīng)的云終端設(shè)備能夠被正常發(fā)現(xiàn)。
2、請(qǐng)求報(bào)文中的SN號(hào)碼發(fā)送給云終端設(shè)備,是為了讓云終端設(shè)備在返回回復(fù)報(bào)文時(shí)把這個(gè)SN號(hào)碼包含在回復(fù)報(bào)文中;在解析得到回復(fù)報(bào)文中包含的SN號(hào)碼時(shí),可以通過(guò)這個(gè)SN號(hào)碼查找對(duì)應(yīng)的監(jiān)聽(tīng)器來(lái)進(jìn)一步處理回復(fù)報(bào)文,判斷接收到的回復(fù)報(bào)文是否為發(fā)送的IP地址段內(nèi)的IP地址對(duì)應(yīng)的云終端設(shè)備,如果是的話(huà),就將其緩存。多加的監(jiān)聽(tīng)器這一步,進(jìn)一步地保證了緩存正確的回復(fù)報(bào)文,從而使后續(xù)批量顯示的云終端設(shè)備能夠被精確地發(fā)現(xiàn)。
3、在等待云終端設(shè)備返回回復(fù)報(bào)文的時(shí)候會(huì)判斷等待的時(shí)間是否已經(jīng)達(dá)到了預(yù)設(shè)等待時(shí)間,避免沒(méi)有接收到某一個(gè)云終端設(shè)備返回的回復(fù)報(bào)文而長(zhǎng)時(shí)間等待,造成死循環(huán)的情況。
4、設(shè)置預(yù)設(shè)等待時(shí)間、注冊(cè)監(jiān)聽(tīng)器、分配監(jiān)聽(tīng)器對(duì)應(yīng)的SN號(hào)碼是上述各步驟執(zhí)行的基礎(chǔ),是保證了云終端設(shè)備能夠被批量發(fā)現(xiàn)的先決條件。
5、當(dāng)?shù)竭_(dá)了預(yù)設(shè)等待時(shí)間后,會(huì)把前面注冊(cè)的監(jiān)聽(tīng)器及其對(duì)應(yīng)的SN號(hào)碼取消注冊(cè),一來(lái)節(jié)省了資源,二來(lái)當(dāng)下次需要批量發(fā)現(xiàn)云終端設(shè)備時(shí)可以有新的SN號(hào)碼,不會(huì)與前面的那批造成混淆。
本發(fā)明的一種云終端設(shè)備批量發(fā)現(xiàn)的方法及云終端管理系統(tǒng),解決了云終端管理系統(tǒng)在進(jìn)行云終端設(shè)備批量發(fā)現(xiàn)時(shí)需要等待的時(shí)間過(guò)長(zhǎng)的問(wèn)題,同時(shí)能夠有效降低網(wǎng)絡(luò)吞吐量。
附圖說(shuō)明
下面將以明確易懂的方式,結(jié)合附圖說(shuō)明優(yōu)選實(shí)施方式,對(duì)一種云終端設(shè)備批量發(fā)現(xiàn)的方法及云終端管理系統(tǒng)的上述特性、技術(shù)特征、優(yōu)點(diǎn)及其實(shí)現(xiàn)方式予以進(jìn)一步說(shuō)明。
圖1是本發(fā)明云終端設(shè)備批量發(fā)現(xiàn)的方法一個(gè)實(shí)施例的流程圖;
圖2是本發(fā)明云終端設(shè)備批量發(fā)現(xiàn)的方法另一個(gè)實(shí)施例的流程圖;
圖3是本發(fā)明云終端管理系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖4是本發(fā)明云終端管理系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖5是本發(fā)明云終端管理系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
附圖標(biāo)號(hào)說(shuō)明:
10.獲取模塊,20.發(fā)送模塊,30.判斷模塊,40.緩存模塊,50.顯示模塊,60.解析模塊,70.配置模塊,100.云終端管理系統(tǒng),110.發(fā)送端,120.發(fā)現(xiàn)接口,121.監(jiān)聽(tīng)器,130.接收端,200.云終端設(shè)備。
具體實(shí)施方式
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)照附圖說(shuō)明本發(fā)明的具體實(shí)施方式。顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實(shí)施方式。
為使圖面簡(jiǎn)潔,各圖中只示意性地表示出了與本發(fā)明相關(guān)的部分,它們并不代表其作為產(chǎn)品的實(shí)際結(jié)構(gòu)。另外,以使圖面簡(jiǎn)潔便于理解,在有些圖中具有相同結(jié)構(gòu)或功能的部件,僅示意性地繪示了其中的一個(gè),或僅標(biāo)出了其中的一個(gè)。在本文中,“一個(gè)”不僅表示“僅此一個(gè)”,也可以表示“多于一個(gè)”的情形。
在本發(fā)明的一個(gè)實(shí)施例中,如圖1所示,一種云終端設(shè)備批量發(fā)現(xiàn)的方法,包括:步驟S20當(dāng)需要批量發(fā)現(xiàn)云終端設(shè)備時(shí),獲取用戶(hù)輸入的IP地址段;步驟S30同時(shí)向所述IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文;其中,所述請(qǐng)求報(bào)文的消息頭包括:命令碼;步驟S40每接收到一條云終端設(shè)備返回的回復(fù)報(bào)文時(shí),判斷所述回復(fù)報(bào)文的消息頭是否含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼,若是,則執(zhí)行下一步,若否,則忽略所述回復(fù)報(bào)文;步驟S43將所述云終端設(shè)備的所述回復(fù)報(bào)文緩存;步驟S70根據(jù)緩存的所有所述回復(fù)報(bào)文,顯示批量發(fā)現(xiàn)的云終端設(shè)備。
具體的,關(guān)于同時(shí)向IP地址段的IP地址發(fā)送請(qǐng)求報(bào)文可以理解為,例如:輸入的IP地址段為192.168.1.2--192.168.1.254,同時(shí)向IP地址為192.168.1.2,192.168.1.3,192.168.1.4……192.168.1.254的云終端設(shè)備發(fā)送請(qǐng)求報(bào)文,發(fā)送后等待它們返回的回復(fù)報(bào)文。請(qǐng)求報(bào)文的消息頭中包括了命令碼,當(dāng)云終端設(shè)備接收到請(qǐng)求報(bào)文時(shí),會(huì)根據(jù)其命令碼生成對(duì)應(yīng)的響應(yīng)碼放在其返回的回復(fù)報(bào)文的消息頭中,便于云終端管理設(shè)備在接收到回復(fù)報(bào)文時(shí),可以很快地了解到是否是前面需要批量發(fā)現(xiàn)云終端設(shè)備那一批中的云終端設(shè)備,若是的話(huà),則將其返回的回復(fù)報(bào)文進(jìn)行緩存,之后將緩存的回復(fù)報(bào)文統(tǒng)一顯示出來(lái)?;貜?fù)報(bào)文,其實(shí)就是云終端設(shè)備本身的相關(guān)信息,便于后續(xù)添加到云終端管理系統(tǒng)中而需要的必要信息;而顯示批量發(fā)現(xiàn)的云終端設(shè)備,等于是將云終端設(shè)備對(duì)應(yīng)的回復(fù)報(bào)文顯示出來(lái),兩者是一一對(duì)應(yīng)的關(guān)系。
一般來(lái)說(shuō),云終端管理系統(tǒng)與云終端設(shè)備之間采用UDP、TCP等協(xié)議通信,在這里不作限定。但是,優(yōu)選的是UDP協(xié)議通信,也可以理解為,向云終端設(shè)備發(fā)送的是UDP請(qǐng)求報(bào)文,主要是因?yàn)閁DP不需要常連接,不用一直保持常連接通道,通信比較簡(jiǎn)單、節(jié)省資源。
優(yōu)選地,所述請(qǐng)求報(bào)文還包括:SN號(hào);所述步驟S40與所述步驟S43之間還包括:步驟S41解析所述回復(fù)報(bào)文,得到所述回復(fù)報(bào)文中包含的所述SN號(hào);步驟S42調(diào)用所述SN號(hào)對(duì)應(yīng)的監(jiān)聽(tīng)器處理所述回復(fù)報(bào)文,判斷所述回復(fù)報(bào)文是否為所述IP地址段中的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,若是,則執(zhí)行步驟S43,若否,則忽略所述回復(fù)報(bào)文。
具體的,注冊(cè)的監(jiān)聽(tīng)器有其全局唯一的SN號(hào)碼,而在請(qǐng)求報(bào)文中會(huì)包括此SN號(hào)碼發(fā)送給云終端設(shè)備,以便云終端設(shè)備在返回的回復(fù)報(bào)文中加入此SN號(hào)碼;當(dāng)接收到云終端設(shè)備返回的回復(fù)報(bào)文時(shí),會(huì)先判斷其的消息頭是否為命令碼對(duì)應(yīng)的響應(yīng)碼,如果是的話(huà),會(huì)進(jìn)一步解析回復(fù)報(bào)文,得到SN號(hào)碼,然后根據(jù)此SN號(hào)碼調(diào)用跟它唯一對(duì)應(yīng)的監(jiān)聽(tīng)器進(jìn)一步處理回復(fù)報(bào)文,判斷它是不是先前發(fā)送的IP地址段的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,如果是的話(huà),才將此回復(fù)報(bào)文緩存。同時(shí)利用響應(yīng)碼和監(jiān)聽(tīng)器對(duì)回復(fù)報(bào)文進(jìn)行確認(rèn)、處理,保證了緩存的回復(fù)報(bào)文的準(zhǔn)確性,從而保證了本發(fā)明中云終端設(shè)備被批量發(fā)現(xiàn)的精確性。
優(yōu)選地,所述步驟S43和所述步驟S70之間還包括:步驟S50判斷距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間是否達(dá)到預(yù)設(shè)等待時(shí)間,若是,則執(zhí)行下一步,若否,則執(zhí)行步驟S40。
具體的,在發(fā)送了請(qǐng)求報(bào)文后,自然會(huì)等待云終端設(shè)備返回對(duì)應(yīng)的回復(fù)報(bào)文,而云終端管理系統(tǒng)并不是無(wú)限制地等待云終端設(shè)備返回回復(fù)報(bào)文,如果出現(xiàn)這樣的情況,完全不能解決降低等待時(shí)間的問(wèn)題。因此,判斷是否達(dá)到預(yù)設(shè)等待時(shí)間是一種在批量發(fā)現(xiàn)云終端設(shè)備中有效降低等待時(shí)間的方法,若出現(xiàn)某一個(gè)云終端設(shè)備一直沒(méi)有返回相應(yīng)的回復(fù)報(bào)文,在預(yù)設(shè)等待時(shí)間結(jié)束后不會(huì)再等待這個(gè)云終端設(shè)備返回的回復(fù)報(bào)文,而直接將先前緩存的回復(fù)報(bào)文顯示,即將之前緩存的云終端設(shè)備顯示出來(lái),便于用戶(hù)后續(xù)的操作。需要注意的是,這里的預(yù)設(shè)等待時(shí)間可以自行根據(jù)需要定義,一般3-5秒便可實(shí)現(xiàn)大批量的云終端設(shè)備被發(fā)現(xiàn)。
優(yōu)選地,所述步驟S20之前還包括:步驟S10設(shè)置所述預(yù)設(shè)等待時(shí)間,注冊(cè)所述監(jiān)聽(tīng)器,并分配所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
所述步驟S50與所述步驟S70之間還包括:步驟S60取消注冊(cè)的所述監(jiān)聽(tīng)器及分配的所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
具體的,預(yù)設(shè)等待時(shí)間的設(shè)置、監(jiān)聽(tīng)器的注冊(cè)和SN號(hào)的分配都是批量發(fā)現(xiàn)云終端設(shè)備過(guò)程中必不可少的條件,它們的存在保證整個(gè)流程運(yùn)行的順暢且有效率。
而在預(yù)設(shè)等待時(shí)間結(jié)束后,取消注冊(cè)監(jiān)聽(tīng)器及其對(duì)應(yīng)的SN號(hào)碼,一來(lái)節(jié)省了不必要的空間占用,二來(lái)也保證了后續(xù)進(jìn)行批量發(fā)現(xiàn)時(shí)可以采用新的監(jiān)聽(tīng)器及對(duì)應(yīng)的SN號(hào)碼,因?yàn)镾N號(hào)碼是全局唯一的,且在預(yù)設(shè)等待時(shí)間結(jié)束后就會(huì)取消,因此,不同批次的云終端設(shè)備發(fā)現(xiàn)的操作不會(huì)交叉混淆,保證了云終端設(shè)備被批量發(fā)現(xiàn)的精確性。
在本發(fā)明的另一個(gè)實(shí)施例中,如圖2所示,一種云終端設(shè)備批量發(fā)現(xiàn)的方法,包括:步驟S10設(shè)置所述預(yù)設(shè)等待時(shí)間,注冊(cè)所述監(jiān)聽(tīng)器,并分配所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼;步驟S20當(dāng)需要批量發(fā)現(xiàn)云終端設(shè)備時(shí),獲取用戶(hù)輸入的IP地址段;步驟S30同時(shí)向所述IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文;其中,所述請(qǐng)求報(bào)文的消息頭包括:命令碼;所述請(qǐng)求報(bào)文包括:SN號(hào)碼;步驟S40每接收到一條云終端設(shè)備返回的回復(fù)報(bào)文時(shí),判斷所述回復(fù)報(bào)文的消息頭是否含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼,若是,則執(zhí)行下一步,若否,則忽略所述回復(fù)報(bào)文;步驟S41解析所述回復(fù)報(bào)文,得到所述回復(fù)報(bào)文中包含的所述SN號(hào)碼;步驟S42調(diào)用所述SN號(hào)碼對(duì)應(yīng)的監(jiān)聽(tīng)器處理所述回復(fù)報(bào)文,判斷所述回復(fù)報(bào)文是否為所述IP地址段中的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,若是,則執(zhí)行步驟S43,若否,則忽略所述回復(fù)報(bào)文;步驟S43將所述云終端設(shè)備的所述回復(fù)報(bào)文緩存;步驟S50判斷距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間是否達(dá)到預(yù)設(shè)等待時(shí)間,若是,則執(zhí)行下一步,若否,則執(zhí)行步驟S40;步驟S60取消注冊(cè)的所述監(jiān)聽(tīng)器及分配的所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼;步驟S70根據(jù)緩存的所有所述回復(fù)報(bào)文,顯示批量發(fā)現(xiàn)的云終端設(shè)備。
具體的,本發(fā)明的云終端管理系統(tǒng)同時(shí)向IP地址段內(nèi)的IP地址(對(duì)應(yīng)的云終端設(shè)備)發(fā)送請(qǐng)求報(bào)文,節(jié)省了同步等待每條回復(fù)報(bào)文的時(shí)間,即不再需要云終端管理系統(tǒng)逐條向IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文,只有當(dāng)IP地址對(duì)應(yīng)的云終端設(shè)備返回了回復(fù)報(bào)文(即云終端設(shè)備的相關(guān)信息)或達(dá)到預(yù)設(shè)等待時(shí)間后才繼續(xù)向下一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文;且同時(shí)發(fā)送請(qǐng)求報(bào)文及后續(xù)等待云終端設(shè)備返回回復(fù)報(bào)文這種行為也降低了網(wǎng)絡(luò)吞吐量;另外,由于是云終端管理系統(tǒng)向云終端設(shè)備發(fā)送請(qǐng)求報(bào)文,因此,不需要事先將云終端管理系統(tǒng)的IP地址、端口相關(guān)信息配置到云終端設(shè)備中,大大提高了用戶(hù)的使用體驗(yàn)。
在本發(fā)明的另一個(gè)實(shí)施例中,如圖5所示,云終端管理系統(tǒng)100與云終端設(shè)備200之間進(jìn)行通信,云終端管理系統(tǒng)100中定義了一個(gè)接收端130和一個(gè)發(fā)送端110,在具體的實(shí)施過(guò)程中,接收端130和發(fā)送端110可以使用同一個(gè)端口也可以使用不同的端口,為了節(jié)省資源,一般會(huì)采用同一個(gè)端口作為接收端和發(fā)送端。另外,需要注意的是,當(dāng)云終端管理系統(tǒng)啟動(dòng)時(shí),首先需要啟動(dòng)接收端130,因?yàn)椋邮斩讼喈?dāng)于一個(gè)線(xiàn)程,為了保證不漏掉消息,一直處于運(yùn)行狀態(tài),所以需要先行啟動(dòng);而發(fā)送端是在需要使用的時(shí)候才會(huì)調(diào)用它,發(fā)送完畢,就會(huì)退出,例如:要給IP地址段內(nèi)的IP地址對(duì)應(yīng)的云終端設(shè)備發(fā)送請(qǐng)求報(bào)文時(shí),就會(huì)調(diào)用發(fā)送端,發(fā)完后,發(fā)送端就會(huì)退出。
在接收端接收到云終端設(shè)備返回的回復(fù)報(bào)文后,就會(huì)轉(zhuǎn)到發(fā)現(xiàn)接口120進(jìn)行處理;在配置的階段,需要在發(fā)送接口120中開(kāi)辟一塊緩存區(qū)域,用來(lái)存儲(chǔ)后續(xù)發(fā)現(xiàn)的云終端設(shè)備的回復(fù)報(bào)文,即云終端設(shè)備的相關(guān)信息。另外,監(jiān)聽(tīng)器121是在發(fā)現(xiàn)接口120中注冊(cè)的,監(jiān)聽(tīng)器121是定義在發(fā)現(xiàn)接口120中的一個(gè)匿名內(nèi)部類(lèi),該監(jiān)聽(tīng)器121具有訪問(wèn)在發(fā)現(xiàn)接口中定義的緩存的權(quán)限;在注冊(cè)監(jiān)聽(tīng)器時(shí)使用發(fā)現(xiàn)接口生成的一個(gè)全局唯一的SN號(hào)碼作為KEY(鍵值對(duì)),注冊(cè)監(jiān)聽(tīng)器的過(guò)程就是把監(jiān)聽(tīng)器的實(shí)例和SN號(hào)碼做一個(gè)映射存儲(chǔ)在接收端,其中的SN號(hào)碼會(huì)在發(fā)送請(qǐng)求報(bào)文中發(fā)送給云終端設(shè)備,云終端設(shè)備在回復(fù)的時(shí)候需要把SN號(hào)碼返回至云終端管理系統(tǒng)的接收端。
發(fā)送端向IP地址范圍內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文,請(qǐng)求報(bào)文的消息頭包含命令碼,例如:discover,接收端接收到云終端設(shè)備返回的回復(fù)報(bào)文時(shí),會(huì)先判斷是否為請(qǐng)求報(bào)文的回復(fù)報(bào)文,可以根據(jù)回復(fù)報(bào)文的消息頭來(lái)判斷,例如:如果回復(fù)報(bào)文的消息頭為,discover-response,則說(shuō)明這個(gè)回復(fù)報(bào)文是剛才請(qǐng)求報(bào)文的,然后再根據(jù)此回復(fù)報(bào)文中的SN號(hào)碼調(diào)用相應(yīng)的監(jiān)聽(tīng)器來(lái)處理回復(fù)報(bào)文,進(jìn)一步判斷它是不是剛剛IP地址段范圍內(nèi)的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,如果是的話(huà),就將此回復(fù)報(bào)文存儲(chǔ)在緩存中。為了避免出現(xiàn)無(wú)限制等待返回的回復(fù)報(bào)文的情況,會(huì)設(shè)置預(yù)設(shè)等待時(shí)間,在預(yù)設(shè)等待時(shí)間結(jié)束后,可以取消監(jiān)聽(tīng)器及對(duì)應(yīng)的SN號(hào)碼,并顯示緩存的所有云終端設(shè)備(也可以理解為,回復(fù)報(bào)文)。
在本發(fā)明的另一個(gè)實(shí)施例中,如圖3所示,一種云終端管理系統(tǒng),包括:獲取模塊10,當(dāng)需要批量發(fā)現(xiàn)云終端設(shè)備時(shí),獲取用戶(hù)輸入的IP地址段;發(fā)送模塊20,與所述獲取模塊10電連接,所述發(fā)送模塊20同時(shí)向所述IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文;其中,所述請(qǐng)求報(bào)文的消息頭包括:命令碼;判斷模塊30,與所述發(fā)送模塊20電連接,所述判斷模塊30每接收到一條云終端設(shè)備返回的回復(fù)報(bào)文時(shí),判斷所述回復(fù)報(bào)文的消息頭是否含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼,若否,則忽略所述回復(fù)報(bào)文;緩存模塊40,與所述判斷模塊電連接,當(dāng)所述回復(fù)報(bào)文的消息頭含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼時(shí),所述緩存模塊40將所述回復(fù)報(bào)文緩存;顯示模塊50,與所述緩存模塊40電連接,所述顯示模塊50根據(jù)緩存的所有所述回復(fù)報(bào)文,顯示批量發(fā)現(xiàn)的云終端設(shè)備。
具體的,同時(shí)向IP地址段范圍內(nèi)的IP地址發(fā)送請(qǐng)求報(bào)文,減少了現(xiàn)有技術(shù)中同步等待時(shí)間;且當(dāng)接收到的回復(fù)報(bào)文是需要的回復(fù)報(bào)文時(shí),會(huì)將其緩存起來(lái),最后一起將緩存的回復(fù)報(bào)文顯示,實(shí)現(xiàn)批量發(fā)現(xiàn)云終端設(shè)備的目的;這種設(shè)計(jì)對(duì)于批量發(fā)現(xiàn)云終端設(shè)備而言,消耗時(shí)間較短且網(wǎng)絡(luò)吞吐量較低,具有明顯改進(jìn)用戶(hù)體驗(yàn)的效果。
優(yōu)選地,所述請(qǐng)求報(bào)文還包括:SN號(hào)碼;所述云終端管理系統(tǒng)還包括:解析模塊60,與所述判斷模塊30電連接,當(dāng)所述回復(fù)報(bào)文的消息頭含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼時(shí),所述解析模塊60解析所述回復(fù)報(bào)文,得到所述回復(fù)報(bào)文中包含的所述SN號(hào)碼;所述判斷模塊30,進(jìn)一步用于調(diào)用所述SN號(hào)碼對(duì)應(yīng)的監(jiān)聽(tīng)器處理所述回復(fù)報(bào)文,判斷所述回復(fù)報(bào)文是否為所述IP地址段中的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,若否,則忽略所述回復(fù)報(bào)文。
具體的,為了保證緩存的回復(fù)報(bào)文的精確性,除了會(huì)檢查回復(fù)報(bào)文的消息頭之外,還會(huì)根據(jù)回復(fù)報(bào)文中的SN號(hào)碼調(diào)用對(duì)應(yīng)的監(jiān)聽(tīng)器來(lái)處理此回復(fù)報(bào)文,判斷它是否為IP地址段范圍內(nèi)的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,如果是的話(huà),才將其緩存,不是的話(huà),就忽略它;利用兩種手段(消息頭和監(jiān)聽(tīng)器)多方面地保證了緩存回復(fù)報(bào)文的精確性,使被批量發(fā)現(xiàn)的云終端設(shè)備可以達(dá)到準(zhǔn)確性的要求。
優(yōu)選地,所述判斷模塊30,進(jìn)一步用于判斷距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間是否達(dá)到預(yù)設(shè)等待時(shí)間。
具體的,在發(fā)送了請(qǐng)求報(bào)文給云終端設(shè)備后,會(huì)有一個(gè)預(yù)設(shè)等等時(shí)間,即只有在此時(shí)間段內(nèi)才會(huì)等待IP地址段內(nèi)的云終端設(shè)備返回的回復(fù)報(bào)文,超出了就不會(huì)再將其緩存、顯示了;預(yù)設(shè)等待時(shí)間保證了云終端管理系統(tǒng)的工作效率,不會(huì)消耗過(guò)長(zhǎng)的時(shí)間進(jìn)行發(fā)現(xiàn)云終端設(shè)備。
優(yōu)選地,還包括:配置模塊70,與所述判斷模塊30電連接,所述配置模塊70用于設(shè)置所述預(yù)設(shè)等待時(shí)間,注冊(cè)所述監(jiān)聽(tīng)器,并分配所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
具體的,預(yù)設(shè)等待時(shí)間保證了云終端管理系統(tǒng)的工作效率;監(jiān)聽(tīng)器及其對(duì)應(yīng)的SN號(hào)碼保證了云終端管理系統(tǒng)批量發(fā)現(xiàn)云終端設(shè)備的精確性。
優(yōu)選地,所述配置模塊70,進(jìn)一步用于若距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間達(dá)到所述預(yù)設(shè)等待時(shí)間,所述配置模塊取消注冊(cè)的所述監(jiān)聽(tīng)器及分配的所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
具體的,在預(yù)設(shè)等待時(shí)間結(jié)束后,會(huì)取消注冊(cè)的監(jiān)聽(tīng)器及對(duì)應(yīng)的SN號(hào)碼,一來(lái)是節(jié)省了系統(tǒng)資源,二來(lái)也保證了兩個(gè)批次的批量發(fā)現(xiàn)云終端設(shè)備返回的回復(fù)報(bào)文不會(huì)發(fā)現(xiàn)混淆,保證了云終端管理系統(tǒng)批量發(fā)現(xiàn)云終端設(shè)備的精確性。
在本發(fā)明的另一個(gè)實(shí)施例中,如圖4所示,一種云終端管理系統(tǒng),包括:獲取模塊10,當(dāng)需要批量發(fā)現(xiàn)云終端設(shè)備時(shí),獲取用戶(hù)輸入的IP地址段;發(fā)送模塊20,與所述獲取模塊10電連接,所述發(fā)送模塊20同時(shí)向所述IP地址段內(nèi)的每一個(gè)IP地址發(fā)送請(qǐng)求報(bào)文;其中,所述請(qǐng)求報(bào)文的消息頭包括:命令碼;所述請(qǐng)求報(bào)文包括:SN號(hào)碼;判斷模塊30,與所述發(fā)送模塊20電連接,所述判斷模塊30每接收到一條云終端設(shè)備返回的回復(fù)報(bào)文時(shí),判斷所述回復(fù)報(bào)文的消息頭是否含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼,若否,則忽略所述回復(fù)報(bào)文;以及,調(diào)用所述SN號(hào)碼對(duì)應(yīng)的監(jiān)聽(tīng)器處理所述回復(fù)報(bào)文,判斷所述回復(fù)報(bào)文是否為所述IP地址段中的IP地址對(duì)應(yīng)的云終端設(shè)備返回的,若否,則忽略所述回復(fù)報(bào)文;以及,判斷距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間是否達(dá)到預(yù)設(shè)等待時(shí)間;緩存模塊40,與所述判斷模塊30電連接,當(dāng)所述回復(fù)報(bào)文的消息頭含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼時(shí),所述緩存模塊將所述回復(fù)報(bào)文緩存;顯示模塊50,與所述緩存模塊40電連接,所述顯示模塊50根據(jù)緩存的所有所述回復(fù)報(bào)文,顯示批量發(fā)現(xiàn)的云終端設(shè)備;解析模塊60,與所述判斷模塊30電連接,當(dāng)所述回復(fù)報(bào)文的消息頭含有與所述命令碼對(duì)應(yīng)的響應(yīng)碼時(shí),所述解析模塊60解析所述回復(fù)報(bào)文,得到所述回復(fù)報(bào)文中包含的所述SN號(hào)碼;配置模塊70,與所述判斷模塊60電連接,所述配置模塊用于設(shè)置所述預(yù)設(shè)等待時(shí)間,注冊(cè)所述監(jiān)聽(tīng)器,并分配所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼;以及,若距離發(fā)送所述請(qǐng)求報(bào)文的時(shí)間達(dá)到所述預(yù)設(shè)等待時(shí)間,所述配置模塊取消注冊(cè)的所述監(jiān)聽(tīng)器及分配的所述監(jiān)聽(tīng)器對(duì)應(yīng)的所述SN號(hào)碼。
具體的,本發(fā)明的云終端管理系統(tǒng)批量發(fā)現(xiàn)云終端設(shè)備消耗的時(shí)間較短,且精確性較高、網(wǎng)絡(luò)吞吐量也比較低;另外,不需要事先向云終端設(shè)備配置云終端管理系統(tǒng)的IP地址、端口相關(guān)信息等,使用方便、快捷,易于普及、推廣。
應(yīng)當(dāng)說(shuō)明的是,上述實(shí)施例均可根據(jù)需要自由組合。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。