远程控制的方法、装置、计算机设备及存储介质与流程

文档序号:21544328发布日期:2020-07-17 17:51阅读:190来源:国知局
远程控制的方法、装置、计算机设备及存储介质与流程

本发明涉及终端控制技术领域,尤其涉及远程控制的方法、装置、计算机设备及存储介质。



背景技术:

基于用户的特殊需求,有时候用户需要通过一台手机或电脑控制其他的设备,例如在远程控制协助处理对方电脑上的事务时,需要用户通过app应用程序中的远程控制按钮触发控制。

现有的这种远程控制方法无论是手机控制手机、电脑控制电脑、还是手机控制电脑,都需要主控设备和被控设备安装相同的app应用程序,由于主控设备和被控设备可能使用的是不同操作系统,例如主控设备安装的是mac苹果的操作系统,被控设备安装的是windows系统,这就需要程序开发人员对不同的操作系统分别开发同一app应用程序,现有的这种远程控制的方法限制了远程控制的使用条件,增加了不必要的程序开发。



技术实现要素:

本发明实施例提供一种远程控制的方法、装置、计算机设备及存储介质,以解决现有技术中实现远程控制这一技术的程序开发工程量大的技术问题。

一种远程控制的方法,所述方法应用于主控设备,所述方法包括:

根据接收的配置指令,在浏览器页面中配置被控设备的身份标识;

通过所述浏览器页面接收到远程控制指令时,向被控设备发送远程控制的请求消息;

接收被控设备根据所述请求消息实时反馈的所述被控设备的屏幕显示内容;

将接收的所述被控设备的屏幕显示内容实时转换为图片帧,并在所述浏览器页面中实时显示所述图片帧;

实时监控在所述图片帧区域内的鼠标坐标和鼠标事件,并将监控的所述鼠标坐标和鼠标事件实时发送至所述身份标识对应的被控设备,供所述被控设备在接收的所述鼠标坐标的位置执行对应的鼠标事件。

一种远程控制的装置,所述装置包括:

配置模块,用于根据接收的配置指令,在浏览器页面中配置被控设备的身份标识;

请求消息发送模块,用于通过所述浏览器页面接收到远程控制指令时,向被控设备发送远程控制的请求消息;

接收模块,用于接收被控设备根据所述请求消息实时反馈的所述被控设备的屏幕显示内容;

显示模块,用于将接收的所述被控设备的屏幕显示内容实时转换为图片帧,并在所述浏览器页面中实时显示所述图片帧;

监控模块,用于实时监控在所述图片帧区域内的鼠标坐标和鼠标事件,并将监控的所述鼠标坐标和鼠标事件实时发送至所述身份标识对应的被控设备,供所述被控设备在接收的所述鼠标坐标的位置执行对应的鼠标事件。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述远程控制的方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述远程控制的方法的步骤。

本申请提供的远程控制的方法、装置、计算机设备及存储介质,使得用户通过利用主控设备内的浏览器页面即可远程控制被控设备,由于一般的终端设备均安装有浏览器,本申请提供的远程控制方法使得用户不需要另外安装其他应用程序即可实现对被控设备的远程控制功能,不限定主控设备与被控设备所使用的操作系统是否相同,一方面节省了用户安装应用程序的流量和时间,节省了终端设备的内存,另一方面使得开发人员仅需要对浏览器的功能进行开发即可,省去了程序员不必要的应用程序的开发,本申请提供的远程控制方法可以使用在linux系统中,提高了终端设备远程控制的适用性和开发效率。

附图说明

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

图1是本发明一实施例中远程控制的方法的一应用环境示意图;

图2是本发明一实施例中远程控制的方法的一流程图;

图3是本发明一实施例中远程控制的方法的一流程图;

图4是本发明一实施例中远程控制的方法的一交互示意图;

图5是本发明一实施例中远程控制的装置的结构示意图;

图6是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的远程控制的方法,可应用在如图1的应用环境中,主控设备与被控设备通过网络进行通信。其中,主控设备包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑等,被控设备包括但不限于个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。

在一实施例中,如图2所示,提供一种远程控制的方法,以该方法应用在图1中的主控终端为例进行说明,包括如下步骤s101至s105。

s101、根据接收的配置指令,在浏览器页面中配置被控设备的身份标识。

在该实施例中,浏览器包括但不限于火狐浏览器、谷歌浏览器、ie(internetexplorer)浏览器等。其中,被控设备的身份标识例如被控设备的ip(internetprotocol,全称互联网协议)地址。

其中,该配置指令例如接收到添加被控设备ip地址的指令,用户可在浏览器的页面中添加终端设备的ip地址使得对应的终端设备能够被控制。

在其中一个实施例中,所述根据接收的配置指令,在浏览器页面中配置被控设备的身份标识的步骤包括:

接收被控设备的互联网协议ip地址;

将所述互联网协议ip地址对应的设备配置为所述被控设备。

进一步地,主控设备可以是手机、pc(personalcomputer,个人计算机)机、平板电脑等具有显示屏幕及触控功能的终端设备。

s102、通过所述浏览器页面接收到远程控制指令时,向被控设备发送远程控制的请求消息。

其中,该被控设备可以是手机、pc机、平板电脑、可穿戴电子设备等具有显示屏幕的终端设备。当用户点击浏览器页面中的“开始控制”的按钮时,该主控设备接收到所述远程控制的指令。

s103、接收被控设备根据所述请求消息实时反馈的所述被控设备的屏幕显示内容。

在其中一个实施例中,被控设备启动一个minicap进程,这个进程从被控设备的缓存中读取当前屏幕frame信息,并把这个信息发送给主控设备。在该实施例中,该minicap进程可根据主控设备不同的处理能力以不同的频率读取当前屏幕frame信息,一般frame信息的读取速度可以在每秒30-60次左右。

s104、将接收的所述被控设备的屏幕显示内容实时转换为图片帧,并在所述浏览器页面中实时显示所述图片帧。

在其中一个实施例中,当主控设备的分辨率大于等于该被控设备的分辨率时,所述图片帧的大小与接收的所述被控设备的分辨率的大小相同。

在其中一个实施例中,主控设备可以在后台启动一个minicap接收器实时接收被控设备发送的frame信息,并将frame信息实时转换成jpeg格式的图片,以形成图片帧。可以通过在浏览器页面中新建一个websocketclient链接后台的websocket服务,通过websocket把jpeg格式的图片帧发送给浏览器页面。

在该实施例中,每个所述图片帧对应每次所述frame信息,即每秒转换所述图片帧的次数与接收所述frame信息的次数相同。通过该步骤得到的图片帧的频率也可以在每秒30-60帧左右。

浏览器页面通过预先创建的canvas组件把jpeg格式的图片帧展示出来这样就实现了页面实时展示被控设备的屏幕中的内容。

s105、实时监控在所述图片帧区域内的鼠标坐标和鼠标事件,并将监控的所述鼠标坐标和鼠标事件实时发送至所述身份标识对应的被控设备,供所述被控设备在接收的所述鼠标坐标的位置执行对应的鼠标事件。

其中,监控主控设备在浏览器页面中的鼠标坐标与鼠标事件并不限定该主控设备必须包括鼠标,仅用于表示该主控设备具有可操作功能,例如该主控设备可以不包括鼠标仅包括触摸屏,也可以既包括鼠标也包括触摸屏,还可以仅包括鼠标。

在该实施例中,所述在有效区域内的所述鼠标坐标与鼠标事件表示在所述图片帧的显示区域内的鼠标坐标和鼠标事件。

在其中一个实施例中,可以将监控的鼠标坐标和鼠标事件通过websocket发送给后台服务端,后台服务端将这些信息发送给被控设备。被控设备启动一个minitouch进程接收并执行该鼠标坐标和鼠标事件,从而实现了从页面控制手机的操作。

本实施例使得用户通过利用主控设备内的浏览器页面即可远程控制被控设备,由于一般的终端设备均安装有浏览器,本申请提供的远程控制方法使得用户不需要另外安装其他应用程序即可实现对被控设备的远程控制功能,不限定主控设备与被控设备所使用的操作系统是否相同,一方面节省了用户安装应用程序的流量和时间,节省了终端设备的内存,另一方面使得开发人员仅需要对浏览器的功能进行开发即可,省去了程序员不必要的应用程序的开发,本申请提供的远程控制方法可以使用在linux系统中,提高终端设备远程控制的适用性和开发效率。

在其中一个实施例中,所述在所述浏览器页面中实时显示所述图片帧的步骤包括:

根据接收的第一创建指令在所述浏览器页面中创建第一视图组件,通过所述第一视图组件实时显示所述图片帧;

所述实时监控在所述图片帧区域内的鼠标坐标和鼠标事件的步骤包括:

根据接收的第二创建指令在所述第一视图组件的上层创建第二视图组件,所述第二视图组件的大小与所述第一视图组件的大小相同且相互重合;

根据接收的透明度设置指令将所述第二视图组件的透明度设置为透明,进一步地,可将第二视图组件的透明度设置为100%;

在所述第二视图组件中实时监控在所述图片帧区域内的鼠标坐标和鼠标事件。

在其中一个实施例中,该第一视图组件及第二视图组件均为canvas组件。

图3是本发明一实施例中远程控制的方法的一流程图,如图3所示,该远程控制的方法在包括上述步骤s101至s105的基础上,该方法还包括:

接收被控设备根据所述请求消息反馈的所述被控设备的分辨率;

根据所述被控设备的分辨率确定所述图片帧的大小。

进一步地,上述步骤s103具体为步骤s1031:

s1031、接收被控设备根据所述请求消息反馈的所述被控设备的分辨率及实时反馈的所述被控设备的屏幕显示内容。

上述步骤s104具体为步骤s1041:

s1041、将接收的所述被控设备的屏幕显示内容实时转换为图片帧,根据所述被控设备的分辨率确定所述图片帧的大小并在所述浏览器页面中实时显示所述图片帧。

在其中一个实施例中,所述将接收的所述被控设备的屏幕显示内容实时转换为图片帧的步骤进一步包括:

将接收的所述被控设备的屏幕显示内容实时转换为与所述被控设备的分辨率的大小相同的图片帧。

进一步地,当所述主控设备的分辨率小于被控设备的分辨率时,所述方法包括:

根据所述主控设备的分辨率与所述被控设备的分辨率的比值确定所述图片帧的伸缩系数和所述鼠标坐标的扩张系数。

在其中一个实施例中,该伸缩系数与该扩张系数的乘积为1。

所述在所述浏览器页面中实时显示所述图片帧的步骤具体包括:

将转换的所述图片帧按照所述伸缩系数进行缩放;

在所述浏览器页面中实时显示缩放后的所述图片帧。

所述将监控的所述鼠标坐标和鼠标事件实时发送至所述身份标识对应的被控设备的步骤包括:

将监控的所述鼠标坐标按照所述扩张系数实时放大后发送至所述身份标识对应的被控设备。

根据本实施例的一个使用场景例如:将接收的所述被控设备的屏幕显示内容实时转换为图片帧,并将所述图片帧缩小为原有大小的一半,在第一视图组件中显示所述图片帧,通过预先设置的第二视图组件监控鼠标坐标与鼠标事件,将监控得到的所述鼠标坐标增大至原来的两倍,将增大后的所述鼠标坐标及鼠标事件发送至所述身份标识对应的被控设备。

图4是本发明一实施例中远程控制的方法的一交互示意图,根据本实施例的一个使用场景如图4所示,主控设备在浏览器页面中配置被控设备的身份标识,在接收到远程控制的指令时,向被控设备发送远程控制的请求消息,被控设备在接收该请求消息后向主控设备反馈被控设备的分辨率及被控设备的屏幕实时的显示内容,主控设备将被控设备的屏幕显示内容实时转换为图片帧,根据被控设备的分辨率确定该图片帧的大小并在浏览器页面中实时显示该图片帧,主控设备实时监控在所述图片帧区域内的鼠标坐标和鼠标事件,可以将监控的鼠标坐标和鼠标事件通过websocket发送给后台服务端,后台服务端将监控的鼠标坐标和鼠标事件实时发送给对应的被控设备。被控设备启动一个minitouch进程接收并执行该鼠标坐标和鼠标事件,在接收的鼠标坐标的位置执行对应的鼠标事件,从而实现了从页面控制手机的操作。

本实施例通过调节图片帧的显示大小,并将监控到的鼠标坐标进行相应的转换后发送给被控设备,使得即使主控设备的屏幕分辨率小于被控设备(例如主控设备为手机、被控设备为笔记本电脑)时,依旧可以实现本申请提供的通过浏览器进行远程控制的方法,进一步提高本申请的适用范围。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种远程控制的装置,该远程控制的装置与上述实施例中远程控制的方法一一对应。如图5所示,该远程控制的装置包括配置模块11、消息发送模块12、接收模块13、显示模块14和监控模块15。各功能模块详细说明如下:

配置模块11,用于根据接收的配置指令,在浏览器页面中配置被控设备的身份标识。

在该实施例中,浏览器包括但不限于火狐浏览器、谷歌浏览器、ie浏览器等。其中,被控设备的身份标识例如被控设备的ip地址。

其中,该配置指令例如接收到添加被控设备ip地址的指令,用户可在浏览器的页面中添加终端设备的ip地址使得对应的终端设备能够被控制。

消息发送模块12,用于通过所述浏览器页面接收到远程控制指令时,向被控设备发送远程控制的请求消息。

其中,该被控设备可以是手机、pc机、平板电脑、可穿戴电子设备等具有显示屏幕的终端设备。当用户点击浏览器页面中的“开始控制”的按钮时,该主控设备接收到所述远程控制的指令。

接收模块13,用于接收被控设备根据所述请求消息实时反馈的所述被控设备的屏幕显示内容。

在其中一个实施例中,被控设备启动一个minicap进程,这个进程从被控设备的缓存中读取当前屏幕frame信息,并把这个信息发送给主控设备。在该实施例中,该minicap进程可根据主控设备不同的处理能力以不同的频率读取当前屏幕frame信息,一般frame信息的读取速度可以在每秒30-60次左右。

显示模块14,用于将接收的所述被控设备的屏幕显示内容实时转换为图片帧,并在所述浏览器页面中实时显示所述图片帧。

在其中一个实施例中,当主控设备的分辨率大于等于该被控设备的分辨率时,所述图片帧的大小与接收的所述被控设备的分辨率的大小相同。

在其中一个实施例中,主控设备可以在后台启动一个minicap接收器实时接收被控设备发送的frame信息,并将frame信息实时转换成jpeg格式的图片,以形成图片帧。可以通过在浏览器页面中新建一个websocketclient链接后台的websocket服务,通过websocket把jpeg格式的图片帧发送给浏览器页面。

在该实施例中,每个所述图片帧对应每次所述frame信息,即每秒转换所述图片帧的次数与接收所述frame信息的次数相同。通过该步骤得到的图片帧的频率也可以在每秒30-60帧左右。

浏览器页面通过预先创建的canvas组件把jpeg格式的图片帧展示出来这样就实现了页面实时展示被控设备的屏幕中的内容。

监控模块15,用于实时监控在所述图片帧区域内的鼠标坐标和鼠标事件,并将监控的所述鼠标坐标和鼠标事件实时发送至所述身份标识对应的被控设备,供所述被控设备在接收的所述鼠标坐标的位置执行对应的鼠标事件。

其中,监控主控设备在浏览器页面中的鼠标坐标与鼠标事件并不限定该主控设备必须包括鼠标,仅用于表示该主控设备具有可操作功能,例如该主控设备可以不包括鼠标仅包括触摸屏,也可以既包括鼠标也包括触摸屏,还可以仅包括鼠标。

在该实施例中,所述在有效区域内的所述鼠标坐标与鼠标事件表示在所述图片帧的显示区域内的鼠标坐标和鼠标事件。

在其中一个实施例中,可以将监控的鼠标坐标和鼠标事件通过websocket发送给后台服务端,后台服务端将这些信息发送给被控设备。被控设备启动一个minitouch进程接收并执行该鼠标坐标和鼠标事件,从而实现了从页面控制手机的操作。

在其中一个实施例中,该远程控制的装置还包括:

第一创建单元,用于根据接收的第一创建指令在所述浏览器页面中创建第一视图组件,通过所述第一视图组件实时显示所述图片帧;

第二创建模块,用于根据接收的第二创建指令在所述第一视图组件的上层创建第二视图组件,所述第二视图组件的大小与所述第一视图组件的大小相同且相互重合;

透明度设置模块,用于根据接收的透明度设置指令将所述第二视图组件的透明度设置为透明,进一步地,可将第二视图组件的透明度设置为100%;

所述监控模块具体用于在所述第二视图组件中实时监控在所述图片帧区域内的鼠标坐标和鼠标事件。

在其中一个实施例中,该第一视图组件及第二视图组件均为canvas组件。

在其中一个实施例中:接收模块13还用于接收被控设备根据所述请求消息反馈的所述被控设备的分辨率;该显示模块14还用于根据所述被控设备的分辨率确定所述图片帧的大小。

在其中一个实施例中,该显示模块14具体用于将接收的所述被控设备的屏幕显示内容实时转换为与所述被控设备的分辨率的大小相同的图片帧。

在其中一个实施例中,当所述主控设备的分辨率小于被控设备的分辨率时,该远程控制的装置还包括:

系数确定模块,用于根据所述主控设备的分辨率与所述被控设备的分辨率的比值确定所述图片帧的伸缩系数和所述鼠标坐标的扩张系数。

在其中一个实施例中,该伸缩系数与该扩张系数的乘积为1

进一步地,该显示模块14具体包括:

缩放单元,用于将转换的所述图片帧按照所述伸缩系数进行缩放;

显示单元,用于在所述浏览器页面中实时显示缩放后的所述图片帧。

进一步地,该监控模块15具体用于将监控的所述鼠标坐标按照所述扩张系数实时放大后发送至所述身份标识对应的被控设备。

根据本实施例的一个使用场景例如:该显示模块将接收的所述被控设备的屏幕显示内容实时转换为图片帧,并将所述图片帧缩小为原有大小的一半,在第一视图组件中显示所述图片帧,通过预先设置的第二视图组件监控鼠标坐标与鼠标事件,将监控得到的所述鼠标坐标增大至原来的两倍,该监控模块将增大后的所述鼠标坐标及鼠标事件发送至所述身份标识对应的被控设备。

在其中一个实施例中,该配置模块11进一步包括:

ip地址接收单元,用于接收被控设备的互联网协议ip地址;

配置单元,用于将所述互联网协议ip地址对应的设备配置为所述被控设备。

关于远程控制的装置的具体限定可以参见上文中对于远程控制的方法的限定,在此不再赘述。上述远程控制的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与被控设备通过网络连接通信。该计算机程序被处理器执行时以实现一种远程控制的方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中远程控制的方法的步骤,例如图2所示的步骤101至步骤105。或者,处理器执行计算机程序时实现上述实施例中远程控制的装置的各模块/单元的功能,例如图5所示模块11至模块15的功能。为避免重复,这里不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中远程控制的方法的步骤,例如图2所示的步骤101至步骤105。或者,计算机程序被处理器执行时实现上述实施例中远程控制的装置的各模块/单元的功能,例如图5所示模块11至模块15的功能。为避免重复,这里不再赘述。

本实施例提供的远程控制的方法、装置、计算机设备及存储介质,使得用户通过利用主控设备内的浏览器页面即可远程控制被控设备,由于一般的终端设备均安装有浏览器,本申请提供的远程控制方法使得用户不需要另外安装其他应用程序即可实现对被控设备的远程控制功能,不限定主控设备与被控设备所使用的操作系统是否相同,一方面节省了用户安装应用程序的流量和时间,节省了终端设备的内存,另一方面使得开发人员仅需要对浏览器的功能进行开发即可,省去了程序员不必要的应用程序的开发,本申请提供的远程控制方法可以使用在linux系统中,提高了终端设备远程控制的适用性和开发效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1