本发明涉及计算机网络通信技术领域,特别涉及一种基于B/S架构的网元访问方法和系统。
背景技术:
现有的Unix和Linux系统主要的通过指令的方式进行管理,连接Unix和Linux系统的主要方式是通过Telnet或者SSH协议。网元是指在客户端连接Telnet服务器或者SSH服务器的终端设备。
现有技术中,网元与Telnet服务器或SSH服务器进行连接,由于需要Socket支持,现有的Web中提供交互指令的控件和技术方案,是使用ActiveX开发一个浏览器插件,安装到浏览器中进行使用。
由于ActiveX是一种对本地权限要求很高的插件技术,所以安全性很差,由于企业生产网络的安全要求,很多企业的生产网络并不开放ActiveX的安装和运行权限,所以这种技术很难在生产系统中得到入网许可。
而且,很多B/S的系统,有的时候网元需要连接到Telnet服务器或者SSH服务器进行数据交换,但是目前提供的Telnet客户端基本都是桌面程序,和B/S系统的集成难度较高,也不方便。
技术实现要素:
鉴于上述问题,本发明实施例提供一种基于B/S架构的网元访问方法和系统,用于解决在网元和Web系统(即B/S架构系统)集成不方便的问题,实现一种高可用性和高扩展性的适用于B/S(浏览器/服务器)架构的网元访问的方案,方便与现有的各种B/S系统集成,同时能够满足企业级的安全需求和控制要求。
本发明实施例采用了如下技术方案:
本发明一个实施例提供了一种基于B/S架构的网元访问方法,所述方法包括:
当web客户端访问第一B/S系统中的网元时,挂接在所述web客户端的访问组件向第一B/S系统中的第一服务器的服务层发起socket连接,并通过socket进程通讯机制按照Telnet或SSH协议发送网元连接请求;所述访问组件包括socket进程通信功能;
所述第一服务器的服务层通过网元接口层向所述网元发起访问连接;
连接成功后,第一服务器的服务层进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问。
所述访问组件向第一服务器的服务层发起socket连接,并通过socket进程通讯机制按照Telnet或SSH协议发送网元连接请求包括:
所述访问组件向第一服务器的服务层的预置端口发起socket连接;并通过socket进程通讯机制按照Telnet或SSH协议数据包格式向第一服务器的所述预置端口发送网元连接请求;所述预置端口为预先预定用于网元访问的端口;
所述方法还包括:
所述第一服务器的服务层监听所述预置端口,当监听到所述访问组件向第一服务器的服务层发起的socket连接时,接收所述访问组件发送的数据包。
所述第一服务器的服务层通过网元接口层向所述网元发起访问连接包括:
第一服务器的服务层解析数据包,获取要访问的网元信息,并创建一个网元连接处理对象;
所述服务层利用网元连接处理对象通过网元接口层向要访问的网元发起访问连接。
所述连接成功后,第一服务器的服务层进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问包括:
连接成功后,所述服务层进行自动登录所述网元;
若登录失败,则断开与所述网元的连接;若登录成功,则将所述网元连接处理对象转换为转发模式,进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问。
所述方法还包括:所述web客户端从第一服务器或通过网络从网站应用库获取包括socket进程通信功能的访问组件,并挂接所述访问组件的步骤。
访问第一B/S系统中网元的web客户端为第一B/S系统中的第一web客户端,或为第二B/S系统中的第二web客户端;
当所述第二web客户端访问第一B/S系统中的网元时,所述方法还包括:
所述第一服务器验证所述第二web客户端合法性的步骤,若所述第一服务器验证所述第二web客户端为合法时,允许执行所述挂接在所述web客户端的访问组件向第一B/S系统中的第一服务器的服务层发起socket连接的步骤。
另外,本发明实施例还提供了一种基于B/S架构的网元访问系统,所述系统包括:挂接在web客户端的访问组件、第一B/S系统中的第一服务器、及第一B/S系统中的网元;所述访问组件包括socket进程通信功能;
所述访问组件,用于当web客户端访问第一B/S系统中的网元时,向第一B/S系统中的第一服务器的服务层发起socket连接,并通过socket进程通讯机制按照Telnet或SSH协议发送网元连接请求;
所述第一服务器包括:
设置在服务层的连接发起模块,用于通过网元接口层向所述网元发起访问连接;和
设置在服务层的转发模块,用于在连接成功后,进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问。
所述第一服务器还包括预先预定用于网元访问的预置端口;
所述访问组件,具体用于所述访问组件向第一服务器的服务层的预置端口发起socket连接;并通过socket进程通讯机制按照Telnet或SSH协议数据包格式向第一服务器的所述预置端口发送网元连接请求;
所述第一服务器还包括:
设置在服务层的监听接收模块,用于监听所述预置端口,当监听到所述访问组件向第一服务器的服务层发起的socket连接时,接收所述访问组件发送的数据包;
所述web客户端还用于,从第一服务器或通过网络从网站应用库获取包括socket进程通信功能的访问组件,并挂接所述访问组件。
所述连接发起模块包括:
对象创建单元,用于解析数据包,获取要访问的网元信息,并创建一个网元连接处理对象;
访问发起单元,用于利用网元连接处理对象通过网元接口层向要访问的网元发起访问连接;
所述转发模块包括:
自动登录单元,用于连接成功后,所述服务层进行自动登录所述网元;
连接控制单元,用于若登录失败,则断开与所述网元的连接;若登录成功,则将所述网元连接处理对象转换为转发模式,进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问。
访问第一B/S系统中网元的web客户端为第一B/S系统中的第一web客户端,或为第二B/S系统中的第二web客户端;
当所述第二web客户端访问第一B/S系统中的网元时,所述第一服务器还包括:
验证模块,用于验证所述第二web客户端合法性,若验证结果为合法时,启动所述连接发起模块。
可见,本发明实施例提供一种基于B/S架构的网元访问方法和系统,通过挂接在web客户端(浏览器端)的组件实现的socket进程通讯机制,向Telnet或SSH服务器发起网元连接请求,并在连接成功后,Telnet或SSH服务器负责web客户端与网元之间的数据转发,实现B/S架构下网元的访问。本技术方案可以提供给用户完整的B/S架构下网元访问Telnet服务器或SSH服务器的方案,在各种生产系统大多数采用B/S结构的现在,能够统一用户体验,有效提高用户使用各种网元终端的便利性。
在本发明的另一个实施例中,本技术方案方便与其它B/S结构的系统集成,给其它系统提供一个有效的指令脚本下发(用于网元访问的指令脚本下发)的通道,同时这个通道是用户可以实时监控的。
附图说明
图1为本发明实施例提供的一种基于B/S架构的网元访问方法流程图;
图2为本发明实施例提供的基于B/S架构的网元访问方法的一个具体实例流程示意图;
图3为本发明实施例提供的基于B/S架构的网元访问方法的另一具体实例流程示意图;
图4为本发明实施例提供的一种基于B/S架构的网元访问系统结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例要解决的技术问题是:为了解决在网元终端和Web系统(即B/S架构系统)集成不方便的问题,实现一种高可用性和高扩展性的适用于B/S架构的网元访问的方案,方便与现有的各种B/S系统集成,同时能够满足企业级的安全需求和控制要求。
需要说明的是,本发明实施例中服务器以webserver为例进行介绍,在实际应用中,其它服务器原理相同。
参见图1,本发明实施例提供一种异构类型设备账号管理方法,具体包括如下步骤:
S101:当web客户端访问第一B/S系统中的网元时,挂接在web客户端的访问组件向第一B/S系统中的第一服务器的服务层发起socket连接,并通过socket进程通讯机制按照Telnet或SSH协议发送网元连接请求。
需要说明的是,所述访问组件包括socket进程通信功能。
其中,访问组件向第一服务器的服务层发起socket连接,并通过socket进程通讯机制按照Telnet或SSH协议发送网元连接请求,具体包括:
所述访问组件向第一服务器的服务层的预置端口发起socket连接;并通过socket进程通讯机制按照Telnet或SSH协议数据包格式向第一服务器的所述预置端口发送网元连接请求;所述预置端口为预先预定用于网元访问的端口。
相应的,本发明实施例提供的方法还包括:
所述第一服务器的服务层监听所述预置端口,当监听到所述访问组件向第一服务器的服务层发起的socket连接时,接收所述访问组件发送的数据包。
优选的,本发明实施例所述方法还包括:所述web客户端从第一服务器或通过网络从网站应用库获取包括socket进程通信功能的访问组件,并挂接所述访问组件的步骤。
也就是说,web客户端可以通过网络从网站应用库(比如官网等)获取该访问组件,并实现挂接。另外的实现方式也可以是,若第一服务器上存储有该访问组件,则web客户端还可以从第一服务器获取包括socket进程通信功能的访问组件,并实现挂接。
需要说明的是,访问第一B/S系统中网元的web客户端可以是第一B/S系统中的第一web客户端,即本B/S系统中的web客户端访问本系统中网元的情况。
另外,访问第一B/S系统中网元的web客户端还可以是第二B/S系统中的第二web客户端,即其它B/S系统中的web客户端访问本B/S系统中网元的情况。
针对第二种情况,即当所述第二web客户端访问第一B/S系统中的网元时,本发明实施例提供的所述方法还包括:
所述第一服务器验证所述第二web客户端合法性的步骤,若所述第一服务器验证所述第二web客户端为合法时,允许执行步骤S101,所述挂接在所述web客户端的访问组件向第一B/S系统中的第一服务器的服务层发起socket连接的步骤。
在具体实施中,其它B/S系统可以实现单点登录本B/S系统,实现与本B/S系统中网元的访问方法。
在通过url访问本B/S系统时,需要先调用本B/S系统提供的webserver,获取加密的密钥,然后将密码加密后,使用get的方式进行url请求。
在单点登录方案设计中,为了防止有第三方恶意程序截取加密后的密码,重复使用,本方案采用了加密密钥5分钟过期的策略,同时用户每次登录,用于加密的密钥都是根据随机生成的GUID计算而来,能够保证用户的每次登录的加密密钥不相同,而且这个密钥的生命周期是5分钟,5分钟后,密钥自动过期,保证安全性。
S102:所述第一服务器的服务层通过网元接口层向所述网元发起访问连接。
具体的,第一服务器的服务层通过网元接口层向所述网元发起访问连接包括:
第一服务器的服务层解析数据包,获取要访问的网元信息,并创建一个网元连接处理对象。
以及,所述服务层利用网元连接处理对象通过网元接口层向要访问的网元发起访问连接。
S103:连接成功后,第一服务器的服务层进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问。
具体的,所述连接成功后,第一服务器的服务层进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问包括:
连接成功后,所述服务层进行自动登录所述网元;
若登录失败,则断开与所述网元的连接;若登录成功,则将所述网元连接处理对象转换为转发模式,进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问。
可见,本发明实施例提供一种基于B/S架构的网元访问方法,通过挂接在web客户端(浏览器端)的组件实现的socket进程通讯机制,向Telnet或SSH服务器发起网元连接请求,并在连接成功后,Telnet或SSH服务器负责web客户端与网元之间的数据转发,实现B/S架构下网元的访问。本技术方案可以提供给用户完整的B/S架构下网元访问Telnet服务器或SSH服务器的方案,在各种生产系统大多数采用B/S结构的现在,能够统一用户体验,有效提高用户使用各种网元终端的便利性。
在本发明的另一个实施例中,本技术方案方便与其它B/S结构的系统集成,给其它B/S系统提供一个有效的网元访问通道。
参见图2,给出具体实例,用以具体本发明实施例提供的基于B/S架构的网元访问方法,帮助理解。
本具体实例包括以下步骤:
1.开发一个访问组件,该组件实现Socket功能,该组件挂接到浏览器端(web客户端)。该组件负责处理整个用户交互,包括用户的输入和数据的输出,同时负责使用Socket连接服务连接层进行数据交互,接收网元的输出和发送用户的输入。
2.该组件向服务层监听的4520端口(预置端口)发起Socket连接,按照接口约定的登录服务协议规定的数据包格式向服务器发送连接网元的请求。
3.webserver服务层解析数据。
4.webserver服务层创建一个网元连接处理对象,并通过网元接口层发起到网元终端的操作。
5.连接成功以后,webserver服务层根据提示进行自动登录。
6.如果登录失败,则断开与网元的连接,如果登录成功,则改服务对象转入转发模式,进行web客户端与网元之间的TCP数据包转发工作,实现本B/S架构系统内的网元访问。
参见图3,给出另一具体实例,用以具体本发明实施例提供的基于B/S架构的网元访问方法,帮助理解。
本具体实例包括以下步骤:
1.开发一个访问组件,该组件实现Socket功能,该组件挂接到其它B/S系统中的浏览器端(web客户端)。该组件负责处理整个用户交互,包括用户的输入和数据的输出,同时负责使用Socket连接服务连接层进行数据交互,接收网元的输出和发送用户的输入。
2.其它B/S系统要访问本系统中的网元终端。
3.本系统中的服务器验证其它B/S系统的合法性,若不合法,则拒绝访问,若合法,则执行步骤4。
需要说明的是,其它B/S系统还可以实现单点登录本B/S系统,实现与本B/S系统中网元的访问方法。
具体的,在通过url访问本B/S系统时,需要先调用本B/S系统提供的webserver,获取加密的密钥,然后将密码加密后,使用get的方式进行url请求。
在单点登录方案设计中,为了防止有第三方恶意程序截取加密后的密码,重复使用,本方案采用了加密密钥5分钟过期的策略,同时用户每次登录,用于加密的密钥都是根据随机生成的GUID计算而来,能够保证用户的每次登录的加密密钥不相同,而且这个密钥的生命周期是5分钟,5分钟后,密钥自动过期,保证安全性。
4.其它B/S系统中web客户端挂接的访问组件向本系统服务器的服务层监听的4520端口(预置端口)发起Socket连接,按照接口约定的登录服务协议规定的数据包格式向服务器发送连接网元的请求。
5.webserver服务层解析数据。
6.webserver服务层创建一个网元连接处理对象,并通过网元接口层发起到网元终端的操作。
7.连接成功以后,webserver服务层根据提示进行自动登录。
8.如果登录失败,则断开与网元的连接,如果登录成功,则改服务对象转入转发模式,进行其它B/S系统中web客户端与本系统网元之间的TCP数据包转发工作,实现其它B/S架构系统的网元访问。
另外,参见图4,本发明实施例提供了一种基于B/S架构的网元访问系统,所述系统包括:挂接在web客户端的访问组件100、第一B/S系统中的第一服务器200、及第一B/S系统中的网元300;所述访问组件包括socket进程通信功能。
所述访问组件100,用于当web客户端访问第一B/S系统中的网元时,向第一B/S系统中的第一服务器的服务层发起socket连接,并通过socket进程通讯机制按照Telnet或SSH协议发送网元连接请求。
所述第一服务器200包括:
设置在服务层的连接发起模块201,用于通过网元接口层向所述网元发起访问连接。
和,设置在服务层的转发模块202,用于在连接成功后,进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问。
优选的,所述第一服务器200还包括预先预定用于网元访问的预置端口。
相应的,所述访问组件,具体用于所述访问组件向第一服务器的服务层的预置端口发起socket连接;并通过socket进程通讯机制按照Telnet或SSH协议数据包格式向第一服务器的所述预置端口发送网元连接请求。
进一步的,所述第一服务器还包括:
设置在服务层的监听接收模块,用于监听所述预置端口,当监听到所述访问组件向第一服务器的服务层发起的socket连接时,接收所述访问组件发送的数据包。
所述web客户端还用于,从第一服务器或通过网络从网站应用库获取包括socket进程通信功能的访问组件,并挂接所述访问组件。
具体的,所述连接发起模块包括:
对象创建单元,用于解析数据包,获取要访问的网元信息,并创建一个网元连接处理对象。
和,访问发起单元,用于利用网元连接处理对象通过网元接口层向要访问的网元发起访问连接。
所述转发模块包括:
自动登录单元,用于连接成功后,所述服务层进行自动登录所述网元。
和,连接控制单元,用于若登录失败,则断开与所述网元的连接;若登录成功,则将所述网元连接处理对象转换为转发模式,进行所述web客户端与所述网元之间的数据转发,实现基于B/S架构的网元访问。
具体实践中,访问第一B/S系统中网元的web客户端可以是第一B/S系统中的第一web客户端,也可以是第二B/S系统中的第二web客户端。
当所述第二web客户端访问第一B/S系统中的网元时(即第二种情况下),所述第一服务器还包括:
验证模块,用于验证所述第二web客户端合法性,若验证结果为合法时,启动所述连接发起模块。
需要说明的是,本发明系统实施例中的各个模块或者子模块的工作原理和处理过程可以参见上述图1、图2及图3所示方法实施例中的相关描述,此处不再赘述。
可见,本发明实施例提供一种基于B/S架构的网元访问系统,通过挂接在web客户端(浏览器端)的组件实现的socket进程通讯机制,向Telnet或SSH服务器发起网元连接请求,并在连接成功后,Telnet或SSH服务器负责web客户端与网元之间的数据转发,实现B/S架构下网元的访问。本技术方案可以提供给用户完整的B/S架构下网元访问Telnet服务器或SSH服务器的方案,在各种生产系统大多数采用B/S结构的现在,能够统一用户体验,有效提高用户使用各种网元终端的便利性。
在本发明的另一个实施例中,本技术方案方便与其它B/S结构的系统集成,给其它B/S系统提供一个有效的网元访问通道。
为了便于清楚描述本发明实施例的技术方案,在发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:(方法的步骤),所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。