CN112217850B - 远程控制的处理方法、装置、设备、服务器及存储介质 - Google Patents

远程控制的处理方法、装置、设备、服务器及存储介质 Download PDF

Info

Publication number
CN112217850B
CN112217850B CN201910626161.4A CN201910626161A CN112217850B CN 112217850 B CN112217850 B CN 112217850B CN 201910626161 A CN201910626161 A CN 201910626161A CN 112217850 B CN112217850 B CN 112217850B
Authority
CN
China
Prior art keywords
remote control
controlled device
server
controlled
data
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
Application number
CN201910626161.4A
Other languages
English (en)
Other versions
CN112217850A (zh
Inventor
陈晓波
李斌
奚驰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910626161.4A priority Critical patent/CN112217850B/zh
Publication of CN112217850A publication Critical patent/CN112217850A/zh
Application granted granted Critical
Publication of CN112217850B publication Critical patent/CN112217850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Abstract

本发明提供了一种远程控制的处理方法、装置、电子设备、服务器及存储介质;方法包括:接收主控设备对第一受控设备进行远程控制的通知消息;响应于所述通知消息,检测所述第一受控设备的语音通道;当检测到所述语音通道被占用时,将所述远程控制转移到与所述第一受控设备关联相同用户的第二受控设备,以使所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。通过本发明,能够及时、准确地进行远程控制。

Description

远程控制的处理方法、装置、设备、服务器及存储介质
技术领域
本发明涉及通信技术,尤其涉及一种远程控制的处理方法、装置、电子设备、服务器及存储介质。
背景技术
远程控制是在由一个设备去控制其他设备的技术,广泛应用于远程办公、远程技术支持(即远程协助)、远程交流和远程技术管理等场景,能够提升设备控制的效率,降低成本,因而具有重要的应用价值。
同一个用户往往会关联多个设备,例如手机和电脑等设备的多样性和使用环境的复杂性,导致针对用户的设备进行远程控制时存在延迟、甚至无法进行远程控制的情况。
对于在用户关联多设备的场景中,如何及时、准确地进行远程控制,相关技术尚无有效解决方案。
发明内容
本发明实施例提供一种远程控制的处理方法、装置、电子设备、服务器及存储介质,能够及时、准确地实现远程控制。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种远程控制的处理方法,应用于第一受控设备,包括:
接收主控设备对第一受控设备进行远程控制的通知消息;
响应于所述通知消息,检测所述第一受控设备的语音通道;
当检测到所述语音通道被占用时,将所述远程控制转移到与所述第一受控设备关联相同用户的第二受控设备,以使
所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。
本发明实施例提供一种远程控制的处理方法,应用于服务器,包括:
接收主控设备针对用户的远程控制的请求消息;
响应于所述请求消息,向与所述用户关联的第一受控设备和第二受控设备发送远程控制的通知消息;
当所述第二终端响应于所述通知消息,检测到与所述主控设备之间的语音通道被占用、且所述第二受控设备响应于所述通知消息而发送远程控制的拒绝消息时,将所述远程控制转移到所述第二受控设备,以使
所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。
上述方案中,所述方法还包括:
向所述第一受控设备和所述第二受控设备发送远程控制的通知消息之前,检测所述用户关联的终端设备的在线状态,且检测到所述第一受控设备和所述第二受控设备均处于在线状态;
当所述第二终端响应于所述通知消息,检测到与所述主控设备之间的语音通道未被占用,并向所述服务器发送远程控制的接受消息时,
向所述第一受控设备发送接入信息,以使
所述主控设备和所述第一受控设备根据所述接入信息分别建立数据通道,通过所述数据通道传输远程控制的语音数据,并通过信令通道传输操作数据。
本发明实施例提供一种电子设备,包括:
远程控制管理模块,用于:
接收主控设备对第一受控设备进行远程控制的通知消息;
响应于所述通知消息,检测所述第一受控设备的语音通道;
当检测到所述语音通道被占用时,将所述远程控制转移到与所述第一受控设备关联相同用户的第二受控设备,以使
所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。
上述方案中,所述远程控制管理模块,还用于:
触发服务器向所述第二受控设备发送接入信息,以使
所述主控设备和所述第二受控设备根据所述接入信息,建立所述主控设备和所述第二受控设备之间的数据通道。
上述方案中,所述远程控制管理模块,还用于:
向服务器发送远程控制的拒绝消息,所述拒绝消息中携带的拒绝原因为所述第一受控设备的语音通道被占用,以使
所述服务器检测到所述第二受控设备中的所述用户处于在线状态、且尚未收到所述第二受控设备针对所述远程控制的拒绝消息时,忽略所述拒绝消息,以及
使所述服务器响应于所述第二受控设备发送的远程控制的接受消息,向所述第二受控设备发送接入信息。
上述方案中,所述远程控制管理模块,还用于:
使所述主控设备响应于所述第二受控设备的远程控制的接受消息,根据所述接入信息中包括的所述服务器的地址和在线会话的标识,建立与所述服务器之间用于传输所述语音数据的数据通道,以及
使第二受控设备根据所述接入信息中包括的所述服务器的地址和在线会话的标识,建立与所述服务器之间用于传输所述语音数据的数据通道。
上述方案中,所述远程控制管理模块,还用于:
当检测到所述语音通道未被占用时,触发所述服务器向所述第一受控设备发送接入信息,以使
所述主控设备和所述第一受控设备根据所述接入信息建立数据通道,通过所述数据通道传输远程控制的语音数据,并通过信令通道传输操作数据。
上述方案中,所述电子设备还包括:
蜂窝通信模块,用于:
在所述远程控制管理模块接收主控设备对第一受控设备进行远程控制的通知消息之前,
建立所述主控设备与所述第一受控设备之间的语音通道,并通过所述通道传输语音通话的数据。
本发明实施例提供一种服务器,包括:
远程控制信令服务模块,用于:
接收主控设备针对用户的远程控制的请求消息;
响应于所述请求消息,向与所述用户关联的第一受控设备和第二受控设备发送远程控制的通知消息;
当所述第二终端响应于所述通知消息,检测到与所述主控设备之间的语音通道被占用、且所述第二受控设备响应于所述通知消息而发送远程控制的拒绝消息时,将所述远程控制转移到所述第二受控设备;
远程控制数据服务模块,用于:
使所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。
上述方案中,所述远程控制信令服务模块,还用于:
接收所述第一受控设备响应于所述通知消息而发送的拒绝消息,所述拒绝消息中携带的拒绝原因为所述第一受控设备的语音通道被占用;
响应于所述拒绝消息,检测到所述第二受控设备中的所述用户处于在线状态、且尚未收到所述第二受控设备的远程控制的拒绝消息时,忽略所述第一受控设备的拒绝消息,以及
当接收到所述第二受控设备的远程控制的接受消息时,向所述第二受控设备发送接入信息,以使
所述主控设备和所述第二受控设备根据所述接入信息建立所述主控设备和所述第二受控设备之间的数据通道。
上述方案中,所述远程控制信令服务模块,还用于:
使所述主控设备响应于所述第二受控设备的远程控制的接受消息,根据所述接入信息中包括的所述服务器的地址和在线会话的标识,建立与所述服务器之间用于传输所述语音数据的数据通道,以及
使第二受控设备根据所述接入信息中包括的所述服务器的地址和在线会话的标识,建立与所述服务器之间用于传输所述语音数据的数据通道。
上述方案中,所述远程控制信令服务模块,还用于:
向所述第一受控设备和所述第二受控设备发送远程控制的通知消息之前,检测所述用户关联的终端设备的在线状态,且检测到所述第一受控设备和所述第二受控设备均处于在线状态。
上述方案中,所述远程控制信令服务模块,还用于:
当所述第二终端响应于所述通知消息,检测到与所述主控设备之间的语音通道未被占用,并向所述服务器发送远程控制的接受消息时,
向所述第一受控设备发送接入信息;
所述远程控制数据服务模块,还用于:
使所述主控设备和所述第一受控设备根据所述接入信息建立数据通道,通过所述数据通道传输远程控制的语音数据,并通过信令通道传输操作数据。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的应用于第一受控设备的远程控制的处理方法。
本发明实施例提供一种服务器,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的应用于服务器的远程控制的处理方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的远程控制的处理方法。
本发明实施例具有以下有益效果:
通过对第一受控设备的语音通道的占用进行检测,使得第一受控设备无法在远程控制过程中进行语音通话时,将远程控制及时转移到关联相同用户的第二受控设备,保证用户在第一受控设备的语音的连续性,且能够使远程控制能够及时准确建立。
附图说明
图1是本发明实施例提供的远程控制系统400的一个可选的架构示意图;
图2是本发明实施例提供的电子设备200的结构示意图;
图3是本发明实施例提供的服务器300的结构示意图;
图4A是本发明实施例提供的远程控制的处理方法的一个可选的流程示意图;
图4B是本发明实施例提供的远程控制的处理方法的一个可选的流程示意图;
图5是相关技术提供的远程控制的流程示意图;
图6是本发明实施例提供的远程控制的架构示意图;
图7是本发明实施例提供的远程控制的流程示意图;
图8A是本发明实施例提供的客服A在PC的企业微信中发起远程控制的显示示意图;
图8B是本发明实施例提供的用户A的手机中显示远程控制的通知的显示示意图;
图8C是本发明实施例提供的用户A的PC中显示远程控制的通知的显示示意图;
图8D是本发明实施例提供的客服A的PC中渲染用户A的PC的桌面环境的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)远程控制,是由主控设备通过特定的通信技术(包括有线通信技术和无线通信技术)与受控设备通信,以对一个或两个以上(含两个)的设备(即受控设备)进行控制的技术。
需要指出地,“远程”仅用于表示主控设备以非物理接触的方式来控制受控设备,不代表对主控设备和受控设备之间的实际物理距离的限定,主控设备和受控设备可以是相同位置(例如,同一房间或同一建筑物内)的设备,也可以是异地(例如,不同的城市)的设备.
2)主控设备,远程控制的过程中实施控制的设备,可以是手机、电脑等终端设备,也可以是服务器。
3)受控设备,远程控制的过程中被控制的设备,每个受控设备可以是手机、电脑等终端设备,也可以是服务器。
参见图1,图1是本发明实施例提供的远程控制系统400的一个可选的架构示意图,涉及的设备包括:主控设备100、受控设备200(图1中示例性示出了受控设备200-1和受控设备200-2)和服务器300;下面分别进行说明。
主控设备100是进行远程控制的设备,作为示例,远程控制可以包括以下的功能:
1)主控设备100和受控设备200之间的语音通话,例如,主控设备100采集主控设备100用户的语音数据,发送到受控设备200中播放,同样的,受控设备200采集受控设备200用户的语音数据,发送到主控设备100播放,从而实现主控设备100和受控设备200用户的语音通话;
2)主控设备100对受控设备200进行控制的操作,例如,主控设备100再现与受控设备200相同的桌面环境,接收主控设备100用户在桌面环境(受控设备200-1的桌面环境210-1或受控设备200-2的桌面环境220-2)中的操作,并同步相应的操作数据到受控设备200中,由受控设备200根据操作数据模拟主控设备100用户在桌面环境中的操作,从而实现对受控设备200的控制。
在一些实施例中,服务器300用于实现主控设备100与受控设备200之间的数据通道和信令通道。其中,数据通道包括服务器300与主控设备100之间的数据通道、以及服务器300与受控设备200之间的数据通道,可以由服务器300中远程控制数据服务来实现;信令通道包括服务器300与主控设备100之间的信令通道、以及服务器300与受控设备200之间的信令通道,可以由服务器300中的远程控制信令通道来实现。
数据通道和信令通道可以支持各种通信方式,例如局域网(LAN,Local AreaNetwork)、广域网(WAN,Wide Area Network)、拨号方式和互联网方式等。数据通道用于承载远程控制过程中主控设备100与受控设备200之间的各种数据的传输,包括语音数据(例如主控设备100的语音数据、受控设备200的语音数据)、受控设备200的录屏数据;信令通道用于承载远程控制过程中与信令相关的消息/数据(例如远程控制的请求消息、通知消息、拒绝消息、接入信息和主控设备100的操作数据等)的传输。
就数据通道和信令通道使用的通信协议举例而言,为了保证信令消息/数据的可达性,信令通道可以采用TCP协议(也称为TCP通道),基于TCP协议能够保证数据可达的特性,可以实现信令消息/数据的可靠传输;数据通道可以采用UDP协议(也称为UDP通道),由于UDP协议能够在个别数据包传输丢失时不会使整体的数据传输失败,从而使得录屏数据传输过程中,即使个别数据包丢失,也不会影响主控设备100实时再现桌面环境。
在一些实施例中,受控设备200-1和受控设备200-2可以是关联到相同的用户的设备,这种情况下受控设备200-1和受控设备200-2也对应称为第一受控设备和第二受控设备,第一受控设备和第二受控设备可以基于用户的社交网络账号、电子邮箱和电话号码等各种类型的标识关联。当然,关联到相同用户的受控设备的数量可以是多个,不局限于图1中示出的受控设备200-1和受控设备200-2。
以远程控制的应用场景为例,主控设备100可以是社交网络客户端的客服设备,例如台式机电脑;受控设备200-1和受控设备200-2运行社交网络的客户端并关联同一用户的社交网络账号,受控设备200-1可以是用户当前进行语音通话所使用的设备,例如可以是智能手机、平板电脑和笔记本电脑等移动终端,受控设备200-2可以是台式机电脑、服务器等固定位置使用的终端,其运行的社交网络客户端可以具有不同的状态,例如在线状态和离线状态,状态被服务器300的状态中心服务所记录;受控设备的状态可以由用户设置,也可以根据用户的使用情况由服务器200的状态中心服务自动设置并记录,例如在活跃窗口时间内没有任何用户操作时,自动从在线状态切换为离线状态,状态会被同步到服务器300的状态中心服务。
另外,可以理解地,上文的主控设备与受控设备是相对的概念,例如,在一个应用场景中的主控设备,在另一应用场景中可以是受控设备;又例如,在同一个应用场景中的主控设备,也可以受控制于相同应用场景中的其他的设备,从而实现受控设备的角色。
下面在对图1示出的远程控制系统的应用场景示例性说明。
在远程办公的应用场景中,主控设备100对受控设备200进行操作办公,实现非本地办公,例如在家办公、异地办公和移动办公等远程办公模式。这种远程的办公方式不仅大大缓解了城市交通状况,减少了环境污染,还免去了上下班路上奔波的辛劳,更可以提高企业员工的工作效率和工作兴趣。
在远程教育的应用场景中,主控设备100对受控设备200实现了学生与教师、学生与教育组织之间系统教学和通信联系的教育形式,教师通过主控设备100将音频、视频(直播或录像)传输到学生操作的受控设备200,实现了新型教育方式。
在远程维护的应用场景中,计算机系统技术服务工程师或管理人员通过操作主控设备200,远程维护计算机或所需维护管理的网络系统等各种形式的受控设备200,以进行配置、安装、维护、监控与管理,解决以往服务工程师必须亲临现场才能解决的问题,实现高效率和低成本的维护。
在远程控制的应用场景中,各种第三方服务的客服人员可以通过主控设备200解决远端用户的受控设备200中的问题,如安装和配置软件、绘画、填写表单等,从而提升服务质量和用户体验。
继续说明实现本发明实施例的电子设备的架构,电子设备可以是上文的主控设备或受控设备。
参见图2,图2是本发明实施例提供的电子设备200的结构示意图,图2所示的电子设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。电子设备200中的各个组件通过总线系统240耦合在一起。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
存储器250能够存储数据以支持各种操作,这些数据的示例包括操作系统、程序、模块和数据结构或者其子集或超集,下面示例性说明。
存储器250中可以存储有操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
在一些实施例中,操作系统251可以包括如下的功能模块:
蜂窝通信模块252,用于通过蜂窝移动通信(Cellular Mobile Communication)类型的网络接口220到达其他计算设备,例如,传输蜂窝网络电话的语音数据到其他计算设备;
呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,存储器250中可以存储有用于实现远程控制的处理方法的客户端255,例如可以是社交网络客户端,将在下文中说明客户端中各个模块的功能。
参见图3,图3是本发明实施例提供的服务器300的结构示意图,图3所示的服务器300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务器300中的各个组件通过总线系统340耦合在一起。上述组件的功能可以根据图2的说明而理解。
在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,示例性地包括:操作系统351,操作系统351可以包括蜂窝通信模块352、呈现模块353和输入处理模块354。
在一些实施例中,存储器350中存储有用于实现远程控制的处理方法的服务端(程序)355,包括远程控制信令服务(模块)3551、远程控制数据服务(模块)3552和状态中心服务(模块)3553,将在下文中说明服务端中各个模块的功能。
将结合上文说明的远程控制系统及其所包括的主控设备、受控设备和服务器的示例性实施,以主控设备需要对用户的设备(假设,用户关联了第一受控设备和第二受控设备两个设备)进行远程控制为例,说明本发明实施例提供的远程控制的处理方法。
可以理解地,下文的第一受控设备和第二受控设备仅仅是为了区分用户关联的不同设备,是相对的概念,不代表对受控设备的重要性或优先级的区分,根据下文所记载的用户关联两个受控设备的远程控制方案,可以理解并实施用户关联三个以上受控设备的远程控制的方案。
参见图4A,图4A是本发明实施例提供的远程控制的处理方法的一个可选的流程示意图,将结合图4A示出的步骤进行说明。
在步骤101中,主控设备向服务器发送针对用户的远程控制的请求消息。
作为示例,请求消息中携带用户的必要的标识信息,以主控设备运行社交网络客户端,服务器为社交网络的后台服务器为例,请求消息中可以携带用户的社交网络的用户序列号(UID,User IDentification)。
在步骤102中,服务器响应于请求消息,检测用户关联的且处于在线状态的受控设备。
参见图1,服务器(图1中以服务器300为例)可以运行远程控制信令服务,其使用独立的地址(即区别于服务器中运行的其他服务所使用的地址)实现服务器与主控设备之间、以及服务器与受控设备之间的信令通道,以完成与步骤101至步骤107之间的信令消息的传输过程,远程控制信令服务可以通过查询服务器中的状态中心服务维护的设备状态数据,以检测用户关联的且处于在线状态的受控设备。
下文中以主控设备检测到用户关联的第一受控设备和第二受控设备均处于在线状态为例说明。
在步骤103中,当服务器检测到用户关联的第一受控设备和第二受控设备均处于在线状态时,向第一受控设备和第二受控设备发送远程控制的通知消息。
在一些实施例中,当服务器的远程控制数据服务响应于主控设备的远程控制的请求消息时,还可以针对远程控制生成接入信息,包括对应远程控制的在线会话的标识(例如,可以是即时通信房间的序列号)和远程控制数据服务的地址,通过服务器的远程控制信令服务发送到主控设备,以使主控设备在接收到用户关联的在线设备(例如第一受控设备或第二受控设备)的远程控制的接受消息时,可以及时建立基于分组域的数据通道以传输语音数据和远程控制的操作数据。
在另一些实施例中,当服务器的远程控制数据服务响应于主控设备的远程控制的请求消息时,还可以针对远程控制生成接入信息,包括对应远程控制的在线会话的标识(例如,可以是即时通信房间的序列号)和远程控制数据服务的地址,通过服务器的远程控制信令服务发送到主控设备,以使主控设备在接收到用户关联的在线设备(例如第一受控设备或第二受控设备)的远程控制的接受消息时,可以及时建立基于分组域的数据通道以传输远程控制的操作数据;接入信息中还可以
接入信息中可以包括:用于建立主控设备与第二受控设备之间的语音通道(使用电路域承载,用于传输主控设备和第二受控设备之间的语音数据)的信息,例如主控设备和第二受控设备各自的电话号码;用于建立主控设备与第二受控设备的之间的数据通道的
在步骤104中,第一受控设备响应于通知消息,检测到第一受控设备的语音通道被占用时,向服务器发送远程控制的拒绝消息。
以远程控制的应用场景为例,如果语音通道被占用,说明在步骤101之前,用户的第一受控设备与客服的主控设备处于蜂窝网络电话的过程中,即第一受控设备与主控设备之间已经建立基于蜂窝网络的语音通道并传输语音通话的数据。由于第一受控设备的语音通话的过程中麦克风的独占性,无法同时用于进行远程控制的语音通话,因此可以通过发送拒绝消息,拒绝消息中携带的拒绝原因为第一受控设备的语音通道被占用,以使服务器停止尝试对第一受控设备进行远程控制,避免在远程控制时出现失败的情况。
在步骤105中,服务器响应于拒绝消息,检测到第二受控设备中的用户处于在线状态、且尚未收到第二受控设备针对远程控制的拒绝消息时,忽略拒绝消息,并继续等待第二受控设备的远程控制的接受消息。
在步骤106中,第二受控设备响应于通知消息,根据用户的接收远程控制的操作指令,向服务器发送远程控制的接受消息。
作为示例,第二受控设备在桌面环境中显示通知消息,并提供“接受”或“拒绝”的按钮供用户选择操作,当用户点击“接受”的按钮时,将向服务器发送远程控制的接受消息。
在步骤107中,服务器响应于第二受控设备发送的远程控制的接受消息,向第二受控设备发送接入信息。
需要指出,步骤104至步骤107为第一受控设备通过发送拒绝消息触发服务器向用户关联的第二受控设备发送接入消息,以将远程控制转移到第二受控设备的处理过程,一方面保证第一受控设备的语音通话的正常进行,另一方面保证能够及时准确建立到用户关联设备的远程控制。
在一些实施例中,参见图1,当服务器(图1中以服务器300为例)可以运行远程控制信令服务,远程控制信令服务实现使用独立的地址(即区别于服务器中运行的其他服务所使用的地址)实现服务器与主控设备之间、以及服务器与受控设备之间的信令通道时,步骤101至步骤107中主控设备以及受控设备与服务器之间的信令消息(包括请求消息、接受消息和拒绝消息)的传递,可以使用与服务器的远程控制信令服务之间的信令通道来承载。
特别地,当信令通道为TCP通道的形式时,服务器的远程控制信令服务、主控设备和受控设备之间首先通过三次握手来协商建立TCP通道,然后利用TCP协议提供面向连接、可靠的字节流服务的特性,保证信令消息不会出现传输失败,进而导致无法服务器、主控设备以及受控设备无法正确响应的情况。
在步骤108A中,主控设备和第二受控设备根据接入信息分别建立与服务器之间的数据通道。
在一些实施例中,参见图1,服务器(图1中以服务器300为例)中可以运行远程控制数据服务,远程控制数据服务使用独立的地址(即区别于服务器中运行的其他服务,例如上文的远程控制信令服务所使用的地址)实现主控设备与第二受控设备之间经由服务器的数据通道,包括服务器与主控设备之间的数据通道、以及服务器与受控设备之间的使用分组域承载的数据通道。从而实现了远程控制的信令消息/数据传输和语音数据的传输的解耦,使得语音数据和信令消息/数据的传输互不影响,有利于远程控制的稳定运行。
例如,服务器的远程控制数据服务可以为不同的远程控制建立对应的在线会话,为参与远程控制的设备(例如主控设备和第二受控设备)传输语音数据,每个在线会话使用对应即时通信房间的序列号(ID)来标识,主控设备根据服务器的远程控制数据服务的地址,连接到远程控制数据服务,并根据在线会话的标识加入远程控制数据服务对应远程控制建立的即时通信房间,同理,受控设备根据服务器的远程控制数据服务的地址也可以连接到远程控制数据服务,并根据在线会话的标识,加入远程控制数据服务对应远程控制建立的即时通信房间。
在一些实施例中,数据通道可以采用UDP通道,由于UDP通道使用的UDP协议是无连接的,且没有超时重发等机制,故而可以主控设备和受控设备之间的实时同步语音数据快速传输,使得语音通话实时同步。由于UDP协议是无连接的,因此,主控设备与服务器之间互相探测彼此的UDP端口是否可达,如果可达即确定数据通道已经建立,同理,受控设备与服务器之间可以采用类似的方式建立数据通道。
在步骤109A中,主控设备和第二受控设备基于数据通道传输远程控制的语音数据,基于信令通道传输远程控制的操作数据。
在一些实施例中,远程控制的功能可以包括主控设备和第二受控设备之间的语音通话对应的语音数据的传输。
例如,第二受控设备在远程控制的过程中采集的语音数据,经由与服务器的远程控制数据服务之间的数据通道传输到服务器,由远程控制数据服务基于与受控设备之间的数据通道传输到主控设备以进行播放;主控设备在远程控制的过程中采集的语音数据,经由与服务器的远程控制数据服务之间的数据通道传输到服务器,由远程控制数据服务基于与第二受控设备之间的数据通道传输到第二受控设备以进行播放。
再例如,第二受控设备在远程控制的过程中采集的录屏数据,经由与服务器的远程控制数据服务之间的数据通道传输到服务器,由远程控制数据服务基于与受控设备之间的数据通道传输到主控设备以渲染第二受控设备的桌面环境。
在一些实施例中,远程控制的功能可以包括主控设备和第二受控设备之间的操作数据的传输。
例如,主控设备根据录屏数据进行渲染操作,显示第二受控设备的相同的桌面环境;主控设备基于桌面环境采集主控设备用户在桌面环境中的操作而形成操作数据(包括操作的类型和坐标),将操作数经由与服务器的远程控制信令服务之间的数据通道传输到服务器,远程控制信令服务基于与第二受控设备之间的数据通道传输到第二受控设备,由第二受控设备根据操作数据模拟相应的屏幕操作(例如,在桌面环境中的点击等操作)并执行,以更新第二受控设备的桌面环境。
特别地,主控设备可以根据主控设备与第二受控设备的屏幕的比例,对操作数据中的坐标进行缩小或放大以进行归一化,从而转换为与第二受控设备可以直接识别的操作数据,以避免第二受控设备的误响应。
在一些实施例中,当服务器在响应于第二受控设备发送的远程控制的接受消息而向第二受控设备发送接入信息时,如果接入信息中包括用于建立主控设备与第二受控设备之间的数据通道和语音通道的信息,那么,作为图4A中步骤108A和步骤109A的替换步骤,参见图4B,图4B是本发明实施例提供的远程控制的处理方法的一个可选的流程示意图,主控设备和第二受控设备可以在在步骤108B中建立基于分组域的数据通道和基于电路域的语音通道,在步骤19B中,主控设备与第二受控设备基于语音通道传输远程控制的语音数据,并基于数据通道传输远程控制的操作数据。
在一些实施例中,作为图4A、图4B中步骤104及其后续步骤的替换步骤,当第一受控设备检测到语音通道未被占用时,说明第一受控设备没有处于蜂窝网络电话的过程中,可以通过向服务器发送远程控制的接受消息的方式,触发服务器向第一受控设备发送接入信息,以使主控设备和第一受控设备根据接入信息分别建立与服务器之间的数据通道,并通过数据通道传输远程控制的语音数据,并通过信令通道传输远程控制的操作数据。从而实现第一受控设备用户与主控设备用户之间的实时的语音通话;第一受控设备可以经由与服务器之间的数据通道、服务器与主控设备之间的数据通道,传输录屏数据到主控设备,使主控设备渲染与第一受控设备相同的桌面环境;当主控设备采集到针对第一受控设备的桌面环境的操作后,对应的操作数据会通过信令通道传输到第一受控制设备,使第一受控设备根据操作数据模拟对应的操作。
在一些实施例中,在上述步骤104中,当第一受控设备检测到第一受控设备的语音通道被占用、向服务器发送远程控制的拒绝消息之前,可以发出远程控制的提示,并请求用户确认是否需要等待当前语音通话后建立远程控制,如果接收到用户的拒绝指令,或者,在等待时间内没有接收到来自用户的任何操作时,则向服务器发送远程控制的拒绝消息。
如果接收到用户等待当前语音通话后建立远程控制的指令,那么作为步骤104及其后续步骤的替换步骤,第一受控设备不会发出上述的拒绝消息,并继续等待第一受控设备当前的语音通话结束后,向主控设备发出远程控制的接受消息,并根据服务器返回的接入信息,根据接入信息建立与主控设备之间的数据通道以传输远程控制的语音数据和操作数据,或者,根据接入信息建立与主控设备之间的语音通道以传输远程控制的语音数据,并建立与主控设备之间的数据通道以传输远程控制的操作数据。
下面以主控设备和受控设备运行的客户端为企业微信,远程控制应用于企业微信客服的远征协助为例,说明本发明实施例提供的远程控制的处理方案。企业微信是由腾讯公司为企业打造的高效办公平台,同时支持iOS、Android、Windows和Mac四个平台,以及功能丰富的网络(Web)管理后台进行统一管理。
企业微信的客服在服务用户的时候,经常需要发起远程控制指导用户进行各种操作。相关技术提供的远程控制的过程中存在以下的技术问题:用户的账号可能会同时登陆手机和桌面台式机(PC),当手机正在接听客服的系统电话(即蜂窝电话,可以是电路域电话或分组域电话),同时用户又需要使用PC端的远程控制时,客服会通过PC向用户发起远程控制,用户的手机和PC都会收到远程控制的请求。
因为手机系统电话时录音设备(麦克风)是被独占的,由于操作系统中针对录音设备的优先级策略中系统电话的优先级是最高的,这就导致远程控制的相关功能请求录音设备时会被操作系统拒绝,即系统电话和语音远程控制不可能同时进行,所以手机收到远程控制的请求后会立即产生中断信号以拒绝掉远程控制的请求,企业微信的后台也会立即给客服返回对方已拒绝的通知,结束这次远程控制请求,同时,用户PC端收到的远程控制请求的消息弹框也会自动消失,从而导致用户的PC无法使用远程控制的服务,下面结合附图进行说明。
参见图5,图5是相关技术提供的远程控制的流程示意图,结合各个步骤进行说明。
在步骤1至步骤6中,客服A(记为StaffA)在PC(记为StaffA_PC)的企业微信中主动发起针对用户A(记为UserA)的远程控制,客服A的PC向远程控制信令服务发送针对用户A的远程控制的请求,远程控制信令服务收到远程控制的请求后,会先检查UserA的设备的在线状态,如果用户A的手机(记为UserA_Mobile)和用户A的PC(记为UserA_PC)同时在线,那么会同时给UserA_Mobile和UserA_PC推送客服A的远程控制的通知。与此同时,远程控制信令服务向远程控制数据服务申请分配IP接入地址和建立实时语音通话的房间序列号(roomid)信息等返回给客服A的PC。
在步骤7至步骤12中,UserA_Mobile和UserA_PC收到客服A的远程控制的请求消息后,用户可以操作选择接受或拒绝,远程控制信令服务只会处理最先到达的消息,消息可能是来自UserA_Mobile的,也可能是来自UserA_PC的。如果用户在UserA_Mobile中点击操作拒绝了请求,并在UserA_PC中点击操作接受了请求,且UserA_Mobile的拒绝消息最先到达远程控制信令服务,那么,远程控制信令服务会结束这次远程控制处理。假设用户UserA_Mobile和UserA_PC点击的都是接受请求(除非故意这样操作,不然很难出现同时点击的情况),远程控制信令服务先收到UserA_PC的接受消息,那么会给UserA_Mobile返回其他端已处理的错误,然后UserA_Mobile结束流程;并且,远程控制信令服务会给客服A推送UserA已接受远程控制的通知消息,同时将这次通话的IP接入地址和房间roomid信息等接入信息返回给UserA_PC。
在步骤13至步骤18中,UserA_PC和客服A的PC通过远程控制数据服务建立数据通道成功后,UserA_PC启动屏幕的录屏并实时采集录屏数据,然后将录屏数据通过远程控制数据服务传递给客服A的PC。客服A的PC收到录屏数据后,实时渲染并显示UserA_PC的桌面环境。
在步骤19至步骤21中,客服A通过点击UserA_PC渲染的桌面环境,会将点击的坐标信息先做归一化(因为双方的屏幕大小不一定相同,主要按长宽比例进行缩放),然后通过远程控制信令服务传递给UserA_PC,UserA_PC会根据归一化的点击的屏幕坐标信息,映射到屏幕实际的坐标位置进行模拟点击。这样就达到客服A控制UserA_PC的桌面环境的目的。
可见,在上述的远程控制的场景下,客服PC和用户PC的录音设备都是处于没有被占用的状态,却因为用户手机在系统电话中不能被远程控制,影响了用户的使用体验。
针对上述技术问题,作为本发明实施例提供的一种可选的解决方案,可以让用户主动断开手机的系统电话,再用PC接受远程控制的请求消息,但大部分的用户的PC可能没有配备带有麦克风的耳机,无法在远程控制的过程使用语音通话功能,并且,断开手机的系统电话然后在PC继续语音电话,操作的连贯性不好,影响用户体验。
针对上述技术问题,本发明实施例还提供一种基于企业微信实现在接听系统电话同时支持PC远程控制的技术方案,分为以下几种情况进行处理。
当用户正在使用手机接听系统电话,并收到客服的远程控制请求时,如果用户仅手机在线时,则手机的企业微信可以直接拒绝远程控制的请求。
如果用户手机和PC都在线,则PC端可在接收到远程控制的请求时,发出拒绝消息,手机端的拒绝消息里面带上拒绝的原因(比如系统电话中断),后台服务器在收到手机的拒绝消息时,发现是因为系统电话中断导致的拒绝,然后再查询发现PC端也收到了远程控制的请求,就忽略手机端的拒绝消息,这样用户PC端就可以继续接受远程控制。
参见图6,图6是本发明实施例提供的远程控制的架构示意图,下面进行说明。
服务器中运行的服务端(程序)包括:远程控制信令服务,用于与主控设备、受控设备的客户端之间进行远程控制的相关信令消息的传输;远程控制数据服务,用于在服务器中实现实时语音远程控制的过程中相关数据的传输;状态中心服务用于记录用户关联的设备的在线状态,以供远程控制信令服务向处于在线状态的受控设备发送远程控制的通知。
主控设备和受控设备中都可以运行客户端,包括:
屏幕操作模块,对于受控设备,用于进行录屏形成录屏数据,并根据主控设备的操作数据还原(模拟)屏幕点击;对于主控设备,用于根据录屏数据渲染受控设备的桌面环境,接收针对桌面环境的点击并进行转换屏幕点击(即归一化);
远程协助管理模块,包括以下功能:房间管理,用于记录参与的在线聊天房间的地址和序列号;状态管理,用于包括自动切换客户端的在线状态,并同步到服务器的状态中心服务;系统电话中断,用于检测电子设备(主控设备/受控设备)的语音通信通道是否被占用,如果被占用则针对远程控制输出系统电话中断的拒绝消息;数据管理,用于采集、存储和更新远程控制的过程中的相关数据,包括录屏数据、操作数据和语音数据等。
下面再结合远程控制的实现流程进行说明。参见图7,图7是本发明实施例提供的远程控制的流程示意图,结合图7示出的各个步骤进行说明。
在步骤1至步骤6中,客服A在客服A的PC(记为StaffA_PC)主动发起针对用户A(记为UserA)远程控制,远程控制信令服务给UserA_Mobile和UserA_PC发送远程控制的请求消息,以及向客服A的PC返回远程控制数据服务的IP地址和房间roomid等接入信息。
作为示例,参见图8A,图8A是本发明实施例提供的客服A在PC的企业微信中发起远程控制的显示示意图,企业微信的窗口显示了客服的联系人列表和聊天窗口,客服A在与用户A进行系统通话的过程中,可以点击远程控制的按钮发起针对用户A的远程控制。
在步骤7至步骤11中,UserA_Mobile收到远程控制控制的请求消息后,如果当前正在系统电话中,因为系统的音频设备的独占性限制,没法同时支持系统电话和远程控制,自动拒绝并立即发送远程的拒绝消息给远程控制信令服务。如果远程控制信令服务(因为是自动立即发的拒绝)先收到UserA_Mobile的拒绝消息,则远程控制信令服务会发现UserA_Mobile的拒绝消息里面携带的拒绝原因是因为当前正在系统电话中,因此会忽略拒绝消息,即不会立即结束这次远程控制。远程控制信令服务会再检查UserA_PC是否在线,如果在线,且没有收到过来自UserA_PC的拒绝消息,则不会根据UserA_Mobile的拒绝消息停止此次远程控制的处理流程,而是继续等待UserA_PC的回应,然后UserA_Mobile也正常结束处理流程。
作为示例,参见图8B和图8C,图8B是本发明实施例提供的用户A的手机中显示远程控制的通知的显示示意图,图8C是本发明实施例提供的用户A的PC中显示远程控制的通知的显示示意图,用户A可以在企业微信的窗口选择操作接收或拒绝远程控制。
在步骤12至步骤15中,如果远程控制信令服务先收到UserA_Mobile的拒绝消息,则UserA_PC如果用户操作选择接受,远程控制信令服务会给客服A的PC推送UserA接受消息的同时,将用于实现远程控制的会话的远程控制数据服务的IP地址和房间roomid等接入信息等返回给UserA_PC,然后UserA_PC和StaffA_PC建立与远程控制数据服务之间的数据通道。
在步骤16至步骤21中,UserA_PC和StaffA_PC通过远程控制数据服务建立数据通道成功后,UserA_PC启动桌面屏幕录屏并实时采集录屏数据,然后将录屏数据通过数据通道、并经由远程控制数据服务传递给StaffA_PC。StaffA_PC收到录屏数据后,实时渲染并显示UserA_PC的桌面环境。客服A通过点击UserA_PC渲染的桌面环境,会将点击的坐标信息先做归一化(因为双方的屏幕大小不一定相同,主要按长宽比例进行缩放),然后通过数据通道、并经由远程控制信令服务传递给UserA_PC,UserA_PC会根据归一化的点击的屏幕坐标信息,映射到屏幕实际的坐标位置,进行模拟点击。这样就达到客服A控制UserA_PC桌面环境的目的。
作为示例,参见图8D,图8D是本发明实施例提供的客服A的PC中渲染用户A的PC的桌面的环境的示意图,客服A在渲染的桌面环境中的点击坐标信息被归一化后将被传输到用户A的PC中模拟点击。
上图7中以远程控制的请求在客服侧发起为例,也可以在用户侧发起,例如用户在与客服进行系统通话的过程中发起远程控制的请求,触发服务器执行上述的步骤3-7,在步骤8中,用户手机可以返回拒绝消息,并携带拒绝原因是系统电话中断。
继续说明如图2所示的客户端255中各个功能模块的功能,对于下文未尽的技术细节,可以根据上述针对图4的说明而理解。
需要指出地,客户端中的功能模块即可以支持电子设备实现主控设备的角色,也可以支持电子设备成为受控设备的角色,实际应用中电子设备根据所实现的角色而实施部分模块或全部模块。
屏幕操作模块2551用于当电子设备是受控设备时采集录屏数据,根据主控设备发送的操作数据模拟在桌面环境中的点击操作;当电子设备是主控设备时根据录屏数据进行渲染以再现与受控设备相同的桌面环境。
远程控制管理模块2552用于完成远程控制过程中的相关逻辑,例如包括在线会话、设备在线状态、语音通道的状态以及远程控制的相关数据(包括语音数据和操作数据)的管理。
数据通道模块2553用于实现与服务器之间的数据通道,以承载远程控制的语音数据的传输,例如可以使用UDP协议保证数据的实时传输;客户端255中的信令通道模块2554用于实现与服务器之间的数据通道,以承载远程控制的过程中相关信令消息/操作数据的可靠传输,例如可以使用TCP协议保证传输稳定性。
远程控制管理模块2552,用于接收主控设备对第一受控设备进行远程控制的通知消息;响应于通知消息,检测第一受控设备的语音通道;当检测到语音通道被占用时,将远程控制转移到与第一受控设备关联相同用户的第二受控设备,以使主控设备和第二受控设备传输远程控制的语音数据和操作数据。
在一些实施例中,作为远程控制管理模块2552将远程控制转移到与第一受控设备关联相同用户的第二受控设备的示例,远程控制管理模块2552可以触发服务器向第二受控设备发送接入信息,以使主控设备和第二受控设备根据接入信息建立主控设备和第二受控设备之间的数据通道。
在一些实施例中,作为触发服务器向第二受控设备发送接入信息的示例,远程控制管理模块2552可以向服务器发送远程控制的拒绝消息,拒绝消息中携带的拒绝原因为第一受控设备的语音通道被占用,以使服务器检测到第二受控设备中的用户处于在线状态、且尚未收到第二受控设备针对远程控制的拒绝消息时,忽略拒绝消息,以及使服务器响应于第二受控设备发送的远程控制的接受消息,向第二受控设备发送接入信息。
在一些实施例中,作为使主控设备和第二受控设备根据接入信息分别建立与服务器之间的数据通道的示例,远程控制管理模块2552可以使主控设备响应于第二受控设备的远程控制的接受消息,根据接入信息中包括的服务器的地址和在线会话的标识,建立与服务器之间的数据通道,以及使第二受控设备根据接入信息中包括的服务器的地址和在线会话的标识,建立与服务器之间的数据通道。
在一些实施例中,远程控制管理模块2552,还用于:当检测到语音通道未被占用时,触发服务器向第一受控设备发送接入信息,以使主控设备和第一受控设备根据接入信息分别建立与服务器之间的数据通道,通过数据通道传输远程控制的语音数据,并通过信令通道传输操作数据。
在一些实施例中,蜂窝通信模块252,用于:在远程控制管理模块2552接收主控设备对第一受控设备进行远程控制的通知消息之前,建立主控设备与第一受控设备之间的语音通道,并通过通道传输语音通话的数据。
继续说明如图3所示的服务端355中各个功能模块的功能,对于下文未尽的技术细节,可以根据上述针对图4的说明而理解。
远程控制信令服务3551用于分别形成与主控设备和受控设备之间的信令通道,通过信令通道传输远程控制的相关的信令消息/操作数据。
远程控制数据服务3552用于分别建立与主控设备和受控设备之间的数据通道,通过数据通道传输远程控制的语音数据。
状态中心服务3553用于记录运行客户端的设备的在线状态,以对用户的处于在线状态的设备进行远程控制。
上述模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,
在一些实施例中,远程控制信令服务3551还用于:接收主控设备针对用户的远程控制的请求消息;响应于请求消息,向与用户关联的第一受控设备和第二受控设备发送远程控制的通知消息;当第二终端响应于通知消息,检测到与主控设备之间的语音通道被占用、且第二受控设备响应于通知消息而发送远程控制的拒绝消息时,将远程控制转移到第二受控设备。
远程控制数据服务3552,用于使主控设备和第二受控设备传输远程控制的语音数据和操作数据。
在一些实施例中,作为将远程控制转移到第二受控设备的示例,远程控制信令服务3551接收第一受控设备响应于通知消息而发送的拒绝消息,拒绝消息中携带的拒绝原因为第一受控设备的语音通道被占用;响应于拒绝消息,检测到第二受控设备中的用户处于在线状态、且尚未收到第二受控设备的远程控制的拒绝消息时,忽略第一受控设备的拒绝消息,以及当接收到第二受控设备的远程控制的接受消息时,向第二受控设备发送接入信息,以使主控设备和第二受控设备根据接入信息分别建立主控设备和第二受控设备之间的数据通道。
在一些实施例中,作为使主控设备和第二受控设备根据接入信息分别建立与服务器之间的数据通道的示例,远程控制信令服务3551使主控设备响应于第二受控设备的远程控制的接受消息,根据接入信息中包括的服务器的地址和在线会话的标识,建立与服务器之间的数据通道,以及使第二受控设备根据接入信息中包括的服务器的地址和在线会话的标识,建立与服务器之间的数据通道。
在一些实施例中,远程控制信令服务3551,还用于向第一受控设备和第二受控设备发送远程控制的通知消息之前,检测用户关联的终端设备的在线状态,且检测到第一受控设备和第二受控设备均处于在线状态。
在一些实施例中,远程控制信令服务3551,还用于:当第二终端响应于通知消息,检测到与主控设备之间的语音通道未被占用,并向服务器发送远程控制的接受消息时,向第一受控设备发送接入信息;
在一些实施例中,远程控制数据服务3552,还用于:使主控设备和第一受控设备根据接入信息分别建立与服务器之间的数据通道,通过数据通道传输远程控制的语音数据,并通过信令通道传输远程控制的操作数据。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图4或图7示出的远程控制的处理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例具有以下有意效果:
1、通过对第一受控设备的语音通道的占用进行检测,使得第一受控设备无法在远程控制过程中进行语音通话时,将远程控制及时转移到关联相同用户的第二受控设备,保证用户在第一受控设备的语音通话的正常进行,且能够使远程控制能够及时准确建立。
2、当检测到第二受控设备未处于在线状态时直接结束远程协助,避免了不必要的建立远程控制的尝试。
3、当第一受控设备的语音通道未被占用时直接利用第一受控设备建立远程控制,不需要远程控制到第二受控设备的转移操作过程,提升建立远程控制的效率。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (14)

1.一种远程控制的处理方法,其特征在于,包括:
接收主控设备对第一受控设备进行远程控制的通知消息;
响应于所述通知消息,检测所述第一受控设备的语音通道;
当检测到所述语音通道被占用时,向服务器发送远程控制的拒绝消息,以触发所述服务器向与所述第一受控设备关联相同用户的第二受控设备发送接入信息,使所述主控设备和所述第二受控设备根据所述接入信息,建立所述主控设备和所述第二受控设备之间的数据通道,以使
所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。
2.根据权利要求1所述的方法,其特征在于,所述向服务器发送远程控制的拒绝消息,以触发所述服务器向与所述第一受控设备关联相同用户的第二受控设备发送接入信息,包括:
向所述服务器发送远程控制的拒绝消息,以使
所述服务器检测到所述第二受控设备中的所述用户处于在线状态、且尚未收到所述第二受控设备针对所述远程控制的拒绝消息时,忽略所述拒绝消息,以及
使所述服务器响应于所述第二受控设备发送的远程控制的接受消息,向所述第二受控设备发送接入信息。
3.根据权利要求1所述的方法,其特征在于,所述使所述主控设备和所述第二受控设备根据所述接入信息,建立所述主控设备和所述第二受控设备之间的数据通道,包括:
使所述主控设备响应于所述第二受控设备的远程控制的接受消息,根据所述接入信息中包括的所述服务器的地址和在线会话的标识,建立与所述服务器之间用于传输所述语音数据的数据通道,以及
使所述第二受控设备根据所述接入信息中包括的所述服务器的地址和在线会话的标识,建立与所述服务器之间用于传输所述语音数据的数据通道。
4.根据权利要求1所述的方法,其特征在于,
所述主控设备和所述第二受控设备之间的数据通道用于承载传输的数据包括以下至少之一:
由所述第二受控设备在远程控制的过程中采集的语音数据,用于经由所述服务器传输到所述主控设备以进行播放;
由所述主控设备在远程控制的过程中采集的语音数据,用于经由所述服务器传输到所述第二受控设备以进行播放;
录屏数据,由所述第二受控设备在远程控制的过程中采集,并经由所述服务器传输到所述主控设备,用于供所述主控设备显示所述第二受控设备的显示桌面环境;
所述主控设备和所述第二受控设备之间的信令通道用于承载传输的数据包括:
操作数据,由所述主控设备通过显示所述录屏数据而采集,并经由所述服务器传输到所述第二受控设备,用于供所述第二受控设备模拟相应的屏幕操作并执行。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到所述语音通道未被占用时,触发所述服务器向所述第一受控设备发送接入信息,以使
所述主控设备和所述第一受控设备根据所述接入信息建立数据通道,通过所述数据通道传输远程控制的语音数据,并通过信令通道传输操作数据;
在接收所述主控设备对所述第一受控设备进行远程控制的通知消息之前,
建立所述主控设备与所述第一受控设备之间的语音通道,并通过所述通道传输语音通话的数据。
6.一种远程控制的处理方法,其特征在于,包括:
接收主控设备针对用户的远程控制的请求消息;
响应于所述请求消息,向与所述用户关联的第一受控设备和第二受控设备发送远程控制的通知消息;
当所述第一受控设备响应于所述通知消息,检测到与所述主控设备之间的语音通道被占用、且所述第一受控设备响应于所述通知消息而发送远程控制的拒绝消息时,将所述远程控制转移到所述第二受控设备,以使
所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。
7.根据权利要求6所述的方法,其特征在于,所述当所述第一受控设备响应于所述通知消息,检测到与所述主控设备之间的语音通道被占用、且所述第一受控设备响应于所述通知消息而发送远程控制的拒绝消息时,将所述远程控制转移到所述第二受控设备,包括:
接收所述第一受控设备响应于所述通知消息而发送的拒绝消息;
响应于所述拒绝消息,检测到所述第二受控设备中的所述用户处于在线状态、且尚未收到所述第二受控设备的远程控制的拒绝消息时,忽略所述第一受控设备的拒绝消息,以及
当接收到所述第二受控设备的远程控制的接受消息时,向所述第二受控设备发送接入信息,以使
所述主控设备和所述第二受控设备根据所述接入信息建立所述主控设备和所述第二受控设备之间的数据通道。
8.根据权利要求7所述的方法,其特征在于,所述使所述主控设备和所述第二受控设备根据所述接入信息建立所述主控设备和所述第二受控设备之间的数据通道,包括:
使所述主控设备响应于所述第二受控设备的远程控制的接受消息,根据所述接入信息中包括的服务器的地址和在线会话的标识,建立与所述服务器之间用于传输所述语音数据的数据通道,以及
使第二受控设备根据所述接入信息中包括的所述服务器的地址和在线会话的标识,建立与所述服务器之间用于传输所述语音数据的数据通道。
9.根据权利要求6所述的方法,其特征在于,
所述主控设备和所述第二受控设备之间的数据通道用于承载传输的数据包括以下至少之一:
由所述第二受控设备在远程控制的过程中采集的语音数据,用于经由服务器传输到所述主控设备以进行播放;
由所述主控设备在远程控制的过程中采集的语音数据,用于经由所述服务器传输到所述第二受控设备以进行播放;
录屏数据,由所述第二受控设备在远程控制的过程中采集,并经由所述服务器传输到所述主控设备,用于供所述主控设备显示所述第二受控设备的显示桌面环境;
所述主控设备和所述第二受控设备之间的信令通道用于承载传输的数据包括以下至少之一:
操作数据,由所述主控设备通过显示所述录屏数据而采集,并经由所述服务器传输到所述第二受控设备,用于供所述第二受控设备模拟相应的屏幕操作并执行。
10.一种电子设备,其特征在于,包括:
远程控制管理模块,用于:
接收主控设备对第一受控设备进行远程控制的通知消息;
响应于所述通知消息,检测所述第一受控设备的语音通道;
当检测到所述语音通道被占用时,向服务器发送远程控制的拒绝消息,以触发所述服务器向与所述第一受控设备关联相同用户的第二受控设备发送接入信息,使所述主控设备和所述第二受控设备根据所述接入信息,建立所述主控设备和所述第二受控设备之间的数据通道,以使
所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。
11.一种服务器,其特征在于,包括:
远程控制信令服务模块,用于:
接收主控设备针对用户的远程控制的请求消息;
响应于所述请求消息,向与所述用户关联的第一受控设备和第二受控设备发送远程控制的通知消息;
当所述第一受控设备响应于所述通知消息,检测到与所述主控设备之间的语音通道被占用、且所述第一受控设备响应于所述通知消息而发送远程控制的拒绝消息时,将所述远程控制转移到所述第二受控设备;
远程控制数据服务模块,用于:
使所述主控设备和所述第二受控设备传输远程控制的语音数据和操作数据。
12.一种第一受控设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至5任一项所述的远程控制的处理方法。
13.一种服务器,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求6至9任一项所述的远程控制的处理方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至5任一项所述的远程控制的处理方法,或者,实现权利要求6至9任一项所述的远程控制的处理方法。
CN201910626161.4A 2019-07-11 2019-07-11 远程控制的处理方法、装置、设备、服务器及存储介质 Active CN112217850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910626161.4A CN112217850B (zh) 2019-07-11 2019-07-11 远程控制的处理方法、装置、设备、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910626161.4A CN112217850B (zh) 2019-07-11 2019-07-11 远程控制的处理方法、装置、设备、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN112217850A CN112217850A (zh) 2021-01-12
CN112217850B true CN112217850B (zh) 2022-06-28

Family

ID=74048545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910626161.4A Active CN112217850B (zh) 2019-07-11 2019-07-11 远程控制的处理方法、装置、设备、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN112217850B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383723A (zh) * 2007-09-07 2009-03-11 深圳华为通信技术有限公司 一种远程管理方法、装置及设备
CN101931542A (zh) * 2009-06-26 2010-12-29 华为终端有限公司 保持会话连续的方法、服务器及用户设备
CN103327055A (zh) * 2012-03-23 2013-09-25 百度在线网络技术(北京)有限公司 一种对远程手机进行控制的方法及系统
CN104506907A (zh) * 2014-11-25 2015-04-08 上海众应信息科技有限公司 控制端与多个远程被控终端之间的交互操作方法及系统
CN104935883A (zh) * 2015-06-03 2015-09-23 维融集团有限公司 一种远程监控方法和服务器
CN106301865A (zh) * 2015-06-11 2017-01-04 阿里巴巴集团控股有限公司 应用于服务提供设备的数据处理方法和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2769280B1 (en) * 2011-10-21 2023-04-12 Google LLC Automated control-schedule acquisition within an intelligent controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383723A (zh) * 2007-09-07 2009-03-11 深圳华为通信技术有限公司 一种远程管理方法、装置及设备
CN101931542A (zh) * 2009-06-26 2010-12-29 华为终端有限公司 保持会话连续的方法、服务器及用户设备
CN103327055A (zh) * 2012-03-23 2013-09-25 百度在线网络技术(北京)有限公司 一种对远程手机进行控制的方法及系统
CN104506907A (zh) * 2014-11-25 2015-04-08 上海众应信息科技有限公司 控制端与多个远程被控终端之间的交互操作方法及系统
CN104935883A (zh) * 2015-06-03 2015-09-23 维融集团有限公司 一种远程监控方法和服务器
CN106301865A (zh) * 2015-06-11 2017-01-04 阿里巴巴集团控股有限公司 应用于服务提供设备的数据处理方法和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Cultivated Land Change and Its Human Driving Forces Based on RS and GIS in Fuzhou, China;Dewen Wu;《IEEE》;20090705;全文 *
基于CC-Link网络的酸洗线PLC控制系统;卢国华;《山东农业大学学报(自然科学版)》;20130315;全文 *

Also Published As

Publication number Publication date
CN112217850A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
EP3926917B1 (en) Data transmission method, device and computer storage medium
CN110417915B (zh) 一种推送消息传输方法、装置、存储介质及电子设备
US7505574B2 (en) Method and system for providing an improved communications channel for telephone conference initiation and management
CN105656915B (zh) 即时通话方法、装置和系统
CN101854444B (zh) 可视调度系统及调度方法
JP2019537158A (ja) リソース共有方法、装置およびシステム
US9065788B2 (en) Method, device and system for voice communication
US10999332B2 (en) User-centric connections to a location comprising digital collaboration tools
JP2006350628A (ja) コミュニケーションシステム及びコミュニケーション方法
US20160173820A1 (en) Video Communication Method and Device
CN111885252A (zh) 一种手机扩展使用方法
US20050021868A1 (en) Communications server method & apparatus for transacting voice, text, video and graphical data communication sessions from both wireless and wire-line networks
US11489883B2 (en) User-centric connections to a location comprising digital collaboration tools
CN113037616A (zh) 用于协同控制多台机器人的交互方法和装置
CN103716230A (zh) 消息发送方法、装置及服务器
CN101494698B (zh) 电话系统
CN102387154B (zh) 一种实现多方多媒体通讯的方法
CN112217850B (zh) 远程控制的处理方法、装置、设备、服务器及存储介质
GB2416090A (en) Integrated instant message system with gateway functions
US20140156768A1 (en) Methods and systems for real-time paging
CN113766436B (zh) 一种无线内部通话方法及系统
CN113596383B (zh) 网络会议的参会人员管理方法及装置、设备
CN109086123A (zh) 应用会话的迁移方法、装置、终端、服务器及存储介质
CN114629898A (zh) 一种多客户端的协同方法及电子设备
CN110035078B (zh) 一种音频系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40037802

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant