掌桥专利:专业的专利平台
掌桥专利
首页

边缘计算节点远程登录方法及登录装置

文献发布时间:2023-06-19 12:24:27


边缘计算节点远程登录方法及登录装置

技术领域

本发明涉及设备远程运维管理技术领域,具体涉及一种边缘计算节点远程登录方法及登录装置。

背景技术

边缘计算节点为一种安装Linux操作系统的微型服务器,一般情况下通过无线上网,无固定IP。此类服务器的特点是服务器节点可访问外网地址,但外网无法通过IP或域名的方式直接访问该节点,从而导致无法远程登录(SSH)到服务器,对服务器远程运维工作带来极大不便,需要使用内网穿透工具建立一个“隧道”,使得外网用户可间接访问到该服务器节点。

目前通常采用类似“花生壳”“ngrok”等收费软件以及“autossh”等免费工具进行内网穿透,但现有的内网穿透方案存在以下缺陷和不足:

1、“花生壳”等商业软件使用成本高,小微企企业难以承受,且需要有专用客户端工具,仅支持HTTP协议。

2、“autossh”等免费软件长期将内网端口暴露在外网,容易被不法分子攻击,且需要提供给外网服务器节点的访问凭证,安全性较差。

3、持久化的内网穿透方案占用大量的端口,而由于单台服务器节点端口数量有限,造成端口资源浪费。

发明内容

本发明以低成本、高安全性、少端口资源占用实现对边缘计算节点的内网穿透为目的,提供了一种边缘计算节点远程登录方法及登录装置。

为达此目的,本发明采用以下技术方案:

提供一种边缘计算节点远程登录方法,所述远程登录方法包括:

步骤S1,网关管控服务端接收到用户端发起的建桥指令后注册会话,并分配内网开放端口等待端口配对,所述内网开放端口记为20XX端口;

步骤S2,所述网关管控服务端通知网关客户端当前具有端口配对请求,同时启动服务端桥接工具建立所述20XX端口的转发节点B以构建从所述20XX端口到所述转发节点B的双向数据转发通道Y,然后所述服务端桥接工具向边缘计算节点的外网IP端口请求数据转发处理;

步骤S3,所述网关客户端接收到通知指令后,启动边缘计算节点端桥接工具建立所述边缘计算节点的远程登录端口的转发节点A以构建从所述远程登录端口到所述转发节点A的双向数据转发通道X,然后所述边缘计算节点端桥接工具向同个所述外网IP端口请求数据转发处理;

步骤S4,所述网关管控服务端通过所述外网IP端口接收到所述服务端桥接工具和所述边缘计算节点端桥接工具的数据转发处理请求后构建起所述转发节点A-所述外网IP端口-所述转发节点B的双向数据转发通道Z,完成所述远程登录端口与所述内网开放端口间的端口配对;

步骤S5,用户通过SSH终端访问分配给所述边缘计算节点的所述20XX端口并沿所述通道Y-所述通道Z-所述通道X的通信路径最终连接到所述边缘计算节点的所述远程登录端口,实现对所述边缘计算节点的远程运维。

作为本发明的一种优选方案,所述外网IP端口为所述边缘计算节点的9022端口。

作为本发明的一种优选方案,所述远程登录端口为所述边缘计算节点的SSH服务22端口。

作为本发明的一种优选方案,所述网关管控服务端内部包括指令处理模块和配对转发模块,所述指令处理模块处理用户发起的所述建桥指令的方法包括:

步骤A1,接收用户发起的所述建桥指令;

步骤A2,从所述建桥指令中解析出sessionId和网关编号boxId,并分配所述20XX端口;

步骤A3,注册所述sessionId,并初始化会话状态为“state=INIT”;

步骤A4,下发所述建桥指令给所述boxId对应的所述网关客户端;

步骤A5,本地调用所述服务端桥接工具,为每个所述边缘计算节点从分配的各所述20XX端口中指定一所述20XX端口;

步骤A6,等待所述配对转发模块的后续建桥流程,并根据所述配对转发模块的建桥结果,更新所述会话的会话状态;

步骤A7,判断一持续时间段内会话状态是否变更为“stat=SUCC”,

若是,则表明端口配对成功并通知用户建桥成功;

若否,则表明端口配对失败并通知用户建桥失败。

作为本发明的一种优选方案,所述配对转发模块的建桥步骤包括:

步骤B1,创建socket客户端,并通过所述socket客户端从所述边缘计算节点的所述外网IP端口处接收所述转发节点A和所述转发节点B的所述数据转发处理请求;

步骤B2,从所述数据转发处理请求中解析出所述会话的sessionId和请求来源类型,所述请求来源类型为所述服务端桥接工具和/或所述边缘计算节点端桥接工具;

步骤B3,判断解析出的所述sessionId是否已经注册,

若否,则通知用户建桥失败并关闭所述socket客户端;

若是,则转入步骤B4;

步骤B4,若解析出的请求来源类型为所述服务端桥接工具,则注册所述socket客户端到当前的所述sessionId下的服务器客户端;

若解析出的请求来源类型为所述边缘计算节点端桥接工具,则注册所述socket客户端到当前的所述sessionId下的box客户端;

步骤B5,等待所述服务器客户端和所述box客户端注册,并判断是否注册成功,

若全部注册成功,则判定所述边缘计算节点的所述20XX端口与所述SSH服务22端口配对成功并生成会话状态更新指令发送给所述指令处理模块并转入步骤B6;

若所述服务器客户端或所述box客户端注册失败,则注销所述sessionId;

步骤B6,通知所述转发节点A和所述转发节点B建桥成功可开启数据转发。

作为本发明的一种优选方案,所述服务端桥接工具的建桥过程包括:

步骤C1,所述服务端桥接工具从所述网关管控服务端发送的指令中解析出所述会话的sessionId以及所分配的所述20XX端口的端口信息;

步骤C2,启动socket服务端监听所述20XX端口;

步骤C3,建立所述监听的所述20XX端口的所述转发节点B;

步骤C4,启动socket客户端向所述边缘计算节点的所述外网IP端口发送所述数据转发处理请求,所述数据转发处理请求中含有所述会话的所述sessionId以及请求来源类型;

步骤C5,等待所述网关管控服务端对所述数据转发处理请求的响应,

若响应成功,则转入步骤C6;

若响应失败,则关闭所监听的所述20XX端口,退出建桥流程;

步骤C6,等待所述SSH终端连接所监听的所述20XX端口,

若连接成功,则在所述20XX端口-所述转发节点B-所述外网IP端口间建立数据转发通道,开启所述20XX端口与所述外网IP端口的数据转发;

若连接失败,则关闭所述20XX端口并退出建桥流程。

作为本发明的一种优选方案,所述边缘计算节点端桥接工具的建桥过程包括:

步骤D1,所述边缘计算节点端桥接工具从所述网关客户端发送的指令中解析出所述会话的sessionId;

步骤D2,启动socket客户端连接所述边缘计算节点的所述远程登录端口;

步骤D3,建立所述远程登录端口的所述转发节点A;

步骤D4,利用所述socket客户端向所述边缘计算节点的所述外网IP端口发送所述数据转发处理请求,所述数据转发处理请求中含有所述会话的所述sessionId以及请求来源类型;

步骤D5,等待所述网关管控服务器对所述数据转发处理请求的响应,

若响应成功,则在所述远程登录端口-所述转发节点A-所述外网IP端口间建立数据转发通道,开启所述远程登录端口与所述外网IP端口间的数据转发;

若响应失败,则关闭所述socket客户端,退出建桥流程。

本发明还提供了一种边缘计算节点远程登录装置,可实现所述的远程登录方法,其特征在于,所述装置包括管控服务端和通信连接管控服务端的网关端,所述管控服务端包括网关管控服务端和服务端桥接工具,所述网关端包括网关客户端和边缘计算节点端桥接工具,所述网关管控服务端接收到用户端发起的建桥指令后注册会话,并分配内网开放端口等待端口配对,内网开放端口记为20XX端口;

所述网关管控服务端通知所述网关客户端当前具有端口配对请求,同时启动所述服务端桥接工具建立所述20XX端口的转发节点B以构建起从所述20XX端口到所述转发节点B的双向数据转发通道Y,然后所述服务端桥接工具向边缘计算节点的外网IP端口请求数据转发处理;

所述网关客户端接收到通知指令后,启动所述边缘计算节点端桥接工具建立所述边缘计算节点的远程登录端口的转发节点A以构建起从所述远程登录端口到所述转发节点的双向数据转发通道X,然后所述边缘计算节点端桥接工具向同个所述外网IP端口请求数据转发处理;

所述网关管控服务端通过所述外网IP端口接收到所述服务端桥接工具和所述边缘计算节点端桥接工具的数据转发处理请求后构建起所述转发节点A-所述外网IP端口-所述转发节点B的双向数据转发通道Z,完成对所述远程登录端口与所述20XX端口间的端口配对;

用户通过SSH终端访问分配给所述边缘计算节点的所述20XX端口并沿所述通道Y-所述通道Z-所述通道X的通信路径最终连接到所述边缘计算节点的所述远程登录端口,实现对所述边缘计算节点的远程运维。

作为本发明的一种优选方案,所述网关管控服务端内部包括指令处理模块和配对转发模块,所述指令处理模块包括:

建桥指令接收单元,用于接收用户发起的所述建桥指令;

指令解析单元,连接所述建桥指令接收单元,用于从所述建桥指令中解析出sessionId和boxId;

内网开放端口分配单元,用于分配所述20XX端口;

会话注册及初始化单元,连接所述指令解析单元,用于根据所解析的所述sessionId注册会话,并将所述会话的会话状态初始化为“state=INIT”;

建桥指令下发单元,连接所述建桥指令接收单元和所述指令解析单元,用于下发所述建桥指令给所述boxId对应的所述网关客户端;

内网开放端口指定单元,连接所述内网开放端口分配单元,用于本地调用所述服务端桥接工具,为每个所述边缘计算节点从分配的各所述20XX端口中指定一所述20XX端口;

会话状态更新单元,连接所述会话注册及初始化单元,用于根据所述配对转发模块生成的会话状态更新指令,更新所述会话的会话状态;

建桥是否成功判断单元,连接所述会话状态更新单元,用于判断所述会话的会话状态是否更新为“stat=SUCC”,

若是,则表明端口配对成功并通知用户建桥成功;

若否,则表明端口配对失败并通知用户建桥失败。

作为本发明的一种优选方案,所述配对转发模块中包括:

socket客户端创建单元,用于创建socket客户端;

数据转发处理请求接收单元,连接所述socket客户端创建单元,用于通过所述边缘计算节点的所述外网IP端口接收所述转发节点A和所述转发节点B的所述数据转发处理请求;

请求内容解析单元,连接所述数据转发处理请求接收单元,用于从所述数据转发处理请求中解析出所述会话的所述sessionId和请求来源类型,所述请求来源类型为所述服务端桥接工具和/或所述边缘计算节点端桥接工具;

ID是否注册判断单元,连接所述请求内容解析单元,用于判断解析出的所述sessionId是否已经注册;

socket客户端关闭单元,连接所述ID注册判断单元,用于在判定所述sessionId未注册时关闭所述socket客户端;

socket客户端注册单元,连接所述ID注册判断单元和请求内容解析单元,用于在判定所述sessionId已注册时根据所解析的请求来源类型将所述socket客户端注册到当前的所述sessionId下的服务器客户端和/或box客户端;

服务器客户端注册单元,连接所述socket客户端注册单元,用于注册所述服务器客户端;

box客户端注册单元,连接所述socket客户端注册单元,用于注册所述box客户端;

是否注册判断单元,分别连接所述服务器客户端注册单元和所述box客户端注册单元, 用于判断所述服务器客户端或所述box客户端是否注册成功;

会话状态更新指令生成及发送单元,连接所述是否注册判断单元,用于在判定所述服务器客户端和所述box客户端全部注册成功后,生成所述会话状态更新指令发送给所述指令处理模块中的所述会话状态更新单元,

sessionId注销单元,连接所述是否注册判断单元,用于在判定所述服务器客户端或所述box客户端注册失败时,注销所述sessionId;

通知单元,连接所述是否注册判断单元,用于在判定所述服务器客户端和所述box客户端全部注册成功后,生成建桥成功通知推送给用户并生成响应成功信息发送给所述服务端桥接工具和所述边缘计算节点端桥接工具,并用于在判定所述服务器客户端或所述box客户端注册失败时,生成建桥失败通知推送给用户并生成响应失败信息发送给所述服务端桥接工具和所述边缘计算节点端桥接工具;

开启数据转发通知单元,连接所述是否注册判断单元,用于在判定所述服务器客户端和所述box客户端全部注册成功后,生成开启数据转发通知发送给所述转发节点A和所述转发节点B。

作为本发明的一种优选方案,所述服务端桥接工具中包括:

指令解析单元,用于从所述网关管控服务端发送给所述服务端桥接工具的指令中解析出所述会话的sessionId以及所分配的所述20XX端口的端口信息;

socket服务端创建单元,连接所述指令解析单元,用于创建并启动socket服务端;

端口监听单元,连接所述socket服务端创建单元和所述指令解析单元,用于通过所述socket服务端监听所述20XX端口;

转发节点建立单元,连接端口监听单元,用于建立所监听的所述20XX端口的所述转发节点B;

数据转发处理请求生成单元,用于生成关联所述服务端桥接工具的所述数据转发处理请求;

数据转发处理请求发送单元,连接所述数据转发处理请求生成单元和所述socket服务端创建单元,用于向所述边缘计算节点的所述外网IP端口发送所述数据转发处理请求,所述数据转发处理请求中含有所述会话的所述sessionId以及请求来源类型;

响应信息接收单元,用于接收所述网关管控服务端对所述数据转发处理请求的响应信息;

第一端口关闭单元,连接所述响应信息接收单元和所述端口监听单元,用于在所述网关管控服务端响应失败时关闭所监听的所述20XX端口;

端口是否连接判断单元,用于判断所述SSH终端是否已连接到所监听的所述20XX端口;

数据转发开启单元,连接所述端口是否连接判断单元,用于在判定所述SSH终端已成功连接所述20XX端口后,开启所述20XX端口与所述外网IP端口的数据转发;

第二端口关闭单元,连接所述端口是否连接判断单元,用于在判定所述SSH终端连接所述20XX端口失败后,关闭所述20XX端口以退出建桥流程。

作为本发明的一种优选方案,所述边缘计算节点端桥接工具中包括:

指令解析单元,用于从所述网关客户端发送给所述边缘计算节点端桥接工具的指令中解析出所述会话的sessionId;

socket客户端创建单元,连接所述指令解析单元,用于创建并启动socket客户端;

远程登录端口连接单元,连接所述socket客户端创建单元,用于通过所述socket客户端连接所述边缘计算节点的所述远程登录端口;

转发节点建立单元,连接所述远程登录端口连接单元,用于建立所连接的所述远程登录端口的所述转发节点A;

数据转发处理请求生成单元,用于生成关联所述边缘计算节点端桥接工具的所述数据转发处理请求;

数据转发处理请求发送单元,连接所述数据转发处理请求生成单元和所述socket客户端创建单元,用于通过所述socket客户端向所述边缘计算节点的所述外网IP端口发送所述数据转发处理请求,所述数据转发处理请求中含有所述会话的所述sessionId以及请求来源类型;

响应信息接收单元,用于接收所述网关管控服务端对所述数据转发处理请求的响应信息;

socket客户端关闭单元,连接所述响应信息接收单元,用于在所述网关管控服务端响应失败时关闭所述socket客户端,以退出建桥流程;

数据转发开启单元,连接所述响应信息接收单元,用于在所述网关管控服务端响应成功时,开启所述远程登录端口与所述外网IP端口间的数据转发。

本发明具有以下有益效果:

1、本发明提供的边缘计算节点远程登录方法利用开源的编程技术实现,低成本,可定制;

2、按需建桥,在需要远程登录到边缘计算节点时才去建立网桥实现内网穿透,退出登录时关闭网桥,不会长期占用边缘计算节点的端口资源;

3、单座网桥仅供单个用户连接,安全可控;

4、仅需提供一个外网IP端口与众多边缘计算节点保持网络连接,远程登录端口仅限内网用户访问,确保了边缘计算节点远程登录的安全性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的边缘计算节点远程登录装置的结构示意图;

图2是网关管控服务端的建桥流程图;

图3是服务端桥接工具的建桥流程图;

图4是边缘计算节点端桥接工具的建桥流程图;

图5是网关管控服务端的指令处理模块的内部结构示意图;

图6是网关管控服务端的配对转发模块的内部结构示意图;

图7是服务端桥接工具的内部结构示意图;

图8是边缘计算节点端桥接工具的内部结构示意图;

图9是本发明一实施例提供的边缘计算节点远程登录方法的实现步骤图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

图1示出了本发明一实施例提供的边缘计算节点远程登录装置的结构示意图。如图1所示,该装置包括管控服务端1和通信连接管控服务端1的网关端2,管控服务端1包括网关管控服务端11和服务端桥接工具12,网关端2包括网关客户端21和边缘计算节点端桥接工具22(图1中所示的“盒子端桥接工具”即为边缘计算节点端桥接工具),网关管控服务端11接收到用户端发起的建桥(网桥)指令后注册会话,并分配内网开放端口等待端口配对,内网开放端口记为20XX端口;

网关管控服务端11通知网关客户端2当前具有端口配对请求,同时启动服务端桥接工具12建立20XX端口的转发节点B,从而建立起从20XX端口到转发节点B的双向数据转发通道Y(通信数据可在20XX端口与转发节点B间双向转发),服务端桥接工具12完成建立通道Y后向边缘计算节点的外网IP端口3(本实施例中,外网IP端口3采用边缘计算节点的9022端口)请求数据转发处理;

网关客户端21接收到通知指令后,启动边缘计算节点端桥接工具22建立边缘计算节点的远程登录端口4(本实施例中,远程登录端口4采用边缘计算节点的SSH服务22端口)的转发节点A,从而建立起从远程登录端口4到转发节点A的双向数据转发通道X(通信数据可在远程登录端口4与转发节点A间双向转发),边缘计算节点端桥接工具22完成建立通道X后向同个外网IP端口3请求数据转发处理;

网关管控服务端11通过外网IP端口3接收到服务端桥接工具12和边缘计算节点端桥接工具22的数据转发处理请求后建立转发节点A-外网IP端口-转发节点B的双向数据转发通道Z(通信数据可在转发节点A-外网IP端口-转发节点B间双向转发),从而完成对远程登录端口4与20XX端口间的端口配对;

用户通过SSH终端访问分配给边缘计算节点的20XX端口并沿通道Y-通道Z-通道X的通信路径最终连接到该边缘计算节点的远程登录端口4,实现对该边缘计算节点的远程运维。

网关管控服务端11内部包括指令处理模块111和配对转发模块112。图5示出了指令处理模块的内部结构示意图,如图5所示,指令处理模块中具体包括:

建桥指令接收单元,用于接收用户发起的所述建桥指令;

指令解析单元,连接建桥指令接收单元,用于从建桥指令中解析出sessionId(会话ID)和boxId(网关编号);

内网开放端口分配单元,用于分配供SSH终端连接的20XX端口;

会话注册及初始化单元,连接指令解析单元,用于根据所解析的sessionId注册会话,并将会话的会话状态初始化为“state=INIT”;

建桥指令下发单元,连接建桥指令接收单元和指令解析单元,用于下发建桥指令给boxId对应的网关客户端;

内网开放端口指定单元,连接内网开放端口分配单元,用于本地调用服务端桥接工具,为每个边缘计算节点从分配的各20XX端口中指定一20XX端口;

会话状态更新单元,用于根据配对转发模块生成的会话状态更新指令,更新会话的会话状态;

建桥是否成功判断单元,连接会话状态更新单元,用于判断会话的会话状态是否更新为“stat=SUCC”,

若是,则表明端口配对成功并通知用户建桥成功;

若否,则表明端口配对失败并通知用户建桥失败。

图6示出了配对转发模块的内部结构示意图。如图6所示,配对转发模块中包括:

socket客户端创建单元,用于创建socket客户端;

数据转发处理请求接收单元,连接socket客户端创建单元,用于通过边缘计算节点的外网IP端口接收转发节点A和转发节点B的数据转发处理请求;

请求内容解析单元,连接数据转发处理请求接收单元,用于从数据转发处理请求中解析出会话的sessionId和请求来源类型,请求来源类型为服务端桥接工具和/或边缘计算节点端桥接工具;

ID是否注册判断单元,连接请求内容解析单元,用于判断解析出的sessionId是否已经注册;

socket客户端关闭单元,连接ID注册判断单元,用于在判定sessionId未注册时关闭socket客户端;

socket客户端注册单元,连接ID注册判断单元和请求内容解析单元,用于在判定sessionId已注册时根据所解析的请求来源类型将socket客户端注册到当前的sessionId下的服务器客户端和/或box客户端(boxID对应的网关客户端);将socket客户端注册到当前sessionId下的服务器客户端和boxID客户端是一个“搭桥”过程,管控服务端已经建立起了数据转发通道Y,网关端已经建立起了数据转发通道X,将socket客户端注册到当前sessionId下的服务器客户端和boxID客户端的目的是在通道X和通道Y之间建立第三个桥接通道Z,完成通道X和通道Y之间的桥接。

服务器客户端注册单元,连接socket客户端注册单元,用于注册服务器客户端;

box客户端注册单元,连接socket客户端注册单元,用于注册box客户端(boxID对应的网关客户端);

是否注册判断单元,分别连接服务器客户端注册单元和box客户端注册单元, 用于判断服务器客户端或box客户端是否注册成功;

会话状态更新指令生成及发送单元,连接是否注册判断单元,用于在判定服务器客户端和box客户端全部注册成功后,生成会话状态更新指令发送给指令处理模块中的会话状态更新单元,

sessionId注销单元,连接是否注册判断单元,用于在判定服务器客户端或box客户端注册失败时,注销sessionId;

通知单元,连接是否注册判断单元,用于在判定服务器客户端和box客户端全部注册成功后,生成建桥成功通知推送给用户并生成响应成功信息发送给服务端桥接工具和边缘计算节点端桥接工具,并用于在判定服务器客户端或box客户端注册失败时,生成建桥失败通知推送给用户并生成响应失败信息发送给服务端桥接工具和边缘计算节点端桥接工具;

开启数据转发通知单元,连接是否注册判断单元,用于在判定服务器客户端和box客户端全部注册成功后,生成开启数据转发通知发送给转发节点A和转发节点B。

图7示出了服务端桥接工具的内部结构示意图。如图7所示,服务端桥接工具中包括:

指令解析单元,用于从网关管控服务端发送给服务端桥接工具的指令中解析出会话的sessionId以及所分配的20XX端口的端口信息;

socket服务端创建单元,用于创建并启动socket服务端;

端口监听单元,连接socket服务端创建单元,用于通过socket服务端监听20XX端口;

转发节点建立单元,连接端口监听单元,用于建立所监听的20XX端口的转发节点B;

数据转发处理请求生成单元,用于生成关联服务端桥接工具的数据转发处理请求;

数据转发处理请求发送单元,连接数据转发处理请求生成单元和socket服务端创建单元,用于向边缘计算节点的外网IP端口发送数据转发处理请求,数据转发处理请求中含有会话的sessionId以及请求来源类型(此处请求来源类型为服务端桥接工具);

响应信息接收单元,用于接收网关管控服务端对数据转发处理请求的响应信息(响应信息包括响应成功信息和响应失败信息);

第一端口关闭单元,连接所述响应信息接收单元和端口监听单元,用于在网关管控服务端响应失败时关闭所监听的20XX端口;

端口是否连接判断单元,用于判断SSH终端是否已连接到所监听的20XX端口;

数据转发开启单元,连接端口是否连接判断单元,用于在判定SSH终端已成功连接20XX端口后,开启20XX端口与外网IP端口的数据转发;

第二端口关闭单元,连接端口是否连接判断单元,用于在判定SSH终端连接20XX端口失败后,关闭20XX端口以退出建桥流程。

图8示出了边缘计算节点端桥接工具的内部结构示意图。如图8所示,边缘计算节点端桥接工具中包括:

指令解析单元,用于从网关客户端发送给边缘计算节点端桥接工具的指令中解析出会话的sessionId;

socket客户端创建单元,用于创建并启动socket客户端;

远程登录端口连接单元,连接socket客户端创建单元,用于通过socket客户端连接边缘计算节点的远程登录端口;

转发节点建立单元,连接远程登录端口连接单元,用于建立所连接的远程登录端口的转发节点A;

数据转发处理请求生成单元,用于生成关联边缘计算节点端桥接工具的数据转发处理请求;

数据转发处理请求发送单元,连接数据转发处理请求生成单元和socket客户端创建单元,用于通过socket客户端向边缘计算节点的外网IP端口发送数据转发处理请求,数据转发处理请求中含有会话的sessionId以及请求来源类型(此处请求来源为边缘计算节点端桥接工具);

响应信息接收单元,用于接收网关管控服务端对数据转发处理请求的响应信息(响应信息包括响应成功信息和响应失败信息,来源于服务端桥接工具和来源于边缘计算节点端桥接工具的数据转发处理请求中携带的sessionId若一致,则网关管控服务端将生成响应成功信息,否则生成响应失败信息);

Socket客户端关闭单元,连接响应信息接收单元,用于在所述网关管控服务端响应失败时关闭所述socket客户端,以退出建桥流程;

数据转发开启单元,连接所述响应信息接收单元,用于在所述网关管控服务端响应成功时,开启所述远程登录端口与所述外网IP端口间的数据转发。

以下对该装置实现边缘计算节点远程登录的方法进行具体阐述:

网关管控服务端中的指令处理模块负责接收用户的建桥指令、下发建桥指令,在接收到建桥指令后注册会话以及分配内网开放端口(20XX端口)并等待端口配对。

服务端桥接工具,用于建立转发节点B,实现20XX端口到9022端口的数据转发,具体实现方式为:

建立20XX端口的转发节点B,在20XX端口和转发节点B之间建立起双向数据转发通道Y。创建socket服务监听20XX端口等待SSH终端连接20XX端口(一个20XX端口仅限一个SSH终端连接,以提高远程登录的安全性)。创建socket客户端以在转发节点B与9022端口建立连接,实现20XX端口与9022端口的通信连接,实现报文互相转发。

网关客户端,通过无线通信网络(如4G网络)与网关管控服务端保持通讯,负责接收指令。

边缘计算节点端桥接工具,用于建立转发节点A,实现SSH服务22端口到9022端口的数据转发,具体实现方式为:

创建socket客户端在转发节点A与9022端口间建立连接,创建socket客户端在转发节点A与SSH服务22端口间建立连接,从而实现SSH服务22端口与9022端口的通信连接,实现两个端口间的报文互相转发。

网关管控服务端中的配对转发模块接收到转发节点A和转发节点B的数据转发处理请求后,根据会话完成SSH服务22端口与20XX端口的配对,具体实现方式为:

创建socket服务端监听9022端口,等待转发节点A和转发节点B的数据转发处理请求,转发节点A和转发节点B首次连接9022端口时携带会话ID和请求来源(请求来源为服务端桥接工具或边缘计算节点端桥接工具),网关管控服务端判断来源于服务端桥接工具和来源于边缘计算节点桥接工具的数据转发处理请求中携带的会话ID是否一致,

若一致,则完成转发节点A和转发节点B的端口配对,在边缘计算节点的20XX端口-转发节点B-9022端口-转发节点A-SSH服务22端口间建立起通信通道。

最终,用户通过SSH终端访问边缘计算节点的20XX端口连接SSH服务22端口,实现对边缘计算节点的远程运维。

图2示出了网关管控服务端的建桥流程图。更加具体地,如图2所示,网关管控服务端1内部包括指令处理模块111和配对转发模块112,指令处理模块111处理用户发起的建桥指令的方法步骤包括:

步骤A1,接收用户发起的建桥指令;

步骤A2,从建桥指令中解析出sessionId和boxId,并分配20XX端口;

步骤A3,注册sessionId,并初始化会话状态为“stat=INIT”;

步骤A4,下发建桥指令给网关编号boxId对应的网关客户端;

步骤A5,本地调用服务端桥接工具,为每个边缘计算节点从分配的各20XX端口中指定一20XX端口;

步骤A6,等待配对转发模块的后续建桥流程,并根据配对转发模块的建桥结果,更新会话状态;

步骤A7,判断一持续时间段内会话状态是否变更为“stat=SUCC”,

若是,则表明端口配对成功并通知用户建桥成功;

若否,则表明端口配对失败并通知用户建桥失败。

请继续参照图2,配对转发模块112的建桥流程包括:

步骤B1,创建socket客户端,并通过socket客户端从边缘计算节点的外网IP端口处(9022端口)接收转发节点A和转发节点B的数据转发处理请求;

步骤B2,从数据转发处理请求中解析出sessionId和请求来源类型(请求来源类型为服务端桥接工具或边缘计算节点端桥接工具);

步骤B3,判断解析出的sessionId是否已经注册,

若否,则通知用户建桥失败并关闭步骤B1所创建的socket客户端;

若是,则转入步骤B4;

步骤B4,若解析出的请求来源类型为服务端桥接工具,则注册socket客户端到当前sessionId下的服务器客户端(serverclinet);

若解析出的请求来源类型为边缘计算节点端桥接工具,则注册socket客户端到当前sessionId下的box客户端(boxclinet);

步骤B5,等待服务器客户端和box客户端注册,并判断是否注册成功,

若全部注册成功,则判定边缘计算节点的20XX端口与SSH服务22端口配对成功并生成会话状态更新指令发送给指令处理模块并转入步骤B6;

若服务器客户端或box客户端注册失败(比如服务器客户端或box客户端注册超时则将被判定为客户端注册失败),则注销sessionId;

步骤B6,通知转发节点A和转发节点B建桥成功可开启数据转发。

图3示出了服务端桥接工具的建桥流程图。如图3所示,服务端桥接工具的建桥过程包括:

步骤C1,服务端桥接工具从网关管控服务端发送的指令中解析出会话的sessionId以及所分配的20XX端口的端口信息;

步骤C2,启动socket服务端监听20XX端口;

步骤C3,建立所监听的20XX端口的数据转发节点B;

步骤C4,启动socket客户端向边缘计算节点的外网IP端口(9022端口)发送数据转发处理请求,该数据转发处理请求中含有会话的sessionId以及请求来源类型(此处请求来源类型为服务端桥接工具);

步骤C5,等待网关管控服务端对数据转发处理请求的响应,

若响应成功,则转入步骤C6;

若响应失败,则关闭所监听的20XX端口,退出建桥流程;

步骤C6,等待SSH终端连接所监听的20XX端口,

若连接成功,则在20XX端口-转发节点B-9022端口间建立数据转发通道,开启20XX端口与9022端口的数据转发;

若连接失败(比如超时未连接则判定连接失败),则关闭所述20XX端口并退出建桥流程。

上述技术方案中,网关客户端负责SSH终端与边缘计算节点的通讯,通过4G等无线通讯网络保持与网关管控服务端的长连接。同时,网关客户端还用于接收指令调用边缘计算节点段桥接工具。

图4示出了边缘计算节点端桥接工具的建桥流程图。如图4所示,边缘计算节点端桥接工具的建桥过程包括:

步骤D1,边缘计算节点端桥接工具从网关客户端发送的指令中解析出会话的sessionId;

步骤D2,启动socket客户端连接边缘计算节点的SSH服务22端口(远程登录端口);

步骤D3,建立SSH服务22端口的转发节点A,构建起SSH服务22端口与转发节点A间的通信通道;

步骤D4,利用socket客户端向边缘计算节点的9022端口发送数据转发处理请求,该数据转发处理请求中含有会话的sessionId以及请求来源类型(此处请求来源类型为边缘计算节点端桥接工具);

步骤D5,等待网关管控服务器对数据转发处理请求的响应,

若响应成功,则在SSH服务22端口-转发节点A-9022端口间建立数据转发通道,开启SSH服务22端口与9022端口的数据转发;

若响应失败,则关闭socket客户端,退出建桥流程。

综上,本发明提供的边缘计算节点远程登录装置仅需提供一个外网IP端口(9022端口),且该端口不是直接代理边缘计算节点的端口,访问该端口的数据需要经过转发节点A或转发节点B的转发,通信安全性较高。另外,20XX端口是内网开放端口,不暴露在外网,仅限内网用户访问,确保了远程运维操作的安全性。一个会话一个代理,即所建的20XX端口与SSH服务22端口间的端口映射为临时桥接,每次仅允许一个用户通过,关闭会话立即释放端口资源,不会长期占用边缘计算节点的端口资源。

本发明还提供了一种边缘计算节点远程登录方法,如图9所示,该远程登录方法包括:

步骤S1,网关管控服务端接收到用户端发起的建桥指令后注册会话,并分配内网开放端口等待端口配对,内网开放端口记为20XX端口;

步骤S2,网关管控服务端通知网关客户端当前具有端口配对请求,同时启动服务端桥接工具建立20XX端口的转发节点B以构建从20XX端口到转发节点B的双向数据转发通道Y,然后服务端桥接工具向边缘计算节点的外网IP端口请求数据转发处理;

步骤S3,网关客户端接收到通知指令后,启动边缘计算节点端桥接工具建立边缘计算节点的远程登录端口的转发节点A以构建从远程登录端口到转发节点A的双向数据转发通道X,然后边缘计算节点端桥接工具向同个外网IP端口请求数据转发处理;

步骤S4,网关管控服务端通过外网IP端口接收到服务端桥接工具和边缘计算节点端桥接工具的数据转发处理请求后构建起转发节点A-外网IP端口-转发节点B的双向数据转发通道Z,完成对远程登录端口与内网开放端口间的端口配对;

步骤S5,用户通过SSH终端访问分配给边缘计算节点的20XX端口并沿通道Y-通道Z-通道X的通信路径最终连接到边缘计算节点的远程登录端口,实现对边缘计算节点的远程运维。

需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。

相关技术
  • 边缘计算节点远程登录方法及登录装置
  • 一种远程登录失败的处理方法、装置及远程登录系统
技术分类

06120113281289