專利名稱:產(chǎn)生掃描標(biāo)識的方法以及對天線設(shè)備進(jìn)行掃描的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種掃描技術(shù),特別涉及產(chǎn)生掃描標(biāo)識的方法以及對天線設(shè)備進(jìn)行掃描的方法。
背景技術(shù):
天線接口標(biāo)準(zhǔn)組織(AISG,Antenna Interface Standards Group)協(xié)議中規(guī)定任何一個(gè)天線設(shè)備(ALD,Antenna line device)均需要一個(gè)全球唯一的唯一標(biāo)識(UID,Unique ID)。UID需要通過掃描獲取,掃描過程簡單描述如下主站即天線控制器將帶有比特掩碼(BIT MASK)和UID的消息以廣播方式下發(fā)給總線上的所有從站ALD,ALD收到此消息后,如果將自身的UID和BIT MASK做與運(yùn)算后得到的值與收到消息中的UID一致,則向主站回送帶有自身UID的掃描響應(yīng)。兩個(gè)或兩個(gè)以上的設(shè)備同時(shí)回送成功響應(yīng)時(shí),主站有時(shí)可以收到所有正確響應(yīng),有時(shí)會收到錯(cuò)誤的數(shù)據(jù),主站如果收到錯(cuò)誤的數(shù)據(jù),則會認(rèn)為出現(xiàn)沖突,并繼續(xù)掃描。UID通常包含有效位和無效位,所述有效位的值可以為1,也可以為0,所述無效位的值均為0。比如UID=00000101、且UID有效位長度為4;UID=00000001、UID有效位長度為2等。目前協(xié)議規(guī)定UID的最大長度為19個(gè)字節(jié)共152位,實(shí)際應(yīng)用中,如果協(xié)議允許,UID的最大長度也可以為別的數(shù)。本文中所述UID最大長度或UID最大字節(jié)長度根據(jù)協(xié)議確定,比如為19個(gè)字節(jié)等。
如何保證完備地生成掃描消息,同時(shí)不至于消耗很長的掃描時(shí)間,取決于采用的掃描算法,AISG協(xié)議推薦采用二叉樹算法。
采用二叉樹算法對天線設(shè)備進(jìn)行掃描時(shí)的過程如圖1所示,該過程包含以下步驟
步驟101主站遍歷到二叉樹的一個(gè)節(jié)點(diǎn)。
步驟101中,主站可以采用二叉樹的先根遍歷法遍歷到一個(gè)節(jié)點(diǎn)。
所述二叉樹可以如圖1A所示,圖1A中標(biāo)出了各個(gè)節(jié)點(diǎn)值。所述二叉樹的節(jié)點(diǎn)值預(yù)先生成,比如層一的左節(jié)點(diǎn)11a、右節(jié)點(diǎn)11b的值分別為00000001和00000000;層二的四個(gè)節(jié)點(diǎn)從左到右的其值分別為二進(jìn)制的節(jié)點(diǎn)12aa為00000011、節(jié)點(diǎn)12ba為00000001、節(jié)點(diǎn)12ab為00000010、節(jié)點(diǎn)12bb為00000000;等等。
實(shí)際應(yīng)用中,二叉樹的某一層的每個(gè)節(jié)點(diǎn)值的有效比特位的0和1的取值可以取反,此時(shí)同一層的所有兄弟節(jié)點(diǎn)以及該層以下所有子節(jié)點(diǎn)的0和1的取值也要取反。比如層一的兩個(gè)節(jié)點(diǎn)從左到右其值分別為00000000和00000001,則層二的四個(gè)節(jié)點(diǎn)從左到右其值分別為二進(jìn)制的00000000、00000010、00000001、00000011,等等。所述節(jié)點(diǎn)值的有效比特位根據(jù)所述節(jié)點(diǎn)的層數(shù)決定,具體地說,如果節(jié)點(diǎn)的層數(shù)為第n層,則節(jié)點(diǎn)值中第0位至第n-1位為有效比特位。比如層一兩個(gè)節(jié)點(diǎn)的有效比特位為第0位,層二兩個(gè)節(jié)點(diǎn)的有效比特位為第0位、第1位等。
步驟102根據(jù)遍歷到的節(jié)點(diǎn)值生成UID和比特掩碼,并將生成的UID和比特掩碼作為掃描標(biāo)識的。
步驟102包括了現(xiàn)有技術(shù)中產(chǎn)生掃描標(biāo)識的方法,具體為根據(jù)遍歷到的二叉樹節(jié)點(diǎn)值生成UID和比特掩碼,并直接將生成的UID和生成的比特掩碼作為掃描標(biāo)識。
所述生成UID的方法為使生成的UID與遍歷到節(jié)點(diǎn)值相同。比如遍歷到二叉樹層一的某節(jié)點(diǎn),其節(jié)點(diǎn)值為00000001時(shí),生成的UID為00000001。
所述生成比特掩碼的方法為使生成的比特掩碼長度與生成的UID長度相同,生成的比特掩碼中位數(shù)低于遍歷到節(jié)點(diǎn)層數(shù)的位的值均取1,其余位的值均取0。比如遍歷到二叉樹層一節(jié)點(diǎn)時(shí),生成的比特掩碼長度與生成的UID長度相同為1字節(jié),其中,由于小于層數(shù)1的自然數(shù)只有0,因此生成的比特掩碼中第0位值取1,第1位至第7位值均取0,即生成的比特掩碼為00000001;對應(yīng)于二叉樹層二四個(gè)節(jié)點(diǎn)的比特掩碼長度為1字節(jié),其中,由于小于層數(shù)2的自然數(shù)有兩個(gè),為0和1,因此生成的比特掩碼中第0位、第1位值均取1,第2位至第7位值均取0,即生成的比特掩碼為00000011;等等。
步驟102中,將生成的UID和生成的比特掩碼作為掃描標(biāo)識時(shí),掃描標(biāo)識中還包含有效字節(jié)長度,所述有效字節(jié)長度等于生成的UID和生成的比特掩碼的字節(jié)長度。比如生成的比特掩碼為00000011、生成的UID為00000010,則掃描標(biāo)識中包含的有效字節(jié)長度為1字節(jié)。
掃描標(biāo)識中包含的有效字節(jié)長度,用于通知ALD所需要讀取的UID字節(jié)長度。比如掃描標(biāo)識中有效字節(jié)長度為2,則ALD將只讀取自身UID的最低兩個(gè)字節(jié)來與掃描標(biāo)識中的比特掩碼進(jìn)行與計(jì)算,并與掃描標(biāo)識中UID進(jìn)行比較。
步驟103主站將包含掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有ALD,并檢測ALD的響應(yīng),如果檢測結(jié)果為沒有出現(xiàn)沖突,則執(zhí)行步驟104,如果檢測結(jié)果為出現(xiàn)沖突,則執(zhí)行步驟105。
步驟103所述掃描消息中除了掃描標(biāo)識,還包括其它內(nèi)容,所述其它內(nèi)容可以參見協(xié)議生成,在此不再詳述。
所述沒有出現(xiàn)沖突可以為檢測結(jié)果為沒有出現(xiàn)沖突且收到一個(gè)或一個(gè)以上正確響應(yīng),也可以為檢測結(jié)果為沒有收到任何響應(yīng)。
如果檢測結(jié)果為主站收到一個(gè)或一個(gè)以上正確響應(yīng),則表明當(dāng)前節(jié)點(diǎn)即當(dāng)前遍歷到節(jié)點(diǎn)的掃描完成,此時(shí)可以保存掃描結(jié)果以用于掃描結(jié)束后進(jìn)一步處理。
步驟104截取二叉樹中當(dāng)前節(jié)點(diǎn)以下的所有分支。
步驟105判斷是否遍歷完整個(gè)二叉樹,如果是,則結(jié)束本處理流程,否則返回步驟101。
圖1所示步驟103中,如果主站檢測到的響應(yīng)情況是主站收到一個(gè)或一個(gè)以上正確響應(yīng),或者檢測結(jié)果為沒有收到任何響應(yīng),則執(zhí)行步驟104來截取二叉樹中當(dāng)前節(jié)點(diǎn)以下的所有分支。此時(shí),在步驟105之后返回步驟101時(shí),將不遍歷該節(jié)點(diǎn)下屬各分支,即,此時(shí)步驟101中如果利用先根遍歷法進(jìn)行遍歷,則下一個(gè)遍歷到節(jié)點(diǎn)為如果當(dāng)前節(jié)點(diǎn)有右兄弟節(jié)點(diǎn),則下一個(gè)遍歷到節(jié)點(diǎn)為其右兄弟節(jié)點(diǎn);如果當(dāng)前節(jié)點(diǎn)沒有右兄弟節(jié)點(diǎn),則下一個(gè)遍歷到節(jié)點(diǎn)為其父節(jié)點(diǎn)的右兄弟節(jié)點(diǎn),如果其父節(jié)點(diǎn)仍沒有右兄弟節(jié)點(diǎn),則下一個(gè)遍歷到節(jié)點(diǎn)為其父節(jié)點(diǎn)的父節(jié)點(diǎn)的右兄弟節(jié)點(diǎn),如此循環(huán)。如果整個(gè)樹遍歷完,即遍歷結(jié)束,則步驟105之后,結(jié)束掃描流程。
圖1所示步驟103中,如果主站的檢測結(jié)果為天線設(shè)備響應(yīng)出現(xiàn)沖突,則直接執(zhí)行步驟105,并在步驟105之后返回步驟101時(shí),通過循環(huán)執(zhí)行步驟101~步驟105,可以對當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn)進(jìn)行遍歷。比如當(dāng)前節(jié)點(diǎn)存在兩個(gè)子節(jié)點(diǎn)左子節(jié)點(diǎn)X、右子節(jié)點(diǎn)X’,步驟101中利用先根遍歷法進(jìn)行遍歷時(shí),可以先遍歷到節(jié)點(diǎn)X,并在循環(huán)執(zhí)行步驟101~步驟105之后,可以再遍歷到節(jié)點(diǎn)X’。這里,如果遍歷到節(jié)點(diǎn)X之后還是出現(xiàn)沖突,則會進(jìn)一步掃描節(jié)點(diǎn)X的所有子節(jié)點(diǎn)。
圖1中對天線設(shè)備進(jìn)行掃描的過程可以用圖2所示包括掃描流程的掃描樹表示。圖2所示掃描樹的各個(gè)掃描節(jié)點(diǎn)上表示出對應(yīng)的掃描標(biāo)識,比如掃描樹中層一左節(jié)點(diǎn)21a的掃描標(biāo)識為BIT MASK=0…01、UID=00000001、有效字節(jié)長度(Length)=1字節(jié);層二節(jié)點(diǎn)22aa的掃描標(biāo)識為BITMASK=0…011、UID=00000011、有效字節(jié)長度(Length)=1字節(jié),等等。
結(jié)合圖1、圖1A和圖2,可以對現(xiàn)有技術(shù)中的掃描過程進(jìn)行舉例說明。如根據(jù)先根遍歷法進(jìn)行掃描時(shí)步驟101中,主站遍歷到二叉樹的一個(gè)節(jié)點(diǎn),如圖1A中的層一左節(jié)點(diǎn)11a。
步驟102中,根據(jù)遍歷到節(jié)點(diǎn)值生成的UID和比特掩碼為UID=00000001、BIT MASK=0…01,并把生成的UID和比特掩碼直接作為掃描標(biāo)識,此時(shí),掃描標(biāo)識中還包括有效字節(jié)長度(Length)為1的信息,如在圖2中掃描節(jié)點(diǎn)21a中所示。
步驟103中,將包含圖2中掃描節(jié)點(diǎn)21a中所示掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有ALD后,如果檢測結(jié)果為沒有出現(xiàn)沖突,則執(zhí)行步驟104來截取二叉樹中節(jié)點(diǎn)11a以下的所有分支,此時(shí),再執(zhí)行步驟105后返回步驟101時(shí),遍歷到的節(jié)點(diǎn)為圖1A中所示層一右節(jié)點(diǎn)11b,并通過步驟102產(chǎn)生的掃描標(biāo)識如圖2中掃描節(jié)點(diǎn)21b中所示,為UID=00000000、BITMASK=00000001、有效字節(jié)長度(Length)=1。緊接著步驟103中,將包含圖2所示節(jié)點(diǎn)21b所示掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有ALD后,如果檢測結(jié)果為沒有出現(xiàn)沖突,則掃描結(jié)束。
就是說根據(jù)先根遍歷法進(jìn)行掃描時(shí),如果一直沒有出現(xiàn)沖突,則掃描標(biāo)識依次可以如圖2中的掃描節(jié)點(diǎn)21a、21b所示,之后結(jié)束掃描。
步驟103中,將包含圖2中節(jié)點(diǎn)21a中所示掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有ALD后,如果檢測結(jié)果為出現(xiàn)沖突,則直接執(zhí)行步驟105之后返回步驟101時(shí),遍歷到的節(jié)點(diǎn)為圖1A中所示層二節(jié)點(diǎn)12aa,并通過步驟102產(chǎn)生的掃描標(biāo)識如圖2中掃描節(jié)點(diǎn)22aa中所示,為UID=00000011、BITMASK=00000011、有效字節(jié)長度(Length)=1。緊接著步驟103中,將包含圖2中節(jié)點(diǎn)22aa中所示掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有ALD后,如果檢測結(jié)果為沒有出現(xiàn)沖突,則執(zhí)行步驟104來截取圖1A所示節(jié)點(diǎn)12aa以下的所有分支,此時(shí),再執(zhí)行步驟105后返回步驟101時(shí),遍歷到的節(jié)點(diǎn)為圖1A中所示層二節(jié)點(diǎn)12ab,并通過步驟102產(chǎn)生的掃描標(biāo)識如圖2中掃描節(jié)點(diǎn)22ab中所示,為UID=00000001、BIT MASK=00000011、有效字節(jié)長度(Length)=1,這里,掃描節(jié)點(diǎn)22ab之后沒有出現(xiàn)沖突,則下一步輪到掃描節(jié)點(diǎn)21b;將包含圖2中節(jié)點(diǎn)22aa中所示掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有ALD后,如果檢測結(jié)果為出現(xiàn)沖突,則直接執(zhí)行步驟105后返回步驟101時(shí),遍歷到的節(jié)點(diǎn)為圖1A中所示層三右節(jié)點(diǎn)13aaa,并通過步驟102產(chǎn)生的掃描標(biāo)識如圖2中掃描節(jié)點(diǎn)23aaa中所示,為UID=00000111、BITMASK=00000111、有效字節(jié)長度(Length)=1。
就是說根據(jù)先根遍歷法進(jìn)行掃描時(shí),如果只出現(xiàn)一次沖突,則掃描標(biāo)識依次可以如圖2中的掃描節(jié)點(diǎn)21a、22a、21b所示,之后結(jié)束掃描;如果出現(xiàn)連續(xù)沖突,則掃描標(biāo)識依次可以如圖2中的掃描節(jié)點(diǎn)21a、22a、23aaa、…、所示。
對于出現(xiàn)連續(xù)沖突的情況,可以參見圖2所示掃描樹,其掃描情況具體可以如表一所示
表一現(xiàn)有技術(shù)中,對一個(gè)UID的掃描過程可以概括為第一步掃描UID第0位。這里,所述第0位值可以為1,也可以為0,通常情況下會先掃描UID第0位值是否為1,如果出現(xiàn)沖突,則執(zhí)行第二步,如果沒有出現(xiàn)沖突或執(zhí)行第二步之后直至沒有出現(xiàn)沖突時(shí),則會掃描UID第0位值是否為0。表一中以掃描的UID第0位值為1時(shí)出現(xiàn)沖突為例進(jìn)行了說明。
第二步由于第一步中UID第0位值為1時(shí)出現(xiàn)沖突,因此第二步中進(jìn)一步掃描UID第1位。這里,所述第1位值可以為1,也可以為0,通常情況下會先掃描UID第1位值是否為1,如果繼續(xù)出現(xiàn)沖突,則執(zhí)行第三步,如果沒有出現(xiàn)沖突或執(zhí)行第三步之后直至沒有出現(xiàn)沖突時(shí),則會掃描UID第1位值是否為0。表一中以掃描的UID第1位值為1時(shí)繼續(xù)出現(xiàn)沖突為例進(jìn)行了說明。
第三步由于第二步中UID第1位值為1時(shí)繼續(xù)出現(xiàn)沖突,因此第三步中進(jìn)一步掃描UID第2位。這里,所述第2位值可以為1,也可以為0,通常情況下會先掃描UID第2位值是否為1,如果繼續(xù)出現(xiàn)沖突,則繼續(xù)掃描下一位,如果沒有出現(xiàn)沖突或繼續(xù)掃描下一位后直至沒有出現(xiàn)沖突時(shí),則會掃描UID第2位值是否為0。表一中以掃描UID第2位值是否為1為例進(jìn)行了說明。
可以看出,現(xiàn)有技術(shù)中對ALD進(jìn)行掃描時(shí),如果當(dāng)前在掃描UID的第0位至第i位時(shí)出現(xiàn)沖突,則下一步掃描UID的第0位至第i+1位,即進(jìn)一步掃描UID的第i+1位,因此現(xiàn)有技術(shù)中的掃描方法可以稱為按位遞增的掃描方法,i為自然數(shù),且通常情況下i小于等于UID的最大位長度,比如0≤i≤151等。
現(xiàn)有技術(shù)的缺點(diǎn)是現(xiàn)有技術(shù)中根據(jù)二叉樹的節(jié)點(diǎn)值生成UID和比特掩碼,并直接將生成的UID和比特掩碼作為掃描標(biāo)識,根據(jù)現(xiàn)有技術(shù)中的掃描標(biāo)識進(jìn)行掃描時(shí),對ALD采用逐位掃描的方式進(jìn)行掃描,如果碰到兩個(gè)UID的某一個(gè)或者多個(gè)字節(jié)相同,就會出現(xiàn)很多次的沖突。比如兩個(gè)UID的前10個(gè)字節(jié)相同,則可能會出現(xiàn)10×8=80次沖突。當(dāng)出現(xiàn)一個(gè)端口下面兩個(gè)ALD的UID相同字符較多的情況下,掃描速度非常慢,比如兩個(gè)ALD的UID的前80位相同,則主站可能需要下發(fā)81個(gè)掃描消息才能獲取一個(gè)ALD的UID。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種產(chǎn)生掃描標(biāo)識的方法,能夠產(chǎn)生跨字節(jié)的掃描標(biāo)識。
本發(fā)明的另一目的在于提供一種對天線設(shè)備進(jìn)行掃描的方法,能夠在一個(gè)端口下面兩個(gè)ALD的UID相同字節(jié)較多的情況下,提高掃描速度。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種產(chǎn)生掃描標(biāo)識的方法,該方法包含以下步驟A、根據(jù)節(jié)點(diǎn)值生成唯一標(biāo)識UID和比特掩碼;B、確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi,取轉(zhuǎn)換后UID第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼第Pi字節(jié)中第Qi位的值為1,i為小于生成的UID有效位長度的所有自然數(shù),Pi、Qi為自然數(shù);轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0;C、將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識。
步驟A所述生成UID的方法為使生成的UID與節(jié)點(diǎn)值相同。
步驟A所述生成比特掩碼的方法為使生成的比特掩碼長度與生成的UID長度相同,生成的比特掩碼中位數(shù)低于所述節(jié)點(diǎn)層數(shù)的位的值均取1,其余位的值均取0。
步驟B所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的方法為確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度為UID最大字節(jié)長度。
步驟B所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的方法為判斷生成的UID有效位長度是否小于UID最大字節(jié)長度,如果是,則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于生成的UID有效位長度,否則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于UID最大字節(jié)長度。
所述生成的UID有效位長度與生成的比特編碼中位值為1的所有位的長度相同。
步驟C所述掃描標(biāo)識中包括有效字節(jié)長度;所述有效字節(jié)長度等于轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度。
所述節(jié)點(diǎn)值為二叉樹上的節(jié)點(diǎn)值。
該方法包含以下步驟A1、主站遍歷到二叉樹的一個(gè)節(jié)點(diǎn);
B1、根據(jù)遍歷到的節(jié)點(diǎn)值生成UID和比特掩碼;確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;取轉(zhuǎn)換后UID第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼第Pi字節(jié)中第Qi位的值為1,i為小于生成的UID有效位長度的所有自然數(shù),Pi、Qi為自然數(shù);轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0;將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識;C1、主站將包含掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有天線設(shè)備,并檢測天線設(shè)備的響應(yīng),如果檢測結(jié)果為沒有出現(xiàn)沖突,則執(zhí)行步驟D1,如果檢測結(jié)果為出現(xiàn)沖突,則執(zhí)行步驟E1;D1、截取二叉樹中當(dāng)前節(jié)點(diǎn)以下的所有分支;E1、判斷是否遍歷完整個(gè)二叉樹,如果是,則結(jié)束本處理流程,否則返回步驟A1。
所述遍歷采用二叉樹的先根遍歷法進(jìn)行。
步驟B1所述生成UID的方法為使生成的UID與遍歷到的節(jié)點(diǎn)值相同。
步驟B1所述生成比特掩碼的方法為使生成的比特掩碼長度與生成的UID長度相同,生成的比特掩碼中位數(shù)低于所述節(jié)點(diǎn)層數(shù)的位的值均取1,其余位的值均取0。
步驟B所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的方法為確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度為UID最大字節(jié)長度。
步驟B所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的方法為判斷生成的UID有效位長度是否小于UID最大字節(jié)長度,如果是,則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于生成的UID有效位長度,否則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于UID最大字節(jié)長度。
所述生成的UID有效位長度與生成的比特編碼中位值為1的所有位的長度相同。
步驟C1所述沒有出現(xiàn)沖突為檢測結(jié)果為沒有出現(xiàn)沖突且收到一個(gè)或一個(gè)以上正確響應(yīng),或者是檢測結(jié)果為沒有收到任何響應(yīng)。
本發(fā)明中,根據(jù)節(jié)點(diǎn)值生成UID和比特掩碼后,對生成的UID和比特掩碼進(jìn)行轉(zhuǎn)換,具體轉(zhuǎn)換方法為確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;取轉(zhuǎn)換后UID第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼第Pi字節(jié)中第Qi位的值為1,i為小于生成的UID有效位長度的所有自然數(shù),Pi、Qi為自然數(shù);轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0;將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識。本發(fā)明中利用上述方法產(chǎn)生的掃描標(biāo)識,對天線設(shè)備進(jìn)行掃描。
本發(fā)明有以下有益效果1)利用本發(fā)明中產(chǎn)生掃描標(biāo)識的方法,能夠產(chǎn)生跨字節(jié)的掃描標(biāo)識。
2)本發(fā)明中將根據(jù)節(jié)點(diǎn)值生成UID和比特掩碼進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換之后的UID和比特掩碼作為掃描標(biāo)識,掃描沖突時(shí)并不是按位遞增掃描,而是跨越字節(jié)遞增掃描,對于一個(gè)端口下面兩個(gè)或兩個(gè)以上ALD的UID相同字節(jié)較多的情況下,能夠有效地提高掃描速度。
3)考慮到相同廠家的ALDUID可能比較類似,一旦出現(xiàn)沖突,則很可能這個(gè)字節(jié)完全一樣,如在很多情況下相同廠家設(shè)備UID的前兩個(gè)字節(jié)完全相同,此時(shí)利用本發(fā)明,通常可以提高掃描速度。比如兩個(gè)設(shè)備UID的第0字節(jié)、第1字節(jié)完全相同,第2字節(jié)的第一位不相同,此時(shí)利用現(xiàn)有技術(shù)需要掃描8×2+1=17次,利用本發(fā)明只需要掃描3次,可見在這種情況下本發(fā)明顯著提高了掃描速度。
4)天線設(shè)備中可以包含塔頂放大器,通常一個(gè)塔頂放大器包含兩個(gè)UID,且所述兩個(gè)UID通常僅是最后一個(gè)字節(jié)的第0位不同,這種情況下利用本發(fā)明,能夠顯著提高掃描速度。比如兩個(gè)UID的有效字節(jié)均為6,其中,第0~第5字節(jié)完全相同,第6字節(jié)的第0位不同,此時(shí)利用現(xiàn)有技術(shù)需要掃描8×6+1=49次,利用本發(fā)明只需要掃描7次,可見在這種情況下本發(fā)明顯著提高了掃描速度。
圖1為現(xiàn)有技術(shù)中采用二叉樹算法對ALD進(jìn)行掃描的過程示意圖;圖1A為二叉樹的結(jié)構(gòu)示意圖;圖2為現(xiàn)有技術(shù)中對ALD進(jìn)行掃描的掃描樹示意圖;圖3為本發(fā)明實(shí)施例中對ALD進(jìn)行掃描的過程示意圖;圖4為本發(fā)明實(shí)施例中產(chǎn)生掃描標(biāo)識的過程示意圖;圖5為本發(fā)明實(shí)施例中對ALD進(jìn)行掃描的掃描樹示意圖。
具體實(shí)施例方式
本發(fā)明中產(chǎn)生掃描標(biāo)識的方法為根據(jù)節(jié)點(diǎn)值生成UID和比特掩碼;對生成的UID和比特掩碼進(jìn)行轉(zhuǎn)換,獲取轉(zhuǎn)換后的UID和比特掩碼,具體轉(zhuǎn)換方法為確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;取轉(zhuǎn)換后UID第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼第Pi字節(jié)中第Qi位的值為1,i為小于生成的UID有效位長度的所有自然數(shù),Pi、Qi為自然數(shù);轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0;將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識。
本發(fā)明中對天線設(shè)備進(jìn)行掃描的方法為A、主站遍歷到二叉樹的一個(gè)節(jié)點(diǎn);B、根據(jù)遍歷到的節(jié)點(diǎn)值生成UID和比特掩碼,并對生成的UID和比特掩碼進(jìn)行轉(zhuǎn)換,獲取轉(zhuǎn)換后的UID和比特掩碼,具體轉(zhuǎn)換方法為確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;取轉(zhuǎn)換后UID第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼第Pi字節(jié)中第Qi位的值為1,i為小于生成的UID有效位長度的所有自然數(shù),Pi、Qi為自然數(shù);轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0;將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識;C、主站將包含掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有ALD,并檢測ALD的響應(yīng),如果檢測結(jié)果為沒有出現(xiàn)沖突,則執(zhí)行步驟D,如果檢測結(jié)果為出現(xiàn)沖突,則執(zhí)行步驟E;D、截取二叉樹中當(dāng)前節(jié)點(diǎn)以下的所有分支;E、判斷是否遍歷完整個(gè)二叉樹,如果是,則結(jié)束本處理流程,否則返回步驟A。
以下參照附圖并舉實(shí)施例,對本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明實(shí)施例中,對天線設(shè)備進(jìn)行掃描的過程如圖3所示,包含以下步驟步驟301與圖1所示步驟101相同,具體為主站遍歷到二叉樹的一個(gè)節(jié)點(diǎn)。
步驟302根據(jù)遍歷到的節(jié)點(diǎn)值生成UID和比特掩碼,對生成的UID和生成的比特掩碼進(jìn)行轉(zhuǎn)換來產(chǎn)生掃描標(biāo)識。
步驟303~步驟305與圖1所示步驟103~步驟105相同,具體為步驟303主站將包含掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有ALD,并檢測ALD的響應(yīng),如果檢測結(jié)果為沒有出現(xiàn)沖突,則執(zhí)行步驟304,如果檢測結(jié)果為出現(xiàn)沖突,則執(zhí)行步驟305。
步驟304截取二叉樹中當(dāng)前節(jié)點(diǎn)以下的所有分支。
步驟305判斷是否遍歷完整個(gè)二叉樹,如果是,則結(jié)束本處理流程,否則返回步驟301。
圖3所示步驟302中,產(chǎn)生掃描標(biāo)識的過程如圖4所示,該過程包含以下步驟
步驟401根據(jù)節(jié)點(diǎn)值生成UID和比特掩碼。
步驟401中,根據(jù)節(jié)點(diǎn)值生成UID和比特掩碼的方法與現(xiàn)有技術(shù)中相同。
步驟402確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度。
步驟402所述確定的方法可以為確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度為UID最大字節(jié)長度。
步驟402所述確定的方法也可以為判斷生成的UID有效位長度是否小于UID最大字節(jié)長度,如果是,則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于生成的UID有效位長度,否則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于UID最大字節(jié)長度。
所述生成的UID有效位長度=生成的比特編碼中位值為1的所有位的長度,如生成的比特掩碼為00000111,則生成的UID有效位長度為3;生成的比特掩碼為00000001 11111111,則生成的UID有效位長度為9。
步驟403~步驟406獲取轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的值,具體為步驟403設(shè)轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼所有位的初始值為0;設(shè)i的初始值為0,i為自然數(shù)。
步驟404獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;取轉(zhuǎn)換后UID中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為1。
步驟404中,取轉(zhuǎn)換后UID中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值。比如如果生成的UID中第i位的值為1,則取轉(zhuǎn)換后UID中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為1;如果生成的UID中第i位的值為0,則取轉(zhuǎn)換后UID中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為0。具體實(shí)現(xiàn)時(shí)可以判斷生成的UID中第i位的值是否為1或是否為0,如果是,則取轉(zhuǎn)換后UID中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為1或0,否則取轉(zhuǎn)換后UID中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為0或1。
步驟404中,取轉(zhuǎn)換后比特掩碼中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為與生成的比特掩碼中第i位的值相同的值,也可以描述為取轉(zhuǎn)換后比特掩碼中字節(jié)位置為Pi、在第Pi字節(jié)中第Qi位的值為1。這里,在i為小于生成的UID最高位長度的任一自然數(shù)時(shí),比特掩碼中第i位的值實(shí)際上就是1。
步驟405判斷i是否小于生成后UID有效位長度,如果是,則執(zhí)行步驟407,否則執(zhí)行步驟406。
步驟406i取值增加1,返回步驟404。
通過循環(huán)執(zhí)行步驟404~步驟406達(dá)到的結(jié)果為對i為小于生成后UID有效位長度的所有自然數(shù),獲取轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中第Pi字節(jié)中第Qi位的值。實(shí)際應(yīng)用中,通過對步驟404、步驟405、步驟406的先后順序、判斷內(nèi)容進(jìn)行合理修改,也可達(dá)到同樣的結(jié)果,比如步驟404之后,先將i的取值增加1,然后判斷i是否等于生成后UID有效位長度,如果是,則執(zhí)行步驟407,否則返回步驟404;或者將步驟405中判斷改為判斷i是否等于(生成后UID有效位長度-1);或者是在步驟403和步驟404之間先判斷i是否小于生成后UID有效位長度,如果不是,則執(zhí)行步驟407,否則執(zhí)行步驟404、i取值增加1之后,再返回步驟403和步驟404之間的判斷i是否小于生成后UID有效位長度的步驟,等等,在此不再一一詳述。
步驟402~步驟406中,先確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度,并設(shè)轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼所有位的初始值為0,然后給i為小于生成后UID有效位長度的所有自然數(shù)時(shí),第Pi字節(jié)中第Qi位的值賦值。實(shí)際應(yīng)用中,也可以先獲得i為小于生成后UID有效位長度的所有自然數(shù)時(shí),對應(yīng)的第Pi字節(jié)中第Qi位的值,然后將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0也可,此時(shí)步驟402所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的步驟,可以在步驟401之后、將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0之前的任意位置執(zhí)行。
這里,確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度后,獲取轉(zhuǎn)換后UID的方法也可以描述為將生成的UID中第i位的值對應(yīng)為,轉(zhuǎn)換后UID中,字節(jié)位置為i除以UID最大字節(jié)長度后的模、且在該字節(jié)中的位數(shù)為i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的位的值,i為小于生成后UID有效位長度的所有自然數(shù),轉(zhuǎn)換后UID中其余位的值均取0。
同理,確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度后,獲取轉(zhuǎn)換后比特掩碼的方法也可以描述為將生成的比特掩碼中第j位的值對應(yīng)為,轉(zhuǎn)換后比特掩碼中,字節(jié)位置為j除以UID最大字節(jié)長度后的模、且在該字節(jié)中的位數(shù)為j除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的位的值,j為小于生成后UID有效位長度的所有自然數(shù),轉(zhuǎn)換后比特掩碼中其余位的值均取0;或者是對于j為小于生成后UID有效位長度的所有自然數(shù),字節(jié)位置為j除以UID最大字節(jié)長度后的模、且在該字節(jié)中的位數(shù)為j除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的位的值取1,轉(zhuǎn)換后比特掩碼中其余位的值均取0。
步驟407將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識。
步驟407中,將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識時(shí),掃描標(biāo)識中包括有效字節(jié)長度信息,所述有效字節(jié)長度等于轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度。比如如果轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度為2字節(jié),則掃描標(biāo)識中有效字節(jié)長度為2字節(jié);如果轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度為19字節(jié),則掃描標(biāo)識中有效字節(jié)長度為19字節(jié)。
具體實(shí)現(xiàn)時(shí),如果對進(jìn)行轉(zhuǎn)換之前已經(jīng)生成的UID用TreeUid、已經(jīng)生成的比特掩碼用TreeMask、生成的UID有效位長度用TreeLen表示,并將進(jìn)行轉(zhuǎn)換后的UID用MsgUid、轉(zhuǎn)換后的比特掩碼用MsgMask、轉(zhuǎn)換后UID和比特掩碼的字節(jié)長度用MsgLen表示,且設(shè)UID的最大字節(jié)長度為19,則圖4所述轉(zhuǎn)換,可以舉例為如果,TreeUid=00000011、TreeMask=00000011、TreeLen=2則首先,由于TreeLen=2小于19,因此,MsgLen=2 (1)對于i小于TreeLen=2的所有自然數(shù),即對i=0和i=1的情況,分別獲取Pi和Qi,其中i=0時(shí),P0=0%19=0,Q0為0/19后結(jié)果的整數(shù)值,即Q0=0;i=1時(shí),P1=1%19=1,Q1為0/19后結(jié)果的整數(shù)值,即Q1=0。
由于TreeUid的第0位,即i=0時(shí)的值為1,因此轉(zhuǎn)換后UID中字節(jié)位置為P0=0,該第0字節(jié)中位數(shù)Q0=0位的值取1;由于TreeUid的第1位,即i=1時(shí)的值為1,因此轉(zhuǎn)換后UID中字節(jié)位置為P1=1,該第1字節(jié)中位數(shù)Q1=0位的值取1;轉(zhuǎn)換后UID中其余位的值均取0。因此轉(zhuǎn)換后MsgUid為MsgUid=00000001 00000001 (2)且MsgMask中,第P0=0字節(jié)的第Q0=0位,以及第P1=1字節(jié)的第Q1=0位的值取1,其余位的值均取0,因此轉(zhuǎn)換后MsgMask為MsgMask=00000001 00000001 (3)這里,如果MsgLen不是如公式(1)所示,而是取UID最大字節(jié)長度即MsgLen=19,則MsgUid和MsgMask中低2個(gè)字節(jié)分別如公式(2)和公式(3)中所示,且MsgUid和MsgMask中高17個(gè)字節(jié)中每一位值均取0。
本發(fā)明實(shí)施例中對天線設(shè)備進(jìn)行掃描的過程也可以用圖5所示包括掃描流程的掃描樹表示。圖5所示掃描樹的各個(gè)掃描節(jié)點(diǎn)上表示出對應(yīng)的掃描標(biāo)識,比如掃描樹中層一左節(jié)點(diǎn)51a的掃描標(biāo)識為BIT MASK=0…01、UID=00000001、有效字節(jié)長度(Length)=1字節(jié);層二最左節(jié)點(diǎn)52aa的掃描標(biāo)識為BIT MASK=0…01 00000001、UID=00000001 00000001、有效字節(jié)長度(Length)=2字節(jié),等等。
根據(jù)圖5所示掃描樹,本發(fā)明實(shí)施例中出現(xiàn)連續(xù)沖突時(shí),掃描情況可以如表二所示
表二表二中在第一步掃描UID第0字節(jié)第0位。這里,所述第0位值可以為1,也可以為0,通常情況下會先掃描UID第0位值是否為1,如果出現(xiàn)沖突,則執(zhí)行第二步,如果沒有出現(xiàn)沖突或執(zhí)行第二步之后直至沒有出現(xiàn)沖突時(shí),則會掃描UID第0位值是否為0;表二中以掃描的UID第0位值為1時(shí)出現(xiàn)沖突為例進(jìn)行了說明;由于第一步中UID第0字節(jié)第0位值為1時(shí)出現(xiàn)沖突,因此第二步中進(jìn)一步掃描UID第1字節(jié)第0位。這里,所述第1字節(jié)第0位值可以為1,也可以為0,通常情況下會先掃描UID第1字節(jié)第0位值是否為1,如果繼續(xù)出現(xiàn)沖突,則執(zhí)行第三步,如果沒有出現(xiàn)沖突或執(zhí)行第三步之后直至沒有出現(xiàn)沖突時(shí),則會掃描UID第1字節(jié)第0位值是否為0;表二中以掃描的UID第1字節(jié)第0位值為1時(shí)繼續(xù)出現(xiàn)沖突為例進(jìn)行了說明;由于第二步中UID第1字節(jié)第0位值為1時(shí)繼續(xù)出現(xiàn)沖突,因此第三步中進(jìn)一步掃描UID第2字節(jié)第0位。這里,所述第2字節(jié)第0位值可以為1,也可以為0,通常情況下會先掃描UID第2字節(jié)第0位值是否為1,如果繼續(xù)出現(xiàn)沖突,則繼續(xù)掃描下一位,如果沒有出現(xiàn)沖突或繼續(xù)掃描下一位后直至沒有出現(xiàn)沖突時(shí),則會掃描UID第2字節(jié)第0位值是否為0;表二中以掃描UID第2字節(jié)第0位值是否為1為例進(jìn)行了說明;…;由于第19步中UID第19字節(jié)第0位值為1時(shí)繼續(xù)出現(xiàn)沖突,因此第20步中進(jìn)一步掃描UID第0字節(jié)第1位,表二中以掃描UID第0字節(jié)第1位值是否為1為例進(jìn)行了說明;由于第20步中UID第0字節(jié)第1位值為1時(shí)繼續(xù)出現(xiàn)沖突,因此第21步中進(jìn)一步掃描UID第1字節(jié)第1位,表二中以掃描UID第1字節(jié)第1位值是否為1為例進(jìn)行了說明;
由于第21步中UID第1字節(jié)第1位值為1時(shí)繼續(xù)出現(xiàn)沖突,因此第22步中進(jìn)一步掃描UID第2字節(jié)第1位,表二中以掃描UID第2字節(jié)第1位值是否為1為例進(jìn)行了說明;…。
表二為圖5中出現(xiàn)連續(xù)沖突時(shí)的情況舉例。通常情況下當(dāng)前掃描到UID的第s字節(jié)第t位時(shí)出現(xiàn)沖突,如果第s字節(jié)為最后一位有效字節(jié),則進(jìn)一步掃描UID第0字節(jié)的第t+1位,如果該字節(jié)不是最后一位有效字節(jié),則進(jìn)一步掃描UID第s+1字節(jié)的第t位,這里,如果第s字節(jié)為最后一位有效字節(jié),且t=7,則通常結(jié)束掃描過程。
可以看出,根據(jù)圖5所示掃描樹,對ALD進(jìn)行掃描時(shí),如果出現(xiàn)沖突,則通常情況下會進(jìn)一步掃描UID的下一個(gè)字節(jié)的同一位,因此圖5中的掃描方法可以稱為跨字節(jié)遞增的掃描方法。
利用本發(fā)明實(shí)施例中的掃描方法,如果兩個(gè)ALD的UID的前80位相同,第81位不相同時(shí),主站下發(fā)80÷8+1=11個(gè)掃描消息后能夠獲取一個(gè)ALD的UID。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的使用范圍。
權(quán)利要求
1.一種產(chǎn)生掃描標(biāo)識的方法,其特征在于,該方法包含以下步驟A、根據(jù)節(jié)點(diǎn)值生成唯一標(biāo)識UID和比特掩碼;B、確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi,取轉(zhuǎn)換后UID第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼第Pi字節(jié)中第Qi位的值為1,i為小于生成的UID有效位長度的所有自然數(shù),Pi、Qi為自然數(shù);轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0;C、將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A所述生成UID的方法為使生成的UID與節(jié)點(diǎn)值相同。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A所述生成比特掩碼的方法為使生成的比特掩碼長度與生成的UID長度相同,生成的比特掩碼中位數(shù)低于所述節(jié)點(diǎn)層數(shù)的位的值均取1,其余位的值均取0。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的方法為確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度為UID最大字節(jié)長度。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的方法為判斷生成的UID有效位長度是否小于UID最大字節(jié)長度,如果是,則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于生成的UID有效位長度,否則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于UID最大字節(jié)長度。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述生成的UID有效位長度與生成的比特編碼中位值為1的所有位的長度相同。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C所述掃描標(biāo)識中包括有效字節(jié)長度;所述有效字節(jié)長度等于轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度。
8.根據(jù)權(quán)利要求1至7任一項(xiàng)所述的方法,其特征在于,所述節(jié)點(diǎn)值為二叉樹上的節(jié)點(diǎn)值。
9.一種對天線設(shè)備進(jìn)行掃描的方法,其特征在于,該方法包含以下步驟A1、主站遍歷到二叉樹的一個(gè)節(jié)點(diǎn);B1、根據(jù)遍歷到的節(jié)點(diǎn)值生成UID和比特掩碼;確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;獲取i除以UID最大字節(jié)長度后的模Pi,獲取i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi;取轉(zhuǎn)換后UID第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼第Pi字節(jié)中第Qi位的值為1,i為小于生成的UID有效位長度的所有自然數(shù),Pi、Qi為自然數(shù);轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0;將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識;C1、主站將包含掃描標(biāo)識的掃描消息廣播發(fā)送給總線上的所有天線設(shè)備,并檢測天線設(shè)備的響應(yīng),如果檢測結(jié)果為沒有出現(xiàn)沖突,則執(zhí)行步驟D1,如果檢測結(jié)果為出現(xiàn)沖突,則執(zhí)行步驟E1;D1、截取二叉樹中當(dāng)前節(jié)點(diǎn)以下的所有分支;E1、判斷是否遍歷完整個(gè)二叉樹,如果是,則結(jié)束本處理流程,否則返回步驟A1。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述遍歷采用二叉樹的先根遍歷法進(jìn)行。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,步驟B1所述生成UID的方法為使生成的UID與遍歷到的節(jié)點(diǎn)值相同。
12.根據(jù)權(quán)利要求9所述的方法,其特征在于,步驟B1所述生成比特掩碼的方法為使生成的比特掩碼長度與生成的UID長度相同,生成的比特掩碼中位數(shù)低于所述節(jié)點(diǎn)層數(shù)的位的值均取1,其余位的值均取0。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于,步驟B所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的方法為確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度為UID最大字節(jié)長度。
14.根據(jù)權(quán)利要求9所述的方法,其特征在于,步驟B所述確定轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度的方法為判斷生成的UID有效位長度是否小于UID最大字節(jié)長度,如果是,則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于生成的UID有效位長度,否則轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼的字節(jié)長度等于UID最大字節(jié)長度。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述生成的UID有效位長度與生成的比特編碼中位值為1的所有位的長度相同。
16.根據(jù)權(quán)利要求9所述的方法,其特征在于,步驟C1所述沒有出現(xiàn)沖突為檢測結(jié)果為沒有出現(xiàn)沖突且收到一個(gè)或一個(gè)以上正確響應(yīng),或者是檢測結(jié)果為沒有收到任何響應(yīng)。
全文摘要
本發(fā)明公開了一種產(chǎn)生掃描標(biāo)識的方法,該方法包含以下步驟根據(jù)節(jié)點(diǎn)值生成UID和比特掩碼;獲取i除以UID最大字節(jié)長度后的模Pi以及i除以UID最大字節(jié)長度后結(jié)果中整數(shù)部分的值Qi,取轉(zhuǎn)換后UID第Pi字節(jié)中第Qi位的值為與生成的UID中第i位的值相同的值,取轉(zhuǎn)換后比特掩碼第Pi字節(jié)中第Qi位的值為1,i為小于生成的UID有效位長度的所有自然數(shù);轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼中其余位的值均取0;將轉(zhuǎn)換后UID和轉(zhuǎn)換后比特掩碼作為掃描標(biāo)識。本發(fā)明還公開了一種對天線設(shè)備進(jìn)行掃描的方法。使用本發(fā)明公開的方法,能夠解決當(dāng)出現(xiàn)一個(gè)端口下面兩個(gè)天線設(shè)備的UID相同字節(jié)較多的情況下,掃描速度非常慢的問題。
文檔編號G06K9/46GK1901276SQ20061009846
公開日2007年1月24日 申請日期2006年7月7日 優(yōu)先權(quán)日2006年7月7日
發(fā)明者胡健 申請人:華為技術(shù)有限公司