一种数据传输方法、控制器及接入设备技术

技术编号:20750849 阅读:209 留言:0更新日期:2019-04-03 11:24
一种数据传输方法、控制器及接入设备,用以解决现有技术中控制器处理能力有限导致对用户的请求延时处理,造成用户不能及时访问接入设备的问题。接入设备接收Stelnet连接请求后通过服务器向负载量最小的控制器发送SSH反向隧道建立请求;所述控制器通过服务器向接入设备发送SSH反向隧道建立响应,将侦听端口号、所述控制器的IP地址、接入设备的标识和Stelnet端口的端口号的对应关系存储到数据库;并通过所述控制器上所述侦听端口号对应的侦听端口接收到包含所述接入设备的标识的访问请求后,将所述访问请求通过所述侦听端口转发至所述接入设备的Stelnet端口。

【技术实现步骤摘要】
一种数据传输方法、控制器及接入设备
本申请涉及通信
,尤其涉及一种数据传输方法、控制器及接入设备。
技术介绍
随着通信技术的不断发展,云技术应运而生,云端可以提供很多控制器资源,以使用户可以租用云端的控制器来管理自身使用的接入设备,实现用户基于安全远程终端协议(securetelnet,Stelnet)访问自身使用的接入设备。在实际中,许多用户会租用同一个控制器来管理自身使用的多个接入设备,一个用户基于Stelnet访问一个接入设备的过程通常为:用户通过客户端触发租用的所述控制器向待访问的接入设备发送Stelnet连接请求;所述接入设备收到所述Stelnet连接请求后,向所述控制器发送安全外壳(secureshell,SSH)反向隧道建立请求,其中所述SSH反向隧道为所述控制器和所述接入设备之间数据传输的安全通道;所述接入设备在所述SSH反向隧道建立成功后,将控制器上分配的侦听端口和自身的Stelnet端口做映射,以使用户后续通过所述客户端连接所述控制器的侦听端口,将需要发送给所述接入设备的数据转发至所述接入设备的Stelnet端口。但是,在多个用户均通过租用的同一个控制器执行上述过程时,由于该控制器的处理能力有限,可能会对部分用户的请求延时处理,导致用户不能及时访问自身使用的接入设备,而影响用户体验。
技术实现思路
本申请提供一种数据传输方法、控制器及接入设备,用以解决现有技术中控制器处理能力有限导致对用户的请求延时处理,造成用户不能及时访问自身使用的接入设备而影响用户体验的问题。第一方面,本申请提供了一种数据传输方法,应用于控制器集群场景,该数据传输方法包括:第一接入设备接收到第一控制器发送的Stelnet连接请求后,向服务器发送SSH反向隧道建立请求,以使所述服务器将所述SSH反向隧道建立请求转发给负载量最小的第二控制器;然后所述第二控制器通过所述服务器向所述第一接入设备发送SSH反向隧道建立响应,并将第一侦听端口号、所述第二控制器的IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库;所述第二控制器通过所述第二控制器上所述第一侦听端口号对应的第一侦听端口接收到包括所述第一接入设备的标识的第一访问请求后,将所述第一访问请求通过所述第一侦听端口转发至所述第一接入设备的Stelnet端口。通过上述方法,由于服务器会将接入设备发送的SSH反向隧道建立请求发送给负载量最小的控制器,以使所述负载量最小的控制器和所述接入设备之间建立SSH反向隧道,这样后续会由负载量最小的控制器处理用户访问所述接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。在一个可能的设计中,所述第一接入设备在接收到所述SSH反向隧道建立响应之后,将所述第一侦听端口号和所述第一接入设备的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系。这样所述第一接入设备在后续过程中可以根据保存的所述绑定关系,将需要向用户回应的响应消息通过所述绑定关系中的Stelnet端口发送至所述第一侦听端口。在一个可能的设计中,所述第二控制器通过所述第一侦听端口接收所述第一访问请求,具体方法可以为:所述第二控制器通过所述第一侦听端口接收所述第二控制器的代理(proxy)服务转发的所述第一访问请求;或者所述第二控制器通过所述第一侦听端口接收第三控制器转发的所述第一访问请求。通过上述方法,所述第二控制器可以准确地接收到所述第一访问请求,以使后续将所述第一访问请求转发给所述第一接入设备。在一个可能的设计中,所述第二控制器通过所述第一侦听端口接收所述第二控制器的代理服务转发的所述第一访问请求之前,所述方法还包括:所述第二控制器通过所述第二控制器的代理服务接收来自客户端的所述第一访问请求,根据所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述第一控制器的IP地址相同。通过上述方法,所述第二控制器可以确定与所述第一接入设备建立SSH反向隧道的控制器为自身,以使所述第二控制器可以通过所述第二控制器的代理服务转发所述第一访问请求至所述第二控制器的所述第一侦听端口,进而使所述第二控制器通过所述第一侦听端口将所述第一访问请求转发至所述第一接入设备的Stelnet端口。在一个可能的设计中,所述第二控制器可以接收用户访问所述第一接入设备之外的其他接入设备的访问请求,例如所述第二控制器通过所述第二控制器的代理服务接收到包含第二接入设备的标识的第二访问请求,并根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址,当确定所述第二目标控制器的IP地址与所述第二控制器的IP地址不同时,将所述第二访问请求转发至第四控制器上所述第二侦听端口号对应的第二侦听端口,所述第四控制器的IP地址为所述第二目标控制器的IP地址,以使所述第四控制器通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。通过的上述方法,用户访问任一个接入设备时,均可以通过任一个控制器查询到与该接入设备建立SSH反向隧道的控制器,以使查询到的所述控制器响应用户的访问请求。在一个可能的设计中,任一个控制器可以通过代理服务接收用户的访问请求。这样可以减少控制器对外界暴露的端口号,进而可以提高数据传输的安全性。在一个可能的设计中,所述数据库可以为独立于所述控制器集群单独存在的数据库,所述控制器集群均可以访问所述数据库;所述数据库还可以部署在所述控制器集群中的任意一个控制器中,所述控制器集群中的每个控制器均可以访问该控制器中的所述数据库;所述数据库还可以为所述控制器集群中每个控制器中的数据库,所述控制器集群中的数据库实时进行数据同步,即所述控制器集群中每个控制器的数据库中存储的内容完全相同。第二方面,本申请还提供了一种用于数据传输的接入设备,该接入设备具有实现上述方法实例中第一接入设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述接入设备的结构中包括接收单元和发送单元,还可以包括处理单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。在一种可能的设计中,所述接入设备的结构中包括通信接口和处理器,还可以包括存储器,所述通信接口用于接收和发送数据;所述处理器被配置为支持所述接入设备执行上述方法中相应的功能。所述存储器与所述处理器耦合,其保存所述接入设备必要的程序指令和数据。第三方面,本申请还提供了一种用于数据传输的服务器,该服务器具有实现上述方法实例中服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述服务器的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。在一种可能的设计中,所述服务器的结构中包括通信接口、处理器和存储器,所述通信接口用于接收和发送数据;本文档来自技高网...

【技术保护点】
1.一种数据传输方法,其特征在于,所述数据传输方法应用于控制器集群场景,所述数据传输方法包括:第一控制器接收服务器转发的安全外壳SSH反向隧道建立请求,所述SSH反向隧道建立请求来自第一接入设备,所述SSH反向隧道建立请求中包括所述第一接入设备的标识、第一侦听端口号和所述第一接入设备的安全远程终端协议Stelnet端口的端口号,所述第一控制器为所述控制器集群中负载量最小的控制器;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;所述第一控制器向所述服务器发送SSH反向隧道建立响应,以使所述服务器将所述SSH反向隧道建立响应转发给所述第一接入设备;所述第一控制器将所述第一侦听端口号、所述第一控制器的因特网协议IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库中,以使所述第一控制器维护所述第一控制器与所述第一接入设备之间的SSH反向隧道;所述第一控制器通过所述第一控制器上所述第一侦听端口号对应的第一侦听端口接收第一访问请求,所述第一访问请求中包括所述第一接入设备的标识;所述第一控制器将所述第一访问请求通过所述第一侦听端口,转发至所述第一接入设备的Stelnet端口。...

【技术特征摘要】
1.一种数据传输方法,其特征在于,所述数据传输方法应用于控制器集群场景,所述数据传输方法包括:第一控制器接收服务器转发的安全外壳SSH反向隧道建立请求,所述SSH反向隧道建立请求来自第一接入设备,所述SSH反向隧道建立请求中包括所述第一接入设备的标识、第一侦听端口号和所述第一接入设备的安全远程终端协议Stelnet端口的端口号,所述第一控制器为所述控制器集群中负载量最小的控制器;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;所述第一控制器向所述服务器发送SSH反向隧道建立响应,以使所述服务器将所述SSH反向隧道建立响应转发给所述第一接入设备;所述第一控制器将所述第一侦听端口号、所述第一控制器的因特网协议IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库中,以使所述第一控制器维护所述第一控制器与所述第一接入设备之间的SSH反向隧道;所述第一控制器通过所述第一控制器上所述第一侦听端口号对应的第一侦听端口接收第一访问请求,所述第一访问请求中包括所述第一接入设备的标识;所述第一控制器将所述第一访问请求通过所述第一侦听端口,转发至所述第一接入设备的Stelnet端口。2.如权利要求1所述的方法,其特征在于,所述第一控制器通过所述第一侦听端口号对应的所述第一侦听端口接收所述第一访问请求,包括:所述第一控制器通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求;或者所述第一控制器通过所述第一侦听端口接收第二控制器转发的所述第一访问请求。3.如权利要求2所述的方法,其特征在于,所述第一控制器通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求之前,所述方法还包括:所述第一控制器通过所述第一控制器的代理服务接收来自客户端的所述第一访问请求,根据所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述第一控制器的IP地址相同。4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:所述第一控制器通过所述第一控制器的代理服务接收第二访问请求,所述第二访问请求中包括第二接入设备的标识;所述第一控制器根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址;当确定所述第二目标控制器的IP地址与所述第一控制器的IP地址不同时,所述第一控制器将所述第二访问请求转发至第三控制器上所述第二侦听端口号对应的第二侦听端口,所述第三控制器的IP地址为所述第二目标控制器的IP地址,以使所述第三控制器将所述第二访问请求通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。5.一种数据传输方法,其特征在于,所述数据传输方法应用于控制器集群场景,所述数据传输方法包括:接入设备接收到第一控制器发送的安全远程终端协议Stelnet连接请求后,向服务器发送安全外壳SSH反向隧道建立请求,所述Stelnet连接请求中包括第一侦听端口号和所述接入设备的Stelnet端口的端口号;所述SSH反向隧道建立请求中包括所述接入设备的标识、所述接入设备的Stelnet端口的端口号和所述第一侦听端口号;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;所述接入设备接收所述服务器转发的SSH反向隧道建立响应,所述SSH反向隧道建立响应由第二控制器发送给所述服务器,以建立所述第二控制器与所述接入设备之间的SSH反向隧道,所述第二控制器为所述控制器集群中负载量最小的控制器;所述接入设备通过所述接入设备的Stelnet端口,接收所述第二控制器转发的访问请求。6.如权利要求5所述的方法,其特征在于,所述接入设备接收所述服务器转发的SSH反向隧道建立响应之后,所述方法还包括:所述接入设备将所述第一侦听端口号和所述接入设备的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系,以使所述接入设备根据所述绑定关系返回响应消息。7.一种用于数据传输的控制器,所述控制器为第一控制...

【专利技术属性】
技术研发人员:束毕勇房帝
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1