一種調試信息的傳輸方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種調試信息的傳輸方法及裝置。該方法,包括:獲取調試信息;將該調試信息寫入至與終端基于虛擬終端連接技術連接的終端任務中的虛擬終端進行緩存;通過所述終端任務中的通信任務,讀取所述虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至所述終端。網(wǎng)絡設備通過虛擬終端連接技術,隔離實際輸入輸出使用的通信協(xié)議,可以與不同于串口終端的其他終端進行調試信息的傳輸。
【專利說明】
一種調試信息的傳輸方法及裝置
技術領域
[0001 ]本發(fā)明涉及通信技術,尤指一種調試信息的傳輸方法及裝置。
【背景技術】
[0002]在通信網(wǎng)絡中,終端設備可以通過從網(wǎng)絡設備獲取的診斷信息和/或調試信息,實現(xiàn)對該網(wǎng)絡設備故障的分析和定位。
[0003]圖1為現(xiàn)有技術中通信網(wǎng)絡結構示意圖。如圖1所示,通過一根RS232電纜可以將網(wǎng)絡設備的串口板卡與終端設備連接,其中,該網(wǎng)絡設備可以是交換機設備,該終端設備可以是一開發(fā)主機。圖2為現(xiàn)有技術的調試信息傳輸方法一實施例的流程示意圖。如圖2所示,終端可以調用printf接口函數(shù)獲取參數(shù),其中,該參數(shù)包括網(wǎng)絡設備的調試信息,該printf接口函數(shù)中各參數(shù)已定義了輸出的數(shù)據(jù)類型及格式,接著,將參數(shù)根據(jù)數(shù)據(jù)類型及格式進行格式化,以獲得普通字符串,再接著,將格式化后的字符串輸出到標準輸出的緩沖區(qū),再接著,標準輸出被映射到串口,然后,字符串經(jīng)由串口驅動通過串口發(fā)送到終端,該終端可以是具有串口接口的終端。
[0004]然而,發(fā)明人在實現(xiàn)上述現(xiàn)有技術的過程中發(fā)現(xiàn),現(xiàn)有技術中只有串口終端可以通過串口驅動與網(wǎng)絡設備通信獲得調試信息,如果該串口終端出現(xiàn)問題或者根本沒有能夠與網(wǎng)絡設備連接的串口終端時,便無法從網(wǎng)絡設備獲取到調試信息。
【發(fā)明內容】
[0005]本發(fā)明提供了一種調試信息的傳輸方法及裝置,用以解決現(xiàn)有技術中無法實現(xiàn)網(wǎng)絡設備向不同于串口終端的其他終端輸出調試信息的問題。
[0006]為了達到本發(fā)明目的,本發(fā)明提供了一種調試信息的傳輸方法,包括:
[0007]獲取調試彳目息;
[0008]將該調試信息寫入至與終端基于虛擬終端連接技術連接的終端任務中的虛擬終端進行緩存;
[0009]通過所述終端任務中的通信任務,讀取所述虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至所述終端。
[0010]進一步的,所述終端為至少一個終端;在將該調試信息寫入至虛擬終端進行緩存之前,還包括:
[0011]通過終端任務,基于虛擬終端連接技術建立與至少一個終端之間的連接;其中,所述終端任務由至少一個終端子任務組成;每個終端子任務對應一個終端,由虛擬終端和通?目任務組成;
[0012]確定所述至少一個終端子任務中與所述至少一個終端中需要監(jiān)聽調試信息的終端所對應的有效終端子任務;
[0013]將該調試信息寫入至虛擬終端進行緩存,包括:將該調試信息寫入至所確定的有效終端子任務中的虛擬終端進行緩存;
[0014]通過所述終端任務中的通信任務,讀取所述虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至所述終端,包括:通過所確定的有效終端子任務中的通信任務,讀取虛擬終端緩存的調試信息,并按照該有效終端子任務對應的終端所支持的通信協(xié)議進行封裝后,發(fā)送至該有效終端子任務對應的終端。
[0015]進一步的,確定所述至少一個終端子任務中的有效終端子任務,包括:
[0016]根據(jù)動態(tài)維護的終端調試信息監(jiān)視注冊表,確定所述至少一個終端子任務中的有效終端子任務;
[0017]其中,該注冊表中的注冊表項由與終端對應的終端子任務的屬性信息組成,終端子任務的屬性信息至少包括通信任務標識和虛擬終端描述符。
[0018]進一步的,所述終端子任務的屬性信息還包括輸出使能標識;
[0019]根據(jù)動態(tài)維護的終端調試信息監(jiān)視注冊表,確定所述至少一個終端子任務中的有效終端子任務,包括:
[0020]遍歷所述終端調試信息監(jiān)視注冊表中的各注冊表項;
[0021]判斷當前所遍歷到的注冊表項中的輸出使能標識值是否為輸出有效值;如果是,則判斷該注冊表項中的通信任務標識和虛擬終端描述符是否均為有效值;
[0022]如果是,則識別出該注冊表項對應的終端子任務為需要監(jiān)聽調試信息的終端所對應的有效終端子任務,讀取其中的虛擬終端描述符和通信任務標識。
[0023]進一步的,動態(tài)維護終端調試信息監(jiān)視注冊表,包括:
[0024]接收到終端通過終端子任務發(fā)送過來的調試信息請求指令后,在所述終端調試信息監(jiān)視注冊表中針對該終端子任務建立一個新注冊表項;
[0025]設置該注冊表項中的輸出使能標識值為輸出有效值;
[0026]設置該注冊表項中的通信任務標識和虛擬終端描述符均為有效值,其中通信任務標識為本次發(fā)送調試信息請求命令的終端子任務中通信任務的標識,虛擬終端描述符為該終端子任務中虛擬終端的描述符。
[0027]進一步的,動態(tài)維護終端調試信息監(jiān)視注冊表,包括:
[0028]接收到終端通過終端子任務發(fā)送過來的調試信息禁用命令后,在所述終端調試信息監(jiān)視注冊表中查找該終端子任務對應的注冊表項,設置該注冊表項中的輸出使能標識值為輸出無效值。
[0029]進一步的,動態(tài)維護終端調試信息監(jiān)視注冊表,包括:
[0030]當檢測到與終端對應的終端子任務退出時,刪除所述終端調試信息監(jiān)視注冊表中該終端子任務對應的注冊表項或者設置該注冊表項中的通信任務標識和虛擬終端描述符均為無效值。
[0031 ]進一步的,所述通信協(xié)議為TeInet協(xié)議、SSH協(xié)議以及串口協(xié)議中的任意一種協(xié)議。
[0032]本發(fā)明還提供一種調試信息的傳輸裝置,包括:獲取模塊,用于獲取調試信息;
[0033]寫入模塊,用于將該調試信息寫入至與終端基于虛擬終端連接技術連接的終端任務中的虛擬終端進行緩存;
[0034]讀取模塊,用于通過所述終端任務中的通信任務,讀取所述虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至所述終端。
[0035]進一步的,還包括:處理模塊;
[0036]所述處理模塊,用于通過終端任務,基于虛擬終端連接技術建立與至少一個終端之間的連接;其中,所述終端任務由至少一個終端子任務組成;每個終端子任務對應一個終端,由虛擬終端和通信任務組成;確定所述至少一個終端子任務中與所述至少一個終端中需要監(jiān)聽調試信息的終端所對應的有效終端子任務;
[0037]所述寫入模塊,還用于將該調試信息寫入至所確定的有效終端子任務中的虛擬終端進行緩存;
[0038]所述讀取模塊,還用于通過所確定的有效終端子任務中的通信任務,讀取虛擬終端緩存的調試信息,并按照該有效終端子任務對應的終端所支持的通信協(xié)議進行封裝后,發(fā)送至該有效終端子任務對應的終端。
[0039]進一步的,所述處理模塊,還用于根據(jù)動態(tài)維護的終端調試信息監(jiān)視注冊表,確定所述至少一個終端子任務中的有效終端子任務;其中,該注冊表中的注冊表項由與終端對應的終端子任務的屬性信息組成,終端子任務的屬性信息至少包括通信任務標識和虛擬終端描述符。
[0040]進一步的,所述終端子任務的屬性信息還包括輸出使能標識;
[0041 ]所述處理模塊,還用于遍歷所述終端調試信息監(jiān)視注冊表中的各注冊表項;判斷當前所遍歷到的注冊表項中的輸出使能標識值是否為輸出有效值;如果是,則判斷該注冊表項中的通信任務標識和虛擬終端描述符是否均為有效值;如果是,則識別出該注冊表項對應的終端子任務為需要監(jiān)聽調試信息的終端所對應的有效終端子任務,讀取其中的虛擬終端描述符和通信任務標識。
[0042]進一步的,所述處理模塊,還用于接收到終端通過終端子任務發(fā)送過來的調試信息請求指令后,在所述終端調試信息監(jiān)視注冊表中針對該終端子任務建立一個新注冊表項;設置該注冊表項中的輸出使能標識值為輸出有效值;設置該注冊表項中的通信任務標識和虛擬終端描述符均為有效值,其中通信任務標識為本次發(fā)送調試信息請求命令的終端子任務中通信任務的標識,虛擬終端描述符為該終端子任務中虛擬終端的描述符。
[0043]進一步的,所述處理模塊,還用于接收到終端通過終端子任務發(fā)送過來的調試信息禁用命令后,在所述終端調試信息監(jiān)視注冊表中查找該終端子任務對應的注冊表項,設置該注冊表項中的輸出使能標識值為輸出無效值。
[0044]進一步的,所述處理模塊,還用于當檢測到與終端對應的終端子任務退出時,刪除所述終端調試信息監(jiān)視注冊表中該終端子任務對應的注冊表項或者設置該注冊表項中的通信任務標識和虛擬終端描述符均為無效值。
[0045]進一步的,所述通信協(xié)議為TeInet協(xié)議、SSH協(xié)議以及串口協(xié)議中的任意一種協(xié)議。
[0046]現(xiàn)有技術相比,本發(fā)明調試信息的傳輸方法及裝置,網(wǎng)絡設備通過虛擬終端連接技術,隔離實際輸入輸出使用的通信協(xié)議,可以與不同于串口終端的其他終端進行調試信息的傳輸。
【附圖說明】
[0047]附圖用來提供對本發(fā)明技術方案的進一步理解,并且構成說明書的一部分,與本申請的實施例一起用于解釋本發(fā)明的技術方案,并不構成對本發(fā)明技術方案的限制。
[0048]圖1為現(xiàn)有技術中通信網(wǎng)絡結構示意圖;
[0049]圖2為現(xiàn)有技術的調試信息傳輸方法一實施例的流程示意圖;
[0050]圖3為本發(fā)明調試信息的傳輸方法一實施例的流程示意圖;
[0051]圖4為本發(fā)明調試信息的傳輸方法另一實施例的流程示意圖;
[0052]圖5為本發(fā)明調試信息的傳輸方法一實施例的終端輸出控制模塊原理框圖;
[0053]圖6為本發(fā)明調試信息的傳輸裝置一實施例的結構示意圖;
[0054]圖7為本發(fā)明調試信息的傳輸裝置另一實施例的結構示意圖;
[0055]圖8為本發(fā)明調試信息的傳輸方法一實施例的debug_printf調試信息輸出框圖。
【具體實施方式】
[0056]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下文中將結合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0057]本發(fā)明實施例提供的調試信息的傳輸方法具體可以應用于調試信息傳輸時。本實施例提供的調試信息的傳輸方法具體可以通過調試信息的傳輸裝置來執(zhí)行,該調試信息的傳輸裝置可以集成在設置在網(wǎng)絡設備中,其中,該調試信息的傳輸裝置可以采用軟件和/或硬件的方式來實現(xiàn)。以下對本實施例提供的調試信息的傳輸方法及裝置進行詳細地說明。
[0058]圖3為本發(fā)明調試信息的傳輸方法一實施例的流程示意圖。如圖3所示,本實施例的執(zhí)行主體是調試信息的傳輸裝置,該調試信息的傳輸方法具體包括如下步驟:
[0059]步驟300、獲取調試信息;
[0060]步驟301、將該調試信息寫入至與終端基于虛擬終端連接技術連接的終端任務中的虛擬終端進行緩存;
[0061]步驟302、通過終端任務中的通信任務,讀取虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至終端。
[0062]其中,調試信息為網(wǎng)絡設備設定業(yè)務功能運行異常的情況下自動生成的報錯信息,該報錯信息可以以日志文件的形式被存儲在網(wǎng)絡設備上。終端任務包括虛擬終端和通信任務。通信任務分別與虛擬終端和終端相連,能夠將虛擬終端緩存的信息進行終端所支持通信協(xié)議的封裝后發(fā)送至終端。
[0063]在本實施例中,網(wǎng)絡設備通過虛擬終端連接技術,隔離實際輸入輸出使用的通信協(xié)議,可以與不同于串口終端的其他終端進行調試信息的傳輸。
[0064]圖4為本發(fā)明調試信息的傳輸方法另一實施例的流程示意圖。圖5為本發(fā)明調試信息的傳輸方法一實施例的終端輸出控制模塊原理框圖。在本實施例中,網(wǎng)絡設備可以通過終端任務與多個終端相連,將調試信息同時輸出至多個終端。如圖4所示,本實施例的執(zhí)行主體是調試信息的傳輸裝置,該調試信息的傳輸方法,具體包括如下步驟400-404。
[0065]步驟400、通過終端任務,基于虛擬終端連接技術建立與至少一個終端之間的連接。
[0066]其中,終端任務可以由至少一個終端子任務組成。每個終端子任務由虛擬終端和通信任務組成。各終端與網(wǎng)絡設備上的各終端子任務為一一對應關系,各終端子任務中的虛擬終端和通信任務也是一一對應關系。在一個終端子任務中,虛擬終端與通信任務相連,通信任務與該終端子任務對應的終端相連,通信任務通過虛擬終端獲取網(wǎng)絡設備輸出至對應終端的信息,對該信息進行對應終端所支持的通信協(xié)議的封裝以及與對應終端的連接維護,當終端與網(wǎng)絡設備斷開連接時,與該終端對應的通信任務會自動退出,相應的虛擬終端也會被刪除。
[0067]步驟401、獲取調試信息。
[0068]為使得調試信息的輸出形式多樣化,優(yōu)選的,作為一可選步驟,在獲取到預先存儲的調試信息后,還可進一步包括:利用預先所約定的輸出格式對調試信息進行格式化處理,之后再執(zhí)行步驟402。
[0069]需要說明的是,本發(fā)明實施例對步驟400與步驟401的執(zhí)行順序并不做具體限定,步驟401還可先于步驟400被執(zhí)行,此實施例中僅是以一種示例進行介紹。
[0070]步驟402、根據(jù)動態(tài)維護的終端調試信息監(jiān)視注冊表,確定所述至少一個終端子任務中與所述至少一個終端中需要監(jiān)聽調試信息的終端所對應的有效終端子任務。
[0071 ]在本實施例中,終端調試信息監(jiān)視注冊表中的注冊表項由與終端對應的終端子任務的屬性信息組成。終端子任務的屬性信息包括:輸出使能標識、通信任務標識和虛擬終端描述符。其中,輸出使能標識用于標識與終端子任務相連的終端是否請求調試信息,其值可以為輸出有效值或輸出無效值;通信任務標識為唯一識別通信任務的字符串;虛擬終端描述符為唯一標識虛擬終端的字符串。示例性的,不同的通信任務由不同的線程控制運行,則通信任務標識可以為運行通信任務的線程控制符TID。
[0072]具體的,如圖5所示,對終端調試信息監(jiān)視注冊表的動態(tài)維護過程,可包括注冊表項的建立、注銷和刪除。
[0073](I)注冊表項的建立
[0074]作為本實施例的一種實現(xiàn)方案一,與網(wǎng)絡設備連接的某個終端需要查看網(wǎng)絡設備生成的調試信息時,可基于預先與網(wǎng)絡設備建立的連接,通過對應的終端子任務向網(wǎng)絡設備發(fā)送調試信息請求指令,以通知網(wǎng)絡設備輸出調試信息給該終端。網(wǎng)絡設備側的調試信息的傳輸裝置,接收到終端通過終端子任務發(fā)送過來的調試信息請求指令后,可在終端調試信息監(jiān)視注冊表中建立一個新注冊表項,設置該注冊表項中的輸出使能標識值為輸出有效值(例如為TRUE),設置通信任務標識和虛擬終端描述符均為有效值,其中通信任務標識為本次發(fā)送調試信息請求命令的終端子任務中通信任務的標識,虛擬終端描述符為本次發(fā)送調試信息請求命令的終端子任務中虛擬終端的描述符。
[0075]作為本實施例的另一種實現(xiàn)方案二,還可以在網(wǎng)絡設備通過終端子任務與終端建立連接后,立即在終端調試信息監(jiān)視注冊表中建立一個與該終端子任務對應的新注冊表項,設置通信任務標識和虛擬終端描述符均為有效值,其中通信任務標識為本次發(fā)送調試信息請求命令的終端子任務中通信任務的標識,虛擬終端描述符為與該終端子任務對應的虛擬終端描述符。示例性的,設置該注冊表項中的輸出使能標識值為輸出無效值。在接收到終端通過終端子任務發(fā)送的調試信息請求指令后,查找終端調試信息監(jiān)視注冊表中該終端子任務對應的注冊表項,并將該注冊表項中的輸出使能標識值為輸出有效值。
[0076]與實現(xiàn)方案二相比,實現(xiàn)方案一只有在獲取到終端發(fā)送的調試信息請求指令之后才建立注冊表項,從而節(jié)省了內存;在多個終端連接網(wǎng)絡設備的情況下,所遍歷的注冊表項的個數(shù)少,效率提高;不需要修改網(wǎng)絡設備的終端連接控制流程,具有良好的模塊獨立性,不會影響網(wǎng)絡設備的穩(wěn)定性。
[0077](2)注冊表項的注銷
[0078]與網(wǎng)絡設備連接的某個終端在向網(wǎng)絡設備發(fā)送調試信息請求指令后,確定無需再查看調試信息時,可基于預先與網(wǎng)絡設備建立的連接,通過對應的終端子任務向網(wǎng)絡設備發(fā)送調試信息禁用指令,通知網(wǎng)絡設備停止向該終端傳輸調試信息。網(wǎng)絡設備側的調試信息的傳輸裝置,接收到終端通過終端子任務發(fā)送過來的調試信息禁用命令后,可在終端調試信息監(jiān)視注冊表中查找該終端子任務對應的注冊表項,設置該注冊表項中的輸出使能標識值為輸出無效值(例如為FALSE),并不對通信任務標識和虛擬終端描述符進行更新,當然也可進一步設置通信任務標識和虛擬終端描述符均為無效值(例如為O或空)。
[0079](3)注冊表項的刪除
[0080]在檢測到與終端對應的終端子任務退出后,確定出網(wǎng)絡設備與該終端之間的連接斷開,刪除終端調試信息監(jiān)視注冊表中該終端子任務對應的注冊表項;當然,除了刪除注冊表項這一實施方式之外,還可通過其他方式實現(xiàn),例如當檢測到與終端對應的終端子任務退出時,設置該注冊表項中的通信任務標識和虛擬終端描述符均為無效值。
[0081]在本實施例中,可通過以下方式確定接收到調試信息請求命令和調試信息禁用指令:預先注冊請求關鍵字和禁用關鍵字;在接收到終端通過終端子任務發(fā)送的信息后,對該信息進行解析以識別其中是否攜帶有請求關鍵字或禁用關鍵字內容;如果攜帶有請求關鍵字,則確定接收到調試信息請求命令;如果攜帶有禁用關鍵字,則確定接收到調試信息禁用指令。需要說明的是,本實施例提供的方法還可預先注冊回調函數(shù),在確定接收到調試信息請求命令、調試信息禁用命令后,調用回調函數(shù)對終端調試信息監(jiān)視注冊表進行動態(tài)維護。
[0082]步驟402具體包括:遍歷動態(tài)維護的終端調試信息監(jiān)視注冊表中的各注冊表項;判斷當前所遍歷到的注冊表項中的輸出使能標識值是否為輸出有效值,如果是,則判斷該注冊表項中的通信任務標識和虛擬終端描述符是否均為有效值;如果是,則識別出該注冊表項對應的終端子任務為需要監(jiān)聽調試信息的終端所對應的有效終端子任務,讀取其中的虛擬終端描述符和通信任務標識。
[0083]在當前所遍歷到的注冊表項中的輸出使能標識值為輸出無效值時,或者該注冊表項中的通信任務標識和虛擬終端描述符均為無效值時,繼續(xù)遍歷終端調試信息監(jiān)視注冊表中的下一個注冊表項。
[0084]當然,在本發(fā)明實施例中,終端子任務的屬性信息可僅包括:通信任務標識和虛擬終端描述符。在接收到終端通過終端子任務發(fā)送過來的調試信息請求指令后,在終端調試信息監(jiān)視注冊表中建立一個新注冊表項,設置該表項中的通信任務標識為本次發(fā)送調試信息請求命令的終端子任務中通信任務的標識,虛擬終端描述符為本次發(fā)送調試信息請求命令的終端子任務中虛擬終端的描述符。在接收到終端通過終端子任務發(fā)送過來的調試信息禁用命令或者檢測到與終端對應的終端子任務退出后,在終端調試信息監(jiān)視注冊表中查找該終端子任務對應的注冊表項,刪除該注冊表項。在該實施方式中,動態(tài)維護的終端調試信息監(jiān)視注冊表中的各注冊表項所對應的終端子任務全部為需要監(jiān)聽調試信息的終端所對應的有效終端子任務,讀取其中的虛擬終端描述符和通信任務標識。
[0085]步驟403、將該調試信息寫入至所確定的有效終端子任務中的虛擬終端進行緩存。
[0086]具體的,根據(jù)從終端調試信息監(jiān)視注冊表中讀取到的虛擬終端描述符,將該調試信息寫入至所確定的有效終端子任務中的虛擬終端進行緩存。
[0087]步驟404、通過所確定的有效終端子任務中的通信任務,讀取虛擬終端緩存的調試信息,并按照該有效終端子任務對應的終端所支持的通信協(xié)議進行封裝后,發(fā)送至該有效終端子任務對應的終端。
[0088]其中,通信協(xié)議可以為Telnet協(xié)議、SSH協(xié)議以及串口協(xié)議中的任意一種協(xié)議。
[0089]在現(xiàn)有技術中,將網(wǎng)絡設備部署到現(xiàn)場后,如果沒有能夠與網(wǎng)絡設備連接的串口終端,則會發(fā)生設定業(yè)務功能異常時,除串口終端之外的其他終端不能夠獲取到調試信息。為此,本實施例提供一種解決方案,通過虛擬終端連接技術,將調試信息輸出到串口、Telnet、SSH等不同的終端,且終端個數(shù)可以是一個或多個。對于終端而言,能夠基于與網(wǎng)絡設備建立的虛擬連接通道,方便的獲取網(wǎng)絡設備遠程或者本地輸出的調試信息。
[0090]基于本發(fā)明實施例提供的調試信息的傳輸方法,本發(fā)明實施例還提供一種調試信息的傳輸裝置。圖6為本發(fā)明調試信息的傳輸裝置一實施例的結構示意圖。如圖6所示,該裝置具體包括:獲取模塊61、寫入模塊62和讀取模塊63。其中,
[0091 ]獲取模塊61,用于獲取調試信息;
[0092]寫入模塊62,用于將該調試信息寫入至與終端基于虛擬終端連接技術連接的終端任務中的虛擬終端進行緩存;
[0093]讀取模塊63,用于通過所述終端任務中的通信任務,讀取所述虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至所述終端。
[0094]圖7為本發(fā)明調試信息的傳輸裝置另一實施例的結構示意圖。如圖7所示,在上述實施例的基礎上,該裝置還可以包括:處理模塊64;
[0095]所述處理模塊64,用于通過終端任務,基于虛擬終端連接技術建立與至少一個終端之間的連接;其中,所述終端任務由至少一個終端子任務組成;每個終端子任務對應一個終端,由虛擬終端和通信任務組成;確定所述至少一個終端子任務中與所述至少一個終端中需要監(jiān)聽調試信息的終端所對應的有效終端子任務;
[0096]所述寫入模塊62,還用于將該調試信息寫入至所確定的有效終端子任務中的虛擬終端進行緩存;
[0097]所述讀取模塊63,還用于通過所確定的有效終端子任務中的通信任務,讀取虛擬終端緩存的調試信息,并按照該有效終端子任務對應的終端所支持的通信協(xié)議進行封裝后,發(fā)送至該有效終端子任務對應的終端。
[0098]進一步的,在上述實施例的基礎上,所述處理模塊64,還用于根據(jù)動態(tài)維護的終端調試信息監(jiān)視注冊表,確定所述至少一個終端子任務中的有效終端子任務;其中,該注冊表中的注冊表項由與終端對應的終端子任務的屬性信息組成,終端子任務的屬性信息至少包括通信任務標識和虛擬終端描述符。
[0099]進一步的,在上述實施例的基礎上,所述終端子任務的屬性信息還包括輸出使能標識;
[0100]所述處理模塊64,還用于遍歷所述終端調試信息監(jiān)視注冊表中的各注冊表項;判斷當前所遍歷到的注冊表項中的輸出使能標識值是否為輸出有效值;如果是,則判斷該注冊表項中的通信任務標識和虛擬終端描述符是否均為有效值;如果是,則識別出該注冊表項對應的終端子任務為需要監(jiān)聽調試信息的終端所對應的有效終端子任務,讀取其中的虛擬終端描述符和通信任務標識。
[0101]進一步的,在上述實施例的基礎上,所述處理模塊64,還用于接收到終端通過終端子任務發(fā)送過來的調試信息請求指令后,在所述終端調試信息監(jiān)視注冊表中針對該終端子任務建立一個新注冊表項;設置該注冊表項中的輸出使能標識值為輸出有效值;設置該注冊表項中的通信任務標識和虛擬終端描述符均為有效值,其中通信任務標識為本次發(fā)送調試信息請求命令的終端子任務中通信任務的標識,虛擬終端描述符為該終端子任務中虛擬終端的描述符。
[0102]進一步的,在上述實施例的基礎上,所述處理模塊64,還用于接收到終端通過終端子任務發(fā)送過來的調試信息禁用命令后,在所述終端調試信息監(jiān)視注冊表中查找該終端子任務對應的注冊表項,設置該注冊表項中的輸出使能標識值為輸出無效值。
[0?03]進一步的,在上述實施例的基礎上,所述處理模塊64,還用于當檢測到與終端對應的終端子任務退出時,刪除所述終端調試信息監(jiān)視注冊表中該終端子任務對應的注冊表項或者設置該注冊表項中的通信任務標識和虛擬終端描述符均為無效值。
[0104]進一步的,在上述實施例的基礎上,所述通信協(xié)議為Telnet協(xié)議、SSH協(xié)議以及串口協(xié)議中的任意一種協(xié)議。
[0105]在上述所有實施例的基礎上,現(xiàn)提供一種調試信息的傳輸方法的優(yōu)選實施例。圖8為本發(fā)明調試信息的傳輸方法一實施例的debug_printf調試信息輸出框圖。參見圖8(debug_printf調試信息輸出框圖),該方法具體包括如下流程:
[0106](I)調用debUg_printf接口函數(shù),函數(shù)參數(shù)約定了輸出的調試信息及格式。
[0107](2)利用debug_printf函數(shù)參數(shù)中所約定的格式,對調試信息進行格式化處理得到目標字符串,等待輸出。
[0108](3)終端輸出控制部分根據(jù)本地動態(tài)維護的終端調試信息監(jiān)視注冊表,將目標字符串輸出到需要監(jiān)聽調試信息的終端所對應的有效終端子任務中的虛擬終端進行緩存。在本實施例中,包括三個終端子任務,分別由第一虛擬終端和Telnet任務(設為第一通信任務)組成的終端子任務、第二虛擬終端和SSH任務(設為第二通信任務)組成的終端子任務、第一虛擬終端和串口任務(設為第三通信任務)組成的終端子任務。
[0109](4)各個有效終端子任務中的通信任務將該子任務中虛擬終端緩存的目標字符串,按照該子任務對應的終端所支持的通信協(xié)議進行封裝后,發(fā)送至該子任務對應的終端。
[0110]在本實施例中,網(wǎng)絡設備上終端命令行的解析流程,包括:終端控制部分向命令行解析部分注冊調試信息請求關鍵字和調試信息禁用關鍵字,以及分別與該兩個關鍵字對應的回調函數(shù)。
[0111]命令行解析部分接收到終端通過終端子任務發(fā)送的信息后,對該信息進行解析以識別其中是否攜帶有請求關鍵字或禁用關鍵字內容;如果攜帶有請求關鍵字,則確定接收到調試信息請求命令;如果攜帶有禁用關鍵字,則確定接收到調試信息禁用指令。在確定接收到調試信息請求命令和調試信息禁用命令中的任一命令后,命令行解析部分回調終端控制部分注冊的回調函數(shù)對終端調試信息監(jiān)視注冊表進行動態(tài)維護。
[0112]雖然本發(fā)明所揭露的實施方式如上,但所述的內容僅為便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領域內的技術人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式及細節(jié)上進行任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。
【主權項】
1.一種調試信息的傳輸方法,應用于網(wǎng)絡設備,其特征在于,包括: 獲取調試?目息; 將該調試信息寫入至與終端基于虛擬終端連接技術連接的終端任務中的虛擬終端進行緩存; 通過所述終端任務中的通信任務,讀取所述虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至所述終端。2.根據(jù)權利要求1所述的方法,其特征在于,所述終端為至少一個終端;在將該調試信息寫入至虛擬終端進行緩存之前,還包括: 通過終端任務,基于虛擬終端連接技術建立與至少一個終端之間的連接;其中,所述終端任務由至少一個終端子任務組成;每個終端子任務對應一個終端,由虛擬終端和通信任務組成; 確定所述至少一個終端子任務中與所述至少一個終端中需要監(jiān)聽調試信息的終端所對應的有效終端子任務; 將該調試信息寫入至虛擬終端進行緩存,包括:將該調試信息寫入至所確定的有效終端子任務中的虛擬終端進行緩存; 通過所述終端任務中的通信任務,讀取所述虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至所述終端,包括:通過所確定的有效終端子任務中的通信任務,讀取虛擬終端緩存的調試信息,并按照該有效終端子任務對應的終端所支持的通信協(xié)議進行封裝后,發(fā)送至該有效終端子任務對應的終端。3.根據(jù)權利要求2所述的方法,其特征在于,確定所述至少一個終端子任務中的有效終端子任務,包括: 根據(jù)動態(tài)維護的終端調試信息監(jiān)視注冊表,確定所述至少一個終端子任務中的有效終端子任務; 其中,該注冊表中的注冊表項由與終端對應的終端子任務的屬性信息組成,終端子任務的屬性信息至少包括通信任務標識和虛擬終端描述符。4.根據(jù)權利要求3所述的方法,其特征在于,所述終端子任務的屬性信息還包括輸出使能標識; 根據(jù)動態(tài)維護的終端調試信息監(jiān)視注冊表,確定所述至少一個終端子任務中的有效終端子任務,包括: 遍歷所述終端調試信息監(jiān)視注冊表中的各注冊表項; 判斷當前所遍歷到的注冊表項中的輸出使能標識值是否為輸出有效值;如果是,則判斷該注冊表項中的通信任務標識和虛擬終端描述符是否均為有效值; 如果是,則識別出該注冊表項對應的終端子任務為需要監(jiān)聽調試信息的終端所對應的有效終端子任務,讀取其中的虛擬終端描述符和通信任務標識。5.根據(jù)權利要求4所述的方法,其特征在于,動態(tài)維護終端調試信息監(jiān)視注冊表,包括: 接收到終端通過終端子任務發(fā)送過來的調試信息請求指令后,在所述終端調試信息監(jiān)視注冊表中針對該終端子任務建立一個新注冊表項; 設置該注冊表項中的輸出使能標識值為輸出有效值;設置該注冊表項中的通信任務標識和虛擬終端描述符均為有效值,其中通信任務標識為本次發(fā)送調試信息請求命令的終端子任務中通信任務的標識,虛擬終端描述符為該終端子任務中虛擬終端的描述符。6.根據(jù)權利要求4所述的方法,其特征在于,動態(tài)維護終端調試信息監(jiān)視注冊表,包括: 接收到終端通過終端子任務發(fā)送過來的調試信息禁用命令后,在所述終端調試信息監(jiān)視注冊表中查找該終端子任務對應的注冊表項,設置該注冊表項中的輸出使能標識值為輸出無效值。7.根據(jù)權利要求4所述的方法,其特征在于,動態(tài)維護終端調試信息監(jiān)視注冊表,包括: 當檢測到與終端對應的終端子任務退出時,刪除所述終端調試信息監(jiān)視注冊表中該終端子任務對應的注冊表項或者設置該注冊表項中的通信任務標識和虛擬終端描述符均為無效值。8.根據(jù)權利要求2所述的方法,其特征在于,所述通信協(xié)議為Telnet協(xié)議、SSH協(xié)議以及串口協(xié)議中的任意一種協(xié)議。9.一種調試信息的傳輸裝置,其特征在于,包括:獲取模塊,用于獲取調試信息; 寫入模塊,用于將該調試信息寫入至與終端基于虛擬終端連接技術連接的終端任務中的虛擬終端進行緩存; 讀取模塊,用于通過所述終端任務中的通信任務,讀取所述虛擬終端緩存的調試信息,并將該調試信息基于所述連接輸出至所述終端。10.根據(jù)權利要求9所述的裝置,其特征在于,還包括:處理模塊; 所述處理模塊,用于通過終端任務,基于虛擬終端連接技術建立與至少一個終端之間的連接;其中,所述終端任務由至少一個終端子任務組成;每個終端子任務對應一個終端,由虛擬終端和通信任務組成;確定所述至少一個終端子任務中與所述至少一個終端中需要監(jiān)聽調試信息的終端所對應的有效終端子任務; 所述寫入模塊,還用于將該調試信息寫入至所確定的有效終端子任務中的虛擬終端進行緩存; 所述讀取模塊,還用于通過所確定的有效終端子任務中的通信任務,讀取虛擬終端緩存的調試信息,并按照該有效終端子任務對應的終端所支持的通信協(xié)議進行封裝后,發(fā)送至該有效終端子任務對應的終端。11.根據(jù)權利要求10所述的裝置,其特征在于,所述處理模塊,還用于根據(jù)動態(tài)維護的終端調試信息監(jiān)視注冊表,確定所述至少一個終端子任務中的有效終端子任務;其中,該注冊表中的注冊表項由與終端對應的終端子任務的屬性信息組成,終端子任務的屬性信息至少包括通信任務標識和虛擬終端描述符。12.根據(jù)權利要求11所述的裝置,其特征在于,所述終端子任務的屬性信息還包括輸出使能標識; 所述處理模塊,還用于遍歷所述終端調試信息監(jiān)視注冊表中的各注冊表項;判斷當前所遍歷到的注冊表項中的輸出使能標識值是否為輸出有效值;如果是,則判斷該注冊表項中的通信任務標識和虛擬終端描述符是否均為有效值;如果是,則識別出該注冊表項對應的終端子任務為需要監(jiān)聽調試信息的終端所對應的有效終端子任務,讀取其中的虛擬終端描述符和通信任務標識。13.根據(jù)權利要求12所述的裝置,其特征在于,所述處理模塊,還用于接收到終端通過終端子任務發(fā)送過來的調試信息請求指令后,在所述終端調試信息監(jiān)視注冊表中針對該終端子任務建立一個新注冊表項;設置該注冊表項中的輸出使能標識值為輸出有效值;設置該注冊表項中的通信任務標識和虛擬終端描述符均為有效值,其中通信任務標識為本次發(fā)送調試信息請求命令的終端子任務中通信任務的標識,虛擬終端描述符為該終端子任務中虛擬終端的描述符。14.根據(jù)權利要求12所述的裝置,其特征在于,所述處理模塊,還用于接收到終端通過終端子任務發(fā)送過來的調試信息禁用命令后,在所述終端調試信息監(jiān)視注冊表中查找該終端子任務對應的注冊表項,設置該注冊表項中的輸出使能標識值為輸出無效值。15.根據(jù)權利要求12所述的裝置,其特征在于,所述處理模塊,還用于當檢測到與終端對應的終端子任務退出時,刪除所述終端調試信息監(jiān)視注冊表中該終端子任務對應的注冊表項或者設置該注冊表項中的通信任務標識和虛擬終端描述符均為無效值。16.根據(jù)權利要求10所述的裝置,其特征在于,所述通信協(xié)議為Telnet協(xié)議、SSH協(xié)議以及串口協(xié)議中的任意一種協(xié)議。
【文檔編號】H04L12/24GK105959160SQ201610516007
【公開日】2016年9月21日
【申請日】2016年7月1日
【發(fā)明人】田上飛
【申請人】瑞斯康達科技發(fā)展股份有限公司