專利名稱:通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種通過改進(jìn)設(shè)備輪詢方式提高通信效率
的方法。
背景技術(shù):
在傳統(tǒng)的一點(diǎn)到多點(diǎn)的通信過程中,通常都采用主設(shè)備順序輪詢所有從設(shè)備的方 式。這種輪詢方式在主設(shè)備管理的從設(shè)備數(shù)量很大,而掛載到總線上的從設(shè)備數(shù)量又比較 小的情況下,往往會(huì)造成從設(shè)備的長時(shí)間等待;且每個(gè)從設(shè)備占據(jù)的通信流量過低,會(huì)造成 帶寬的浪費(fèi)。因此,常用的輪詢方式通信效率通常很低。
發(fā)明內(nèi)容
本發(fā)明的目的在于,針對(duì)常用的設(shè)備輪詢方式通信效率低下的問題,提出一種改 進(jìn)的設(shè)備輪詢方式,用以提高設(shè)備輪詢過程中的通信效率。 本發(fā)明的技術(shù)方案是,一種通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法,其特征 是所述方法包括下列步驟 步驟1 :為每個(gè)從設(shè)備分配一個(gè)地址,供主設(shè)備輪詢時(shí)使用; 步驟2 :主設(shè)備在一輪輪詢周期內(nèi)輪詢所有與主設(shè)備連接的從設(shè)備; 步驟3 :在該輪詢周期內(nèi),判斷是否有與主設(shè)備未連接的從設(shè)備,如果是,則執(zhí)行
步驟4 ;否則,返回步驟2,進(jìn)行下一輪輪詢; 步驟4 :輪詢?cè)撐催B接的從設(shè)備; 步驟5 :判斷主設(shè)備是否收到輪詢到的未連接的從設(shè)備的響應(yīng),如果是,則執(zhí)行步 驟6 ;否則,返回步驟2,進(jìn)行下一輪輪詢; 步驟6 :主設(shè)備把這個(gè)從設(shè)備標(biāo)記為已連接從設(shè)備,并返回步驟2,進(jìn)行下一輪輪 詢。 所述地址采用16進(jìn)制,并且順序排列。 所述未連接的從設(shè)備,在主設(shè)備第一次輪詢時(shí),為地址最小的與主設(shè)備未連接的 從設(shè)備;在主設(shè)備不是第一次輪詢時(shí),為上一輪輪詢未連接的從設(shè)備的下一個(gè)未連接的從 設(shè)備。 所述上一輪輪詢未連接的從設(shè)備是所有未連接的從設(shè)備中地址最大的從設(shè)備時(shí), 其下一個(gè)未連接的從設(shè)備是所有未連接的從設(shè)備中地址最小的從設(shè)備。 本發(fā)明的效果在于,主設(shè)備在一個(gè)輪詢周期內(nèi)只輪詢已連接的設(shè)備和一個(gè)未連接 的設(shè)備,縮短了輪詢時(shí)間;同時(shí),由于部分未連接的從設(shè)備在輪詢周期內(nèi)未進(jìn)行輪詢,從而 使已輪詢的從設(shè)備占據(jù)的通信流量得到提高,降低了帶寬的浪費(fèi)。
圖1是本發(fā)明通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法的流程 圖2是本發(fā)明實(shí)施例提供的改進(jìn)的設(shè)備輪詢方式的操作示意圖;其中,(a)為第N 輪輪詢前從設(shè)備狀態(tài)示意圖;(b)為第N輪需要輪詢的從設(shè)備示意圖;(c)為第N+l輪需要 輪詢的從設(shè)備示意圖;(d)為第N+2輪需要輪詢的從設(shè)備示意圖;(e)為第N+3輪需要輪詢 的從設(shè)備示意圖;(f)為第N+ll輪需要輪詢的從設(shè)備示意圖;(g)為第N+12輪需要輪詢的 從設(shè)備示意圖。
具體實(shí)施例方式
下面結(jié)合附圖,對(duì)優(yōu)選實(shí)施例作詳細(xì)說明。應(yīng)該強(qiáng)調(diào)的是,下述說明僅僅是示例性 的,而不是為了限制本發(fā)明的范圍及其應(yīng)用。 圖l是本發(fā)明通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法的流程圖。圖l中,本 發(fā)明的實(shí)現(xiàn)過程是 步驟1 :為每個(gè)從設(shè)備分配一個(gè)地址,供主設(shè)備輪詢時(shí)使用。
步驟2 :主設(shè)備在一輪輪詢周期內(nèi)輪詢所有與主設(shè)備連接的從設(shè)備。
步驟3 :在該輪詢周期內(nèi),判斷是否有與主設(shè)備未連接的從設(shè)備,如果是,則執(zhí)行
步驟4 ;否則,返回步驟2,進(jìn)行下一輪輪詢。
步驟4 :輪詢?cè)撐催B接的從設(shè)備。 步驟5 :判斷主設(shè)備是否收到輪詢到的未連接的從設(shè)備的響應(yīng),如果是,則執(zhí)行步 驟6 ;否則,返回步驟2,進(jìn)行下一輪輪詢。 步驟6 :主設(shè)備把這個(gè)從設(shè)備標(biāo)記為已連接從設(shè)備,并返回步驟2,進(jìn)行下一輪輪 詢。 下面以主設(shè)備管理16個(gè)從設(shè)備為例,對(duì)本發(fā)明的實(shí)施過程進(jìn)行說明。 為每個(gè)從設(shè)備分配一個(gè)地址,供主設(shè)備輪詢時(shí)使用。其中,從設(shè)備的地址采用16
進(jìn)制。圖2是本發(fā)明實(shí)施例提供的改進(jìn)的設(shè)備輪詢方式的操作示意圖。其中,(a)為第N輪
輪詢前從設(shè)備狀態(tài)示意圖。圖2的(a)中,共有16個(gè)從設(shè)備,包括已與主設(shè)備連接的從設(shè)
備和未與主設(shè)備連接的從設(shè)備,它們的地址都采用16進(jìn)制,并且地址順序排列,從0x00到
0x0f 。其中,地址為0x01、0x04、0x07和0x0f的從設(shè)備為已與主設(shè)備連接的從設(shè)備,其它從
設(shè)備為未與主設(shè)備連接的從設(shè)備。 主設(shè)備在一輪輪詢周期內(nèi)輪詢所有與主設(shè)備連接的從設(shè)備。圖2(b)為第N輪需要 輪詢的從設(shè)備示意圖。第N輪輪詢,主設(shè)備輪詢已與主設(shè)備連接的從設(shè)備0x01、0x04、0x07 和0x0f。 在該輪詢周期內(nèi),判斷是否有與主設(shè)備未連接的從設(shè)備。未連接的從設(shè)備,在主設(shè) 備第一次輪詢時(shí),即主設(shè)備上電啟動(dòng)進(jìn)行輪詢時(shí),為地址最小的與主設(shè)備未連接的從設(shè)備, 在本例中為0x00。在主設(shè)備第一次輪詢之后的其他輪詢周期內(nèi),未連接的從設(shè)備為上一輪 輪詢未連接的從設(shè)備的下一個(gè)未連接的從設(shè)備。 本實(shí)施例中,顯然有未連接的從設(shè)備。本實(shí)施例中,假定第N輪輪詢從地址最小的 未連接的從設(shè)備開始,則主設(shè)備除了輪詢已與主設(shè)備連接的從設(shè)備外,還要輪詢未連接的 從設(shè)備0x00。當(dāng)主設(shè)備沒有收到輪詢到的未連接的從設(shè)備0x00的響應(yīng)時(shí),返回步驟2,進(jìn) 行下一輪輪詢,即第N+l輪輪詢。 圖2(c)為第N+1輪需要輪詢的從設(shè)備示意圖。其中,主設(shè)備先輪詢已與主設(shè)備連接的從設(shè)備0x01、0x04、0x07和0x0f。再判斷是否有與主設(shè)備未連接的從設(shè)備。該未連 接的從設(shè)備為第N輪輪詢未連接的從設(shè)備0x00的下一個(gè)未連接的從設(shè)備,根據(jù)圖2(a)為 0x02。主設(shè)備輪詢未連接的從設(shè)備0x02,當(dāng)主設(shè)備收到輪詢到的未連接的從設(shè)備0x02的響 應(yīng)時(shí),主設(shè)備把這個(gè)從設(shè)備標(biāo)記為已連接從設(shè)備,并返回步驟2,進(jìn)行下一輪輪詢,即第N+2 輪輪詢。 圖2(d)為第N+2輪需要輪詢的從設(shè)備示意圖。其中,主設(shè)備先輪詢已與主設(shè)備連 接的從設(shè)備0x01、0x02、0x04、0x07和0x0f 。此時(shí)的從設(shè)備0x02已經(jīng)在上一次輪詢中變?yōu)?已連接的從設(shè)備,因此之后的每次輪詢都要被主設(shè)備輪詢。之后再判斷是否有與主設(shè)備未 連接的從設(shè)備。該未連接的從設(shè)備為第N+l輪輪詢未連接的從設(shè)備0x02的下一個(gè)未連接 的從設(shè)備,根據(jù)圖2(a)為0x03。主設(shè)備輪詢未連接的從設(shè)備0x03,當(dāng)主設(shè)備沒有收到輪詢 到的未連接的從設(shè)備0x03的響應(yīng)時(shí),返回步驟2,進(jìn)行下一輪輪詢,即第N+3輪輪詢。
圖2(e)為第N+3輪需要輪詢的從設(shè)備示意圖。其中,主設(shè)備先輪詢已與主設(shè)備連 接的從設(shè)備0x01、0x02、0x04、0x07和0x0f 。之后再判斷是否有與主設(shè)備未連接的從設(shè)備。 該未連接的從設(shè)備為第N+2輪輪詢未連接的從設(shè)備0x03的下一個(gè)未連接的從設(shè)備,根據(jù)圖 2(a)為0x05。主設(shè)備輪詢未連接的從設(shè)備0x05,當(dāng)主設(shè)備沒有收到輪詢到的未連接的從設(shè) 備0x05的響應(yīng)時(shí),返回步驟2,進(jìn)行下一輪輪詢,即第N+4輪輪詢。 圖2 (f)為第N+11輪需要輪詢的從設(shè)備示意圖。經(jīng)過幾輪輪詢后,未連接的從設(shè)備 0x06、0x08、0x09、0x0a、0x0b、0x0c、0x0d都被主設(shè)備輪詢了 一次。且主設(shè)備都沒有收到上述 從設(shè)備的響應(yīng),主設(shè)備進(jìn)行第N+11輪輪詢。主設(shè)備先輪詢已與主設(shè)備連接的從設(shè)備0x01、 0x02、0x04、0x07和0x0f。之后再判斷是否有與主設(shè)備未連接的從設(shè)備。該未連接的從設(shè) 備為第N+10輪輪詢未連接的從設(shè)備0x0d的下一個(gè)未連接的從設(shè)備,根據(jù)圖2(a)為0x0f。 主設(shè)備輪詢未連接的從設(shè)備0x0f,當(dāng)主設(shè)備沒有收到輪詢到的未連接的從設(shè)備0x0f的響 應(yīng)時(shí),返回步驟2,進(jìn)行下一輪輪詢,即第N+12輪輪詢。 圖2(g)為第N+12輪需要輪詢的從設(shè)備示意圖。主設(shè)備先輪詢已與主設(shè)備連接的 從設(shè)備0x01、0x02、0x04、0x07和0x0f。之后再判斷是否有與主設(shè)備未連接的從設(shè)備。因?yàn)?上一輪即第N+ll輪的輪詢未連接的從設(shè)備的地址是OxOf,為所有未連接的從設(shè)備中,地址 最大的從設(shè)備,因此該未連接的從設(shè)備的下一個(gè)未連接的從設(shè)備是地址最小的未連接的從 設(shè)備,為0x00。主設(shè)備輪詢未連接的從設(shè)備0x00,當(dāng)主設(shè)備沒有收到輪詢到的未連接的從 設(shè)備0x00的響應(yīng)時(shí),返回步驟2,進(jìn)行下一輪輪詢。 以上述步驟,周期往復(fù)輪詢,直到主設(shè)備關(guān)閉或者掉電才停止輪詢。依照上述方 法,在一個(gè)可掛載m個(gè)從設(shè)備的系統(tǒng)中,一次輪詢的時(shí)間設(shè)為a,最大幀長為n,當(dāng)前連接設(shè) 備數(shù)為c(c《m),則 傳統(tǒng)通信方式每節(jié)點(diǎn)(從設(shè)備)數(shù)據(jù)吞吐量為N1 = n/(mXa)
采用本發(fā)明每節(jié)點(diǎn)(從設(shè)備)數(shù)據(jù)吞吐量為,(c+;)xa
通信效率比為N2/N1 = m/(c+l) 顯然,由上式可知,主設(shè)備掛載的從設(shè)備越多,即m越大,本發(fā)明提供的方法的通 信效率比傳統(tǒng)方法的通信效率的優(yōu)勢(shì)就更明顯。本發(fā)明提出的輪詢方式的改變,有效地提 高了通信效率。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍 為準(zhǔn)。
權(quán)利要求
一種通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法,其特征是所述方法包括下列步驟步驟1為每個(gè)從設(shè)備分配一個(gè)地址,供主設(shè)備輪詢時(shí)使用;步驟2主設(shè)備在一輪輪詢周期內(nèi)輪詢所有與主設(shè)備連接的從設(shè)備;步驟3在該輪詢周期內(nèi),判斷是否有與主設(shè)備未連接的從設(shè)備,如果是,則執(zhí)行步驟4;否則,返回步驟2,進(jìn)行下一輪輪詢;步驟4輪詢?cè)撐催B接的從設(shè)備;步驟5判斷主設(shè)備是否收到輪詢到的未連接的從設(shè)備的響應(yīng),如果是,則執(zhí)行步驟6;否則,返回步驟2,進(jìn)行下一輪輪詢;步驟6主設(shè)備把這個(gè)從設(shè)備標(biāo)記為已連接從設(shè)備,并返回步驟2,進(jìn)行下一輪輪詢。
2. 根據(jù)權(quán)利要求1所述的一種通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法,其特征是 所述地址采用16進(jìn)制,并且順序排列。
3. 根據(jù)權(quán)利要求1所述的一種通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法,其特征是 所述未連接的從設(shè)備,在主設(shè)備第一次輪詢時(shí),為地址最小的與主設(shè)備未連接的從設(shè)備;在 主設(shè)備不是第一次輪詢時(shí),為上一輪輪詢未連接的從設(shè)備的下一個(gè)未連接的從設(shè)備。
4. 根據(jù)權(quán)利要求3所述的一種通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法,其特征是 所述上一輪輪詢未連接的從設(shè)備是所有未連接的從設(shè)備中地址最大的從設(shè)備時(shí),其下一個(gè) 未連接的從設(shè)備是所有未連接的從設(shè)備中地址最小的從設(shè)備。
全文摘要
本發(fā)明公開了計(jì)算機(jī)技術(shù)領(lǐng)域中的一種通過改進(jìn)設(shè)備輪詢方式提高通信效率的方法。所述方法包括為每個(gè)從設(shè)備分配一個(gè)地址,供主設(shè)備輪詢時(shí)使用;主設(shè)備在一輪輪詢周期內(nèi)輪詢所有與主設(shè)備連接的從設(shè)備,并判斷是否有與主設(shè)備未連接的從設(shè)備,如果是,輪詢?cè)撐催B接的從設(shè)備;而后判斷主設(shè)備是否收到輪詢到的未連接的從設(shè)備的響應(yīng),如果是,則主設(shè)備把這個(gè)從設(shè)備標(biāo)記為已連接從設(shè)備;一次輪詢結(jié)束后,進(jìn)行下一次輪詢。本發(fā)明使已輪詢的從設(shè)備占據(jù)的通信流量得到提高,降低了帶寬的浪費(fèi),提供了通信效率。
文檔編號(hào)G06F13/36GK101699420SQ20091023684
公開日2010年4月28日 申請(qǐng)日期2009年11月2日 優(yōu)先權(quán)日2009年11月2日
發(fā)明者任廣磊 申請(qǐng)人:北京佳訊飛鴻電氣股份有限公司