发明内容
为了克服上述背景技术的缺陷,本发明实施例提供一种浏览器客户端访问设备的方法、客户端、服务器及系统,可以解决当网管用户客户端与网管服务器管理的设备不在同一个网段时,网管用户客户端可以使用Telnet方式来远程访问网管服务器管理的设备。
为了解决上述技术问题本发明实施例的所采用的技术方案为:
一种浏览器客户端访问设备的方法,包括:
网管服务器与浏览器客户端之间建立通信连接;所述网管服务器分配线程给所述浏览器客户端;
所述网管服务器接收所述浏览器客户端发送的命令;
所述网管服务器通过所述线程向所述命令所指定的设备发送所述命令;
所述网管服务器接收所述设备发送的所述命令的处理结果并向所述浏览器客户端发送所述处理结果,所述处理结果由所述设备根据所述命令处理得到,并通过所述线程发送给所述网管服务器。
进一步地,所述网管服务器与所述浏览器客户端之间建立通信连接,包括:所述网管服务器接收所述浏览器客户端发送的Websocket连接请求与所述网管服务器建立所述WebSocket连接的Websocket消息;
所述网管服务器根据所述Websocket消息向所述浏览器客户端返回连接成功响应消息。
所述网管服务器分配线程给所述浏览器客户端,包括:
所述网管服务器包括含有至少一对线程的线程池;
所述网管服务器分配一对线程,所述一对线程中的一个线程维持网管服务器与客户端之间的通信连接,所述一对线程中的另一个线程创建并维持网管服务器和设备之间的通信连接。
进一步地,所述网管服务器通过所述线程向所述命令所指定的设备发送所述命令,包括:
网管服务器通过所述一对线程中的一个线程接收所述命令;网管服务器通过所述一对线程中的另一个线程向所述设备发送所述命令;
所述一对线程的一个线程和所述一对线程的另一个线程之间建立管道通信。
一种浏览器客户端访问设备的方法,包括:
浏览器客户端与网管服务器之间建立通信连接,以使得所述网管服务器分配线程给所述浏览器客户端;
所述浏览器客户端通过所述连接向所述网管服务器发送命令,以使得所述BS服务器通过所述线程向所述命令所指定的设备发送所述命令;
所述浏览器客户端接收所述网管服务器发送的所述命令的处理结果,所述处理结果由所述设备根据所述命令处理得到的,并通过所述线程发送给所述网管服务器。
进一步地,所述浏览器客户端与网管服务器之间建立通信连接,包括:
所述浏览器客户端向网管服务器发送Websocket消息以请求与所述网管服务器建立所述WebSocket通信连接;
所述浏览器客户端接收所述网管服务器根据所述Websocket消息返回的连接成功响应消息。
一种网管服务器,包括:
服务端,用于与浏览器客户端之间建立通信连接、接收所述浏览器客户端通过所述通信连接发送的命令、并向所述浏览器客户端发送的所述命令的处理结果;
线程池,用于分配线程给所述浏览器客户端、通过所述线程向所述命令所指定的设备发送所述命令、接收所述设备发送的处理结果,其中,所述处理结果由所述设备根据所述命令处理得到,并通过所述线程发送给所述线程池。
进一步地,所述服务端与所述浏览器客户端之间建立通信连接,包括:所述服务端接收所述浏览器客户端发送的Websocket连接请求与所述网管服务器建立所述WebSocket连接的Websocket消息;所述服务端根据所述Websocket消息向所述浏览器客户端返回连接成功响应消息。
进一步地,所述线程池分配线程给所述浏览器客户端,包括:所述线程池含有至少一对线程;所述线程池分配一对线程,所述一对线程中的一个线程维持网管服务器与客户端之间的通信连接,所述一对线程中的另一个线程创建并维持网管服务器和设备之间的通信连接。
进一步地,所述服务端通过所述线程向所述命令所指定的设备发送所述命令,包括:所述服务端通过所述一对线程中的一个线程接收所述浏览器客户端发送的所述命令;所述服务端通过通过所述一对线程中的另一个线程向所述设备发送所述命令;所述一对线程的一个线程和所述一对线程的另一个线程之间建立管道通信。
进一步地,所述线程池接收所述设备发送的所述命令的处理结果并由所述服务端通过所述Websocket通信连接所述浏览器客户端发送所述处理结果,包括:所述一对线程的另一个线程接收所述设备发送的所述命令的处理结果,并通过所述管道发送给所述一对线程中的一个线程;所述一对线程的一个线程通过所述通信连接向所述服务端发送所述命令的处理结果;所述服务端通过所述Websocket通信连接向所述浏览器客户端发送所述命令的处理结果。
一种浏览器客户端,包括:
客户端,用于与网管服务器之间建立通信连接,以使得所述网管服务器分配线程给所述浏览器客户端;用于通过所述通信连接向所述网管服务器发送命令,以使得所述网管服务器通过所述线程向所述命令所指定的设备发送所述命令;
所述客户端,用于所述浏览器客户端接收所述网管服务器通过所述通信连接发送的所述命令的处理结果,所述处理结果由所述设备根据所述命令处理得到的,并通过所述线程发送给所述网管服务器。
进一步地,所述客户端与网管服务器之间建立通信连接,包括:所述客户端向网管服务器发送Websocket连接消息以请求与所述网管服务器建立所述WebSocket连接;所述客户端接收所述网管服务器根据所述Websocket消息返回的连接成功响应消息。
一种浏览器客户端访问设备的系统,包括:
浏览器客户端与网管服务器之间建立通信连接;
所述网管服务器分配线程给所述浏览器客户端;
所述网管服务器接收所述浏览器客户端通过所述通信连接发送的命令;
所述网管服务器通过所述线程向所述命令所指定的设备发送所述命令;
所述设备通过所述线程向所述网管服务器发送所述命令的处理结果;
所述网管服务器通过所述通信连接向所述浏览器客户端发送所述处理结果。
本发明实施例所提供的技术方案的有益效果在于:BS网管服务器与浏览器客户端之间建立通信连接,所述网管服务器与远端设备之间建立线程;客户端通过所述通信连接发送命令,并通过所述通信连接接收远端设备返回的所述命令的处理结果,网管服务器通过所述线程向设备发送命令并接收设备返回的处理结果。由此,根据本发明实施例所公开的技术方案,根据用户需求创建用户浏览器端与网管服务器端的通信连接通道。利用网管网管服务器作为所述命令的中转站,从而实现用户客户端以Telnet方式登录远程设备。由此,本发明实施例所公开的技术方案,可以解决当网管用户客户端与网管服务器管理的设备不在同一个网段时,网管用户客户端可以使用Telnet方式来远程访问远程设备。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
请参考图1,本发明的一实施例提供一种浏览器客户端访问设备的方法。所述一种浏览器客户端访问设备的方法,包括如下步骤:
步骤11,BS网管服务器与浏览器客户端之间建立通信连接;
步骤12,所述BS网管服务器分配线程给所述浏览器客户端;
步骤13,所述BS网管服务器接收所述浏览器客户端发送的命令;
步骤14,所述BS网管服务器通过所述线程向所述命令所指定的设备发送所述命令;
步骤15,所述BS网管服务器接收所述设备发送的所述命令的处理结果并通过所述通信连接所述浏览器客户端发送所述处理结果,所述处理结果由所述设备根据所述命令处理得到,并通过所述线程发送给所述BS网管服务器。
本发明实施例所提供的技术方案中,网管服务器与浏览器客户端之间建立通信连接,所述网管服务器与远端设备之间建立线程;客户端通过所述通信连接发送命令,并通过所述通信连接接收远端设备返回的所述命令的处理结果,网管服务器通过所述线程向设备发送命令并接收设备返回的处理结果。由此,根据本发明实施例所公开的技术方案,根据用户需求创建用户浏览器端与网管服务器端的通信连接通道。利用网管网管服务器作为所述命令的中转站,从而实现用户客户端以Telnet方式登录远程设备。由此,本发明实施例所公开的技术方案,可以解决当网管用户客户端与网管服务器管理的设备不在同一个网段时,网管用户客户端可以使用Telnet方式来远程访问远程设备。
进一步地,所述BS网管服务器与所述浏览器客户端之间建立通信连接,包括:所述BS网管服务器接收所述浏览器客户端发送的WebSocket连接请求与所述BS网管服务器建立所述WebSocket连接的Websocket消息;所述BS网管服务器根据所述Websocket消息向所述浏览器客户端返回连接成功响应消息。所述Websocket消息可以携带有指定的设备的标识ID,所述响应消息可以携带有会话ID(即sessionID)和所述设备的标识ID。
WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。在WebSocketAPI中,浏览器客户端和服务器只需要做一个握手的动作,然后,浏览器客户端和服务器之间就形成了一条快速通道,览器客户端和服务器两者之间就可以直接进行数据互相传送。
进一步地,所述BS网管服务器分配线程给所述浏览器客户端,包括:所述BS网管服务器包括含有至少一对线程的线程池;所述BS网管服务器分配一对线程,所述一对线程中的一个线程维持网管服务器与客户端之间的通信连接,所述一对线程中的另一个线程创建并维持网管服务器和设备之间的通信连接。
进一步地,所述BS网管服务器通过所述线程向所述命令所指定的设备发送所述命令,包括:所述BS网管服务器通过所述一对线程中的一个线程接收所述命令;所述网管服务器通过所述一对线程中的另一个线程向所述设备发送所述命令;所述一对线程的一个线程和所述一对线程的另一个线程之间建立管道通信。
进一步地,所述BS服务器接收所述设备发送的所述命令的处理结果并通信连接所述浏览器客户端发送所述处理结果,包括:所述线程接收所述设备发送的所述命令的处理结果;所述线程通过所述通信连接向所述Websocket服务端发送所述命令的处理结果;所述服务端通过所述通信连接向所述浏览器客户端发送所述命令的处理结果。所述BS网管服务器上的服务端可以是Websocket服务端。
请参考图2,本发明一种浏览器客户端访问设备的方法实施例的流程图。一种浏览器客户端访问设备的方法,包括如下步骤:
步骤21,浏览器客户端与BS网管服务器之间建立通信连接,以使得所述BS网管服务器分配线程给所述浏览器客户端;
步骤22,所述浏览器客户端通过所述通信连接向所述BS网管服务器发送命令,以使得所述BS网管服务器通过所述线程向所述命令所指定的设备发送所述命令;
步骤23,所述浏览器客户端接收所述BS网管服务器发送的所述命令的处理结果,所述处理结果由所述设备根据所述命令处理得到的,并通过所述线程发送给所述BS网管服务器。
本发明实施例所述的一种浏览器客户端访问设备的方法,所述浏览器客户端与BS网管服务器之间建立通信连接,所述BS网管服务器与远端设备之间建立线程;客户端通过所述通信连接发送命令,并通过所述通信连接接收远端设备返回的命令的处理结果,BS网管服务器通过线程向设备发送命令并接收设备返回的处理结果。由此,根据本发明实施例所公开的技术方案,根据用户需求创建用户浏览器端与网管服务器端的有通信连接通道。利用BS网管服务器作为Telnet通信的中转站,从而实现用户客户端以Telnet方式登录远程设备。由此,本发明实施例所公开的技术方案,可以解决当网管用户客户端与网管服务器管理的设备不在同一个网段时,网管用户客户端可以使用Telnet方式来远程访问远程设备。
进一步地,所述浏览器客户端与BS服务器之间建立通信连接,包括:所述浏览器客户端向BS网管服务器发送Websocket消息以请求与所述BS服务器建立所述WebSocket通信连接;所述浏览器客户端接收所述BS网管服务器根据所述Websocket消息返回的连接成功响应消息。
进一步地,所述BS网管服务器分配线程给所述浏览器客户端,包括:所述网管服务器包括含有至少一对线程的线程池;所述网管服务器分配一对线程,所述一对线程中的一个线程维持网管服务器与客户端之间的通信连接,所述一对线程中的另一个线程创建并维持网管服务器和设备之间的通信连接。
进一步地,所述BS服务器通过所述Telnet1线程向所述Telnet命令所指定的设备发送所述Telnet命令,包括:网管服务器通过所述一对线程中的一个线程接收所述命令;网管服务器通过所述一对线程中的另一个线程向所述设备发送所述命令;所述一对线程的一个线程和所述一对线程的另一个线程之间建立管道通信。
请参考图3,本发明一种BS网管服务器实施例所述的模块结构示意图。图3所示的BS网管服务器包括服务端31和线程池32,其中:
所述服务端31,用于与浏览器客户端之间建立通信连接、接收所述浏览器客户端通过所述通信连接发送的命令、并向所述浏览器客户端发送的所述命令的处理结果;
所述线程池32,用于分配线程给所述浏览器客户端、通过所述线程向所述Telnet命令所指定的设备发送所述命令、接收所述设备发送的处理结果,其中,所述处理结果由所述设备根据所述命令处理得到,并通过所述线程发送给所述线程池。所述服务端31可以是Websocket服务端。
本发明实施例所提供的BS网管服务器技术方案中,BS网管服务器与浏览器客户端之间建立通信连接,所述BS网管服务器与远端设备之间建立线程;客户端通过所述通信连接发送命令,并通过所述通信连接接收远端设备返回的命令的处理结果,BS网管服务器通过线程向设备发送命令并接收设备返回的处理结果。由此,根据本发明实施例所公开的技术方案,根据用户需求创建用户浏览器端与网管服务器端的连接通道。利用BS网管服务器作为Telnet的中转站,从而实现用户客户端以Telnet方式登录远程设备。由此,本发明实施例所公开的技术方案,可以解决当网管用户客户端与网管服务器管理的设备不在同一个网段时,网管用户客户端可以使用Telnet方式来远程访问远程设备。
进一步地,所述Websocket服务端与所述浏览器客户端之间建立通信连接,包括:所述服务端接收所述浏览器客户端发送的WebSocket连接请求与所述BS服务器建立所述WebSocket连接的Websocket消息;所述服务端根据所述Websocket消息向所述浏览器客户端返回连接成功响应消息。
进一步地,所述线程池分配线程给所述浏览器客户端,包括:所述线程池含有至少一对线程;所述线程池分配一对线程,所述一对线程中的一个线程维持网管服务器与客户端之间的通信连接,所述一对线程中的另一个线程创建并维持网管服务器和设备之间的通信连接
进一步地,所述服务端通过所述线程向所述命令所指定的设备发送所述命令,包括:所述服务端通过所述一对线程中的一个线程接收所述浏览器客户端发送的所述命令;所述服务端通过通过所述一对线程中的另一个线程向所述设备发送所述命令;所述一对线程的一个线程和所述一对线程的另一个线程之间建立管道通信。
进一步地,所述线程池接收所述设备发送的所述Telnet命令的处理结果并由所述服务端通过所述Websocket通信连接所述浏览器客户端发送所述处理结果,包括:所述一对线程的另一个线程接收所述设备发送的所述命令的处理结果,并通过所述管道发送给所述一对线程中的一个线程;所述一对线程的一个线程通过所述通信连接向所述服务端发送所述命令的处理结果;所述服务端通过所述Websocket通信连接向所述浏览器客户端发送所述命令的处理结果。
请参考图4,本发明一种浏览器客户端实施例所述的模块结构示意图。图4所示的浏览器客户端,包括客户端41,其中:
所述客户端41,用于与BS网管服务器之间建立通信连接,以使得所述BS网管服务器分配线程给所述浏览器客户端;用于通过所述通信连接向所述BS网管服务器发送命令,以使得所述BS网管服务器通过所述线程向所述命令所指定的设备发送所述命令;
所述客户端41,用于所述浏览器客户端接收所述BS网管服务器通过所述通信连接发送的所述命令的处理结果,所述处理结果由所述设备根据所述命令处理得到的,并通过所述线程发送给所述BS网管服务器。所述客户端41可以是Websocket客户端。
本发明实施例所提供的技术方案中,BS网管服务器与浏览器客户端之间建立通信连接,所述BS网管服务器与远端设备之间建立线程;客户端通过所述通信连接发送命令,并通过所述通信连接接收远端设备返回的命令的处理结果,BS网管服务器通过线程向设备发送命令并接收设备返回的处理结果。由此,根据本发明实施例所公开的技术方案,根据用户需求创建用户浏览器端与网管服务器端的通信连接通道。利用BS网管服务器作为Telnet的中转站,从而实现用户客户端以Telnet方式登录远程设备。由此,本发明实施例所公开的技术方案,可以解决当网管用户客户端与网管服务器管理的设备不在同一个网段时,网管用户客户端可以使用Telnet方式来远程访问远程设备。
进一步地,所述客户端与BS网管服务器之间建立通信连接,包括:所述客户端向BS网管服务器发送Websocket连接消息以请求与所述BS网管服务器建立所述WebSocket连接;所述客户端接收所述BS网管服务器根据所述Websocket消息返回的连接成功响应消息。
请参考图5,本发明一种浏览器客户端访问设备的系统实施例所述的模块结构示意图。图5所示的浏览器客户端访问设备的系统包括浏览器客户端51、BS网管服务器52和设备53,其中:
所述浏览器客户端51与BS网管服务器52之间建立通信连接;
所述BS服务器52分配线程给所述浏览器客户端51;
所述BS网管服务器52接收所述浏览器客户端51通过所述通信连接发送的命令;
所述BS网管服务器51通过所述线程向所述命令所指定的设备53发送所述命令;
所述设备53通过所述线程向所述BS网管服务器52发送所述命令的处理结果;
所述BS网管服务器52通过所述通信连接向所述浏览器客户端51发送所述处理结果。
本发明实施例所提供的技术方案中,BS网管服务器与浏览器客户端之间建立通信连接,所述BS网管服务器与远端设备之间建立线程;客户端通过所述通信连接发送命令,并通过所述通信连接接收远端设备返回的命令的处理结果,BS网管服务器通过线程向设备发送命令并接收设备返回的处理结果。由此,根据本发明实施例所公开的技术方案,根据用户需求创建用户浏览器端与网管服务器端的通信连接通道。利用BS网管服务器作为Telnet的中转站,从而实现用户客户端以Telnet方式登录远程设备。由此,本发明实施例所公开的技术方案,可以解决当网管用户客户端与网管服务器管理的设备不在同一个网段时,网管用户客户端可以使用Telnet方式来远程访问远程设备。
本发明浏览器客户端访问设备的系统实施例所揭示的技术方案中的客户端和设备及服务器的具体结构、各个处理过程和处理的细节,例如通信连接的建立过程,命令的处理过程及结果的返回等,可以参考本发明的其他实施例的相关描述,这里不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。