鄧昊 劉偉

摘要:當(dāng)前廣電行業(yè)網(wǎng)絡(luò)設(shè)備通信模塊在進(jìn)行發(fā)展的過(guò)程中,根據(jù)特殊操作考慮,在類型上進(jìn)行了分別的設(shè)計(jì)。例如在協(xié)議間相互制約等方面進(jìn)行全面的考慮之后,工程師會(huì)對(duì)硬件和軟件同時(shí)進(jìn)行設(shè)計(jì)和開(kāi)發(fā),有效規(guī)避其中出現(xiàn)的一些BUG減少同類錯(cuò)誤反復(fù)發(fā)生,以強(qiáng)化軟件容錯(cuò)性,增強(qiáng)設(shè)備的穩(wěn)定性運(yùn)行。本文圍繞設(shè)備通信技術(shù)的實(shí)踐經(jīng)驗(yàn)。在廣電行業(yè)網(wǎng)絡(luò)設(shè)備通信模塊常見(jiàn)BUG中論述三種,針對(duì)這種對(duì)于在特殊操作中可能出現(xiàn)的問(wèn)題,圍繞軟硬件設(shè)計(jì)的重點(diǎn)事項(xiàng),展開(kāi)論述,并提出進(jìn)行有效規(guī)避的方法。
關(guān)鍵詞:廣電網(wǎng)絡(luò)通信 通信模塊 BUG
為了增強(qiáng)軟件容錯(cuò)性和設(shè)備的穩(wěn)定性,因盡量減少設(shè)計(jì)中BUG的出現(xiàn)。BUG本意是臭蟲(chóng),在英文中,尤其是在設(shè)備設(shè)計(jì)領(lǐng)域中還有特殊的含意,當(dāng)前信息安全領(lǐng)域受到各種重視,設(shè)計(jì)和實(shí)施過(guò)程中容易出現(xiàn)錯(cuò)誤和缺陷,導(dǎo)致了系統(tǒng)層次之間的不兼容和矛盾,這些都被統(tǒng)一歸類為BUG的范疇。
1 廣電網(wǎng)絡(luò)設(shè)備通訊模塊BUG概述
早期的型號(hào)存在于廣電領(lǐng)域的各種類型,屬于一種較為復(fù)雜的通信錯(cuò)誤現(xiàn)象,由于數(shù)量較多,無(wú)論是同一廠商的設(shè)備,還是不同廠商的設(shè)備,在正常的使用中都容易出現(xiàn),特殊情況下的BUG系統(tǒng)運(yùn)行正常。但是隨著B(niǎo)UG的不斷增多,出現(xiàn)在廣電領(lǐng)域中的失誤影響了用戶的使用,因此有必要進(jìn)行軟硬件BUG的研究。
在設(shè)計(jì)過(guò)程中對(duì)于BUG進(jìn)行規(guī)避,就要將計(jì)算機(jī)的磁盤空間進(jìn)行科學(xué)地查找。對(duì)于不常見(jiàn)的靈性操作臨界操作要進(jìn)行注意,一旦出現(xiàn)系統(tǒng)異常,則要針對(duì)不同型號(hào)的設(shè)備和不兼容的通信協(xié)議加以查找。型號(hào)支持串口,后期改成網(wǎng)口的情況,就容易出現(xiàn)設(shè)備中的通訊協(xié)議差錯(cuò)。無(wú)論是軟件和硬件都會(huì)生成一些臨時(shí)文件,在vrindowS操作系統(tǒng)中將計(jì)算機(jī)磁盤進(jìn)行貼滿之后,重新啟動(dòng)相應(yīng)的操作系統(tǒng),無(wú)論是關(guān)機(jī)和重啟都要檢測(cè)硬盤剩余容量。對(duì)于這些缺陷如果是不加以查找的話,就會(huì)出現(xiàn)過(guò)多的BUG現(xiàn)象。
廣電行業(yè)一般在進(jìn)行收入功能的軟件驅(qū)動(dòng)時(shí),對(duì)于視頻和音頻數(shù)據(jù)往往存在數(shù)使用數(shù)量較大的特點(diǎn)。因此如果BUG現(xiàn)象又隱蔽,危害性又大,會(huì)直接影響到用戶正常的工作需求,了解BUJ強(qiáng)化廣電行業(yè)中的播出安全,在B軟硬件的開(kāi)發(fā)和設(shè)計(jì)上,防止錯(cuò)誤擴(kuò)散,規(guī)避經(jīng)濟(jì)損失。是需要設(shè)計(jì)師在軟硬件的設(shè)計(jì)和開(kāi)發(fā)中進(jìn)行注意的。
2 網(wǎng)絡(luò)設(shè)備通信模塊常用協(xié)議
在TCP-IP協(xié)議的網(wǎng)口通信中用于通信的接口,目前包括了串行接口和網(wǎng)絡(luò)接口設(shè)備之間采用網(wǎng)口通信的方式進(jìn)行主要的通信和低中低端設(shè)備的連接,對(duì)于速率要求不高的不能進(jìn)行組網(wǎng)。tcp協(xié)議和SNMP協(xié)議目前廣泛使用的是同一層次的網(wǎng)絡(luò)接口通信協(xié)議。
2.1 tcp協(xié)議,采用的是傳輸控制協(xié)議的方式實(shí)現(xiàn)通信之間的連接。目前面向連接的通訊協(xié)議往往是實(shí)現(xiàn)多個(gè)階段的通信,tcp通訊要經(jīng)過(guò)上述很多過(guò)程,實(shí)現(xiàn)第一階段和第二階段的握手,雙方才能互相通信。如果是超過(guò)對(duì)方的通訊數(shù)據(jù)限制時(shí),出現(xiàn)這一情況,就容易出現(xiàn)網(wǎng)絡(luò)的中斷,一旦出現(xiàn)通信網(wǎng)絡(luò)的中斷,就會(huì)出現(xiàn)安全性能受到影響的情況,因此在進(jìn)行tcp協(xié)議的運(yùn)行中,需要對(duì)設(shè)備進(jìn)行認(rèn)證。
2.2 SNMP協(xié)議往往是首先定義多個(gè)概念,對(duì)于tcp協(xié)議的弊端要進(jìn)行規(guī)避,從監(jiān)控程序的編寫(xiě)角度上專門對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行管理,目標(biāo)是進(jìn)行互聯(lián)網(wǎng)眾多品牌的軟硬件設(shè)備的驅(qū)動(dòng),通過(guò)SNMP協(xié)議可以設(shè)置和讀取任何支持SNMP協(xié)議的設(shè)備。從網(wǎng)管程序的角度看,設(shè)計(jì)中制作程序維護(hù)SNMP中的數(shù)據(jù)對(duì)于管理數(shù)據(jù)庫(kù)和信息結(jié)構(gòu)加以定義,SNMP協(xié)議對(duì)于上述概念采用了通信協(xié)議的方式負(fù)責(zé)和網(wǎng)管程序進(jìn)行通訊,增加代理機(jī)構(gòu)后,實(shí)現(xiàn)網(wǎng)管程序和設(shè)備設(shè)計(jì)之間的連接。
SNMP經(jīng)過(guò)簡(jiǎn)化可以不監(jiān)測(cè)連接狀態(tài)的網(wǎng)管程序,設(shè)置超時(shí)值,增加穩(wěn)定性之后,面向無(wú)連接的通信協(xié)議,實(shí)現(xiàn)UDP協(xié)議,通過(guò)連續(xù)多次讀取,進(jìn)行相應(yīng)的設(shè)備的彌補(bǔ),再個(gè)數(shù)不確定的參數(shù)上,如某一臺(tái)計(jì)算機(jī)ip地址,對(duì)于表的讀取能夠進(jìn)行相應(yīng)的設(shè)計(jì),對(duì)這個(gè)命令即使不便理解,也可以讀取當(dāng)前位置后面的數(shù)值。對(duì)于設(shè)備中包括表和值之間的參數(shù),都能夠在不調(diào)用該命令的前提下,通讀新型設(shè)備中,廣電系統(tǒng)采用MSNMP協(xié)議,能夠?qū)γ總€(gè)廠家的每種設(shè)備參數(shù)都以樹(shù)狀結(jié)構(gòu)進(jìn)行定義。
3 廣電網(wǎng)絡(luò)設(shè)備通信模塊中常見(jiàn)的BUG
3.1 由于特殊操作導(dǎo)致的,BUG表現(xiàn)為由于特殊操作命令出現(xiàn)了流程結(jié)構(gòu)等數(shù)值產(chǎn)生,BUG導(dǎo)致用戶的正常程序無(wú)法進(jìn)行操作。所有的遠(yuǎn)端操作失敗之后,設(shè)備到工作人員都需要進(jìn)行人工的切換。在設(shè)計(jì)中遠(yuǎn)程的網(wǎng)管程序往往需要設(shè)置新密碼,而一旦網(wǎng)管程序需要等待設(shè)備的確認(rèn)之后,只有當(dāng)設(shè)備接到遠(yuǎn)端主機(jī)網(wǎng)管程序關(guān)機(jī)和重啟命令之后,才能直接進(jìn)入關(guān)機(jī)和重啟操作,斷開(kāi)步驟之后只能進(jìn)行本地操作,此時(shí)網(wǎng)管程序需要設(shè)置為只能本地操作,否則就會(huì)使得遠(yuǎn)端操作失敗。
在面板上進(jìn)行模式切換,同時(shí)實(shí)現(xiàn)遠(yuǎn)程模式的運(yùn)用,要求編程人員和操作人員在熟悉具體的設(shè)備之后,進(jìn)行相應(yīng)的設(shè)備服務(wù)器的運(yùn)行。一旦修改管理員密碼就會(huì)出現(xiàn)程序操作失誤,導(dǎo)致之后的用戶無(wú)法通過(guò)管理員用戶登錄系統(tǒng)解決BUG現(xiàn)象。
3.2 因協(xié)議制約導(dǎo)致的BUG,例如在進(jìn)行傳輸層和數(shù)據(jù)層的運(yùn)行的時(shí)候,多種協(xié)議相互制約,在設(shè)備的協(xié)議支持下,不得遵守角色獨(dú)立的要求,其他底層和外圍協(xié)議的支持設(shè)備良莠不分,容易導(dǎo)致傳輸中內(nèi)定上線的失誤。
例如假設(shè)一個(gè)OID串占用20個(gè)字節(jié),而SNMP的PDU數(shù)據(jù)包常擁有上線,此時(shí)就會(huì)使命令中的OID數(shù)量大打折扣,長(zhǎng)度只有一個(gè)字節(jié),這意味著整個(gè)變量組的長(zhǎng)度將被限制。建立在讀取操作基礎(chǔ)上的回復(fù)和設(shè)置功能,會(huì)被樹(shù)枝本身所限定,使得各SNMP協(xié)議在實(shí)現(xiàn)的時(shí)候受到各種限制,結(jié)合實(shí)測(cè)中的經(jīng)驗(yàn)值,使用網(wǎng)管程序軟件進(jìn)行編寫(xiě)。此時(shí)在編寫(xiě)過(guò)程中,程序的開(kāi)發(fā)者必須避免一次同時(shí)讀取多個(gè)參數(shù),返回其他類型操作時(shí),在調(diào)試的時(shí)候容易使BUG編程者無(wú)所適從。
3.3 由于設(shè)計(jì)導(dǎo)致的BUG往往是采用某種表格的形式進(jìn)行報(bào)警。此時(shí)BUG的顯示是比較隱含的。列表中的第一項(xiàng)代表A報(bào)警,第二項(xiàng)代表代表B報(bào)警,中間還包含了ABCD其他OIA地址。在報(bào)警持續(xù)期間,如果根據(jù)列表中自動(dòng)添加的命令進(jìn)行新的表象的填寫(xiě),就會(huì)因?yàn)橥ㄓ嵵袛喽沟脠?bào)警狀態(tài)未發(fā)生。此時(shí)網(wǎng)管程序?qū)?bào)警信息進(jìn)行讀取,無(wú)論哪一種報(bào)警信息都可以顯示為正確。這種設(shè)備運(yùn)行狀態(tài),使得返回值可以進(jìn)行判斷,同時(shí)將通信的基本原則加以違反。
設(shè)備可以不通過(guò)SNMP就返回?zé)o報(bào)警狀態(tài),通過(guò)超時(shí)間接的推斷,使得網(wǎng)管程序以及設(shè)備受到影響,報(bào)警值會(huì)被誤讀。在設(shè)備設(shè)計(jì)中修正這種錯(cuò)誤,可以對(duì)動(dòng)態(tài)的表形式進(jìn)行回避,將所有參數(shù)設(shè)置為表形態(tài)讀取到OID不存在錯(cuò)誤時(shí),防止系統(tǒng)出現(xiàn)卡頓,提高網(wǎng)管程序的效率。
4 結(jié)語(yǔ)
廣電設(shè)備設(shè)計(jì)較為復(fù)雜,存在的問(wèn)題較多,從實(shí)踐角度對(duì)于設(shè)備中常見(jiàn)的BUG進(jìn)行考慮,尤其是協(xié)議間相互制約的問(wèn)題。對(duì)于軟件工程師來(lái)說(shuō),為了減少排查困難,應(yīng)從設(shè)計(jì)之初就要求硬件和軟件工程師,增加設(shè)備的可操作性和穩(wěn)定性,從提升設(shè)備市場(chǎng)競(jìng)爭(zhēng)力的角度,避免BUG的出現(xiàn)。
參考文獻(xiàn)
[1]李瑞民.廣電網(wǎng)絡(luò)設(shè)備通信模塊中常見(jiàn)的三種設(shè)計(jì)BUG[J].電視工程,2017, (004).
[2]張鍵.遠(yuǎn)程分布式視頻監(jiān)控系統(tǒng)研究[D].四川:電子科技大學(xué),20IL.
[3]李瑞民.基于SNMP協(xié)議的廣電行業(yè)設(shè)備常見(jiàn)BUG及其規(guī)避方法[J].有線電視技術(shù),2016,(6):9395.