CN113938518B - 一种远程连接服务方法、装置及设备 - Google Patents
一种远程连接服务方法、装置及设备 Download PDFInfo
- Publication number
- CN113938518B CN113938518B CN202111384967.0A CN202111384967A CN113938518B CN 113938518 B CN113938518 B CN 113938518B CN 202111384967 A CN202111384967 A CN 202111384967A CN 113938518 B CN113938518 B CN 113938518B
- Authority
- CN
- China
- Prior art keywords
- connection
- service
- remote
- controlled end
- reverse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000000977 initiatory effect Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 5
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种远程连接服务方法、装置及设备,涉及资源调度技术领域,主控端通过业务平台服务器获取受控端的数据。本申请基于业务平台服务器与受控端建立的反向连接,提供主控端与受控端的远程连接服务。实现了内网设备和外网设备之间的远程连接服务。通过微服务的实现方式,为远程连接服务的开发和设备的运行维护提供了便利,由于将提供远程连接服务的功能由业务平台服务器实现,则登录到业务平台服务器提供的业务平台的任一设备均可以实现远程连接服务,不需要受限于设备的操作系统。
Description
技术领域
本发明涉及资源调度技术领域,具体涉及一种远程连接服务方法、装置及设备。
背景技术
随着网络管理技术的不断发展,远程访问服务也得到越来越广泛的应用,为远程办公人员、外出人员或办公系统管理人员的工作提供了便利。
现有技术主要基于Windows系统为用户提供远程桌面访问功能,使得用户访问的远程应用程序如同运行在自己的计算机本地。具体的,在Windows服务器中部署远程桌面程序RemoteApp,用户的客户端中安装mstsc、Secure CRT等远程连接工具,RemoteApp将远程桌面主机发布在Windows服务器中的远程应用情况还原至客户端,用户在客户端上利用远程连接工具,通过命令行方式对远程应用进行操作。
现有的远程连接服务大多仅支持Windows操作系统,无法实现跨系统的客户端与远程桌面主机的远程连接服务,且远程控制的对象多为固定设备,不支持内网设备和外网设备之间的远程连接服务。
发明内容
本申请提供了一种远程连接服务方法、装置及设备,通过业务平台服务器建立客户端与远程桌面的远程连接,实现了跨平台跨系统的客户端与远程桌面主机的远程连接服务,以及内网设备和外网设备之间的远程连接服务。
第一方面,本申请实施例提供了一种远程连接服务方法,应用于业务平台服务器,所述方法包括:
通过以微服务形式部署的微服务单元,接收主控端登录到业务平台服务器提供的业务平台后发起的远程连接请求,所述远程连接请求包括请求连接的受控端的设备标识;
通过所述微服务单元检测所述设备标识合法有效,且判定对应的受控端之前未以反向连接方式与远程连接服务单元建立连接通道时,向受控端下发反向连接指令;
通过远程连接服务单元接收受控端发起的反向连接请求,与所述受控端建立连接通道;
通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
在一种可能的实施方式中,所述方法还包括:
判定对应的受控端之前以反向连接方式与远程连接服务单元建立连接通道时,则通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
在一种可能的实施方式中,判定对应的受控端之前以反向连接方式/未以反向连接方式远程服务单元建立连接通道,包括:
确定所述远程连接请求申请连接的业务类型,所述业务类型包括远程控制和/或远程桌面;
确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道时,判定对应的受控端之前以反向连接方式与服务器建立连接通道,否则判定对应的受控端之前未以反向连接方式与服务器建立连接通道。
在一种可能的实施方式中,通过微服务单元向受控端下发反向连接指令,包括:
通过微服务单元基于所述设备标识及申请连接的业务类型生成对应的唯一连接识别码,向受控端下发携带所述唯一连接识别码的反向连接指令,将所述唯一连接识别码通知远程连接服务单元;
通过远程连接服务单元接收受控端发起的反向连接请求,与所述受控端建立连接通道,包括:
所述远程连接服务单元收到所述唯一连接识别码后监听反向连接;
收到受控端发起的反向连接请求后,确定反向连接请求中的唯一连接识别码与本地唯一连接识别码相匹配时,则与所述受控端建立连接通道。
在一种可能的实施方式中,确定反向连接请求中的唯一连接识别码与本地唯一连接识别码不匹配时,确定远程连接失败并通知主控端。
在一种可能的实施方式中,确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道,包括:
根据所述设备标识查询对应受控端对应的所有唯一连接识别码;
根据申请连接的业务类型,确定查询到对应的唯一连接识别码时,确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道。
在一种可能的实施方式中,所述业务平台服务器与所述主控端之间的通信协议为Guacamole协议,通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务,包括:
通过远程连接服务单元基于所述连接通道,提供主控端与受控端采用VNC协议的远程连接服务。
在一种可能的实施方式中,所述业务平台服务器与受控端之间通信时,接收所述受控端采用所述业务平台的软件开发工具包SDK或所述业务平台的Agent代理程序发送的数据。
在一种可能的实施方式中,通过所述微服务单元向受控端下发反向连接指令,包括:
通过所述微服务单元通过MQTT消息中间件,以发起Socket连接的方式向受控端下发反向连接指令。
第二方面,本申请实施例提供了一种远程连接服务方法,应用于主控端,所述方法包括:
登录到业务平台服务器提供的业务平台后向业务平台服务器发起远程连接请求,远程连接请求包括请求连接的受控端的设备标识;
通过业务平台服务器与受控端间以反向连接方式建立的连接通道,接收业务平台服务器提供的远程连接服务。
第三方面,本申请实施例提供了一种远程连接服务方法,应用于受控端,所述方法包括:
接收业务平台服务器基于主控端的远程连接请求下发的反向连接指令;
向所述业务平台服务器发送反向连接请求,与所述业务平台服务器建立连接通道;
基于所述连接通道,通过业务平台服务器向所述主控端提供远程连接服务。
第四方面,本申请实施例提供了一种远程连接服务装置,应用于业务平台服务器,所述装置包括:
第一接收请求模块,用于通过以微服务形式部署的微服务单元,接收主控端登录到业务平台服务器提供的业务平台后发起的远程连接请求,所述远程连接请求包括请求连接的受控端的设备标识;
检测模块,用于通过所述微服务单元检测所述设备标识合法有效,且判定对应的受控端之前未以反向连接方式与远程连接服务单元建立连接通道时,向受控端下发反向连接指令;
第二接收请求模块,用于通过远程连接服务单元接收受控端发起的反向连接请求,与所述受控端建立连接通道;
提供服务模块,用于通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
第五方面,本申请实施例提供了一种远程连接服务装置,应用于主控端,所述装置包括:
发起请求模块,用于登录到业务平台服务器提供的业务平台后向业务平台服务器发起远程连接请求,远程连接请求包括请求连接的受控端的设备标识;
接收服务模块,用于通过业务平台服务器与受控端间以反向连接方式建立的连接通道,接收业务平台服务器提供的远程连接服务。
第六方面:本申请实施例提供了一种远程连接服务装置,应用于受控端,所述装置包括:
接收指令模块,用于接收业务平台服务器基于主控端的远程连接请求下发的反向连接指令;
发起请求模块,用于向所述业务平台服务器发送反向连接请求,与所述业务平台服务器建立连接通道;
提供服务模块,基于所述连接通道,通过业务平台服务器向所述主控端提供远程连接服务。
第七方面,本申请实施例提供了一种远程连接服务设备,所述设备包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行远程连接服务方法中任何一项方法。
第八方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品用于使计算机执行远程连接服务方法中任何一项方法。
本申请实施例提供了一种远程连接服务方法、装置及设备,基于业务平台服务器与受控端建立的反向连接,提供主控端与受控端的远程连接服务。实现了内网设备和外网设备之间的远程连接服务。通过微服务的实现方式,为远程连接服务的开发和设备的运行维护提供了便利。
附图说明
图1为根据本发明示例性实施例示例的一种远程连接服务方法场景示意图;
图2为根据本发明示例性实施例示例的一种远程连接服务方法流程示意图;
图3为根据本发明示例性实施例示例的一种远程连接服务方法系统架构示意图;
图4为根据本发明示例性实施例示例的一种远程连接服务方法流程示意图;
图5为根据本发明示例性实施例示例的一种远程连接服务方法流程示意图;
图6为根据本发明示例性实施例示例的一种查询对应受控端对应的所有唯一连接识别码流程示意图;
图7为根据本发明示例性实施例示例的一种远程连接服务方法流程示意图;
图8为根据本发明示例性实施例示例的一种远程连接服务方法流程示意图;
图9为根据本发明示例性实施例示例的一种远程连接服务装置示意图;
图10为根据本发明示例性实施例示例的一种远程连接服务装置示意图;
图11为根据本发明示例性实施例示例的一种远程连接服务装置示意图;
图12为根据本发明示例性实施例示例的一种远程连接服务设备示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请实施例中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
首先,对本发明实施例的专业术语进行介绍。
Guacamole协议:是一个基于HTML 5和JavaScript的VNC查看器,整体被分为两部分:服务器端server,提供guacd代理和关联包;用户端client,通过servlet容器在tomcat上给客户端提供服务。服务端基于Java的VNCto-XML代理开发,可以在Web端实现基于VNC协议的远程控制功能。
VNC Server:作为一款配套使用的远程工具系列,其配套系列的兼容性为数据传输带来了很大的便捷性。在远程连接成功之后软件将安装了VNC Server服务器端的屏幕像素数据通过RFB协议传输到另一台安装VNC Viewer的电脑上从而控制该机器的使用。
Guacd:是运行在Guacamole服务端上代理服务的守护进程,接收用户请求Guacamole web应用的隧道连接,然后代替用户连接远程桌面。
VNC:是Virtual Network Computing(虚拟网络计算机)的缩写。VNC是由AT&T的欧洲研究实验室开发的一款优秀的跨平台远程桌面控制软件,支持Linux,Unix,Windows等操作系统跨平台远程桌面控制。VNC有两部分组成,分别是:服务端(vncserver)和客户端(vncviewer)。
Socket长连接:长连接指建立Socket连接后不管是否使用都保持连接。
本申请提供的远程连接服务方法应用于业务平台服务器,基于业务平台服务器与多个设备连接的场景,本申请将与业务平台服务器中连接的设备根据需求划分为主控端和受控端,如图1所示为本申请提出的基于业务平台服务器提供的远程连接系统对应的架构图,该系统包括业务平台服务器101、数据库102、至少一个主控端(图中示例的主控端103_1、主控端103_2、主控端103_N),至少一个受控端(图中示例的受控端104_1、受控端104_2、受控端104_N)。其中业务平台服务器101为主控端与受控端的远程连接服务提供支持。主控端操作系统包括Windows、Linux、Mac等,可以向业务平台服务器101发起远程连接请求,并且接收业务平台服务器101提供的远程连接服务。受控端的操作系统包括Windows、Linux、Mac、Android、IOS,可以与业务平台服务器101建立连接通道,基于所述连接通道,通过业务平台服务器101向对应的主控端提供远程连接服务。数据库102用于存储业务平台服务器101实现相应功能需要的数据。
图2为本申请实施例提供的一种远程连接服务方法流程示意图,应用于业务平台服务器,包括:
S201:通过以微服务形式部署的微服务单元,接收主控端登录到业务平台服务器提供的业务平台后发起的远程连接请求,所述远程连接请求包括请求连接的受控端的设备标识。
本申请实施例中,在业务平台上注册的任一设备既可以作为主控端,也可以作为受控端。其中业务平台为业务平台服务器提供的一种支持用户操作的界面,在所述界面上,用户可以进行注册、登录、查看数据、发送指令等操作。如果一个主控端希望远程连接一个受控端,该主控端和该受控端需要在所述业务平台上进行注册,该主控端和该受控端的设备标识则会被所述业务平台服务器在注册信息中记录下来,用于为该主控端和该受控端提供远程连接服务。
所述业务平台服务器部署了微服务单元,微服务架构模式就是将web应用拆分为一系列小的服务模块,这些模块可以独立地编译、部署,并通过各自暴露的API接口通讯,共同组成一个web应用。本实施例中提供的微服务单元的架构包括但不限于Java语言相关的微服务框架:Spring Boot、Spring Cloud、Dubbo、Akka、Dropwizard;Net相关的微服务框架:Surging、Microdot Framework;Node.js相关的微服务框架:Seneca;Go相关的微服务框架:Go-Kit、Goa、Dubbogo、RMS;Python相关的微服务框架:Namko。具体可以根据业务平台服务器的能力部署以微服务形式部署上述微服务单元。
在本申请实施例中,所述业务平台服务器可以但不限于为物联网(Internet ofthings,IOT)平台服务器,可以部署微服务单元向不同设备提供业务服务的业务平台服务器均可应用本申请提供的远程连接服务方法提供远程连接服务。
通过微服务单元的部署可以实现服务的独立部署、服务的快速启动,更加适合敏捷开发、职责专一,由专门的团队负责专门的服务,服务可以动态按需扩容。
S202:通过所述微服务单元检测所述设备标识合法有效,且判定对应的受控端之前未以反向连接方式与远程连接服务单元建立连接通道时,向受控端下发反向连接指令。
当一个设备注册登录到业务平台时,所述设备的设备标识则会被业务平台服务器记录下来,只有被业务平台服务器记录下来的设备标识才是合法有效的,即业务平台服务器支持为被记录的设备提供远程连接服务。若一个受控端之前以反向连接方式与业务平台服务器的远程连接服务单元建立连接通道,则所述连接通道将持续存在,在满足既定的条件时,该练接通道可以被复用。
反向连接指的是受控端主动连接主控端,在受控端和主控端之间建立一个远程连接;通过这个连接主控端可以主动地向受控端发送一些请求。
S203:通过远程连接服务单元接收受控端发起的反向连接请求,与所述受控端建立连接通道。
对于内网的设备来说,由于该设备的IP地址对于外网设备是未知的,所以在不借助其它服务器的情况下,另一台设备无法获取其IP地址对其进行远程连接,当在两台设备建立一个反向连接后,内网的设备将可以基于所述反向连接与另一台设备进行远程连接。
S204:通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
所述连接通道通过业务平台服务器进行建立,通过所述连接通道使得主控端可以获取到内网受控端的IP地址,进而可以与其进行通信和远程连接。
本申请实施例提供了一种远程连接服务方法,基于业务平台服务器与受控端建立的反向连接,提供主控端与受控端的远程连接服务。实现了内网设备和外网设备之间的远程连接服务。通过微服务的实现方式,为远程连接服务的开发和设备的运行维护提供了便利,由于将提供远程连接服务的功能由业务平台服务器实现,则登录到业务平台的任一设备均可以实现远程连接服务,不需要受限于设备的操作系统。
如图3所示为本申请实施例提供的一种远程连接服务系统中不同设备中的软件功能架构示意图,包括Web UI控制端(主控端)、IOT平台服务器、PC受控端。Web UI控制端即为主控端,是通过Web浏览器登录IOT平台,向IOT平台服务器发起远程连接请求的,Web浏览器支持微服务通信的方式,不需要再在Web UI控制端安装其它远程连接服务的组件或者程序。Web UI控制端的软件功能模块包括:连接模块、菜单模块、展示模块。连接模块用来以微服务通信的方式向IOT平台服务器的RMS微服务发送连接请求;菜单模块提供了远程连接服务的业务类型,业务类型主要包括远程控制和远程桌面;展示模块用于展示受控端返回的数据流和IOT平台服务器反馈的消息。
IOT平台服务器的软件功能模块包括:连接模块、消息模块、RMS微服务、Guacd服务,RMS微服务包括:校验模块、监听模块、查询模块。其中连接模块用于负责主控端或受控端与IOT平台服务器的连接,使主控端或受控端可以登录到IOT平台服务器提供的IOT平台;IOT平台服务器通过消息模块可以与主控端和受控端进行通信;RMS微服务中的校验模块用于检测远程连接请求,包括请求连接的受控端的设备标识是否合法有效;IOT平台服务器下发反向连接指令由所述微服务单元通过MQTT消息中间件,以发起Socket连接的方式实现的;监听模块用于监测所述Socket连接;查询模块用于查询IOT平台服务器内与该服务器建立连接的设备ID;Guacd服务实现远程连接服务单元的功能,是运行在Guacamole服务端上代理服务的守护进程,接收用户通过主控端请求Guacamole web应用的隧道连接,然后代替用户连接远程桌面。Web UI控制端与IOT平台服务器之间是通过Guacamole进行连接的。
受控端的软件功能模块主要包括:IOT Agent和TigerVNC Server,IOT Agent可以实现跨平台的通信;本申请实施例对TigerVNC Server端进行了改造,支持在反向连接的时候传递指定的参数进行身份校验。IOT平台服务器与受控端之间是通过MQTT消息中间件进行通信的。
在一种可能的实施方式中,通过所述微服务单元向受控端下发反向连接指令,包括:
通过所述微服务单元通过MQTT消息中间件,以发起Socket连接的方式向受控端下发反向连接指令。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,部署在业务平台服务器上。
在一种可能的实施方式中,通过所述微服务单元检测所述设备标识合法有效后,还包括以下情况:
判定对应的受控端之前以反向连接方式与远程连接服务单元建立连接通道时,则通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
在判定对应的受控端之前以反向连接方式/未以反向连接方式远程服务单元建立连接通道后,则需要对远程连接请求的业务类型进行判断,确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道时,判定对应的受控端之前以反向连接方式与服务器建立连接通道,即可以复用以前的连接通道;否则判定对应的受控端之前未以反向连接方式与服务器建立连接通道。
确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道,具体通过如下实施方式:
根据所述设备标识查询对应受控端对应的所有唯一连接识别码;
根据申请连接的业务类型,确定查询到对应的唯一连接识别码时,确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道。
具体地,确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道包括如下至少一种情况:
1)若业务类型为远程控制,则查询申请连接的受控端之前是否与远程服务单元建立远程控制类型的连接通道,所述远程服务单元可以但不限于Guacd服务。
若建立远程控制的连接通道,即可以复用该类型的连接通道。
若没有建立远程控制的连接通道,则执行S203。
2)若业务类型为远程控制桌面,则查询申请连接的受控端之前是否与Guacd服务建立远程桌面类型的连接通道。
若建立远程桌面的连接通道,则将该受控端的数据流同步给发起连接请求的主控端,并将该主控端设备的设备标识记录入库。
若没有建立远程桌面的连接通道,则执行S203。
3)若业务类型为远程桌面和远程控制,则查询申请连接的受控端之前是否与Guacd服务建立远程控制和远程桌面类型的连接通道。
若建立远程控制和远程桌面类型的连接通道,则复用类型的连接通道。
若没有建立远程控制和远程桌面类型的连接通道,则执行S203。
本申请实施例提供的一种远程连接服务方法,支持多个web用户访问同一个受控端,及支持1个受控端下,有远程桌面、远程控制等多种业务形态的连接同时存在。
需要注意的是,根据业务需求,为了避免同一个受控端被多个主控端控制的情况,确定之前建立远程控制类型的连接通道或远程控制和远程桌面类型的连接通道,则此次对应的业务类型可能会被拒绝。
本申请实施例提供的一种远程连接方法流程为:当对应的受控端之前未以反向连接方式与服务器建立连接通道时,即未加入已有连接,则通过微服务单元基于所述设备标识及申请连接的业务类型生成对应的唯一连接识别码,向受控端下发携带所述唯一连接识别码的反向连接指令,将所述唯一连接识别码通知远程连接服务单元;
通过远程连接服务单元接收受控端发起的反向连接请求,与所述受控端建立连接通道,包括:
所述远程连接服务单元收到所述唯一连接识别码后监听反向连接;
收到受控端发起的反向连接请求后,确定反向连接请求中的唯一连接识别码与本地唯一连接识别码相匹配时,则与所述受控端建立连接通道。
确定反向连接请求中的唯一连接识别码与本地唯一连接识别码不匹配时,确定远程连接失败并通知主控端。
所述远程服务单元可以但不限于Guacd服务,具体可以根据业务平台服务器的能力部署以远程连接服务形式部署上述远程连接服务单元。
现有模式的Guacd服务为按需监听反向连接,而且无法判断连接身份,本申请实施例中对Guacd服务进行了改造,可以对反向连接始终进行监听,并且可以校验受控端的唯一连接识别码。在一种可能的实施方式中,所述业务平台服务器与所述主控端之间的通信协议为Guacamole协议;
通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务,包括:
通过远程连接服务单元基于所述连接通道,提供主控端与受控端采用VNC协议的远程连接服务。
通过VNC协议的远程连接服务,实现了不同操作系统跨平台远程连接服务。
在一种可能的实施方式中,所述受控端采用业务平台的软件开发工具包SDK或业务平台的Agent代理程序向业务平台服务器发送数据。
受控端支持安装业务平台服务器的软件开发工具包SDK或Agent代理程序,业务平台服务器的Agent代理程序包括了VNC Sever程序。
VNC Sever程序为VNC的组成部分,远程连接成功后,受控端的数据通过RFB协议传输到另一台安装VNC Viewer的设备上,从而实现对受控端的控制。
在一种可能的实施方式中,通过IOT平台服务器实现主控端与受控端之间远程连接的具体流程如图4所示,主控端通过浏览器发送一个包括设备标识的连接请求,以发起连接;RMS微服务根据所述设备标识找到对应的设备并生成任务号等校验字符串;RMS微服务发起Socket连接,通过MQTT消息中间件唤醒受控端,以发起的Socket连接向受控端下发携带唯一连接识别码的远程协助消息;Guacd服务接收RMS微服务发起的Socket连接,等待校验;受控端启动IOT Agent代理程序和VNC Sever程序,向Guacd服务发起反向连接;Guacd服务接收到唯一连接识别码后对所述反向连接进行监听,当确定反向连接请求中的唯一连接识别码与本地的唯一连接识别码相匹配时,则主控端与受控端建立连接通道并通知RMS微服务,RMS微服务将所述连接通道记录到所述IOT平台服务器中;受控端的画面通过所述连接通道传到主控端;主控端收到画面后进行展示。
在一种可能的实施方式中,当至少一个主控端向同一受控端发起远程连接时,具体流程如图5所示:
步骤1:主控端通过浏览器向IOT平台服务器的RMS微服务发送远程连接请求,所述远程连接请求包括请求连接的受控端的设备标识。
步骤2:RMS微服务根据设备标识验证所述设备标识的有效性:
若无效,则表明该设备并未注册登录过所述IOT平台,则返回主控端请求无效,流程结束;
若有效,则进入步骤3。
步骤3:判断是否加入已有的连接通道,若是,执行步骤4,若否,则执行步骤6;
步骤4:根据所述设备标识查询对应受控端对应的所有业务类型的连接通道,如图6所示。
若查询结果不为空,则展示受控端对应的所有业务类型的连接通道,执行步骤5。
若查询结果为空,则展示IOT平台服务器内所有的受控端对应的所有业务类型的连接通道。
步骤5:根据申请连接的业务类型,确定查询到对应业务类型的连接通道时,确定对应的受控端之前以反向连接方式与Guacd服务建立对应业务类型的连接通道;
建立对应业务类型的连接通道包括如下至少一种情况:
1)若业务类型为远程控制,则查询申请连接的受控端之前是否与Guacd服务建立远程控制类型的连接通道。
若建立远程控制的连接通道,根据业务的需求,为了避免两台设备被同时控制同一台设备的情况,拒绝该远程控制的连接请求,并提示是否申请加入远程桌面的连接。
若没有建立远程控制的连接通道,则执行步骤6;
2)若业务类型为远程控制桌面,则查询申请连接的受控端之前是否与Guacd服务建立远程桌面类型的连接通道。
若建立远程桌面的连接通道,则将该受控端的数据流同步给发起连接请求的主控端,并将该主控端设备的设备标识记录入库。
若没有建立远程桌面的连接通道,则执行步骤6;
3)若业务类型为远程桌面和远程控制,则查询申请连接的受控端之前是否与Guacd服务建立远程控制和远程桌面类型的连接通道。
若建立远程控制和远程桌面类型的连接通道,根据业务的需求,为了避免两台设备被同时控制同一台设备的情况,拒绝该远程控制和远程桌面的连接请求,并提示是否申请加入远程桌面的连接。
若没有建立远程控制和远程桌面类型的连接通道,则执行步骤6;
步骤6:通过Guacd服务基于所述设备标识及申请连接的业务类型生成对应的唯一连接识别码,向受控端下发携带所述唯一连接识别码的反向连接指令,将所述唯一连接识别码发送至Guacd服务;
Guacd服务通过MQTT消息中间件启动受控端,向受控端下发反向连接指令;
步骤7:受控端收到启动消息,通过VNC Sever启动反向连接;
步骤8:所述Guacd服务收到所述唯一连接识别码后监听反向连接;
收到受控端发起的反向连接请求后,判断反向连接请求中的唯一连接识别码与本地唯一连接识别码是否相匹配;
若匹配,则与所述受控端建立连接通道,受控端基于该连接通道,将受控端的画面回传至主控端;
若不匹配,确定远程连接失败并通知主控端。
基于相同的发明构思,本申请实施例还提供了一种远程连接服务方法,应用于主控端,如图7所示,所述方法包括:
S701:登录到业务平台服务器提供的业务平台后向业务平台服务器发起远程连接请求,远程连接请求包括请求连接的受控端的设备标识;
S702:通过业务平台服务器与受控端间以反向连接方式建立的连接通道,接收业务平台服务器提供的远程连接服务。
主控端主要通过Web浏览器的方式通过登录到所述业务平台后向业务平台服务器发起远程连接请求,支持微服务通信,不需要再安装其它的程序。主控端的操作系统包括:Windows、Linux、Mac系统等多种形式,而且主控端可以为移动终端,例如:手机、平板、笔记本电脑、智慧柜员机、智能互动大屏终端;也可以为固定终端。
具体远程连接服务流程如前所述。
基于相同的发明构思,本申请实施例还提供了一种远程连接服务方法,应用于受控端,如图8所示,所述方法包括:
S801:接收业务平台服务器基于主控端的远程连接请求下发的反向连接指令;
S802:向所述业务平台服务器发送反向连接请求,与所述业务平台服务器建立连接通道;
S803:基于所述连接通道,通过业务平台服务器向所述主控端提供远程连接服务。
受控端上安装了所述业务平台的软件开发工具包SDK或所述业务平台的Agent代理程序,通过上述软件或程序可以与业务平台服务器进行通信。受控端的操作系统包括:Windows、Linux、Mac、Android、IOS等多种形式。
具体远程连接服务流程如前所述。
基于相同的发明构思,本申请提供了一种远程连接服务装置900,如图9所示,所述装置包括:
第一接收请求模块901,用于通过以微服务形式部署的微服务单元,接收主控端登录到业务平台服务器提供的业务平台后发起的远程连接请求,所述远程连接请求包括请求连接的受控端的设备标识;
检测模块902,用于通过所述微服务单元检测所述设备标识合法有效,且判定对应的受控端之前未以反向连接方式与远程连接服务单元建立连接通道时,向受控端下发反向连接指令;
第二接收请求模块903,用于通过远程连接服务单元接收受控端发起的反向连接请求,与所述受控端建立连接通道;
提供服务模块904,用于通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
在一种可能的实施方式中,检测模块判定对应的受控端之前以反向连接方式与远程连接服务单元建立连接通道时,则通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
在一种可能的实施方式中,检测模块判定对应的受控端之前以反向连接方式/未以反向连接方式远程服务单元建立连接通道,包括:
确定所述远程连接请求申请连接的业务类型,所述业务类型包括远程控制和/或远程桌面;
确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道时,判定对应的受控端之前以反向连接方式与服务器建立连接通道,否则判定对应的受控端之前未以反向连接方式与服务器建立连接通道。
在一种可能的实施方式中,提供服务模块通过微服务单元向受控端下发反向连接指令,包括:
通过微服务单元基于所述设备标识及申请连接的业务类型生成对应的唯一连接识别码,向受控端下发携带所述唯一连接识别码的反向连接指令,将所述唯一连接识别码通知远程连接服务单元;
通过远程连接服务单元接收受控端发起的反向连接请求,与所述受控端建立连接通道,包括:
所述远程连接服务单元收到所述唯一连接识别码后监听反向连接;
收到受控端发起的反向连接请求后,确定反向连接请求中的唯一连接识别码与本地唯一连接识别码相匹配时,则与所述受控端建立连接通道。
在一种可能的实施方式中,检测模块确定反向连接请求中的唯一连接识别码与本地唯一连接识别码不匹配时,确定远程连接失败并通知主控端。
在一种可能的实施方式中,检测模块确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道,包括:
根据所述设备标识查询对应受控端对应的所有唯一连接识别码;
根据申请连接的业务类型,确定查询到对应的唯一连接识别码时,确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道。
在一种可能的实施方式中,所述业务平台服务器与所述主控端之间的通信协议为Guacamole协议,提供服务模块通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务,包括:
通过远程连接服务单元基于所述连接通道,提供主控端与受控端采用VNC协议的远程连接服务。
在一种可能的实施方式中所述业务平台服务器与受控端之间通信时,第二接受请求模块接收所述受控端采用所述业务平台的软件开发工具包SDK或所述业务平台的Agent代理程序发送的数据。
在一种可能的实施方式中,提供服务模块通过所述微服务单元向受控端下发反向连接指令,包括:
通过所述微服务单元通过MQTT消息中间件,以发起Socket连接的方式向受控端下发反向连接指令。
基于相同的发明构思,本申请实施了提供了一种远程连接服务装置1000,如图10所示,所述装置包括:
发起请求模块1001,用于登录到业务平台服务器提供的业务平台后向业务平台服务器发起远程连接请求,远程连接请求包括请求连接的受控端的设备标识;
接收服务模块1002,用于通过业务平台服务器与受控端间以反向连接方式建立的连接通道,接收业务平台服务器提供的远程连接服务。
基于相同的发明构思,本申请实施了提供了一种远程连接服务装置1100,如图11所示,所述装置包括:
接收指令模块1101,用于接收业务平台服务器基于主控端的远程连接请求下发的反向连接指令;
发起请求模块1102,用于向所述业务平台服务器发送反向连接请求,与所述业务平台服务器建立连接通道;
提供服务模块1103,基于所述连接通道,通过业务平台服务器向所述主控端提供远程连接服务。
基于相同的发明构思,本申请实施了提供了一种远程连接服务设备,如图12所示,所述设备包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述实施例中的任一远程连接服务的方法。
下面参照图12来描述根据本申请的这种实施方式的电子设备130。图12显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
所述处理器131用于读取所述存储器132中的指令并执行,以使所述至少一个处理器能够执行上述实施例提供的远程连接服务方法。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的一种远程连接服务方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种远程连接服务方法的步骤。
另外,本申请还提供一种计算机程序产品,所述计算机程序产品用于使计算机执行上述实施例中任何一项所述的方法。
这些计算机程序指令可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种远程连接服务方法,其特征在于,应用于业务平台服务器,所述方法包括:
通过以微服务形式部署的微服务单元,接收主控端登录到业务平台服务器提供的业务平台后发起的远程连接请求,所述远程连接请求包括请求连接的受控端的设备标识;
通过所述微服务单元检测所述设备标识合法有效,且判定对应的受控端之前未以反向连接方式与远程连接服务单元建立连接通道时,基于所述设备标识及申请连接的业务类型生成对应的唯一连接识别码,向受控端下发携带所述唯一连接识别码的反向连接指令,将所述唯一连接识别码通知远程连接服务单元;
通过所述远程连接服务单元收到所述唯一连接识别码后监听反向连接;收到受控端发起的反向连接请求后,确定反向连接请求中的唯一连接识别码与本地唯一连接识别码相匹配时,则与所述受控端建立连接通道;
通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
2.根据权利要求1所述的方法,其特征在于,还包括:
判定对应的受控端之前以反向连接方式与远程连接服务单元建立连接通道时,则通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
3.根据权利要求1或2所述的方法,其特征在于,判定对应的受控端之前以反向连接方式/未以反向连接方式远程服务单元建立连接通道,包括:
确定远程连接请求申请连接的业务类型,所述业务类型包括远程控制和/或远程桌面;
确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道时,判定对应的受控端之前以反向连接方式与服务器建立连接通道,否则判定对应的受控端之前未以反向连接方式与服务器建立连接通道。
4.根据权利要求1所述的方法,其特征在于,还包括:
确定反向连接请求中的唯一连接识别码与本地唯一连接识别码不匹配时,确定远程连接失败并通知主控端。
5.根据权利要求3所述的方法,其特征在于,确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道,包括:
根据设备标识查询对应受控端对应的所有唯一连接识别码;
根据申请连接的业务类型,确定查询到对应的唯一连接识别码时,确定对应的受控端之前以反向连接方式与远程服务单元建立对应业务类型的连接通道。
6.根据权利要求1或2所述的方法,其特征在于,业务平台服务器与所述主控端之间的通信协议为Guacamole协议,通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务,包括:
通过远程连接服务单元基于所述连接通道,提供主控端与受控端采用VNC协议的远程连接服务。
7.根据权利要求1或2所述的方法,其特征在于,业务平台服务器与受控端之间通信时,接收所述受控端采用业务平台的软件开发工具包SDK或所述业务平台的Agent代理程序发送的数据。
8.根据权利要求1或2所述的方法,其特征在于,通过微服务单元向受控端下发反向连接指令,包括:
通过所述微服务单元通过MQTT消息中间件,以发起Socket连接的方式向受控端下发反向连接指令。
9.一种远程连接服务装置,其特征在于,应用于业务平台服务器,所述装置包括:
第一接收请求模块,用于通过以微服务形式部署的微服务单元,接收主控端登录到业务平台服务器提供的业务平台后发起的远程连接请求,所述远程连接请求包括请求连接的受控端的设备标识;
检测模块,用于通过所述微服务单元检测所述设备标识合法有效,且判定对应的受控端之前未以反向连接方式与远程连接服务单元建立连接通道时,基于所述设备标识及申请连接的业务类型生成对应的唯一连接识别码,向受控端下发携带所述唯一连接识别码的反向连接指令,将所述唯一连接识别码通知远程连接服务单元;
第二接收请求模块,用于通过所述远程连接服务单元收到所述唯一连接识别码后监听反向连接;收到受控端发起的反向连接请求后,确定反向连接请求中的唯一连接识别码与本地唯一连接识别码相匹配时,则与所述受控端建立连接通道;
提供服务模块,用于通过远程连接服务单元基于所述连接通道,提供主控端与受控端的远程连接服务。
10.一种远程连接服务设备,其特征在于,所述设备包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任何一项所述的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品用于使计算机执行如权利要求1-8中任何一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111384967.0A CN113938518B (zh) | 2021-11-22 | 2021-11-22 | 一种远程连接服务方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111384967.0A CN113938518B (zh) | 2021-11-22 | 2021-11-22 | 一种远程连接服务方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113938518A CN113938518A (zh) | 2022-01-14 |
CN113938518B true CN113938518B (zh) | 2024-04-26 |
Family
ID=79287159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111384967.0A Active CN113938518B (zh) | 2021-11-22 | 2021-11-22 | 一种远程连接服务方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113938518B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116661937B (zh) * | 2023-07-26 | 2023-09-22 | 神州医疗科技股份有限公司 | 基于guacamole远程控制云放疗协同方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065620A (zh) * | 2013-03-21 | 2014-09-24 | 苏州方位通讯科技有限公司 | 一种访问受限设备的网络服务访问连接方法 |
CN106357732A (zh) * | 2016-08-25 | 2017-01-25 | 珠海迈科智能科技股份有限公司 | 一种分布式反向代理服务端和客户端的方法、装置及系统 |
CN108600204A (zh) * | 2018-04-11 | 2018-09-28 | 浙江大学 | 一种基于反向连接和应用层隧道的企业内网访问方法 |
CN110225054A (zh) * | 2019-06-20 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 远程协助连接建立方法、装置、服务器及存储介质 |
CN111711659A (zh) * | 2020-05-22 | 2020-09-25 | 北京天维信通科技有限公司 | 远程管理终端方法和装置、设备及其存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9197680B2 (en) * | 2013-05-23 | 2015-11-24 | Qualcomm Incorporated | Establishing and controlling audio and voice back channels of a Wi-Fi display connection |
-
2021
- 2021-11-22 CN CN202111384967.0A patent/CN113938518B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065620A (zh) * | 2013-03-21 | 2014-09-24 | 苏州方位通讯科技有限公司 | 一种访问受限设备的网络服务访问连接方法 |
CN106357732A (zh) * | 2016-08-25 | 2017-01-25 | 珠海迈科智能科技股份有限公司 | 一种分布式反向代理服务端和客户端的方法、装置及系统 |
CN108600204A (zh) * | 2018-04-11 | 2018-09-28 | 浙江大学 | 一种基于反向连接和应用层隧道的企业内网访问方法 |
CN110225054A (zh) * | 2019-06-20 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 远程协助连接建立方法、装置、服务器及存储介质 |
CN111711659A (zh) * | 2020-05-22 | 2020-09-25 | 北京天维信通科技有限公司 | 远程管理终端方法和装置、设备及其存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113938518A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109525624B (zh) | 一种容器登录方法、装置及存储介质 | |
US8825748B2 (en) | Sandboxed daemon process invocation through HTTP | |
EP3575975B1 (en) | Method and apparatus for operating smart network interface card | |
CN103106102A (zh) | 一种web应用程序的运行方法及移动终端 | |
CN111193602B (zh) | 自动化运维管理系统及方法 | |
CN108769124B (zh) | PaaS平台的应用部署方法、装置、服务器及存储介质 | |
US9054299B2 (en) | Registering a common information model provider to a common information model object manager | |
CN103034527A (zh) | 混合虚拟化云计算资源优化控制方法与系统 | |
CN113900834B (zh) | 基于物联网技术的数据处理方法、装置、设备及存储介质 | |
US11917103B2 (en) | Cloud integration to desktop-based emergency service applications | |
CN111970359B (zh) | 基于Node.js服务器的前端无服务架构系统及建立方法 | |
CN113938518B (zh) | 一种远程连接服务方法、装置及设备 | |
CN107800580B (zh) | 一种大批量操作系统的安装状态监控方法、服务器和系统 | |
CN112688915A (zh) | 跨协议通信方法、装置及服务器 | |
US9141399B2 (en) | System and method for input tool invocation and proxy device | |
EP4030776A1 (en) | Method and apparatus for triggering vomci function from olt to send omci messages | |
CN103092721B (zh) | 一种应用备份方法、电子设备及系统 | |
KR101857020B1 (ko) | 서버에서 제공되는 서비스를 관리하기 위한 단말기의 장치 및 방법 | |
CN106657076B (zh) | 一种网络命名空间的tcp服务实现方法及装置 | |
CN111930542A (zh) | 数据采集方法、装置、电子设备及计算机可读存储介质 | |
CN107277107B (zh) | 应用调试方法、装置及系统 | |
CN112416698B (zh) | 监控系统的扩展方法及装置、存储介质及电子设备 | |
CN109660573B (zh) | 数据传输方法和装置 | |
CN111176782A (zh) | 一种在线实验方法和装置 | |
CN117591246B (zh) | 一种kvm虚拟机web终端的实现方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |