瀏覽器客戶端訪問設(shè)備的方法、客戶端、服務(wù)器及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)管理技術(shù)領(lǐng)域,特別是涉及一種瀏覽器客戶端訪問設(shè)備的方法、客戶端、服務(wù)器及系統(tǒng)。
【背景技術(shù)】
[0002]網(wǎng)管系統(tǒng)一般都有服務(wù)端和客戶端,也就是通常所說的客戶端/服務(wù)端C/S(Client/Server)模式,服務(wù)端直接和設(shè)備進行交互,對設(shè)備進行設(shè)置以及從設(shè)備上采集數(shù)據(jù),而客戶端將服務(wù)端采集到的數(shù)據(jù)呈現(xiàn)給網(wǎng)管人員,或者通過客戶端向服務(wù)端發(fā)送應(yīng)用請求。
[0003]BS網(wǎng)管系統(tǒng)是基于瀏覽器/服務(wù)器模式的網(wǎng)管系統(tǒng),用戶可以通過瀏覽器訪問網(wǎng)管服務(wù)器管理的設(shè)備。通常情況下,網(wǎng)管用戶瀏覽器與網(wǎng)管服務(wù)器建立的是無連接的通道?,F(xiàn)有的BS網(wǎng)管系統(tǒng)下,網(wǎng)管用戶與設(shè)備隔離在不同的網(wǎng)段,用戶不能直接Telnet到設(shè)備上。而BS模式下,用戶與網(wǎng)管服務(wù)器之間建立的是無連接的通道,無連接的通道很難解決需要維持連接的Telnet應(yīng)用。當(dāng)網(wǎng)管用戶與網(wǎng)管服務(wù)器管理的設(shè)備不在同一個網(wǎng)段,但是又想使用Telnet方式來遠程訪問網(wǎng)管服務(wù)器管理的設(shè)備時,根據(jù)現(xiàn)有技術(shù)所提供的的技術(shù)方案不能解決這個問題。
[0004]有鑒于此,本發(fā)明實施例有必要提供一種可以實現(xiàn)瀏覽器客戶端通過Telnet方式訪問遠程設(shè)備的方法、客戶端、服務(wù)器及通過Telnet方式訪問遠程設(shè)備的系統(tǒng)。
【發(fā)明內(nèi)容】
[0005]為了克服上述【背景技術(shù)】的缺陷,本發(fā)明實施例提供一種瀏覽器客戶端訪問設(shè)備的方法、客戶端、服務(wù)器及系統(tǒng),可以解決當(dāng)網(wǎng)管用戶客戶端與網(wǎng)管服務(wù)器管理的設(shè)備不在同一個網(wǎng)段時,網(wǎng)管用戶客戶端可以使用Telnet方式來遠程訪問網(wǎng)管服務(wù)器管理的設(shè)備。
[0006]為了解決上述技術(shù)問題本發(fā)明實施例的所采用的技術(shù)方案為:
[0007]—種瀏覽器客戶端訪問設(shè)備的方法,包括:
[0008]網(wǎng)管服務(wù)器與瀏覽器客戶端之間建立通信連接;所述網(wǎng)管服務(wù)器分配線程給所述瀏覽器客戶端;
[0009]所述網(wǎng)管服務(wù)器接收所述瀏覽器客戶端發(fā)送的命令;
[0010]所述網(wǎng)管服務(wù)器通過所述線程向所述命令所指定的設(shè)備發(fā)送所述命令;
[0011]所述網(wǎng)管服務(wù)器接收所述設(shè)備發(fā)送的所述命令的處理結(jié)果并向所述瀏覽器客戶端發(fā)送所述處理結(jié)果,所述處理結(jié)果由所述設(shè)備根據(jù)所述命令處理得到,并通過所述線程發(fā)送給所述網(wǎng)管服務(wù)器。
[0012]進一步地,所述網(wǎng)管服務(wù)器與所述瀏覽器客戶端之間建立通信連接,包括:所述網(wǎng)管服務(wù)器接收所述瀏覽器客戶端發(fā)送的Websocket連接請求與所述網(wǎng)管服務(wù)器建立所述WebSocket 連接的 Websocket 消息;
[0013]所述網(wǎng)管服務(wù)器根據(jù)所述Websocket消息向所述瀏覽器客戶端返回連接成功響應(yīng)消息。
[0014]所述網(wǎng)管服務(wù)器分配線程給所述瀏覽器客戶端,包括:
[0015]所述網(wǎng)管服務(wù)器包括含有至少一對線程的線程池;
[0016]所述網(wǎng)管服務(wù)器分配一對線程,所述一對線程中的一個線程維持網(wǎng)管服務(wù)器與客戶端之間的通信連接,所述一對線程中的另一個線程創(chuàng)建并維持網(wǎng)管服務(wù)器和設(shè)備之間的通信連接。
[0017]進一步地,所述網(wǎng)管服務(wù)器通過所述線程向所述命令所指定的設(shè)備發(fā)送所述命令,包括:
[0018]網(wǎng)管服務(wù)器通過所述一對線程中的一個線程接收所述命令;網(wǎng)管服務(wù)器通過所述一對線程中的另一個線程向所述設(shè)備發(fā)送所述命令;
[0019]所述一對線程的一個線程和所述一對線程的另一個線程之間建立管道通信。
[0020]—種瀏覽器客戶端訪問設(shè)備的方法,包括:
[0021]瀏覽器客戶端與網(wǎng)管服務(wù)器之間建立通信連接,以使得所述網(wǎng)管服務(wù)器分配線程給所述瀏覽器客戶端;
[0022]所述瀏覽器客戶端通過所述連接向所述網(wǎng)管服務(wù)器發(fā)送命令,以使得所述BS服務(wù)器通過所述線程向所述命令所指定的設(shè)備發(fā)送所述命令;
[0023]所述瀏覽器客戶端接收所述網(wǎng)管服務(wù)器發(fā)送的所述命令的處理結(jié)果,所述處理結(jié)果由所述設(shè)備根據(jù)所述命令處理得到的,并通過所述線程發(fā)送給所述網(wǎng)管服務(wù)器。
[0024]進一步地,所述瀏覽器客戶端與網(wǎng)管服務(wù)器之間建立通信連接,包括:
[0025]所述瀏覽器客戶端向網(wǎng)管服務(wù)器發(fā)送Websocket消息以請求與所述網(wǎng)管服務(wù)器建立所述WebSocket通信連接;
[0026]所述瀏覽器客戶端接收所述網(wǎng)管服務(wù)器根據(jù)所述Websocket消息返回的連接成功響應(yīng)消息。
[0027]一種網(wǎng)管服務(wù)器,包括:
[0028]服務(wù)端,用于與瀏覽器客戶端之間建立通信連接、接收所述瀏覽器客戶端通過所述通信連接發(fā)送的命令、并向所述瀏覽器客戶端發(fā)送的所述命令的處理結(jié)果;
[0029]線程池,用于分配線程給所述瀏覽器客戶端、通過所述線程向所述命令所指定的設(shè)備發(fā)送所述命令、接收所述設(shè)備發(fā)送的處理結(jié)果,其中,所述處理結(jié)果由所述設(shè)備根據(jù)所述命令處理得到,并通過所述線程發(fā)送給所述線程池。
[0030]進一步地,所述服務(wù)端與所述瀏覽器客戶端之間建立通信連接,包括:所述服務(wù)端接收所述瀏覽器客戶端發(fā)送的Websocket連接請求與所述網(wǎng)管服務(wù)器建立所述WebSocket連接的Websocket消息;所述服務(wù)端根據(jù)所述Websocket消息向所述瀏覽器客戶端返回連接成功響應(yīng)消息。
[0031]進一步地,所述線程池分配線程給所述瀏覽器客戶端,包括:所述線程池含有至少一對線程;所述線程池分配一對線程,所述一對線程中的一個線程維持網(wǎng)管服務(wù)器與客戶端之間的通信連接,所述一對線程中的另一個線程創(chuàng)建并維持網(wǎng)管服務(wù)器和設(shè)備之間的通信連接。
[0032]進一步地,所述服務(wù)端通過所述線程向所述命令所指定的設(shè)備發(fā)送所述命令,包括:所述服務(wù)端通過所述一對線程中的一個線程接收所述瀏覽器客戶端發(fā)送的所述命令;所述服務(wù)端通過通過所述一對線程中的另一個線程向所述設(shè)備發(fā)送所述命令;所述一對線程的一個線程和所述一對線程的另一個線程之間建立管道通信。
[0033]進一步地,所述線程池接收所述設(shè)備發(fā)送的所述命令的處理結(jié)果并由所述服務(wù)端通過所述Websocket通信連接所述瀏覽器客戶端發(fā)送所述處理結(jié)果,包括:所述一對線程的另一個線程接收所述設(shè)備發(fā)送的所述命令的處理結(jié)果,并通過所述管道發(fā)送給所述一對線程中的一個線程;所述一對線程的一個線程通過所述通信連接向所述服務(wù)端發(fā)送所述命令的處理結(jié)果;所述服務(wù)端通過所述Websocket通信連接向所述瀏覽器客戶端發(fā)送所述命令的處理結(jié)果。
[0034]—種瀏覽器客戶端,包括:
[0035]客戶端,用于與網(wǎng)管服務(wù)器之間建立通信連接,以使得所述網(wǎng)管服務(wù)器分配線程給所述瀏覽器客戶端;用于通過所述通信連接向所述網(wǎng)管服務(wù)器發(fā)送命令,以使得所述網(wǎng)管服務(wù)器通過所述線程向所述命令所指定的設(shè)備發(fā)送所述命令;
[0036]所述客戶端,用于所述瀏覽器客戶端接收所述網(wǎng)管服務(wù)器通過所述通信連接發(fā)送的所述命令的處理結(jié)果,所述處理結(jié)果由所述設(shè)備根據(jù)所述命令處理得到的,并通過所述線程發(fā)送給所述網(wǎng)管服務(wù)器。
[0037]進一步地,所述客戶端與網(wǎng)管服務(wù)器之間建立通信連接,包括:所述客戶端向網(wǎng)管服務(wù)器發(fā)送Websocket連接消息以請求與所述網(wǎng)管服務(wù)器建立所述WebSocket連接;所述客戶端接收所述網(wǎng)管服務(wù)器根據(jù)所述Websocket消息返回的連接成功響應(yīng)消息。
[0038]—種瀏覽器客戶端訪問設(shè)備的系統(tǒng),包括:
[0039]瀏覽器客戶端與網(wǎng)管服務(wù)器之間建立通信連接;
[0040]所述網(wǎng)管服務(wù)器分配線程給所述瀏覽器客戶端;
[0041 ]所述網(wǎng)管服務(wù)器接收所述瀏覽器客戶端通過所述通信連接發(fā)送的命令;
[0042]所述網(wǎng)管服務(wù)器通過所