用于对第一设备进行远程访问的方法、系统以及相关设备

文档序号:1116106 发布日期:2020-09-29 浏览:9次 >En<

阅读说明:本技术 用于对第一设备进行远程访问的方法、系统以及相关设备 (Method, system and related device for remotely accessing a first device ) 是由 肖文虎 于 2019-03-22 设计创作,主要内容包括:本发明公开了一种用于对第一设备进行远程访问的方法、系统以及相关设备。该方法包括:响应于接收到的来自第二设备针对第一设备的远程访问请求,创建所述第一设备与所述第二设备之间的会话;接收来自所述第二设备的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的用户账户的用户登录信息;向所述第一设备发送所述第一设备登录请求,以基于所述用户登录信息登录所述第一设备,其中,所述第一设备登录请求对应的用户账户不同于所述第一设备本地当前登录的用户账户。由此,安全、方便地实现对第一设备的远程访问与控制。(The invention discloses a method, a system and a related device for remotely accessing a first device. The method comprises the following steps: creating a session between a first device and a second device in response to a received remote access request from the second device for the first device; receiving a first device login request from the second device, wherein the first device login request comprises user login information of a user account on the first device; and sending the first equipment login request to the first equipment so as to log in the first equipment based on the user login information, wherein a user account corresponding to the first equipment login request is different from a user account currently logged in locally by the first equipment. Therefore, remote access and control of the first device are safely and conveniently realized.)

用于对第一设备进行远程访问的方法、系统以及相关设备

技术领域

本发明涉及互联网技术领域,特别涉及一种用于对第一设备进行远程访问方法、系统以及相关设备、计算设备和存储介质。

背景技术

随着社会信息化的不断深入,关键性行业的关键任务将越来越多地依靠工控机,而以工业控制计算机(Industrial Personal Computer,IPC,简称工控机)为基础的低成本工业控制自动化正在成为主流。而随着越来越多的设备投入使用,用户在使用设备的过程中不可避免地会出现各种各样的问题,如何有效地解决用户遇到的问题成为各大厂商面临的重要问题。

目前,在工业服务器中,大多终端设备基于windows操作系统,在终端设备出现故障时,通常需要技术人员前往故障设备所在地或者使用一些第三方工具来进行问题排查,边缘计算应用在工控机中也面临着这样的问题。但是,这些故障解决方案,要么需要在设备侧安装第三方工具,要么每个设备分别占用服务器的一个网络端口,并且需要在服务器侧进行繁杂的配置并使服务器对外提供相关的服务,既无法保障安全性,也不便于针对大量设备的故障分析,导致检测与控制效率低下。

因此,仍然需要一种高效且安全的解决方案。

发明内容

本公开的目的是提供一种用于对第一设备进行远程访问的方法、系统以及相关设备,以解决上述的至少一个问题。

根据本公开的一个方面,提供了一种用于对第一设备进行远程访问的方法,应用于服务器,所述方法包括:响应于接收到的来自第二设备针对第一设备的远程访问请求,创建所述第一设备与所述第二设备之间的会话;接收来自所述第二设备的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的用户账户的用户登录信息;向所述第一设备发送所述第一设备登录请求,以基于所述用户登录信息登录所述第一设备,其中,所述第一设备登录请求对应的用户账户不同于所述第一设备本地当前登录的用户账户。

可选地,所述第一设备登录请求对应的用户账户和所述第一设备本地用户账户同时登录所述第一设备,相互独立且互不影响地访问所述第一设备。

可选地,所述第一设备上设置有多个用户账户,该方法还包括:在一个第二设备与所述第一设备的会话期间,创建另一个第二设备与所述第一设备的会话,所述另一个第二设备对应的用户账户不同于所述一个第二设备对应的用户账户,且不同于所述第一设备本地当前登录的用户账户,并且,所述一个第二设备对应的用户账户、所述另一个第二设备对应的用户账户和所述第一设备本地用户账户同时登录所述第一设备,相互独立且互不影响地访问所述第一设备。

可选地,创建所述第一设备与所述第二设备之间的会话的步骤包括:创建并记录所述会话的会话标识;向所述第二设备返回握手响应,所述握手响应包括所述会话标识,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述会话标识。

可选地,创建所述第一设备与所述第二设备之间的会话的步骤还包括:向所述第一设备发送会话创建请求;从来自所述第一设备的会话创建响应中获取口令,其中,所述握手响应还包括所述口令,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述口令。

根据本公开的另一个方面还提供了一种设备访问管理方法,应用于被访问的第一设备,所述方法包括:基于在所述第一设备本地输入的第一用户账户的第一用户登录信息,以第一用户账户登录所述第一设备;接收第二设备发起的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的第二用户账户的第二用户登录信息;以及在以第一用户账户登录所述第一设备的情况下,基于所述第二用户登录信息,以所述第二用户账户登录所述第一设备,其中,所述第二用户账户不同于所述第一设备本地当前登录的所述第一用户账户。

可选地,所述第一用户账户和所述第二用户账户同时登录所述第一设备,相互独立且互不影响地访问所述第一设备。

可选地,所述第一设备上设置有多个用户账户,该方法还包括:在以第一用户账户登录所述第一设备、以所述第二用户账户登录所述第一设备的情况下,以另一个第二设备对应的第三用户账户登录所述第一设备,所述第三用户账户不同于所述第一用户账户和所述第二用户账户,并且,所述第一用户账户、所述第二用户账户和所述第三用户账户同时登录所述第一设备,相互独立且互不影响地访问所述第一设备。

根据本公开的一个方面,提供了一种用于对第一设备进行远程访问的方法,应用于服务器,所述方法包括:接收来自第二设备针对第一设备的远程访问请求,所述远程访问请求包括所述第一设备的设备关联信息;基于所述设备关联信息,验证所述第二设备对所述第一设备的远程访问权限;在所述第二设备具有对所述第一设备进行远程访问的权限的情况下,创建所述第一设备与所述第二设备之间的会话。

可选地,创建所述第一设备与所述第二设备之间的会话的步骤包括:创建并记录所述会话的会话标识;向所述第二设备返回握手响应,所述握手响应包括所述会话标识,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述会话标识。

可选地,在所述会话期间,基于消息中携带的会话标识,在所述第二设备与所述第一设备之间进行消息转发。

可选地,创建所述第一设备与所述第二设备之间的会话的步骤还包括:向所述第一设备发送会话创建请求;从来自所述第一设备的会话创建响应中获取口令,其中,所述握手响应还包括所述口令,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述口令。

可选地,在所述会话期间,来自所述第一设备和所述第二设备的消息包括对应于多种服务类型的消息,其中,所述服务类型包括下述的至少一项:SSH服务;HTTP服务;FTP服务;Telnet服务;远程桌面服务;Link Edge服务;以及无服务。

可选地,在创建所述第一设备与所述第二设备之间的会话之后,还包括:接收来自所述第二设备的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的用户账户的用户登录信息;向所述第一设备发送所述第一设备登录请求,以基于所述用户登录信息登录所述第一设备。

可选地,所述第一设备上设置有多个用户账户,第一设备登录请求对应的用户账户不同于所述第一设备本地当前登录的用户账户,并且,所述第一设备登录请求对应的用户账户和所述第一设备本地用户账户同时登录所述第一设备,相互独立且互不影响地访问所述第一设备。

可选地,该方法还包括:在一个第二设备与所述第一设备的会话期间,创建另一个第二设备与所述第一设备的会话,所述另一个第二设备对应的用户账户不同于所述一个第二设备对应的用户账户和所述第一设备本地当前登录的用户账户,并且,所述一个第二设备对应的用户账户、所述另一个第二设备对应的用户账户和所述第一设备本地用户账户同时登录所述第一设备,相互独立且互不影响地访问所述第一设备。

可选地,还包括:接收来自所述第一设备的注册请求,所述注册请求包括所述第一设备的设备关联信息;基于所述设备关联信息,验证所述第一设备是否允许被远程访问。

可选地,所述验证所述第二设备对所述第一设备的远程访问权限的步骤包括:向物联网服务器发送所述远程访问请求中所包括的设备关联信息,以便所述物联网服务器验证所述第二设备对所述第一设备的远程访问权限;接收所述物联网服务器针对远程访问请求中所包括的设备关联信息的验证结果。

可选地,所述验证所述第一设备是否允许被远程访问的步骤包括:向物联网服务器发送所述注册请求中所包括的设备关联信息,以便所述物联网服务器验证所述第一设备是否允许被远程访问;接收所述物联网服务器针对所述注册请求中所包括的设备关联信息的验证结果。

可选地,在物联网服务器本地或者物联网服务器能够访问的设备上预先存储了所述第一设备的设备关联信息,在所述远程访问请求中所携带的设备关联信息与预先存储的设备关联信息签名验证成功的情况下,判定所述第二设备具有对第一设备的远程访问权项;以及/或者在所述注册请求中所携带的设备关联信息与预先存储的设备关联信息签名验证成功的情况下,判定所述第一设备允许被远程访问。

可选地,所述第一设备的设备关联信息包括设备信息、服务访问信息以及待签名的字符串,其中,所述服务访问信息是在所述第一设备接入物联网时,使得所述第一设备接入的基站为所述第一设备分配的。

可选地,该方法还可以包括:基于websocket协议建立与所述第一设备之间的双向通信连接;以及/或者基于websocket协议建立与所述第二设备之间的双向通信连接。

可选地,该方法还可以包括:响应于来自第二设备的关闭websocket连接的请求,向所述第一设备发送释放会话指令;以及接收所述第一设备返回的会话关闭确认信息。

根据本公开的另一个方面,还提供了一种用于对第一设备进行远程访问的方法,应用于第二设备,所述方法可以包括:应于针对所述第一设备的远程访问操作,向服务器发送针对第一设备的远程访问请求,所述远程访问请求包括所述第一设备的设备关联信息;接收所述服务器返回的握手响应,所述握手响应对应于,所述服务器在所述第二设备具有对所述第一设备进行远程访问的权限的情况下,创建的所述第一设备与所述第二设备之间的会话;以及在本次会话期间,经由所述服务器与所述第一设备进行消息交互。

可选地,所述握手响应包括所述会话标识,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述会话标识。

可选地,该方法还可以包括:向服务器发送第一设备登录请求,所述第一设备登录请求包括所述第一设备上的用户账户的用户登录信息;接收所述服务器返回的基于所述用户登录信息登录所述第一设备的响应。

可选地,所述第一设备上设置有多个用户账户,第一设备登录请求对应的用户账户不同于所述第一设备本地当前登录的用户账户。

可选地,该方法还可以包括:基于websocket协议建立与所述服务器之间的双向通信连接。

可选地,该方法还可以包括:响应于关闭所述会话的操作,向所述服务器发送关闭websocket连接的请求。

根据本公开的另一个方面,还提供了一种被远程访问的方法,应用于第一设备,所述方法可以包括:接收服务器发送的创建第二设备与所述第一设备之间的会话的会话创建请求,所述会话创建请求是所述服务器在所述第二设备具有对所述第一设备进行远程访问的权限的情况下发出的;在所述第一设备允许被远程访问的情况下,建立所述第一设备与其上系统服务之间的服务连接;以及向所述服务器发送会话创建响应。

可选地,该方法还可以包括:向服务器发送注册请求,所述注册请求包括所述第一设备的设备关联信息,以便所述服务器基于所述设备关联信息验证所述第一设备是否允许被远程访问;接收所述服务器返回的握手响应。

可选地,该方法还可以包括:在本次会话期间,经由所述服务器与所述第二设备进行消息交互。

可选地,所述会话创建响应中包括所述第一设备响应于所述会话创建请求生成的口令,并且,在本次会话期间,来自所述第一设备和所述第二设备的消息中均携带所述口令。

可选地,该方法还可以包括:接收来自服务器的释放所述第二设备与所述第一设备之间的会话的指令;断开所述第一设备与其上系统服务之间的服务连接;以及向所述服务器返回会话关闭确认信息。

可选地,该方法还可以包括:基于websocket协议建立与所述服务器之间的双向通信连接。

根据本公开的另一个方面,还提供了一种用于对第一设备进行远程访问的服务器,包括:会话创建装置,用于响应于接收到的来自第二设备针对第一设备的远程访问请求,创建所述第一设备与所述第二设备之间的会话;第一远程登录装置,用于接收来自所述第二设备的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的用户账户的用户登录信息;第二远程登录装置,向所述第一设备发送所述第一设备登录请求,以基于所述用户登录信息登录所述第一设备,其中,所述第一设备登录请求对应的用户账户不同于所述第一设备本地当前登录的用户账户。

根据本公开的另一个方面,还提供了一种用于执行设备访问管理的第一设备,包括:第一登录装置,用于基于在所述第一设备本地输入的第一用户账户的第一用户登录信息,以第一用户账户登录所述第一设备;登录信息接收装置,用于接收第二设备发起的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的第二用户账户的第二用户登录信息;以及第二登录装置,用于在以第一用户账户登录所述第一设备的情况下,基于所述第二用户登录信息,以所述第二用户账户登录所述第一设备,其中,所述第二用户账户不同于所述第一用户账户。根据本公开的另一个方面,还提供了一种远程访问系统,所述系统包括服务器、第二设备和第一设备,所述第二设备向所述服务器发送针对所述第一设备的远程访问请求,所述远程访问请求包括所述第一设备的设备关联信息;所述服务器基于所述设备关联信息,验证所述第二设备对所述第一设备的远程访问权限,并在所述第二设备具有对所述第一设备进行远程访问的权限以及所述第一设备允许被访问的情况下,创建所述第一设备与所述第二设备之间的会话。

根据本公开的另一个方面,还提供了一种用于对第一设备进行远程访问的服务器,包括:远程访问装置,用于接收来自第二设备针对第一设备的远程访问请求,所述远程访问请求包括所述第一设备的设备关联信息;权限验证装置,用于基于所述设备关联信息,验证所述第二设备对所述第一设备的远程访问权限;会话创建装置,用于在所述第二设备具有对所述第一设备进行远程访问的权限的情况下,创建所述第一设备与所述第二设备之间的会话。

根据本公开的另一个方面,还提供了一种用于对第一设备进行远程访问的第二设备,包括:远程访问装置,用于响应于针对所述第一设备的远程访问操作,向服务器发送针对第一设备的远程访问请求,所述远程访问请求包括所述第一设备的设备关联信息;会话装置,用于接收所述服务器返回的握手响应,所述握手响应对应于,所述服务器在所述第二设备具有对所述第一设备进行远程访问的权限的情况下,创建的所述第一设备与所述第二设备之间的会话;以及交互装置,用于在本次会话期间,经由所述服务器与所述第一设备进行消息交互。

根据本公开的另一个方面,还提供了一种被远程访问的第一设备,包括:会话装置,用于接收服务器发送的创建第二设备与所述第一设备之间的会话的会话创建请求,所述会话创建请求是所述服务器在所述第二设备具有对所述第一设备进行远程访问的权限的情况下发出的;服务连接装置,用于在所述第一设备允许被远程访问的情况下,建立所述第一设备与其上系统服务之间的服务连接;以及会话响应装置,用于向所述服务器发送会话创建响应。

根据本公开的另一个方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。

根据本公开的另一个方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。

由此,通过本公开的远程访问方案,能够安全、高效地实现针对大量终端设备的远程访问、检测和控制。并且,该方案配置简单、占用资源少,能够极大地降低设备运维成本。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了根据本公开一个实施例的远程访问系统的结构示意图。

图2示出了根据本公开一个实施例的远程访问的流程示意图。

图3示出了根据本公开一个实施例的应用于服务器的远程访问方法的流程示意图。

图4示出了根据本公开一个实施例的服务器的示意性框图。

图5示出了根据本公开一个实施例的应用于第二设备的远程访问方法的流程示意图。

图6示出了根据本公开一个实施例的第二设备的示意性框图。

图7示出了根据本公开一个实施例的应用于第一设备的被远程访问的方法的流程示意图。

图8示出了根据本公开一个实施例的第一设备的示意性框图。

图9示出了根据本公开一个实施例的计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

图1示出了根据本公开一个实施例的远程访问系统的示意图。

如图1所示,本公开的远程访问系统100可以包括服务器110、第二设备120以及第一设备130。

服务器110可以是能够通过网络访问的提供交互服务所需信息的任何服务器。在一个优选实施例中,该服务器可以是云服务器,能够为用户提供简单高效、安全可靠、处理能力可弹性伸缩的计算服务。

第二设备120和/或第一设备130是可用来进行网络访问的任何合适的电子设备,包括但不限于智能电话、平板电脑、物联网设备或是其他便携式客户端。

网络可以是广义上的用于信息传递的网络,可以包括一个或多个通信网络,诸如无线通信网络、因特网、私域网、局域网、城域网、广域网或是蜂窝数据网络等。

在一个实施例中,该第二设备120和/或第一设备130上可以安装或运行有操作系统,例如可以包括但不限是Linux系统、Android系统、IOS系统、Windows系统、FreeBSD、MacOS X等。对于不同的设备类型,所安装或运行的操作系统可以不同。并且,操作系统上还可以运行有工具软件、应用程序、网络协议等,以便为设备提供相关服务。

应当理解的是,这里以及本公开如下所述的“第一”或者“第二”的描述,旨在对描述对象加以区分,而非对其顺序和大小有任何明示或是暗示的规定。本公开实施例中,“第一设备”与“第二设备”可以是同种设备也可以是不同的设备。

在本公开实施例中,以第一设备作为允许被远程访问的目标终端,以第二设备作为用于对第一设备进行远程访问的控制终端。

其中,允许被远程访问的第一设备是可用来进行网络访问的任何合适的电子设备,例如可以通过在第一设备上部署远程终端服务,使得该第一设备具有允许被远程访问的功能。

其中,该远程终端服务可以有多种实现形式。例如可以是独立安装及运行在设备上的应用程序或者客户端,也可以是嵌入于其它应用程序的一项功能服务,还可以是安装及运行在设备上的浏览器,本公开对此不做限制。在一个实施例中,本公开的第一设备侧的远程终端服务可以基于C/S架构,即远程终端服务可以实现为安装及运行在设备上的客户端。

该远程终端服务可以与第一设备侧的系统服务进行通信,以允许处理第一设备数据,例如RDS(Remote Data Services,远程数据服务)及所涉及的一系列服务。

第一设备例如可以是计算机,或者也可以包括涉及多个领域的多种设备,例如控制现场、路桥控制收费系统、医疗仪器、环境保护监测、通讯保障、智能交通管控系统、楼宇监控安防、语音呼叫中心、排队机、POS柜台收银机、数控机床、加油机、金融信息处理、石化数据采集处理、物探、野外便携作业、环保、军工、电力、铁路、高速公路、航天、地铁、智能楼宇等。

在一个实施例中,该第一设备可以是向企业或服务提供商核心网络提供入口点的边缘设备(edge device)。例如:路由器、路由交换机、集成接入设备(IAD)、多路复用器,以及各种城域网(MAN)和广域网(WAN)接入设备。边缘设备也可以提供到运营商和服务提供商网络的连通性。

用于对第一设备进行远程访问的第二设备是可以与操作人员交互并能够对第一设备进行远程访问、检测和控制的控制终端。优选地,第二设备可以具有计算机属性和特征,例如具有计算机主板、CPU、硬盘、内存、外设及接口,并可以具有操作系统、控制网络和协议、计算能力、友好的人机界面等。该第二设备例如可以是计算机、智能手机、平板电脑、工业控制计算机等。

第一设备和/或第二设备可以根据实际应用场景确定,本公开对此不做限制。

图1仅示出了单个服务器、单个第二设备和单个第一设备,并在下文的描述中仅针对单个服务器、单个第二设备和单个第一设备加以详述至少为了说明方便,而非暗示对第一设备、第二设备和服务器的类型或者功能或者位置等具有限制。本领域技术人员应当理解的是,本公开的远程访问系统可以包括至少一个服务器、至少一个控制终端即第二设备、以及在真实网络中存在的大量目标终端即第一设备,本公开对此不做限制。

为了更好地理解本公开的远程访问系统以该系统中的服务器以及相关设备所实现的功能,如下将结合图2所示的流程图进行详细说明。

其中,该远程访问方案的整个交互流程中所涉及的相关方不仅可以包括远程访问系统中包括的服务器、第一设备和第二设备,还可以包括例如在第二设备侧执行远程访问操作的操作人员、与服务器关联的相关服务器(例如物联网服务器)、以及为第一设备提供远程终端服务的系统服务层等。并且,整个流程也可以根据交互时序划分为不同的处理阶段,例如第一设备侧的启动远程终端服务阶段、第二设备侧的打开窗口阶段、第二设备与第一设备之间的消息交互阶段、以及第二设备侧的关闭窗口阶段。

应当理解的是,下述实施例中所涉及的例如操作系统、控制网络和协议、控制流程等仅是示例而非对本公开的任何限定,并且其中所涉及的各个步骤的实施顺序也不限定。

参见图2,首先可以在第一设备130上部署并启动(激活)远程终端服务,使得第一设备130可以作为允许被远程访问的目标终端。

在步骤S100,第一设备130建立其与服务器110之间的双向通信连接。在一个实施例中,可以基于websocket协议建立第一设备130与服务器110之间的双向通信连接,该连接可以为长连接。

具体地,第一设备130可以向服务器110发送websocket握手请求。服务器110可以接收第一设备130发送的websocket握手请求,并基于websocket握手请求生成响应信息,并将响应信息发送给第一设备130。由此,第一设备130与服务器110之间的通信连接建立成功,两者后续的交互操作均可以通过该通信连接进行,例如服务器110可以向第一设备130发送例如控制指令,第一设备130可以向服务器110反馈响应或者其它信息。

在步骤S101,第一设备130向服务器110发送握手请求(用于请求启动第一设备130上的远程终端服务,该握手请求在此阶段也可称为注册请求),以便于在该第一设备130侧部署远程终端服务(或者启动第一设备侧的远程终端服务),从而获得允许对第一设备进行远程访问的授权。

注册请求中携带有第一设备130的设备关联信息。在步骤S102,服务器110可以基于注册请求中所携带的设备关联信息,验证第一设备130是否被允许远程访问。

其中,第一设备130的设备关联信息可以包括设备信息、服务访问信息以及待签名的字符串等参数。设备信息例如可以包括用于标识该设备的设备标识、设备支持的服务列表信息、设备支持的签名算法等。服务访问信息可以是该第一设备在接入相关网络(例如物联网)时,使得该第一设备接入的基站或网关为该第一设备130分配的,例如可以包括所分配的产品型号(product_key)、设备标识(device_name)、版本号等。在其它实施例中,设备关联信息例如还可以包括设备的联网IP地址信息、MAC地址等。应当理解,上述设备关联信息仅是示意性举例而限定,本公开的设备关联信息还可以包括其它用于对第一设备或其上部署的服务等的身份验证的信息,本公开对此不做限制。

第一设备130的设备关联信息,特别是设备信息和服务访问信息,可以预先存储在其所接入的相关网络对应的相关网络服务器或者该相关网络服务器能够访问的设备上,并且,该相关网络服务器或者该相关网络服务器能够访问的设备上还可以关联地存储有设备密钥(device_secrect),以便对该第一设备130的设备关联信息进行签名验证。

在一个实施例中,该服务器110可以与相关网络服务器(例如物联网服务器)进行通信,以便对该期望启动该远程终端服务的第一设备130的进行鉴权验证,以验证第一设备130是否允许被远程访问,从而使得该第一设备130具有被远程访问的功能。

具体地,例如,服务器110可以向物联网服务器发送所述注册请求中所包括的设备关联信息。物联网服务器可以将该注册请求中所携带的设备关联信息与在物联网服务器或其能够访问的设备上预先存储的第一设备130的设备关联信息进行比对并签名验证,并向服务器110返回鉴权响应信息,例如所述物联网服务器针对所述注册请求中所包括的设备关联信息的验证结果。

其中,物联网服务器可以基于对应于第一设备的设备密钥信息对该注册请求中所携带的设备关联信息进行签名验证,并在验证成功的情况下,判定第一设备130允许被远程访问,并向服务器110返回鉴权成功的响应信息。在验证失败的情况下,则判定第一设备130不允许被远程访问,并向服务器110返回鉴权失败的响应信息,该响应信息还可以包括详细错误原因等。

作为示例,本公开的物联网服务器可以通过如下基于对应于第一设备的网关三元组的签名算法进行鉴权验证。

例如,对应于第一设备的网关三元组可以为:

“product_key”:“a1NCDGc4lkw”

“device_name”:“zhangsan_gateway”

“device_secret”:“6x8bMz4GeeqTrx4cX66DYts1udwkxWhU”

待签名的串为:

clientIdalibaba_iotdeviceNamezhangsan_gatewayproduct_keya1NCDGc4lkwtimestamep1541070000

之后,在步骤S103,服务器110向第一设备130返回握手响应。其中,在步骤S102鉴权验证成功的情况下,在步骤S103返回成功握手响应;在步骤S102鉴权验证失败的情况下,在步骤S10返回握手失败响应,并告知失败详情。

由此,通过在第一设备130上部署远程终端服务并简单配置,获得被允许远程访问的授权,以便其它设备(例如控制终端,即第二设备)能够对其进行远程访问,从而实现远程检测、远程控制、远程文件管理等,从而减少运维成本。并且,所部署的远程终端服务,资源占用少、安全系数高,也无需服务器对外提供服务。在大量设备中均可以部署该远程终端服务,便于控制终端实现对海量设备的远程访问和控制,能够极大地降低控制成本并提升控制率。

上述虽然是在远程访问流程中详述了在第一设备130上部署远程终端服务的流程。但是本领域技术人员应当理解的是,本公开实施例中所述的第一设备130可以预先与服务器进行通信并在其上部署远程终端服务(例如在设备上线阶段),以使得第一设备130具有能够被远程访问的功能,而后便于在其它设备(例如控制终端)有对于第一设备130进行远程访问需求的情况下,服务器110能够方便地与该第一设备130进行通信以便于建立其它设备与第一设备130之间的远程访问连接通道,便于实现对第一设备130的远程访问。

其中,为便于其它设备对第一设备的远程访问,例如可以在第一设备上部署远程终端服务之时(或其它远程设备进行远程访问之前的任意时刻),通过配置,创建能够在第一设备侧登录的多个用户账户,以便其它设备在有对第一设备进行远程访问的需求时,在通过鉴权验证之后,可以基于这多个用户账户中的任一个远程登录第一设备,从而方便调用第一设备侧的相关服务(下文将详述)。

在其它设备(例如第二设备120)有对第一设备130进行远程访问的需求的情况下,在步骤S200,第二设备120侧的操作人员可以通过与在第二设备120上显示相关控制界面(例如管理窗口)进行交互以发起远程访问请求。例如,操作人员通过点击在第二设备的显示界面上显示的远程访问控件的远程访问操作。

该远程访问请求可以对应于某种具体的服务类型,也可以包括多种服务类型,例如可以包括下述的至少一项SSH服务;HTTP服务;FTP服务;Telnet服务;远程桌面服务;LinkEdge服务;以及无服务。并且,来自所述第一设备和所述第二设备的消息可以包括对应于多种服务类型的消息。

在第二设备120侧,例如可以是基于浏览器的B/S架构,也可以基于客户端的C/S架构。为了便于对多个目标终端的远程访问和管理,在一个实施例中,该操作人员可以在浏览器或者客户端预先登录能够对多个目标终端进行管理的管理账户,上述相关控制界面可以是对应于该管理账户的一些界面。本公开对于具体的管控方式不做限制。

之后,在步骤S201,在第二设备120向操作人员呈现远程访问控制界面。

并且,在步骤S202,第二设备120建立其与服务器110之间的双向通信连接。

在一个实施例中,可以基于websocket协议建立第二设备120与服务器110之间的双向通信连接。其中的建立连接的细节与上述第一设备相同,具体可参见上文相关描述,在此不再赘述。

在步骤S203,第二设备120向服务器110发送握手请求(即针对第一设备的远程访问请求),以便与第一设备130建立远程访问通信连接。其中,该远程访问请求中可以包括第一设备130的设备关联信息,并且该信息可以是预先记录在该管理账户的,或者可以是基于管理账户可以获取到的,或者也可以是操作人员预知且在第二设备侧输入或选择的,本公开对此不做限制。

在步骤S204,服务器110基于所述远程访问请求中所携带的设备关联信息,验证第二设备120对第一设备130的远程访问权限。

与对第一设备130的身份的鉴权验证相似,这里,服务器110也可以与物联网服务器进行通信以实现对第二设备120针对第一设备130的远程访问权限的验证。

具体地,例如,服务器110可以向物联网服务器发送所述远程访问请求中所携带的设备关联信息。物联网服务器可以将该远程访问请求中所携带的设备关联信息与在物联网服务器或其能够访问的设备上预先存储的第一设备130的设备关联信息进行比对并签名验证,并向服务器110返回鉴权响应信息,例如所述物联网服务器针对所述远程访问请求中所包括的设备关联信息的验证结果。

其中,物联网服务器可以基于对应于第一设备的设备密钥信息对该远程访问请求中所携带的设备关联信息进行签名验证,并在验证成功的情况下,判定第二设备具有对第一设备进行远程访问的权限,并向服务器110返回鉴权成功的响应信息。在验证失败的情况下,则判定第二设备120不具有对第一设备130进行远程访问的权限,并向服务器110返回鉴权失败的响应信息,该响应信息还可以包括详细错误原因等。具体细节可参见上文对第一设备130的鉴权验证的描述,在此不再赘述。

之后,在步骤S205,在所述第二设备120具有对所述第一设备进行远程访问的权限的情况下,服务器110向第一设备130发送创建会话请求,以请求创建所述第一设备130与所述第二设备120之间的会话(Session),以便于第二设备对第一设备的远程访问。

在步骤S206,第一设备130接收到该创建会话请求之后,与远程终端服务层(包括远程访问所涉及的相关服务)建立服务连接,以便于第二设备120在对第一设备130进行远程访问时能够调用设备服务。

在步骤S207,第一设备130向服务器110返回会话创建响应。其中,该会话创建响应中包括从第一设备130返回的口令,还可以包括为第一设备130为该会话创建的会话标识。

在步骤S208,服务器110向第二设备120返回握手响应。

其中,服务器110在接收到来自第一设备的会话响应之后,从来自所述第一设备130的会话创建响应中获取口令以及会话标识,并记录该口令以及会话标识。并通过调用预定接口(例如StartDeviceDebug接口)获取服务器侧的口令,以对第一设备130返回的口令进行验证。

在对口令验证失败的情况下,第一设备与第二设备之间的会话创建失败,服务器110向第二设备120返回的失败握手响应,并告知失败的详细信息。

在对口令验证成功的情况下,第一设备与第二设备之间的会话创建成功,并且服务器110向第二设备120返回的握手响应中包括该口令以及会话标识。

在第二设备120与第一设备130之间的会话建立完成后,在本次会话期间,第二设备120与第一设备130之间可以基于所建立的通信连接进行消息交互,以实现第二设备120对第一设备130的远程访问和远程控制。其中,在本次会话期间所述第一设备与第二设备之间交互的消息中(例如消息头汇总)均可以携带该口令以及会话标识,以便于接收方能够正确解析消息。并且,在所述会话期间,服务器110能够基于消息中携带的会话标识,在所述第二设备与所述第一设备之间进行消息转发,以便实现两者之间的消息交互。

在第二设备120对第一设备130进行远程访问的过程中,为了不影响第一设备130侧的用户对该第一设备130的使用与控制,本公开实施例还提出了远程登录功能,使第二设备120侧的操作人员可以使用第一设备130上的用户账户远程登录该第一设备130。

这里述及的使得第二设备侧的操作人员远程登录第一设备所使用的

用户账户可以是预先在第一设备130建立和配置的(例如在第一设备侧部署远程终端服务之时或其它远程设备进行远程访问之前的任意时刻),基于所建立的用户账户登录即可实现对设备上运行的相关服务的调用。用户账户对应的登录信息可以预先告知给第二设备120侧的操作人员,或者也可以被预先存储在第二设备120或者操作人员能够获取的设备上。

基于上述用户账户远程登录第一设备成功之后,第二设备侧的操作人员可以基于这个用户账户实现对第一设备的远程访问以及对第一设备上的相关服务的调用。

在第一设备侧当前已经本地登录了一个用户账户的情况下,该使得第二设备侧的操作人员远程登录第一设备所使用的用户账户(即来自第二设备的第一设备登录请求对应的用户账户)与在第一设备130本地当前登录的用户账户不同,并且,基于来自第二设备的第一设备登录请求对应的用户账户可以和第一设备本地用户账户同时登录第一设备,并且,两个用户账户各自之间可以相互独立且互不影响地访问该第一设备。

由此,在第一设备侧已经部署了远程终端服务而允许被远程访问的情况下,在出现第一设备故障等各种问题(或者是需要对第一设备的周期性检查)时,相关维修人员可以通过一个具有显示屏幕的联网设备(例如智能手机、平板电脑、笔记本、台式计算机等),通过例如浏览器登录相关管理账户,并通过与显示屏幕上的管理窗口的相关控件的一些简单操作,创建该联网设备与第一设备之间的会话并实现对第一设备的远程登录,以便维修人员可以远程登录第一设备并实现对第一设备侧的相关服务的远程调用,从而方便地实现对设备故障原因等的检测和排查。

由此,既不需要在该联网设备侧安装或运行第三方工具,也不需要维修人员前往设备地点,从而能够极大的减少对第一设备的运维成本,并提升服务质量以及第一设备侧用户的用户体验。

并且,由于对第二设备的远程访问权限的验证,使得在对第二设备的远程访问权限验证成功的情况下,才可以被允许远程访问并建立会话,而在对第二设备的远程访问权限验证失败的情况下禁止建立会话和远程访问,为第一设备的设备安全提供了保障。第二设备与第一设备侧的会话的建立以及远程访问的请求也无需经过第一设备侧的用户的同意或操作,即使是在第一设备130侧无人看管的情况下,也不会影响第二设备对于第一设备130的远程访问,便于远程访问流程的顺利进行。

并且,在远程访问期间,由于远程登录所使用的用户账户与第一设备本地当前登录的用户账户不同且可同时登录第一设备且访问相互独立且互不影响,第二设备120针对第一设备130的远程访问将不会影响第一设备130侧的用户的操作及控制,在第一设备侧的用户未知的情况下,即可以类似于设备后台运行检测的方式,方便地实现对第一设备的各种问题的检测和排查。

为了便于区分,本公开实施例中,也可以将上述在第一设备130本地当前登录的用户账户称为“第一用户账户”,“第一用户账户”对应的登录信息称为“第一用户登录信息”。相应地,将一个第二设备期望在第一设备远程登录所使用的用户账户称为“第二用户账户”,“第二用户账户”对应的登录信息称为“第二用户登录”信息。上述以及本公开实施例中述及的“第一”、“第二”仅是为了便于区分而非对其顺序或功能的任何限定。应当理解的是,在还存在其它设备(例如下述的另一个第二设备)期望在第一设备远程登录的情况下,可以将其它设备远程登录所使用的用户账户称为“第三用户账户”,“第二用户账户”对应的登录信息称为“第三用户登录”信息。

在一个实施例中,可以在第一设备130上预先设置有多个用户账户,并可以分别允许建立多个第二设备各自与第一设备之间的会话,并允许多个第二设备120可以分别基于多个用户账户远程登录该第一设备130,以分别实现不同第二设备对该第一设备130的远程访问。其中,期望在第一设备远程登录所使用的用户账户各不相同(和第一设备本地登录用户账户也不同),且可以同时登录第一设备,并且可以相互独立且互不影响地访问该第一设备。

换言之,在第一设备侧,既可以基于在所述第一设备本地输入的第一用户账户的第一用户登录信息,以第一用户账户登录所述第一设备并方便地调用第一设备侧的相关服务。在其它多个设备有远程访问的需求时,也可以基于其它多个设备侧提供的且属于该第一设备的其它用户账户同时登录该第一设备。在基于不同用户账户同时登录第一设备期间,不同用户账户可以相互独立地访问该第一设备,各自之间互不影响,也不会出现错误的消息解析和指令解析。

由此,在一些情形下,例如在多台设备都有对第一设备进行远程访问的需求时,或者例如在维修人员需要调用第一设备侧的多项服务时,维修人员可以通过多台第二设备和多个不同的用户账户分别实现对第一设备的远程登录,并分别基于不同的用户账户调用不同的服务(例如SSH服务、FTP服务、Telnet服务、远程桌面服务等),以分别实现各项服务的问题的检测和排查,使得针对第一设备的多项检测可以相互独立且互不影响地分别实现,从而极大地缩短检测时间,提升检测效率。

如前所述,基于多个用户账户可同时登录第一设备,并且各个不同用户账户之间可以相互独立且互不影响地访问第一设备。由此,在一个第二设备与所述第一设备的会话期间,如果创建了另一个第二设备与所述第一设备的会话,所述另一个第二设备对应的用户账户即第三用户账户,不同于所述一个第二设备对应的用户账户即第二用户账户,也不同于在第一设备本地当前登录的用户账户即第一用户账户,并且,第一用户账户、第二用户账户、第三用户账户可以各自相互独立且互不影响地访问第一设备。

换言之,在同一时间段(可以是完全对应的时间段也可以是存在时间重叠的时间段),如果存在多个第二设备分别与第一设备之间的会话的情况下,来自不同第二设备的第一设备登录请求对应的用户账户各不相同且不同于所述第一设备本地当前登录的用户账户,并且,不同第二设备的第一设备登录请求对应的用户账户以及第一设备本地当前登录的用户账户各自相互独立地访问所述第一设备。并且,不同第二设备各自与第一设备之间的消息可以基于其相应的口令以及会话标识进行识别与解析。由此,多个控制终端各自对该目标设备的远程访问与控制,以及目标设备本地用户对该目标设备的使用与控制,相互之间互不影响,能够安全、便利地实现多用户对同一设备的控制。返回图2所示的流程图,在一个实施例中,在第二设备120与第一设备130之间的会话建立完成之后,可以在第二设备120侧显示远程登录界面,使得第二设备120侧的操作人员提供(例如输入)其期望在该第一设备远程登录的用户登录信息。例如,调用设备服务所需的设备侧用户名、调用设备服务所需的设备侧用户名对应的密码等。

在步骤S209,第二设备120侧的操作人员通过与远程登录界面进行交互以执行远程登录操作,包括输入用户账户信息、点击提交控件等。

在步骤S210,第二设备120例如可以向操作人员呈现远程登录的等待界面。

并且,在步骤S211,第二设备120向服务器110发送第一设备远程登录请求,以请求远程登录到第一设备130上。该远程登录请求中可以包括第一设备130上的用户账户的用户登录信息,例如,调用设备服务所需的设备侧用户名、调用设备服务所需的设备侧用户名对应的密码。

在步骤S212,服务器110向所述第一设备130发送所述第一设备登录请求,以基于所述用户登录信息登录所述第一设备。

在步骤S213,在基于上述来自第二设备侧的第一设备远程登录请求中的用户登录信息成功登录所述第一设备后,即建立了第二设备与第一设备侧的系统服务之间的服务连接,以使得第二设备120远程访问第一设备130时,能够调用第一设备130侧的相关服务。此时,如果未能成功登录,则服务连接未成功建立。

在步骤S214,第一设备130向服务器110返回登录响应信息,包括登录成功信息或者登录失败信息以及失败的详细错误原因等。

在步骤S215,服务器110向第二设备120返回对应于登录响应的握手响应,包括登录成功信息或者登录失败信息以及失败的详细错误原因等。

在基于操作人员输入的用户登录信息成功远程登录第一设备的情况下,第二设备120侧的操作人员可以基于该用户登录信息对应的用户账户,获得调用第一设备130侧的相关服务的授权,从而实现对该第一设备的远程访问中所涉及的例如远程故障分析、远程文件管理等服务。

上述流程中为了清楚地说明本公开实施例中的第一设备与第二设备之间的会话建立以及远程登录的实现,分别基于步骤S200-步骤S208、步骤S209-步骤S215加以详述。但是本领域技术人员应当理解的是,远程登录的流程也可以融合在创建会话的过程中实现。

例如,第二设备120在步骤S203中向服务器110发送的远程访问请求中可以携带有用于在第一设备130远程登录的用户账户的用户登录信息(用户登录信息可以是在步骤S200或者步骤S201获得的)。在步骤S206中,第一设备130可以基于会话创建请求中携带的用户登录信息登录用户账户,从而与第一设备130侧的远程终端服务相应的系统服务层建立服务连接,以便在此会话期间第二设备能够远程调用第一设备侧的服务,以实现对第一设备的远程访问与控制。具体细节与上文相同或相似,在此不再赘述。

返回图2所示流程图,在第二设备远程登录第一设备成功后,在本次会话期间,第二设备与第一设备之间的消息交互可以如图2步骤S3.0-S3.6所示。其中,这里以及本公开全文中基于通信通道所传输的报文均以二进制方式传输。每条报文均可以由消息头和负载组成。不同的消息类型,消息头均可以为JSON格式,负载格式可以略有不同。其中,消息头部的内容例如可以包括消息类型、待访问的服务类型、负载内容的长度、时间戳信息以及会话标识和口令(如果有的话需携带,如果没有则无需携带)。

返回图2所示流程图,在第二设备与第一设备之间的本次会话期间的消息交互具体地可以为:

在步骤S300,第二设备侧的操作人员可以通过与第二设备的交互操作向第二设备发出控制指令;在步骤S301,第二设备可以向服务器透传控制指令;在步骤S302,服务器可以向第一设备透传控制指令;在步骤S303,第一设备向系统服务透传控制指令,以使得系统服务执行该控制指令对应的控制操作;之后,在步骤S304,系统服务向第一设备透传对应于控制指令的响应;在步骤S305,第一设备向服务器透传对应于控制指令的响应;在步骤S306,服务器向第二设备透传对应于控制指令的响应。其中,“透传”,即透明传输(pass-through),是在通讯中不管传输的服务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。该交互中所涉及的指令及对应的响应为服务的原始报文,无具体的格式规范。

由此,在本次会话期间,通过第二设备、服务器、第一设备以及第一设备上的系统服务之间透传的原始报文,实现第二设备对第一设备的远程访问和控制。基于此,第二设备侧的操作人员可以安全且方便地实现对第一设备的例如远程故障分析、远程文件管理等服务。

当第二设备120侧的操作人员期望结束对第一设备的远程访问,该操作人员可以在步骤S400执行关闭窗口的操作。在步骤S401,第二设备120响应于关闭操作,向服务器110发送关闭会话的请求,也即请求断开第二设备与第一设备之间的websocket连接;在步骤S402,服务器110向第一设备130发送释放会话的请求;在步骤S403,第一设备130在接收到来自服务器110的释放会话的请求后,在步骤S403,断开与远程终端服务之间的服务连接,例如退出远程登录的用户账户;并在S404,向服务器返回关闭确认的应答信息(ack)。至此,第二设备与第一设备之间的会话被释放,第二设备与第一设备之间通信连接断开,两者之间将无法进行对应于远程访问的消息交互。

至此,已经结合图2所述的流程图对本公开的远程访问系统所实现的远程访问功能进行了详细说明。

本公开的远程访问系统可适用于任一形式的通讯协议以及操作系统。基于该远程访问方案,无需服务器对外提供服务,也无需占用服务器的多个网络端口,即可简单、安全地实现对大量终端设备的远程访问服务,能够极大地降低设备运维成本以及提升设备运维效率。

上述远程访问方案可以实现为一种由服务器执行的方法。图3示出了根据本公开一个实施例的应用于服务器的远程访问方法的流程示意图。图4示出了根据本公开一个实施例的服务器的示意性框图。其中,图4所示的服务器可用于实现图3所示的方法。

参见图3,在步骤S310,例如可由图4所示的远程访问装置410,接收来自第二设备针对第一设备的远程访问请求,所述远程访问请求包括所述第一设备的设备关联信息。

在步骤S320,例如可由图4所示的权限验证装置420,基于所述设备关联信息,验证所述第二设备对所述第一设备的远程访问权限。

在步骤S330,例如可由图4所示的的会话创建装置430,在所述第二设备具有对所述第一设备进行远程访问的权限的情况下,创建所述第一设备与所述第二设备之间的会话。

可选地,服务器创建所述第一设备与所述第二设备之间的会话的步骤可以包括:创建并记录所述会话的会话标识;向所述第二设备返回握手响应,所述握手响应包括所述会话标识,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述会话标识。

可选地,在所述会话期间,服务器可以基于消息中携带的会话标识,在所述第二设备与所述第一设备之间进行消息转发。

可选地,服务器创建所述第一设备与所述第二设备之间的会话的步骤还可以包括:向所述第一设备发送会话创建请求;从来自所述第一设备的会话创建响应中获取口令,其中,所述握手响应还包括所述口令,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述口令。

可选地,在所述会话期间,来自所述第一设备和所述第二设备的消息包括对应于多种服务类型的消息,其中,所述服务类型包括下述的至少一项:SSH服务;HTTP服务;FTP服务;Telnet服务;远程桌面服务;Link Edge服务;以及无服务。

可选地,在创建所述第一设备与所述第二设备之间的会话之后,还包括:接收来自所述第二设备的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的用户账户的用户登录信息;向所述第一设备发送所述第一设备登录请求,以基于所述用户登录信息登录所述第一设备。

可选地,所述第一设备上设置有多个用户账户,第一设备登录请求对应的用户账户不同于所述第一设备本地当前登录的用户账户。

可选地,在一个第二设备与所述第一设备的会话期间,服务器还可以创建另一个第二设备与所述第一设备的会话,其中,所述另一个第二设备对应的用户账户与所述一个第二设备对应的用户账户不同。

可选地,服务器可以接收来自所述第一设备的注册请求,所述注册请求包括所述第一设备的设备关联信息;基于所述设备关联信息,验证所述第一设备是否允许被远程访问。

可选地,所述验证所述第二设备对所述第一设备的远程访问权限的步骤可以包括:向物联网服务器发送所述远程访问请求中所包括的设备关联信息,以便所述物联网服务器验证所述第二设备对所述第一设备的远程访问权限;接收所述物联网服务器针对远程访问请求中所包括的设备关联信息的验证结果。

可选地,所述验证所述第一设备是否允许被远程访问的步骤可以包括:向物联网服务器发送所述注册请求中所包括的设备关联信息,以便所述物联网服务器验证所述第一设备是否允许被远程访问;接收所述物联网服务器针对所述注册请求中所包括的设备关联信息的验证结果。

可选地,在物联网服务器本地或者物联网服务器能够访问的设备上预先存储了所述第一设备的设备关联信息,在所述远程访问请求中所携带的设备关联信息与预先存储的设备关联信息签名验证成功情况下,判定所述第二设备具有对第一设备的远程访问权限以及/或者在所述注册请求中所携带的设备关联信息与预先存储的设备关联信息签名验证成功的情况下,判定所述第一设备允许被远程访问。

可选地,所述第一设备的设备关联信息包括设备标识以及服务访问信息,其中,所述服务访问信息是在所述第一设备接入物联网时,使得所述第一设备接入的基站为所述第一设备分配的。

可选地,服务器可以基于websocket协议建立与所述第一设备之间的双向通信连接,可以基于websocket协议建立与所述第二设备之间的双向通信连接。

可选地,服务器可以响应于来自第二设备的关闭websocket连接的请求,向所述第一设备发送释放会话指令,还可以接收所述第一设备返回的会话关闭确认信息。

上述远程访问方案可实现为一种由第二设备执行的方法。图5示出了根据本公开一个实施例的应用于第二设备的远程访问方法的流程示意图。图6示出了根据本公开一个实施例的第二设备的示意性框图。其中,图6所示的第二设备可用于实现图5所示的方法。

参见图5,在步骤S510,例如可由图6所示的远程访问装置610,响应于针对所述第一设备的远程访问操作,向服务器发送针对第一设备的远程访问请求,所述远程访问请求包括所述第一设备的设备关联信息。

在步骤S520,例如可由图6所示的会话装置620,接收所述服务器返回的握手响应,所述握手响应对应于,所述服务器在所述第二设备具有对所述第一设备进行远程访问的权限的情况下,创建的所述第一设备与所述第二设备之间的会话。

在步骤S530,例如可由图6所示的交互装置630,用于在本次会话期间,经由所述服务器与所述第一设备进行消息交互。

可选地,握手响应可以包括所述会话标识,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述会话标识。

可选地,第二设备可以向服务器发送第一设备登录请求,所述第一设备登录请求包括所述第一设备上的用户账户的用户登录信息。第二设备还可以接收所述服务器返回的基于所述用户登录信息登录所述第一设备的响应。

可选地,所述第一设备上可以设置有多个用户账户,来自第二设备的第一设备登录请求对应的用户账户不同于所述第一设备本地当前登录的用户账户。

可选地,第二设备可以基于websocket协议建立与所述服务器之间的双向通信连接。

可选地,第二设备可以响应于关闭所述会话的操作,向所述服务器发送关闭websocket连接的请求。

上述远程访问方案还可以实现为一种由第一设备执行的方法。图7示出了根据本公开一个实施例的应用于第一设备的被远程访问的方法的流程示意图。图8示出了根据本公开一个实施例的第一设备的示意性框图。其中,图8所示的第一设备可用于实现图7所示的方法。

参见图7,在步骤S710,例如可由图8所示的会话装置810,接收服务器发送的创建第二设备与所述第一设备之间的会话的会话创建请求,所述会话创建请求是所述服务器在所述第二设备具有对所述第一设备进行远程访问的权限的情况下发出的。

在步骤S720,例如可由图8所示的服务连接装置820,在所述第一设备允许被远程访问的情况下,建立所述第一设备与其对应的系统服务之间的服务连接。

在步骤S730,例如可由图8所示的会话响应装置830,向所述服务器发送会话创建响应。

可选地,第一设备可以向服务器发送注册请求,所述注册请求包括所述第一设备的设备关联信息,以便所述服务器基于所述设备关联信息验证所述第一设备是否允许被远程访问;接收所述服务器返回的握手响应。

可选地,在本次会话期间,第一设备可以经由所述服务器与所述第二设备进行消息交互。

可选地,所述会话创建响应中可以包括所述第一设备响应于所述会话创建请求生成的口令,并且,在本次会话期间,来自所述第一设备和所述第二设备的消息中均携带所述口令。

可选地,第一设备还可以接收来自服务器的释放所述第二设备与所述第一设备之间的会话的指令;断开所述第一设备与远程访问服务之间的服务连接;以及向所述服务器返回会话关闭确认信息。

另外,上述远程访问方案还可实现为一种用于对第一设备进行远程访问的方法,该方法可由上述服务器实现。

在一个实施例中,例如可由服务器中的会话创建装置,响应于接收到的来自第二设备针对第一设备的远程访问请求,创建所述第一设备与所述第二设备之间的会话。然后,由服务器中的第一远程登录装置,接收来自所述第二设备的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的用户账户的用户登录信息。之后,由服务器中的第二远程登录装置,向所述第一设备发送所述第一设备登录请求,以基于所述用户登录信息登录所述第一设备,其中,所述第一设备登录请求对应的用户账户不同于所述第一设备本地当前登录的用户账户。

可选地,所述第一设备登录请求对应的用户账户和所述第一设备本地用户账户同时登录所述第一设备,相互独立且互不影响地访问所述第一设备。

可选地,所述第一设备上可以设置有多个用户账户,上述方法还可以包括:在一个第二设备与所述第一设备的会话期间,创建另一个第二设备与所述第一设备的会话,所述另一个第二设备对应的用户账户不同于所述一个第二设备对应的用户账户,且不同于所述第一设备本地当前登录的用户账户,并且,所述一个第二设备对应的用户账户、所述另一个第二设备对应的用户账户和所述第一设备本地用户账户同时登录所述第一设备,相互独立且互不影响地访问所述第一设备。

可选地,创建所述第一设备与所述第二设备之间的会话的步骤包括:创建并记录所述会话的会话标识;向所述第二设备返回握手响应,所述握手响应包括所述会话标识,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述会话标识。

可选地,创建所述第一设备与所述第二设备之间的会话的步骤还包括:向所述第一设备发送会话创建请求;从来自所述第一设备的会话创建响应中获取口令,其中,所述握手响应还包括所述口令,在本次会话期间来自所述第一设备和所述第二设备的消息中均携带所述口令。

上述远程访问方案还可以实现为一种设备访问管理方法,该方法可由上述的第一设备实现。

在一个实施例中,例如可由第一设备的第一登录装置,基于在所述第一设备本地输入的第一用户账户的第一用户登录信息,以第一用户账户登录所述第一设备。然后,可由第一设备的登录信息接收装置,接收第二设备发起的第一设备登录请求,所述第一设备登录请求包括所述第一设备上的第二用户账户的第二用户登录信息。之后,可由第一设备的第二登录装置,在以第一用户账户登录所述第一设备的情况下,基于所述第二用户登录信息,以所述第二用户账户登录所述第一设备,其中,所述第二用户账户不同于所述第一用户账户。

可选地,所述第一用户账户和所述第二用户账户同时登录所述第一设备,相互独立地访问所述第一设备。

可选地,所述第一设备上可以设置有多个用户账户,上述方法还可以包括:在以第一用户账户登录所述第一设备、以所述第二用户账户登录所述第一设备的情况下,以另一个第二设备对应的第三用户账户登录所述第一设备,所述第三用户账户不同于所述第一用户账户和所述第二用户账户,并且,所述第一用户账户、所述第二用户账户和所述第三用户账户同时登录所述第一设备,相互独立地访问所述第一设备。

上述结合图3-图8所示的由服务器或者相关设备分别实现的远程访问方案的具体实现与上文结合远程访问系统的描述相同或相似,具体可参见上文的相关描述,在此不再赘述。

图9示出了根据本发明一实施例的计算设备的结构示意图。

参见图9,计算设备900包括存储器910和处理器920。

处理器920可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器920可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器920可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。

存储器910可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器920或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器910可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器910可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器910上存储有可处理代码,当可处理代码被处理器920处理时,可以使处理器920执行上文述及的远程访问方法。

上文中已经参考附图详细描述了根据本发明的远程访问方案。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种加油站系统云化管理的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类