具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着大量智能设备涌入社会,一些问题逐渐浮出水面,主要体现在两个方面上面:设备监控运维问题和设备数据管理问题。关于设备监控运维方面,有以下例子,在没有引入智能设备系统的情况下,远在异地的设备出现故障时,运维人员无法在第一时间获取到设备的运行状态数据,无奈只能远赴外地进行现场调试维护,路途短则数公里,长则数千公里,舟车劳顿,既耗费人力又耗费财力。关于设备数据管理方面,我们无不避免会遇到设备损坏,造成设备上珍贵数据丢失的情况,新旧设备更替、数据迁移步骤繁杂以及设备数据不一,进行同步或是整合等问题。以上种种问题,在没有引入智能设备管理系统前,都是一个棘手且难为解决的问题。
目前,市面上也有相应的移动设备管理系统(MobileDevice Management,MDM)的出现。大多的实现方案都是基于C-S(客户端-服务端)的部署方式实现,即待管控的移动设备安装MDM客户端应用程序,通过互联网连接MDM服务器。其中,MDM服务器部署在网络侧,MDM服务提供商通过MDM服务器可为企业提供相关的服务。利用这些服务,企业可实现对设备的注册、设备生命周期资产管理、设备系统升级、设备内容的集中和批量管控和部署。另外,MDM服务端还可以主动向设备下发指令的调用相应设备管控接口对设备进行管控。
但在面对具体的维护诊断时,大多平台展示的设备运行状态数据不够全面,往往只有简单的最近一次硬件资源的使用情况,如CPU占用率、ROM使用率等等较为片面的数据,运维人员无法通过这些单一片面的数据进行分析设备的故障点。设备运行时状态数据的维度较低,甚至单一,不足于支撑运维人员的故障点分析。
许多平台进行的远程设备指令下发,仅仅只有指令下发是否成功的记录,并没有设备执行过程以及指令发送过程等详细的反馈消息展示,无法有效得知指令是否发送成功或是指令是否执行成功。MDM服务端发送的设备远程指令功能较少,且指令消息的反馈记录不够详尽,具体过程无迹可寻。
在设备管控方面,尤其是教育类智能电子产品的管控,除了对设备功能的管控,还常常需要面对网络管控,以及应用程序的使用时间管控,相关技术中的管控方式较为单一;另外,市面上进行远程桌面控制的方法大多借助于第三方软件,需要额外安装应用,同时需要支付额外的软件费用,成本较高。基于此,本发明实施例提供了一种设备控制方法、装置及服务器,该技术可以应用于需要对设备进行智能管理的应用中。
下面对本发明实施例所公开的一种设备控制方法进行详细,该方法应用于服务器;服务器分别与用户终端和目标设备通信连接;该服务器可以是移动设备管理系统对应的服务器,该用户终端可以是用户实际可以操作的终端,比如,可以是服务商提供给用户操作的智能设备后台管理网站所在的终端等;该目标设备可以是需要被管理的智能设备,该智能设备通常需要具备图像显示的功能;如图1所示,该方法包括如下步骤:
步骤S102,接收用户通过用户终端发送的针对目标设备的远程桌面控制请求。
当用户需要对目标设备进行远程桌面控制,以对该目标设备进行更加具体的远程辅助作业时,可以在用户终端执行相应操作,如点击开启远程桌面控制的按钮等,以发送远程桌面控制请求,该远程桌面控制请求用于请求在浏览器上远程显示目标设备的显示界面。
步骤S104,如果用户为合法用户,且用户具有针对目标设备的控制权限,向用户终端发送加密连接凭证,以通过用户终端解析加密连接凭证,得到解析后的连接凭证,基于解析后的连接凭证,向服务器发送远程桌面控制的开启指令。
服务器在接收到远程桌面控制请求后,通常会验证用户身份和享有的资源权限,比如,用户在用户终端操作发送远程桌面请求时,通常会输入用户名和密码等代表用户身份的信息,服务器会验证根据该用户名判断用户是否为合法用户,如果经确认,该用户为合法用户,则会继续确认该用户是否具有针对该目标设备的控制权限,如果具有该控制权限,便会响应一段加密处理的加密连接凭证,并发送至用户终端,用户终端接收到该加密连接凭证后,对该加密连接凭证进行解析,得到解析后的连接凭证,然后再次向服务器发送远程桌面控制的开启指令。
步骤S106,将开启指令发送至目标设备,以使目标设备开启远程桌面控制功能,按预设规则向服务器发送视频帧数据。
上述预设规则可以是预先规定的画面质量、视频帧数等规则;服务器将接收到的远程桌面控制的开启指令发送至目标设备,要求目标设备开启远程桌面的功能,目标设备接收到该开启指令后,便会开启远程桌面功能,按照规定的画面质量、视频帧数等规则,向服务器发送视频帧数据。
步骤S108,将视频帧数据发送至用户终端。
步骤S110,接收用户通过用户终端发送的针对视频帧数据的操作指令,将操作指令发送至目标设备,以使目标设备执行操作指令对应的操作。
在实际实现时,用户可以通过用户终端查看接收到的视频帧数据,并通过鼠标、键盘等向服务器发送对该视频帧数据进行相关操作的指令等,比如,用户可以通过鼠标或键盘发送对视频帧数据进行修改、调整大小等操作的操作指令,服务器将接收到的操作指令转发至目标设备,目标设备可以按照该操作指令,执行对视频帧数据的修改、调整大小等相应操作,从而实现了对目标设备进行远程桌面控制。
上述设备控制方法,接收针对目标设备的远程桌面控制请求;如果用户合法且具有控制权限,向用户终端发送加密连接凭证,以通过用户终端解析加密连接凭证,基于解析后的连接凭证,向服务器发送远程桌面控制的开启指令;将开启指令发送至目标设备,以使其开启远程桌面控制功能,按预设规则通过服务器向用户终端发送视频帧数据;接收用户终端发送的针对视频帧数据的操作指令,并发送至目标设备,以使其执行操作指令对应的操作。该方式整合了远程桌面控制的功能,当接收到远程桌面控制请求,并确认用户合法且具有权限后,可通过用户终端对目标设备进行远程桌面控制,不需要借助第三方软件,从而降低了对设备的控制成本。
本发明实施例提供了另一种设备控制方法,该方法在上述实施例方法的基础上实现,该方法中,目标设备与服务器之间采用预设的网络接入方式和预设的网络传输协议通信连接;其中,网络传输协议包括:HTTP(HyperText Transfer Protocol,超文本传输协议)通信协议、HTTPS(:HyperText Transfer Protocol over Secure Socket Layer,以安全为目标的http通道)通信协议、MQTT(MessageQueuing Telemetry Transport,消息队列遥测传输协议)通信协议或CoAP(ConstrainedApplication Protocol,受限应用协议)通信协议,上述网络接入方式可以采用有线网络接入或无线网络接入,目前行业内,主要的有线网络接入方式有:以太网、串行通信和USB等;无线网络接入方式有:WIFI、GSM(Global Systemfor MobileCommunications,全球移动通信系统)、LoRaWAN(一种开放式网络协议)、NB-IOT(NarrowBand Internet of Things,窄带物联网)。
在实际实现时,通常需要先确认需要采用的网络接入方式,在明确了网络接入方式后,就要协商好使用什么规则进行传输,也就是要考虑网络传输协议,除了可以使用传统的设备与服务端的通信协议 HTTP和加密的HTTPS协议外,考虑到物联网设备端资源受限,比如处理能力差、存储能力小、网络传输量小、网络不稳定等,很明显物联网和互联网在设备端提供的资源环境存在很大的差别,所以为了更好地为物联网服务,还可以采用一种更轻量、简单、开放,是低开销、低带宽占用的即时通讯协议——MQTT协议;还可以采用低功耗的、基于UDP(UserDatagram Protocol,用户数据报协议)协议的CoAP协议,其更适合数据采集的场合,比如抄送电表、水表的数据等。该方法包括如下步骤:
步骤一,接收来自目标设备的注册请求;其中,注册请求中携带有目标设备的设备信息和密钥信息。
上述目标设备通常是安装了智能设备管理系统的客户端安卓应用程序的电子设备;上述设备信息可以包括:设备唯一标志符、设备名称、设备型号等相关设备信息,上述密钥信息可以是预先为该目标设备设置的密钥信息,比如,可以是根据服务器的私钥按预设密钥生成方式所生成的公钥等,通常不同的设备对应的密钥信息也不同;在实际实现时,在目标设备联网后,便会自发向服务器发送注册请求,以请求与服务器进行关联。在向服务器发起注册请求时,请求信息中除了携带设备的唯一标志符外,还会携带根据服务器私钥生成的公钥,在服务器接收注册请求时,会对请求信息进行签名验证,隔离非法设备无法接入服务器,实现设备的安全认证。
步骤二,判断设备信息和密钥信息是否合法。
服务器通常会验证接收到的上述设备信息和密钥信息是否合法,比如,设备信息是否有错误、密钥是否符合预设的密钥规则等。
步骤三,如果设备信息和密钥信息均合法,对目标设备进行注册,以使目标设备与服务器通信连接。
当服务器确认设备信息和密钥信息均合法后,便会在数据库中记录目标设备的相关信息,表明目标设备已经成功接入后台的服务器,确保该目标设备与服务器完成关联,完成了对目标设备的注册过程。服务器具备多账号体系,所有账号下的数据都是互相隔离的,A账号下只能获取到A账号名下的设备信息,无法获取B账号名下的设备信息;服务器与设备的主动通信也会做到设备隔离,服务器向A设备发布指令时,其他设备是无法收到消息的,防止设备越权问题的出现,保证了通信安全。另外,对于敏感信息的传输,可以利用多种加密方式处理,保证敏感信息的安全、保密地传输。
步骤四,接收用户通过用户终端发送的针对目标设备的远程桌面控制请求。
步骤五,如果用户为合法用户,且用户具有针对目标设备的控制权限,向用户终端发送加密连接凭证,以通过用户终端解析加密连接凭证,得到解析后的连接凭证,基于解析后的连接凭证,向服务器发送远程桌面控制的开启指令。
步骤六,将开启指令发送至目标设备,以使目标设备开启远程桌面控制功能,按预设规则向服务器发送视频帧数据。
步骤七,将视频帧数据发送至用户终端。
步骤八,接收用户通过用户终端发送的针对视频帧数据的操作指令,将操作指令发送至目标设备,以使目标设备执行操作指令对应的操作。
步骤九,接收来自用户终端的远程操作指令;其中,远程操作指令包括:远程升级指令、应用管理指令、设备控制指令、外设控制指令。
用户可以通过用户终端的远程指令操作台发送远程操作指令,该远程指令操作台可以理解为是在用户终端上显示的操作界面,该远程指令操作台通常为用户提供多种指令,如图2所示的一种操作界面示意图,图3所示的另一种操作界面示意图,图4所示的另一种操作界面示意图,以及图5所示的另一种操作界面示意图,大体上包括远程升级指令、应用管理指令、设备控制指令、外设控制指令等,其中,远程升级指令用于指示对目标设备进行远程升级;应用管理指令用于指示对目标设备进行相关管理操作;设备控制指令用于指示对目标设备进行相应的控制操作;外设控制属于拓展部分,可根据客户需求,接入相应的指令功能,如远程查看打印机状态、远程升级打印机固件等。如图6所示的一种操作记录详情示意图,所有的远程指令执行过程都可以通过该操作记录详情示意图去查看每一次指令的详细记录。除此之外,远程操作指令还支持对批量设备进行处理,如图7所示的一种批量操作界面示意图,处理的时机可以包括以下三种:立即、定时、周期性执行。
步骤十,如果检测到目标设备处于离线状态,将远程操作指令保存至预设容器。
在实际实现时,由于目标设备可能不会一直处于在线状态,因此,当服务器接收到远程操作指令后,通常会先检测目标设备处于离线状态还是在线状态,如果处于离线状态,则通常会将接收到的远程操作指令以一定规则存储在一个容器中,该容器可以理解为一种轻量级的打包和隔离应用工作负载的方法。
步骤十一,如果检测到目标设备处于在线状态,从容器中提取远程操作指令,并发送至目标设备。
当检测到目标设备重新上线时,即该目标设备处于在线状态下,可以从上述容器中按序提取远程操作指令,并传达给目标设备。
步骤十二,将远程操作指令发送至目标设备,以使目标设备根据远程操作指令执行对应的操作。
步骤十三,接收目标设备发送的针对远程操作指令的执行结果,并将执行结果返回至用户终端。
目标设备接收到远程操作指令后,可以根据该远程操作指令执行相应的操作,比如,如果接收到的远程操作指令为远程升级指令,则可以根据该远程升级指令进行远程升级,不需要运维人员到设备现场即可实现对目标设备的升级,在完成升级操作后,可以将相应的执行结果返回至用户终端,比如,远程升级成功或远程升级失败等,以使用户能及时了解升级结果。
步骤十四,接收来自用户终端的远程文件处理指令。
步骤十五,将远程文件处理指令发送至目标设备,以使目标设备将所保存的设备文件列表发送至服务器。
步骤十六,将设备文件列表发送至用户终端,以通过用户终端处理接收到的设备文件列表中的文件;其中,目标设备中的设备文件列表与用户终端中的设备文件列表同步。
通过远程文件处理指令可以实现对目标设备的远程文件管理,该远程文件管理主要针对文件传输作业,通常只对文件进行管理。通过上述远程文件处理指令可以实现将目标设备的设备文件列表显示在用户终端,用户就可以通过用户终端的文件管理页面对目标设备的文件进行基本的添加文件、获取文件至本地、删除文件、获取文件列表等操作,并且会同步至目标设备中的设备文件列表,即实现目标设备中的设备文件列表与用户终端中的设备文件列表同步,极大方便了对目标设备的文件的运维工作。
步骤十七,接收来自目标设备的心跳信息;其中,心跳信息中携带有目标设备的设备标识。
步骤十八,解析心跳信息,根据解析后的心跳信息确定目标设备的运行状态信息和设备状态信息;其中,设备状态信息包括:目标设备的硬件信息、软件信息和网络信息。
上述设备标识可以是设备的唯一序列号或唯一标志符等;上述运行状态信息可以是设备上线、下线、启用、禁用、删除设备等;上述心跳信息通常是序列化后的原生二进制数据,需要通过一定方式解析数据,从而获取到设备上报的心跳信息,里面可能包含了设备基本的运行状态、硬件信息、软件信息、网络信息等,其中,硬件信息数据包括了设备运行内存ROM的历史使用情况(一周内)、CPU的历史使用情况(一周内)、闪存(Flash)占用情况、设备屏幕的运行状态以及外部存储(SD Card或TF卡)的使用情况。软件信息包括了操作系统版本、内核版本、固件版本、固件编译的基本信息以及已安装应用的基本信息以及其CPU占用率和内存使用情况。网络信息包括了当前连接的IP地址、网关地址、网络名称、信号强度、信号类型、信号频率,已经保存的Wi-Fi凭证信息,已经保存的蓝牙连接凭证信息。除此之外,还可以解析目标设备,比如,可以得到目标设备的设备型号、规格等相关设备信息。
步骤十九,根据运行状态信息和设备状态信息生成可视化报表。
在解析得到上述运行状态信息和设备状态信息后,可以根据这些信息生成可视化报表,该可视化报表可以是表格形式或统计图形式等;可以通过该可视化报表展示用户最关心的数据,比如,设备累计在线数量、异常设备统计、设备应用版本的分布情况、设备固件版本的分布情况等。
步骤二十,将可视化报表发送至用户终端。
步骤二十一,当设备状态信息超出预设的阈值范围时,生成报警信息。
当完成对目标设备的注册后,目标设备通常会每隔一段时间间隔便会向指定的话题频道发送设备心跳信息,相应的,后台的服务器会订阅相关话题,来接收目标设备的心跳信息,其中,目标设备发送的话题可以以设备的唯一序列号为核心区分字段,来隔离不同设备的消息。通过这样的方式,便可以达到及时更新设备的运行状态,再通过前台界面的可视化报表,便能够及时追踪设备状态,在发生异常时作出预警处理等。用户可以手动查看设备的多维度的状态信息,包括硬件信息、软件信息、网络信息,除此之外,用户还能够设置设备预警阈值,比如设置设备运行内存最低阈值,设备异常断电预警等等,通过手机短信、邮箱、界面弹窗等多种方式来通知到用户。
上述设备控制方法,能够多维度地监控设备运行时状态,多方面的对设备进行策略管控;并且带有交互性强的远程指令界面、远程桌面控制服务、交互性强的远程文件管理服务等;通过获取更多维度的设备运行状态,可以更全面的监控设备和诊断故障;通过追踪远程操作指令运行情况,确保指令的正常执行;另外,该方式还实现了更多方式的设备管控,更加灵活地、有针对性地和准确地管控设备;通过整合远程桌面控制和远程文件管理,可以更加便捷、高效地维护设备。
为方便理解,参见图8所示的一种设备控制系统的架构示意图,图中自底向上分成了四个层面来阐述这套系统的技术架构,依次为设备感知层、网络层、平台层、应用层,另外还有贯穿四个层面的权限管理与系统日志监控功能。每一层之间互相联系,相辅相成,但各个层面内部均以模块组件形式存在,对外只暴露统一的接口,做到各个层面间相互独立,又可以互相联系,其中,设备感知层相当于设备端,平台层的功能由服务器完成。设备感知层将感知的数据通过网络层传输到平台层。下面,逐一介绍每个层面的作用。
首先是设备感知层,这层的主要功能就是采集物理世界的数据,数据的来源可以是原生的二进制流数据,可以是文本类数据、编码后的图片数据,也可以是人脸识别模块的模型数据库,数据类型可以是各种各样。只要设备安装了智能设备管理系统的客户端安卓应用程序,它就能够收集设备上的硬件信息数据、软件信息数据和网络信息数据,甚至是外部设备的使用情况数据。
接着是网络层的介绍。网络层主要功能就是传输信息,将设备感知层获得的数据传送至指定目的地。在物联网领域,嵌入式程序相当于人的大脑,在信息采集完成之后,大脑就会给通讯模块发布指令说把这个信息传给指定位置,网络层会涉及到选用什么样的通讯网络以及采用什么样的通讯机制来传送相关信息。
平台层是这个技术架构中的重点层面,这部分介绍了智能设备管理系统的功能构成,主要由四个部分构成:设备管理模块、安全管理模块、监控运维模块、数据应用模块。
设备管理模块包含了设备注册、设备生命周期管理、设备数据解析、设备拓扑、设备影子,各模块之间的功能相对独立。其中,设备注册:设备自发地向服务器发起注册请求,以请求与服务器关联;设备生命周期管理:主要涉及设备上线/下线、启用/禁用、删除设备等设备状态的管理以及设备基本信息的展示;数据解析:通过网络接收到的数据为序列化后的原生二进制数据,需要通过一定方式解析数据,从而获取到设备上报的心跳信息;设备影子:当出现设备离线的情况时,发布的消息会被服务端以一定规则存储在一个容器中,待设备重新上线时,会按序地将指令传达给设备。设备拓扑指示了被管理设备与其他设备之间的关联关系。
安全管理模块包含了设备安全认证、通信安全和加密传输等功能。具体介绍如下:设备安全认证:服务端接收注册请求时,会对请求信息进行签名验证,隔离非法设备无法接入服务端。通信安全:防止设备越权问题的出现;加密传输:利用多种加密方式处理,保证敏感信息的安全、保密地传输。
监控运维模块是平台层中最为核心的模块,也是本次发明中重点部分。其中包括:监控诊断、设备预警、可视化报表、远程桌面、OTA(Over-the-AirTechnology,空中下载技术)升级和日志服务;其中,监控诊断可以用于对设备进行待监控、诊断,以确认其是否处于正常运行状态;日志服务:系统会额外的记录设备异常断电日志、网络状态故障日志和外部设备日志,其中外部设备日志属于自定义模块;上述设备预警、可视化报表、远程桌面和OTA升级(对应上述远程升级)可参考前述实施例中的相关描述,在此不再赘述。
应用层主要介绍的是该技术架构能够实际投入哪些项目中使用。比如常见的教育类平板的管控系统、智慧超市中自动售卖机监控运维、广告机的视频投放、物流监控等等场景。
上述设备控制系统,能更及时获取到设备故障报警,更高效、更准确地诊断设备异常点;更灵活地管控设备,使设备按照预期设定策略运行;更方便的对设备进行功能控制,以及文件传输;节约运维成本,降低设备的故障率。
参见图9所示的另一种设备控制方法的示意图,该方法包括了安装了智能设备管理系统的客户端安卓应用程序的电子设备端(对应上述目标设备)、部署了智能设备管理系统后端服务的MDM服务端、部署了MQTT Broker服务端,以及提供给用户操作的浏览器客户端界面(以下称前台界面,对应上述用户终端),其中,MDM服务端和MQTT服务端作为一个整体,对应前述实施例中的服务器。
电子设备端端携带唯一标志符以及必要信息,发起注册请求,MDM服务端校验设备信息,完成设备注册过程。在完成注册后,电子设备端按照一定时间间隔向指定话题发布设备心跳信息,MDM服务端订阅对应设备的话题,接收心跳信息,MDM服务端解析并处理心跳信息。接着是关于远程设备指令(对应上述远程操作指令)的流程介绍。用户在前端界面通知远程指令操作台发送了对指定设备发送看一条指令请求后,MDM服务端便会处理相关请求,接着便会向MQTT服务端发布具体的指令信息,设备端通过订阅相关话题后,便会收到指令进行处理,与此同时,MDM服务端会同步等待设备响应,设备每次执行完每个步骤都会向MDM服务端通过HTTP请求上报指令执行结果,直到任务结束或关键节点上报到后台服务端时,对于前端界面进行指令发送的请求才会有响应,从而给到用户一种指令发送出去后,得到的响应即是设备的响应的感受。当然,对于具体的指令执行步骤可以在图6所示的操作记录页查看。
最后是关于远程作业功能中的远程桌面的实现介绍。首先,用户在前台界面点击开启远程桌面的按钮后,便会向MDM服务端请求开启远程桌面,MDM服务端验证用户身份和享有的资源权限后,若验证通过,便会响应一段加密处理的连接凭证,用于连接MQTT服务端,来进行远程桌面的操作。前台界面获取到通过解析加密凭证信息后,再向MQTT服务端请求连接,连接完成后,会向相关话题发送一条开启远程桌面的控制指令,要求设备端开启远程桌面的功能。电子设备端接收到相关消息后,便会开启远程桌面功能,按照规定的画面质量、视频帧数等等规则,向MQTT服务端发送话题质量为0的消息,特别地,这里的话题质量为0,表明MQTT消息仅发送一次。这么做的目的是避免不必要的占用MQTT服务端的消息队列空间,因为对于话题质量为1或2的消息,MQTT服务端会对消息进行存储,直到消息被应答或确保消息转发完成时,才会被清理出消息队列。与此同时,这里传输的是视频帧,对于可靠性要求不高,更多要求是实时性的要求,故先前为抵达的部分画面数据是运行适量丢弃的。
紧接着,前台界面也订阅了相关的话题,话题质量为0,接收到相关消息后,对相关图像数据进行处理后,便以图片的形式展示在前台界面,由于图片数据在不断变化,从而达到实时投屏的效果。另外,前台界面会捕捉图片界面内的鼠标事件和键盘事件,其中鼠标事件的坐标可以通过计算图片画面中的相对坐标获得。然后,前台界面将鼠标事件和鼠标相对坐标封装后形成指令消息,通过MQTT服务端发送给电子设备端,设备端便可以处理相对应的鼠标事件,从而实现远程桌面的鼠标控制。
上述设备控制方法,解决了设备故障检测与报警、远程设备监控与运维、多方式设备管控和远程设备作业等问题,并且,整合远程桌面和远程文件管理于MDM平台,可以更加便捷、高效地维护设备。
本发明实施例提供了一种设备控制装置,其特征在于,所述装置设置于服务器;所述服务器分别与用户终端和目标设备通信连接;如图10所示,所述装置包括:第一接收模块110,用于接收用户通过所述用户终端发送的针对所述目标设备的远程桌面控制请求;第一发送模块111,用于如果所述用户为合法用户,且所述用户具有针对所述目标设备的控制权限,向所述用户终端发送加密连接凭证,以通过所述用户终端解析所述加密连接凭证,得到解析后的连接凭证,基于所述解析后的连接凭证,向所述服务器发送远程桌面控制的开启指令;第二发送模块112,用于将所述开启指令发送至所述目标设备,以使所述目标设备开启远程桌面控制功能,按预设规则向所述服务器发送视频帧数据;第三发送模块113,用于将所述视频帧数据发送至所述用户终端;第二接收模块114,用于接收所述用户通过所述用户终端发送的针对所述视频帧数据的操作指令,将所述操作指令发送至所述目标设备,以使所述目标设备执行所述操作指令对应的操作。
上述设备控制装置,接收针对目标设备的远程桌面控制请求;如果用户合法且具有控制权限,向用户终端发送加密连接凭证,以通过用户终端解析加密连接凭证,基于解析后的连接凭证,向服务器发送远程桌面控制的开启指令;将开启指令发送至目标设备,以使其开启远程桌面控制功能,按预设规则通过服务器向用户终端发送视频帧数据;接收用户终端发送的针对视频帧数据的操作指令,并发送至目标设备,以使其执行操作指令对应的操作。该装置整合了远程桌面控制的功能,当接收到远程桌面控制请求,并确认用户合法且具有权限后,可通过用户终端对目标设备进行远程桌面控制,不需要借助第三方软件,从而降低了对设备的控制成本。
进一步的,该装置还用于:接收来自所述用户终端的远程操作指令;其中,所述远程操作指令包括:远程升级指令、应用管理指令、设备控制指令、外设控制指令;将所述远程操作指令发送至所述目标设备,以使所述目标设备根据所述远程操作指令执行对应的操作;接收所述目标设备发送的针对所述远程操作指令的执行结果,并将所述执行结果返回至所述用户终端。
进一步的,该装置还用于:如果检测到所述目标设备处于离线状态,将所述远程操作指令保存至预设容器;如果检测到所述目标设备处于在线状态,从所述容器中提取所述远程操作指令,并发送至所述目标设备。
进一步的,该装置还用于:接收来自所述用户终端的远程文件处理指令;将所述远程文件处理指令发送至所述目标设备,以使所述目标设备将所保存的设备文件列表发送至所述服务器;将所述设备文件列表发送至所述用户终端,以通过所述用户终端处理接收到的所述设备文件列表中的文件;其中,所述目标设备中的设备文件列表与所述用户终端中的设备文件列表同步。
进一步的,该装置还用于:接收来自所述目标设备的注册请求;其中,所述注册请求中携带有所述目标设备的设备信息和密钥信息;判断所述设备信息和所述密钥信息是否合法;如果所述设备信息和所述密钥信息均合法,对所述目标设备进行注册,以使所述目标设备与所述服务器通信连接。
进一步的,该装置还用于:接收来自所述目标设备的心跳信息;其中,所述心跳信息中携带有所述目标设备的设备标识;解析所述心跳信息,根据解析后的心跳信息确定所述目标设备的运行状态信息和设备状态信息;其中,所述设备状态信息包括:所述目标设备的硬件信息、软件信息和网络信息;根据所述运行状态信息和所述设备状态信息生成可视化报表;将所述可视化报表发送至所述用户终端;当所述设备状态信息超出预设的阈值范围时,生成报警信息。
进一步的,所述目标设备与所述服务器之间采用预设的网络接入方式和预设的网络传输协议通信连接;其中,所述网络传输协议包括:HTTP通信协议、HTTPS通信协议、MQTT通信协议或CoAP通信协议。
本发明实施例所提供的设备控制装置,其实现原理及产生的技术效果和前述设备控制方法实施例相同,为简要描述,设备控制装置实施例部分未提及之处,可参考前述设备控制方法实施例中相应内容。
本发明实施例还提供了一种服务器,参见图11所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现上述设备控制方法。
进一步地,图11所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述设备控制方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的设备控制方法、装置及服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,用户终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。