專利名稱:主從站通信方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通信,特別是涉及主從站通信方法及裝置。
背景技術(shù):
作為計(jì)算機(jī)技術(shù)與移動(dòng)通信技術(shù)的交叉應(yīng)用,集中監(jiān)控技術(shù)在對(duì)移動(dòng)通信系統(tǒng)的各個(gè)分布式工作節(jié)點(diǎn)的監(jiān)控中起到非常關(guān)鍵的作用。通常一個(gè)集中監(jiān)控系統(tǒng)包括多個(gè)工作端,根據(jù)不同的拓?fù)浣Y(jié)構(gòu)組成不同的網(wǎng)絡(luò),也就組成了不同的數(shù)據(jù)鏈路。通常,集中監(jiān)控的數(shù)據(jù)鏈路結(jié)構(gòu)可以分為兩種,即點(diǎn)對(duì)點(diǎn)鏈路和點(diǎn)對(duì)多鏈路。如果這些數(shù)據(jù)鏈路是通過全雙工物理通道(如High-Level Data Link Control,簡(jiǎn)稱HDLC)連接的,則稱之為全雙工集中 監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu);如果這些數(shù)據(jù)鏈路是通過半雙工物理通道(如RS-485總線)連接的,則稱之為半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)。通常,在集中監(jiān)控系統(tǒng)中只有一個(gè)主站,其它皆為從站。主站的作用是為監(jiān)控中心與監(jiān)控從站提供數(shù)據(jù)和信息的中繼和轉(zhuǎn)發(fā),用來直接和監(jiān)控中心通信的設(shè)備。從站是指在一個(gè)由多個(gè)設(shè)備組成的本地直放站監(jiān)控子網(wǎng)絡(luò)中,不能和監(jiān)控中心直接通信的設(shè)備,從站所有與監(jiān)控中心的通信包必須經(jīng)過監(jiān)控主站的轉(zhuǎn)發(fā)。在一些分布式系統(tǒng)中,原來的系統(tǒng)采用的是半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),而現(xiàn)在系統(tǒng)采用的是全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),導(dǎo)致不同代次設(shè)備之間出現(xiàn)主從站通信不兼容問題。而原來代次的設(shè)備已經(jīng)逐步停產(chǎn),當(dāng)工程上出現(xiàn)原來代次設(shè)備有問題需要替換時(shí),就需要迫切的解決不同代次的主從站通信兼容問題。傳統(tǒng)中,在主站與從站通信過程中,始發(fā)設(shè)備和目標(biāo)設(shè)備是通過服務(wù)器來實(shí)現(xiàn)半雙工與全雙工的通信,并且始發(fā)設(shè)備和目標(biāo)設(shè)備的通信會(huì)在半雙工與全雙工中來回切換。該方法雖然可以進(jìn)行半雙工與全雙工的轉(zhuǎn)換,但來回切換并不方便。并且該種方法是通過服務(wù)器實(shí)現(xiàn)通信,比較繁瑣,并不能很好的解決代次設(shè)備替換的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種主從站通信方法及裝置,使全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)轉(zhuǎn)換為半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),從而使得不同代次設(shè)備實(shí)現(xiàn)主從站通信兼容。為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案一種主從站通信方法,包括獲取本站點(diǎn)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu);當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用廣播策略方式通信,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用輪詢策略方式通信。一種主從站通信裝置,包括獲取模塊,用于獲取本站點(diǎn)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu);與獲取模塊連接的選擇模塊,用于根據(jù)所述獲取模塊的獲取結(jié)果,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)選擇廣播策略方式通信,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)選擇輪詢策略方式通信。根據(jù)本發(fā)明方案,采用廣播策略和輪詢策略,分別應(yīng)用于主站與從站的鏈路結(jié)構(gòu)為全雙工的監(jiān)控?cái)?shù)據(jù)鏈路和半雙工的監(jiān)測(cè)數(shù)據(jù)鏈路,使全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)轉(zhuǎn)換為半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),從而使得不同代次設(shè)備實(shí)現(xiàn)主從站通信兼容,便于直接用新代次的設(shè)備替換老代次設(shè)備。
圖I為本發(fā)明主從站通信方法原理示意圖;圖2為本發(fā)明主從站通信方法實(shí)施例一的流程示意圖;圖3為本發(fā)明主從站通信方法實(shí)施例一步驟S203的流程示意圖; 圖4為本發(fā)明第一實(shí)施例一個(gè)從站與主站通信時(shí)的原理示意圖;圖5為本發(fā)明第一實(shí)施例多個(gè)從站與主站通信時(shí)的原理示意圖;圖6為本發(fā)明主從站通信方法實(shí)施例二的流程示意圖;圖7為本發(fā)明主從站通信方法實(shí)施例二步驟S602流程示意圖;圖8為本發(fā)明第二實(shí)施例一個(gè)從站與主站通信時(shí)的原理示意圖;圖9為本發(fā)明第二實(shí)施例多個(gè)從站與主站通信時(shí)的原理示意圖;圖10為本發(fā)明主站發(fā)送同步數(shù)據(jù)包給從站流程圖;圖11為本發(fā)明從站應(yīng)答數(shù)據(jù)給主站流程圖;圖12為本發(fā)明從站發(fā)送命令數(shù)據(jù)給主站流程圖;圖13為本發(fā)明主站應(yīng)答數(shù)據(jù)給從站流程圖;圖14為本發(fā)明主從站通信機(jī)制類圖;圖15為本發(fā)明主從站通信裝置結(jié)構(gòu)示意圖;圖16為本發(fā)明所采用的軟件的模型圖。
具體實(shí)施例方式以下針對(duì)本發(fā)明主從站通信方法及裝置的各實(shí)施例進(jìn)行詳細(xì)描述。首先針對(duì)主從站通信方法的各實(shí)施例進(jìn)行描述。實(shí)施例一本發(fā)明實(shí)施例一所提供的主從站通信方法,是當(dāng)主站與從站的鏈路結(jié)構(gòu)為全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí),采用廣播策略方式通信。參見圖1,是本發(fā)明主從站通信方法的流程圖,其包括步驟步驟Sll :獲取本站點(diǎn)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu);步驟S12 :當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用廣播策略方式通信,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用輪詢策略方式通 目。系統(tǒng)同時(shí)存在廣播策略和輪詢策略,在獲取系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)后,一旦確定選擇某一策略,在整個(gè)主從站鏈路中一直以選擇的這種策略方式進(jìn)行數(shù)據(jù)交換,不用來回切換,實(shí)現(xiàn)全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)與半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)的轉(zhuǎn)換,使用起來更方便。
參見圖2和圖3所不,圖2是本發(fā)明主從站通彳目方法實(shí)施例一流程不意圖,圖3是本發(fā)明主從站通信方法實(shí)施例一步驟S203的流程示意圖,為了更清楚主從站之間的通信,參見圖4和圖5,圖4是當(dāng)從站為一個(gè)時(shí),從站與主站通信時(shí)的原理示意圖,圖5是當(dāng)從站為多個(gè)時(shí),從站與主站通信時(shí)的原理示意圖,其包括步驟步驟S201,主站獲取同步數(shù)據(jù)后,定時(shí)向所有從站發(fā)送同步數(shù)據(jù)廣播包(向所有從站發(fā)送同步數(shù)據(jù)廣播包是同時(shí)進(jìn)行的);步驟S202,從站收到同步數(shù)據(jù)廣播包后,向主站發(fā)送同步數(shù)據(jù)廣播應(yīng)答包;步驟S203,從站主動(dòng)完成命令包發(fā)送過程。其中,步驟S203從站主動(dòng)完成命令包發(fā)送過程,包括如下步驟
步驟S2031,從站將需要發(fā)送的一個(gè)或多個(gè)命令包發(fā)送至主站;步驟S2032,主站收到命令包后,根據(jù)命令包內(nèi)容向該從站發(fā)送命令回應(yīng)包;步驟S2033,若從站尚需發(fā)送命令包,則返回步驟S2031,否則不發(fā)送命令包。在集中監(jiān)控系統(tǒng)中,主站需要不斷收集從站的參數(shù),如果從站出現(xiàn)異常,主站必須立刻向監(jiān)控中心報(bào)告。主站收集從站參數(shù)是通過定時(shí)向各個(gè)從站發(fā)送詢問命令數(shù)據(jù)包,從站響應(yīng)詢問數(shù)據(jù)包來實(shí)現(xiàn)的。主站接受所有從站發(fā)出的數(shù)據(jù)包,而從站只處理源站為主站且目的站為本站的數(shù)據(jù)包,通過這樣的方法發(fā)揮主站的中心控制作用。主站接收從站發(fā)出的數(shù)據(jù)包包括命令包,從站處理的數(shù)據(jù)包包括同步數(shù)據(jù)廣播包、同步數(shù)據(jù)輪詢包,但數(shù)據(jù)包不限于上述數(shù)據(jù)包,也可以為其他數(shù)據(jù)包。根據(jù)上述本實(shí)施例中的方案,在一個(gè)實(shí)施例中,主從站是直放站內(nèi)部中繼端與覆蓋端,主站為中繼端,從站為覆蓋端。但主從站不限于直放站,也可以為其他站。如果是因?yàn)槠渌枰l(fā)出的主動(dòng)通信數(shù)據(jù)包,稱之為命令,命令的響應(yīng)數(shù)據(jù)包則稱之為命令回應(yīng)包。步驟S203,則是從站因?yàn)槠渌枰l(fā)出的主動(dòng)通信數(shù)據(jù)包。因?yàn)殒溌方Y(jié)構(gòu)為全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),此時(shí)的命令發(fā)送可以是在從站收到同步數(shù)據(jù)廣播包同時(shí)或之后,或者是從站發(fā)出同步數(shù)據(jù)廣播應(yīng)答包的同時(shí)、之前或之后完成。從站發(fā)送一個(gè)或多個(gè)命令包的條件,包括在發(fā)送上一個(gè)命令包同時(shí)或之后,判斷是否有其他命令包需要發(fā)送;或在從站收到命令回應(yīng)包后根據(jù)命令回應(yīng)包內(nèi)容決定是否發(fā)出下一個(gè)命令包等多種情況。發(fā)送命令包的個(gè)數(shù)不限,可以是零個(gè),一個(gè)、兩個(gè)、三個(gè)等。從站與主站有對(duì)等的地位,可以在需要的任何時(shí)候主動(dòng)發(fā)送數(shù)據(jù)給主站。其中,主從站監(jiān)控鏈路異常時(shí)或主從站間不能正常收發(fā)數(shù)據(jù)時(shí),向監(jiān)控中心發(fā)送報(bào)警命令。所述的報(bào)警命令,包括很多報(bào)警信息。比如主從監(jiān)控鏈路告警、不能正常收或發(fā)數(shù)據(jù)告警、告警命令失效告警等。進(jìn)一步的,為增強(qiáng)通信流程的可靠性,可設(shè)置異常處理機(jī)制,SP 主站發(fā)送同步數(shù)據(jù)廣播包后,如果主站接收同步數(shù)據(jù)廣播應(yīng)答包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行主站發(fā)送同步數(shù)據(jù)廣播包命令,如果重發(fā)同步數(shù)據(jù)廣播包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令;或從站發(fā)送命令包之后,如果從站接收命令回應(yīng)包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行從站發(fā)送命令包命令,如果重發(fā)命令包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令。最高次數(shù)可以是任何次數(shù),根據(jù)需要設(shè)定。比如,從站數(shù)目太多時(shí),則可以設(shè)定次數(shù)少一點(diǎn),避免鏈路中數(shù)據(jù)交互太頻繁,影響通信性能。實(shí)施例二參見圖1,是本發(fā)明主從站通信方法的流程圖,其包括步驟步驟Sll :獲取本站點(diǎn)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu);步驟S12 :當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用廣播策略方式通信,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用輪詢策略方式通 目。系統(tǒng)同時(shí)存在廣播策略和輪詢策略,在獲取系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)后,一旦確定選擇某一策略,在整個(gè)主從站鏈路中一直以選擇的這種策略方式進(jìn)行數(shù)據(jù)交換,不用來 回切換,實(shí)現(xiàn)全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)與半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)的轉(zhuǎn)換,使用起來更方便。本發(fā)明實(shí)施例二提供的主從站通信方法,是當(dāng)主站與從站的鏈路結(jié)構(gòu)為半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí),采用輪詢策略方式通信。參見圖6和圖7所示,圖6是本發(fā)明主從站通信方法實(shí)施例二的流程示意圖,圖7是本發(fā)明主從站通信方法實(shí)施例二步驟S602流程示意圖,為了更清楚主從站之間的通信,參見圖8和圖9,圖8是當(dāng)從站為一個(gè)時(shí),與主站通/[目時(shí)的原理不意圖;圖9是當(dāng)從站為多個(gè)時(shí),與主站通信時(shí)的原理示意圖,其包括步驟步驟S601,主站獲取同步數(shù)據(jù)后,定時(shí)發(fā)出同步數(shù)據(jù)輪詢包在多個(gè)從站之間輪詢;步驟S602,從站在收到同步數(shù)據(jù)輪詢包同時(shí)或之后,并且在發(fā)出同步數(shù)據(jù)輪詢應(yīng)答包的同時(shí)或之前完成主動(dòng)命令發(fā)送過程;步驟S603,從站收到同步數(shù)據(jù)輪詢包后,向主站發(fā)送同步數(shù)據(jù)輪詢應(yīng)答包。其中,步驟S602從站主動(dòng)命令發(fā)送過程,包括步驟步驟S6021,從站收到同步數(shù)據(jù)輪詢包同時(shí)或之后,將需要發(fā)送的一個(gè)或多個(gè)命令包發(fā)送至主站;步驟S6022,主站收到命令包后,根據(jù)命令包內(nèi)容向該從站發(fā)送命令回應(yīng)包;步驟S6023,若從站尚需發(fā)送命令包,且從站未應(yīng)答同步數(shù)據(jù)輪詢包,則返回步驟S6021,否則不發(fā)送命令包。在集中監(jiān)控系統(tǒng)中,主站需要不斷收集從站的參數(shù),如果從站出現(xiàn)異常,主站必須立刻向監(jiān)控中心報(bào)告。主站收集從站參數(shù)是通過定時(shí)向各個(gè)從站發(fā)送詢問命令數(shù)據(jù)包,從站響應(yīng)詢問數(shù)據(jù)包來實(shí)現(xiàn)的。主站接受所有從站發(fā)出的數(shù)據(jù)包,而從站只處理源站為主站且目的站為本站的數(shù)據(jù)包,通過這樣的方法發(fā)揮主站的中心控制作用。主站接收從站發(fā)出的數(shù)據(jù)包包括命令包,從站處理的數(shù)據(jù)包包括同步數(shù)據(jù)廣播包、同步數(shù)據(jù)輪詢包,但數(shù)據(jù)包不限于上述數(shù)據(jù)包,也可以為其他數(shù)據(jù)包。根據(jù)上述本實(shí)施例中的方案,在一個(gè)實(shí)施例中,主從站是直放站內(nèi)部中繼端與覆蓋端,主站為中繼端,從站為覆蓋端。但主從站不限于直放站,也可以為其他站。如果是因?yàn)槠渌枰l(fā)出的主動(dòng)通信數(shù)據(jù)包,稱之為命令,命令的響應(yīng)數(shù)據(jù)包則稱之為命令回應(yīng)包。步驟S602,則是從站因?yàn)槠渌枰l(fā)出的主動(dòng)通信數(shù)據(jù)包。
根據(jù)如上所述的本實(shí)施例中的方案,是在主站與從站的鏈路結(jié)構(gòu)為半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí),采用輪詢策略方式通信。輪詢策略方式通信是主站發(fā)送同步包在各從站中輪詢,并不能同時(shí)收到同步數(shù)據(jù)輪詢包。從站必須在收到主站同步數(shù)據(jù)輪詢包的同時(shí)或之后,并且在發(fā)出同步數(shù)據(jù)輪詢應(yīng)答包的同時(shí)或之前,才可以發(fā)送一個(gè)或多個(gè)主動(dòng)命令包給主站,而且應(yīng)答完主站的同步數(shù)據(jù)輪詢包后,必須在下次輪詢到該從站時(shí),從站才有機(jī)會(huì)第二次再發(fā)送一個(gè)或多個(gè)命令包。從站發(fā)送一個(gè)或多個(gè)命令包的條件,包括在發(fā)送上一個(gè)命令包同時(shí)或之后,判斷是否有其他命令包需要發(fā)送;或在從站收到命令回應(yīng)包后根據(jù)命令回應(yīng)包內(nèi)容決定是否發(fā)出下一個(gè)命令包等多種情況。發(fā)送命令包的個(gè)數(shù)不限,可以是零個(gè),一個(gè)、兩個(gè)、三個(gè)等。只要是在從站收到主站同步包的同時(shí)或之后,并且在從站發(fā)出同步應(yīng)答包的同時(shí)或之前這個(gè)時(shí)間段,從站可以選擇是否發(fā)送命令包。
本實(shí)施例中的其他技術(shù)特征與上述實(shí)施例一中的相同,在此不予贅述。進(jìn)一步的,為增強(qiáng)通信流程的可靠性,可設(shè)置異常處理機(jī)制,即主站發(fā)送同步數(shù)據(jù)輪詢包后,如果主站接收同步數(shù)據(jù)輪詢應(yīng)答包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行主站發(fā)送同步數(shù)據(jù)輪詢包命令,如果重發(fā)同步數(shù)據(jù)輪詢包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令;或從站發(fā)送命令包之后,如果從站接收命令回應(yīng)包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行從站發(fā)送命令包命令,如果重發(fā)命令包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令。最高次數(shù)可以是任何次數(shù),根據(jù)需要設(shè)定。比如,從站數(shù)目太多時(shí),則可以設(shè)定次數(shù)少一點(diǎn),避免鏈路中數(shù)據(jù)交互太頻繁,影響通信性能。以下以實(shí)施例一和實(shí)施例二為例,針對(duì)主從站收發(fā)的具體過程進(jìn)行詳細(xì)說明。參見圖10所示,是本發(fā)明主站發(fā)送同步數(shù)據(jù)包給從站流程圖。主站獲取同步數(shù)據(jù)后,主從站通信處理模塊定時(shí)的從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù),并根據(jù)主從站通信協(xié)議打包成合法的數(shù)據(jù)包。然后,通過應(yīng)用服務(wù)配置管理獲取監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),根據(jù)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)來判斷當(dāng)前站點(diǎn)網(wǎng)絡(luò)采用的是全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),還是半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)如果是全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),主站定時(shí)向所有從站發(fā)送同步數(shù)據(jù)廣播包。主站通過調(diào)用發(fā)送模塊,通過總線端口驅(qū)動(dòng)將數(shù)據(jù)包發(fā)送,發(fā)送完畢后,等待下一次的定時(shí)到來;如果是半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),主站定時(shí)發(fā)出同步包在多個(gè)從站之間輪詢。主站調(diào)用發(fā)送模塊,通過總線端口驅(qū)動(dòng)將數(shù)據(jù)包發(fā)送,發(fā)送完畢后,等待下一次的定時(shí)到來,下一次定時(shí)到來后,如果不需要應(yīng)答從站的命令數(shù)據(jù)或轉(zhuǎn)發(fā)數(shù)據(jù),主站會(huì)輪詢下一個(gè)從站。參見圖11所示,是本發(fā)明從站應(yīng)答數(shù)據(jù)給主站流程圖。從站通過外部通信收發(fā)管理器收到主站的同步請(qǐng)求后,發(fā)送數(shù)據(jù)給主從站通信模塊,將同步數(shù)據(jù)存放到數(shù)據(jù)庫(kù),并通知應(yīng)用模塊。在存儲(chǔ)參數(shù)時(shí)確認(rèn)主站同步請(qǐng)求,即根據(jù)主從站協(xié)議打包成合法的數(shù)據(jù)包,調(diào)用發(fā)送模塊,通過總線端口驅(qū)動(dòng)將數(shù)據(jù)包發(fā)送。參見圖12所示,是本發(fā)明從站發(fā)送命令數(shù)據(jù)給主站流程圖。從站把需要發(fā)送給主站的數(shù)據(jù),比如告警產(chǎn)生事件等,根據(jù)主從站通信協(xié)議打包成合法的數(shù)據(jù)包,通過應(yīng)用服務(wù)配置管理獲取監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),根據(jù)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)來判斷當(dāng)前站點(diǎn)網(wǎng)絡(luò)采用的是全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),還是半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)如果是全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),從站調(diào)用發(fā)送模塊,通過總線端口驅(qū)動(dòng)將數(shù)據(jù)包發(fā)送,發(fā)送完畢后,等待主站的應(yīng)答包,如果收到主站應(yīng)答包,需要處理主站的應(yīng)答包;如果是半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),從站先判斷本從站已經(jīng)收到了主站的同步包或者收到同步包的同時(shí),而且還沒有發(fā)送應(yīng)答同步包或者發(fā)送同步包的同時(shí),從站調(diào)用發(fā)送模塊,通過總線端口驅(qū)動(dòng)將數(shù)據(jù)包發(fā)送,發(fā)送完畢后,等待主站的應(yīng)答包,如果收到主站應(yīng)答包,需要處理主站的應(yīng)答包。如果從站判斷本從站沒有收到主站的同步包,或者收到了主站的同步包,但是已經(jīng)應(yīng)答同步包,則本從站需要等到接收主站的下一次同步包后,才能發(fā)送該命令包給主站。參見圖13所示,是本發(fā)明主站應(yīng)答數(shù)據(jù)給從站順序圖。主站通過外部通信收發(fā)管·理器收到從站的命令請(qǐng)求后,發(fā)送數(shù)據(jù)給主從站通信模塊,將命令請(qǐng)求數(shù)據(jù)存放到數(shù)據(jù)庫(kù),并通知應(yīng)用模塊,同時(shí)確認(rèn)從站命令請(qǐng)求,即根據(jù)主從站協(xié)議打包成合法的數(shù)據(jù)包,調(diào)用發(fā)送模塊,通過總線端口驅(qū)動(dòng)將數(shù)據(jù)包發(fā)送。需要注意的是,當(dāng)是全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí),從站不必在收到主站廣播包后,才發(fā)送主動(dòng)命令包給主站,從站與主站有對(duì)等的地位,可以在需要的時(shí)候主動(dòng)發(fā)送數(shù)據(jù)
給主站。當(dāng)是半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí),從站必須在收到主站同步包的同時(shí)或之后,并且在應(yīng)答同步包之前或同時(shí),才可以發(fā)送一個(gè)或多個(gè)主動(dòng)命令包給主站。當(dāng)應(yīng)答完主站的同步包后,必須在下次輪詢到該從站時(shí),從站才有機(jī)會(huì)發(fā)送一個(gè)或多個(gè)命令包。參閱圖14所示,揭示了實(shí)現(xiàn)上述方法的主從站通信處理類圖,包括主站處理類(Main Station Process)、主站策略基類(Main Station Strategy)、主站廣播策略派生類(Main Station Broadcast Strategy)、主站輪詢策略派生類(Main Station PollStrategy)、從站處理類(Sub Station Process)、從站策略基類(Sub Station Strategy) >從站廣播策略派生類(Sub Station Broadcast Strategy)、從站輪詢策略派生類(SubStation Poll Strategy)。采用策略模式對(duì)廣播策略和輪詢策略的算法進(jìn)行封裝,在基類中定義一個(gè)函數(shù)接口,即可對(duì)廣播策略和輪詢策略進(jìn)行選擇,使在需要的時(shí)候?qū)⑷p工監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)轉(zhuǎn)換為半雙工監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),從而實(shí)現(xiàn)不同代次設(shè)備主從站通信兼容。根據(jù)上述本發(fā)明主從站通信方法,本發(fā)明提供一種主從站通信裝置,圖11中示出了本發(fā)明主從站通信裝置結(jié)構(gòu)示意圖,通過應(yīng)用本發(fā)明的主從站通信裝置,可以使全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)轉(zhuǎn)換為半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),實(shí)現(xiàn)不同代次設(shè)備主從站通信兼容。依據(jù)圖15的結(jié)構(gòu)示意圖,包括獲取模塊1501,用于獲取本站點(diǎn)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu);與獲取模塊1501連接的選擇模塊1502,用于根據(jù)所述獲取模塊1501的獲取結(jié)果,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)選擇廣播策略方式通信,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)選擇輪詢策略方式通信。進(jìn)一步的,參見圖16所示,揭示了實(shí)現(xiàn)上述裝置的軟件模型,包括總線端口驅(qū)動(dòng)模塊、通信機(jī)制實(shí)現(xiàn)模塊、應(yīng)用模塊、廣播通信管理模塊、輪詢通信管理模塊,該軟件模型應(yīng)用于集中監(jiān)控系統(tǒng)中。優(yōu)選的,與選擇模塊1502連接的有報(bào)警模塊,用于主從站監(jiān)控鏈路異常時(shí)或主從站間不能正常收發(fā)數(shù)據(jù)時(shí),向監(jiān)控中心發(fā)送報(bào)警命令。報(bào)警命令,包括很多報(bào)警信息。比如主從監(jiān)控鏈路告警、不能正常收或發(fā)數(shù)據(jù)告警、數(shù)據(jù)異常、告警命令失效告警等。優(yōu)選的,與選擇模塊1502連接的還有異常處理機(jī)制模塊,用于主站發(fā)送同步數(shù)據(jù)包后,如果主站接收同步數(shù)據(jù)應(yīng)答包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行主站發(fā)送同步數(shù)據(jù)包命令,如果重發(fā)同步數(shù)據(jù)包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令;
或用于從站發(fā)送命令包之后,如果從站接收命令回應(yīng)包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行從站發(fā)送命令包命令,如果重發(fā)命令包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令,同步數(shù)據(jù)包包括同步數(shù)據(jù)廣播包和同步數(shù)據(jù)輪詢包,所述同步數(shù)據(jù)應(yīng)答包包括同步數(shù)據(jù)廣播應(yīng)答包和同步數(shù)據(jù)輪詢應(yīng)答包。最高次數(shù)可以是任何次數(shù),根據(jù)需要設(shè)定。比如,從站數(shù)目太多時(shí),則可以設(shè)定次數(shù)少一點(diǎn),避免鏈路中數(shù)據(jù)交互太頻繁,影響通信性能。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.ー種主從站通信方法,其特征在于,包括 獲取本站點(diǎn)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu); 當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為全雙エ集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用廣播策略方式通信,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為半雙エ集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用輪詢策略方式通信。
2.根據(jù)權(quán)利要求I所述的主從站通信方法,其特征在于,所述的廣播策略通信方式,包括步驟 主站獲取同步數(shù)據(jù)后,定時(shí)向所有從站發(fā)送同歩數(shù)據(jù)廣播包; 從站收到同歩數(shù)據(jù)廣播包后,向主站發(fā)送同步數(shù)據(jù)廣播應(yīng)答包; 從站主動(dòng)完成命令包發(fā)送過程。
3.根據(jù)權(quán)利要求2所述的主從站通信方法,其特征在于,所述從站主動(dòng)完成命令包發(fā)送過程,包括如下步驟 步驟一,從站將需要發(fā)送的ー個(gè)或多個(gè)命令包發(fā)送至主站; 步驟ニ,主站收到命令包后,根據(jù)命令包內(nèi)容向該從站發(fā)送命令回應(yīng)包; 步驟三,若從站尚需發(fā)送命令包,則返回步驟一,否則不發(fā)送命令包。
4.根據(jù)權(quán)利要求I所述的主從站通信方法,其特征在于,所述的輪詢策略通信方式,包括步驟 主站獲取同步數(shù)據(jù)后,定時(shí)發(fā)出同歩數(shù)據(jù)輪詢包在多個(gè)從站之間輪詢; 從站在收到同歩數(shù)據(jù)輪詢包同時(shí)或之后,并且在發(fā)出同步數(shù)據(jù)輪詢應(yīng)答包的同時(shí)或之前主動(dòng)完成命令包發(fā)送過程; 從站收到同歩數(shù)據(jù)輪詢包后,向主站發(fā)送同步數(shù)據(jù)輪詢應(yīng)答包。
5.根據(jù)權(quán)利要求4所述的主從站通信方法,其特征在于,所述從站主動(dòng)完成命令包發(fā)送過程,包括如下步驟 步驟一,從站收到同歩數(shù)據(jù)輪詢包同時(shí)或之后,將需要發(fā)送的ー個(gè)或多個(gè)命令包發(fā)送至主站; 步驟ニ,主站收到命令包后,根據(jù)命令包內(nèi)容向該從站發(fā)送命令回應(yīng)包; 步驟三,若從站尚需發(fā)送命令包,且從站未應(yīng)答同歩數(shù)據(jù)輪詢包,則返回步驟一,否則不發(fā)送命令包。
6.如權(quán)利要求3或5所述的主從站通信方法,其特征在干,主從站監(jiān)控鏈路異常時(shí)或主從站間不能正常收發(fā)數(shù)據(jù)時(shí),所述主站向監(jiān)控中心發(fā)送報(bào)警命令。
7.如權(quán)利要求3或5所述的主從站通信方法,其特征在干,所述主站接收所有從站發(fā)出的命令包,而從站只處理源站為主站但目的站為本站的同歩數(shù)據(jù)廣播包或同歩數(shù)據(jù)輪詢包。
8.如權(quán)利要求3所述的主從站通信方法,其特征在于,所述主站發(fā)送同歩數(shù)據(jù)廣播包后,如果主站接收同步數(shù)據(jù)廣播應(yīng)答包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行主站發(fā)送同歩數(shù)據(jù)廣播包命令,如果重發(fā)同歩數(shù)據(jù)廣播包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令; 或 從站發(fā)送命令包之后,如果從站接收命令回應(yīng)包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行從站發(fā)送命令包命令,如果重發(fā)命令包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令。
9.如權(quán)利要求5所述的主從站通信方法,其特征在干,所述主站發(fā)送同歩數(shù)據(jù)輪詢包后,如果主站接收同步數(shù)據(jù)輪詢應(yīng)答包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行主站發(fā)送同歩數(shù)據(jù)輪詢包命令,如果重發(fā)同歩數(shù)據(jù)輪詢包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令; 或 從站發(fā)送命令包之后,如果從站接收命令回應(yīng)包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行從站發(fā)送命令包命令,如果重發(fā)命令包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令。
10.ー種主從站通信裝置,其特征在于,包括 獲取模塊,用于獲取本站點(diǎn)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu); 與獲取模塊連接的選擇模塊,用于根據(jù)所述獲取模塊的獲取結(jié)果,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為全雙エ集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)選擇廣播策略方式通信,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為半雙エ集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)選擇輪詢策略方式通信。
11.根據(jù)權(quán)利要求10所述的主從站通信裝置,其特征在于,與所述選擇模塊連接的報(bào)警模塊,用于主從站監(jiān)控鏈路異常時(shí)或主從站間不能正常收發(fā)數(shù)據(jù)時(shí),向監(jiān)控中心發(fā)送報(bào)警命令。
12.根據(jù)權(quán)利要求10或11所述的主從站通信裝置,其特征在于,與所述選擇模塊連接的異常處理機(jī)制模塊, 用于主站發(fā)送同步數(shù)據(jù)包后,如果主站接收同步數(shù)據(jù)應(yīng)答包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行主站發(fā)送同步數(shù)據(jù)包命令,如果重發(fā)同步數(shù)據(jù)包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令; 或 用于從站發(fā)送命令包之后,如果從站接收命令回應(yīng)包的時(shí)間超過預(yù)設(shè)的定時(shí)參數(shù),則重新執(zhí)行從站發(fā)送命令包命令,如果重發(fā)命令包命令的次數(shù)超過限定的最高次數(shù),則停止發(fā)送該命令, 所述同步數(shù)據(jù)包包括同歩數(shù)據(jù)廣播包和同歩數(shù)據(jù)輪詢包,所述同步數(shù)據(jù)應(yīng)答包包括同步數(shù)據(jù)廣播應(yīng)答包和同步數(shù)據(jù)輪詢應(yīng)答包。
全文摘要
主從站通信方法及裝置,其先獲取本站點(diǎn)系統(tǒng)的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu),根據(jù)不同監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)采用不同的主從站通信策略,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為全雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用廣播策略方式通信,當(dāng)監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)為半雙工集中監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)時(shí)采用輪詢策略方式通信。本發(fā)明方案將不同代次設(shè)備不兼容問題轉(zhuǎn)換為全雙工監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)與半雙工監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)替換問題,在全雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)與半雙工的監(jiān)控?cái)?shù)據(jù)鏈路結(jié)構(gòu)中設(shè)置一個(gè)公共接口,可實(shí)現(xiàn)新代次的設(shè)備替換掉老代次設(shè)備。
文檔編號(hào)H04W24/04GK102857956SQ201210262769
公開日2013年1月2日 申請(qǐng)日期2012年7月26日 優(yōu)先權(quán)日2012年7月26日
發(fā)明者章烈剽, 方彬浩, 賴福琪 申請(qǐng)人:京信通信系統(tǒng)(廣州)有限公司