本发明涉及通信技术领域,特别是涉及一种终端间的远程控制方法、装置、系统及移动终端。
背景技术:
手机作为用户日常生活中必不可少的通讯工具,每天被使用的频率非常高。但是对于一部分用户(例如老人和小孩)而言,往往会遇到不会操作手机或者不会操作手机上的应用程序的情况。假若用户出门在外,这时就需要向亲友发出远程控制请求,以使其亲友通过远程控制功能协助用户进行操作,进而实现随时随地协助用户操作手机的效果。
现有技术中,通过手机客户端的远程控制功能控制其他手机时需要系统底层授予操作权限,当首次安装客户端并被授予权限后,用户即可使用该客户端的远程控制功能。这种方式虽然能够实现远程协助用户操作手机的目的,但仍存在一些缺点,尤其是在用户将客户端从手机上卸载之后,即使再安装回来也无法保证能够继续使用远程控制功能,这是由于系统已将其认定为一个新的应用程序安装包APK,而新的应用程序安装包APK是没有系统底层所授予的权限的。
技术实现要素:
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的终端间的远程控制方法、装置、系统及移动终端。
依据本发明的一个方面,提供了一种终端间的远程控制方法,应用于被控终端上的第一客户端,所述第一客户端的应用程序包括应用程序主体和与其对应的服务数据service,所述方法包括:
接收到控制终端上的第二客户端与所述第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
访问被控终端系统,并判断所述被控终端系统内是否集成有所述第一客户端的应用程序主体所对应的服务数据service;
当确定所述被控终端系统内集成有所述服务数据service时,根据所述第二客户端的账号信息在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并触发所述控制终端对所述被控终端执行远程控制功能。
可选地,触发所述控制终端对所述被控终端执行远程控制功能,包括:
接收到所述第二客户端发送的远程控制指令,所述远程控制指令中包括在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
从所述被控终端系统内调起所述服务数据service;
利用所述服务数据service对所述被控终端执行所述远程控制指令对应的远程控制功能。
可选地,利用所述服务数据service对所述被控终端执行所述远程控制指令对应的远程控制功能,包括:
利用所述服务数据service对所述远程控制指令进行校验,以判断出所述远程控制指令的来源是否合法;
若是,则对所述远程控制指令进行解析,得到所述远程控制操作;
将所述远程控制操作发送至所述第一客户端的应用程序主体,由所述应用程序主体执行所述远程控制操作对应的远程控制功能。
可选地,所述远程控制指令中包括采用预设签名算法写入的签名;
利用所述服务数据service对所述远程控制指令进行校验,以判断出所述远程控制指令的来源是否合法,包括:
利用所述服务数据service获取所述远程控制指令中的签名;
获取预设的正确签名,并将所述远程控制指令中的签名与所述正确签名进行对比,得到对比结果;
当所述对比结果一致时,确定所述远程控制指令的来源合法。
可选地,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
可选地,所述远程控制操作被预先采用预设加密算法进行加密;
将所述远程控制操作发送至所述第一客户端的应用程序主体,包括:
获取与所述预设加密算法对应的预设解密算法;
利用所述预设解密算法对所述远程控制操作进行解密,得到解密后的远程控制操作;
将所述解密后的远程控制操作发送至所述第一客户端的应用程序主体。
依据本发明的另一个方面,提供了一种终端间的远程控制方法,应用于控制终端上的第二客户端,所述第二客户端的应用程序包括应用程序主体和与其对应的集成在控制终端系统内的服务数据service,所述方法包括:
生成所述第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
发送所述建立请求至所述第一客户端;
接收所述第一客户端针对所述建立请求返回的应答请求,根据所述应答请求在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并对所述被控终端执行远程控制功能。
可选地,发送所述建立请求至所述第一客户端,包括:
访问所述控制终端系统,并判断所述控制终端系统内是否集成有所述第二客户端的应用程序主体所对应的服务数据service;
当确定所述控制终端系统内集成有所述服务数据service时,发送所述建立请求至所述第一客户端。
可选地,对所述被控终端执行远程控制功能,包括:
接收用户在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
生成包括所述远程控制操作的远程控制指令;
发送所述远程控制指令至所述第一客户端,由所述第一客户端执行所述远程控制指令对应的远程控制功能。
可选地,发送所述远程控制指令至所述第一客户端,包括:
利用所述应用程序主体、并采用预设签名算法生成针对所述远程控制指令的签名;或者,从所述控制终端系统内调起所述服务数据service,利用所述服务器数据service、并采用预设签名算法生成针对所述远程控制指令的签名;
将所述签名写入所述远程控制指令;
将包括所述签名的远程控制指令发送至所述第一客户端;
其中,所述签名用于所述第一客户端对所述远程控制指令的来源是否合法进行校验。
可选地,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
可选地,生成包括所述远程控制操作的远程控制指令,包括:
采用预设加密算法对所述远程控制操作进行加密;
生成包括所述加密后的远程控制操作的远程控制指令。
依据本发明的另一个方面,提供了终端间的远程控制装置,应用于被控终端上的第一客户端,所述第一客户端的应用程序包括应用程序主体和与其对应的服务数据service,所述装置包括:
接收模块,适于接收到控制终端上的第二客户端与所述第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
判断模块,适于访问被控终端系统,并判断所述被控终端系统内是否集成有所述第一客户端的应用程序主体所对应的服务数据service;
第一执行模块,适于当确定所述被控终端系统内集成有所述服务数据service时,根据所述第二客户端的账号信息在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并触发所述控制终端对所述被控终端执行远程控制功能。
可选地,所述第一执行模块还适于:
接收到所述第二客户端发送的远程控制指令,所述远程控制指令中包括在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
从所述被控终端系统内调起所述服务数据service;
利用所述服务数据service对所述被控终端执行所述远程控制指令对应的远程控制功能。
可选地,所述第一执行模块还适于:
利用所述服务数据service对所述远程控制指令进行校验,以判断出所述远程控制指令的来源是否合法;
若是,则对所述远程控制指令进行解析,得到所述远程控制操作;
将所述远程控制操作发送至所述第一客户端的应用程序主体,由所述应用程序主体执行所述远程控制操作对应的远程控制功能。
可选地,所述远程控制指令中包括采用预设签名算法写入的签名;所述第一执行模块还适于:
利用所述服务数据service获取所述远程控制指令中的签名;
获取预设的正确签名,并将所述远程控制指令中的签名与所述正确签名进行对比,得到对比结果;
当所述对比结果一致时,确定所述远程控制指令的来源合法。
可选地,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
可选地,所述远程控制操作被预先采用预设加密算法进行加密;所述第一执行模块还适于:
获取与所述预设加密算法对应的预设解密算法;
利用所述预设解密算法对所述远程控制操作进行解密,得到解密后的远程控制操作;
将所述解密后的远程控制操作发送至所述第一客户端的应用程序主体。
依据本发明的另一个方面,提供了一种终端间的远程控制装置,应用于控制终端上的第二客户端,所述第二客户端的应用程序包括应用程序主体和与其对应的集成在控制终端系统内的服务数据service,所述装置包括:
生成模块,适于生成所述第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
发送模块,适于发送所述建立请求至所述第一客户端;
第二执行模块,适于接收所述第一客户端针对所述建立请求返回的应答请求,根据所述应答请求在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并对所述被控终端执行远程控制功能。
可选地,所述发送模块还适于:
访问所述控制终端系统,并判断所述控制终端系统内是否集成有所述第二客户端的应用程序主体所对应的服务数据service;
当确定所述控制终端系统内集成有所述服务数据service时,发送所述建立请求至所述第一客户端。
可选地,所述第二执行模块还适于:
接收用户在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
生成包括所述远程控制操作的远程控制指令;
发送模块,适于发送所述远程控制指令至所述第一客户端,由所述第一客户端执行所述远程控制指令对应的远程控制功能。
可选地,所述发送模块还适于:
利用所述应用程序主体、并采用预设签名算法生成针对所述远程控制指令的签名;或者,从所述控制终端系统内调起所述服务数据service,利用所述服务器数据service、并采用预设签名算法生成针对所述远程控制指令的签名;
将所述签名写入所述远程控制指令;
将包括所述签名的远程控制指令发送至所述第一客户端;
其中,所述签名用于所述第一客户端对所述远程控制指令的来源是否合法进行校验。
可选地,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
可选地,所述第二执行模块还适于:
采用预设加密算法对所述远程控制操作进行加密;
生成包括所述加密后的远程控制操作的远程控制指令。
依据本发明的另一个方面,提供了一种终端间的远程控制系统,包括被控终端、控制终端和服务器,所述被控终端上安装有第一客户端,所述控制终端上安装有第二客户端,且所述第一客户端和所述第二客户端的应用程序包括应用程序主体和与其对应的服务数据service,其中:
所述第二客户端,适于生成所述第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息和所述第一客户端的账号信息;发送所述建立请求至所述服务器;
所述服务器,适于接收来自所述第二客户端的建立请求,并根据所述第一客户端的账号信息将所述建立请求转发至所述第一客户端;
所述第一客户端,适于接收所述服务器转发的所述建立请求,访问被控终端系统,并判断所述被控终端系统内是否集成有所述第一客户端的应用程序主体所对应的服务数据service;当确定所述被控终端系统内集成有所述服务数据service时,针对所述建立请求向所述服务器返回应答请求;
所述服务器,还适于接收所述第一客户端返回的应答请求,并将所述应答请求转发至所述第二客户端;
所述第二客户端,还适于接收来自所述服务器的应答请求,根据所述应答请求及所述第二客户端的账号信息在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并对所述被控终端执行远程控制功能。
依据本发明的另一个方面,提供了一种移动终端,包括处理器和存储器,所述存储器用于存储执行上述的终端间的远程控制方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
采用本发明提供的技术方案,被控终端能够在接收到控制终端上的第二客户端与被控终端上的第一客户端间建立远程控制关系的建立请求时,访问被控终端系统,并判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service,并在确定被控终端系统内集成有第一客户端的应用程序主体所对应的服务数据service时,在第二客户端和第一客户端间建立远程控制关系,并触发控制终端对被控终端执行远程控制功能,因此使得控制终端在远程控制被控终端时,无需通过系统底层授予控制权限,而只需验证被控终端系统内集成有第一客户端的应用程序主题对应的服务数据service时即可执行远程控制操作,不仅使远程控制操作时的权限授予更为简便,且避免了非首次安装第一客户端时,系统底层认为是陌生的应用程序安装包而无法授予控制权限、进而导致终端间无法实现远程控制的情况,因此该技术方案在第一客户端和第二客户端间建立远程控制连接的前提下实现远程控制的方法更为实用性,用户体验也更佳。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一个实施例的一种终端间的远程控制方法的示意性流程图;
图2是根据本发明另一个实施例的一种终端间的远程控制方法的示意性流程图;
图3是根据本发明具体实施例一的一种终端间的远程控制方法的示意性流程图;
图4是根据本发明一个实施例的一种终端间的远程控制装置的示意性框图;
图5是根据本发明另一个实施例的一种终端间的远程控制装置的示意性框图;
图6是根据本发明另一个实施例的一种终端间的远程控制系统的示意性框图;
图7示出的是与本发明实施例提供的移动终端相关的手机的部分结构的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明提供的终端间的远程控制方法中,涉及两个执行主体,即被控终端上的第一客户端和控制终端上的第二客户端。其中,第二客户端用于向第一客户端发起建立远程控制关系的建立请求,并在成功建立远程控制关系之后根据控制终端上的操作远程控制被控终端,第一客户端用于接收到第二客户端发起的建立远程控制关系的建立请求后建立二者之间的远程控制关系,并在成功建立远程控制关系之后在控制终端的远程控制下执行相应操作,从而实现终端间的远程控制。以下分别从第一客户端和第二客户端这两个角度来说明本发明提供的终端间的远程控制方法。
被控终端上的第一客户端
图1是根据本发明一个实施例的一种终端间的远程控制方法的示意性流程图。该终端间的远程控制方法应用于被控终端上的第一客户端,其中,第一客户端的应用程序包括应用程序主体和与其对应的服务数据service。如图1所示,该方法一般性地可包括以下步骤S101-S103:
步骤S101,接收到控制终端上的第二客户端与第一客户端之间建立远程控制关系的建立请求,建立请求中包括第二客户端的账号信息。
步骤S102,访问被控终端系统,并判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service。
步骤S103,当确定被控终端系统内集成有服务数据service时,根据第二客户端的账号信息在第二客户端和第一客户端之间建立远程控制关系,并触发控制终端对被控终端执行远程控制功能。
采用本发明提供的技术方案,被控终端能够在接收到控制终端上的第二客户端与被控终端上的第一客户端间建立远程控制关系的建立请求时,访问被控终端系统,并判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service,并在确定被控终端系统内集成有第一客户端的应用程序主体所对应的服务数据service时,在第二客户端和第一客户端间建立远程控制关系,并触发控制终端对被控终端执行远程控制功能,因此使得控制终端在远程控制被控终端时,无需通过系统底层授予控制权限,而只需验证被控终端系统内集成有第一客户端的应用程序主题对应的服务数据service时即可执行远程控制操作,不仅使远程控制操作时的权限授予更为简便,且避免了非首次安装第一客户端时,系统底层认为是陌生的应用程序安装包而无法授予控制权限、进而导致终端间无法实现远程控制的情况,因此该技术方案在第一客户端和第二客户端间建立远程控制连接的前提下实现远程控制的方法更为实用性,用户体验也更佳。
以下针对上述步骤S101-S103进行详细说明。
首先执行步骤S101,即接收到控制终端上的第二客户端与第一客户端之间建立远程控制关系的建立请求,建立请求中包括第二客户端的账号信息。其中,第一客户端和第二客户端均具有远程控制功能。
然后执行步骤S102,即访问被控终端系统,并判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service。第一客户端的应用程序包括其应用程序主体和服务数据service,在现有技术中,应用程序主体和服务数据service是作为一个整体打包成应用程序APK的,而在本实施例中,应用程序主体和服务数据service则是分开打包的,具体的,预先将第一客户端的服务数据service集成在被控终端系统内,用户在下载安装第一客户端时,实际上仅需下载第一客户端的应用程序主体即可。在判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service时,可根据预设的应用程序主体和服务数据service的数据名称进行判断。
被控终端系统内至少分为三个分区,即priv-app、system-app和app 47:28这三个分区,system-app分区主要用于存放常规下载的应用程序,即以APK格式结尾的文件,而priv-app分区和app 47:28分区则主要用于存储系统自带的应用程序,该分区相较于system-app分区和app 47:28分区的权限更高,即只有获得ROOT权限的用户才能访问。因此,为使终端间的远程控制具有安全性,可将服务数据service集成在被控终端系统内的priv-app分区中,从而使第一客户端在被控终端系统内集成有该服务数据service时触发控制终端对被控制端执行远程控制操作,实际上相当于第一客户端被赋予了底层系统权限,但这种方式相较于直接通过系统底层赋予权项的方式更加方便。
当确定被控终端系统内集成有第一客户端的应用程序主体所对应的服务数据service时,继续执行步骤S103,即根据第二客户端的账号信息在第二客户端和第一客户端之间建立远程控制关系,并触发控制终端对被控终端执行远程控制功能。
在一个实施例中,可按照如下步骤触发控制终端对被控终端执行远程控制功能:首先,接收到第二客户端发送的远程控制指令,远程控制指令中包括在控制终端上执行的远程控制操作,远程控制操作包括点击、移动、涂鸦中的至少一项操作。其次,从被控终端系统内调起第一客户端的应用程序主体所对应的服务数据service。再次,利用该服务数据service对被控终端执行远程控制指令对应的远程控制功能。在利用服务数据service对被控终端执行远程控制指令对应的远程控制功能时,首先利用服务数据service对远程控制指令进行解析,以解析出远程控制指令中的远程控制操作,然后将远程控制操作发送至第一客户端的应用程序主体,由第一客户端的应用程序主体控制被控终端执行远程控制操作对应的远程控制功能。
在一个实施例中,为使终端间的远程控制操作具有安全性,在利用服务数据service对远程控制指令进行解析时,还应首先利用服务数据service对远程控制指令进行校验,以判断出该远程控制指令的来源是否合法,如果合法,再对该远程控制指令进行解析,已解析出远程控制指令中的远程控制操作。否则不对远程控制指令进行解析,此时可输出用于提示控制来源不合法的提示信息。
上述实施例中,当远程控制指令中包括采用预设签名算法写入的签名时,可通过以下方式判断远程控制指令的来源是否合法:首先利用服务数据service获取远程控制指令中的签名,然后获取预设的正确签名,并将远程控制指令中的签名和正确签名进行对比,当对比结果一致时,可确定远程控制指令的来源合法,当对比结果不一致时,可确定远程控制指令的来源不合法。其中,正确签名可以是第一客户端和第二客户端预先约定的签名,可存储于第客户端或者服务器端,以使服务数据service能够获取到正确签名与远程控制指令中携带的签名进行对比。预设签名算法包括平台platform签名算法和/或数字签名算法。
在一个实施例中,为使终端间的远程控制操作具有安全性,远程控制操作还可被预先采用预设加密算法进行加密。其中,预设加密算法可以是任一种对称加密算法或非对称加密算法,例如MD5、RSA、SHA等加密算法。当远程控制操作还可被预先采用预设加密算法进行加密时,服务数据service解析出的远程控制操作此时仅仅是一堆乱码,因此需要对其进行解密才能发送至第一客户端的应用程序主体。具体的,首先获取与预设加密算法对应的预设解密算法,然后利用获取到的预设解密算法对远程控制操作进行解密,得到解密后的远程控制操作,最后再将解密后的远程控制操作发送至第一客户端的应用程序主体,由第一客户端的应用程序主体控制被控终端执行远程控制操作对应的远程控制功能。其中,第一客户端可从被控终端本地或者服务器端获取与预设加密算法对应的预设解密算法。
此外,远程控制操作可以是采用其中任一种预设加密算法进行的加密,也可是采用多种预设加密算法的混合加密方式进行的加密。例如,远程控制操作中的一部分数据是采用MD5加密算法加密的,而另一部分数据是采用RSA加密算法加密的,因此,对远程控制操作进行解密时,首先需根据预定的混合加密方式确定出远程控制操作中的哪部分数据是采用MD5加密算法加密的,以及哪部分数据是采用RSA加密算法加密的,进而根据MD5加密算法以及RSA加密算法分别对应的解密算法对两部分数据进行不同方式的解密。显然,混合加密的加密算法种类越多,远程控制操作的安全性越高。
控制终端上的第二客户端
图2是根据本发明一个实施例的一种终端间的远程控制方法的示意性流程图。该终端间的远程控制方法应用于控制终端上的第二客户端,其中,第二客户端的应用程序包括应用程序主体和与其对应的服务数据service。如图2所示,该方法一般性地可包括以下步骤S201-S203:
步骤S201,生成第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,建立请求中包括第二客户端的账号信息。
其中,第二客户端的账号信息即为控制终端用户登录第二客户端的账号信息。
步骤S202,发送建立请求至第一客户端。
在发送建立请求至第一客户端之前,需首先访问控制终端系统,并判断控制终端系统内是否集成有第二客户端的应用程序主体所对应的服务数据service,当确定控制终端系统内集成有第二客户端的应用程序主体所对应的服务数据service时,发送建立请求至第一客户端。第二客户端的应用程序包括其应用程序主体和服务数据service,在现有技术中,应用程序主体和服务数据service是作为一个整体打包成应用程序APK的,而在本实施例中,应用程序主体和服务数据service则是分开打包的,具体的,预先将第二客户端的服务数据service集成在被控终端系统内,用户在下载安装第二客户端时,实际上仅需下载第二客户端的应用程序主体即可。在判断被控终端系统内是否集成有第二客户端的应用程序主体所对应的服务数据service时,可根据预设的应用程序主体和服务数据service的数据名称进行判断。
控制终端系统内至少分为三个分区,即priv-app、system-app和app 47:28这三个分区,system-app分区主要用于存放常规下载的应用程序,即以APK格式结尾的文件,而priv-app分区和app 47:28分区则主要用于存储系统自带的应用程序,该分区相较于system-app分区和app 47:28分区的权限更高,即只有获得ROOT权限的用户才能访问。因此,为使终端间的远程控制具有安全性,可将服务数据service集成在控制终端系统内的priv-app分区中,从而使第二客户端在控制终端系统内集成有该服务数据service时对被控制端执行远程控制操作,实际上相当于第二客户端被赋予了底层系统权限,但这种方式相较于直接通过系统底层赋予权项的方式更加方便。
步骤S203,接收第一客户端针对建立请求返回的应答请求,根据应答请求在第二客户端和第一客户端之间建立远程控制关系,并对被控终端执行远程控制功能。
具体的,可按照如下方式对被控终端执行远程控制功能:首先,接收用户在控制终端上执行的远程控制操作,远程控制操作包括点击、移动、涂鸦中的至少一项操作;其次,生成包括远程控制操作的远程控制指令;再次,发送远程控制指令至第一客户端,由第一客户端执行远程控制指令对应的远程控制功能。
在一个实施例中,为使终端间的远程控制操作具有安全性,可采用预设加密算法对远程控制操作进行加密,然后生成包括加密后的远程控制操作的远程控制指令。其中,预设加密算法可以是任一种对称加密算法或非对称加密算法,例如MD5、RSA、SHA等加密算法。当远程控制操作被预先采用预设加密算法进行加密时,即使远程控制指令被劫持,也不会被其他终端获知具体的远程控制操作,因此该实施例通过对远程控制操作进行加密,可避免远程控制指令被其他终端劫持后非法对被控终端进行远程控制的情况,确保了被控终端上数据的安全性。
该实施例中,可采用其中任一种预设加密算法对远程控制操作进行加密,也可采用多种预设加密算法的混合加密方式对远程控制操作进行加密。例如,采用MD5加密算法和RSA加密算法的混合加密算法对远程控制操作进行加密时,可选定远程控制操作中的一部分数据,并对这部分数据采用MD5加密算法进行加密,同时采用RSA加密算法对远程控制操作中的另一部分数据进行加密。显然,混合加密的加密算法种类越多,远程控制操作的安全性越高。
在一个实施例中,为使终端间的远程控制操作具有安全性,可在生成的远程控制指令中写入签名,以使被控终端接收到远程控制指令后,能够利用验证签名的方式对远程控制指令的来源是否合法进行验证,进而根据来源合法的远程控制指令进行解析并执行相应操作。因此,在发送远程控制指令时,可首先采用预设签名算法生成针对远程控制指令的签名,然后将生成的签名写入远程控制指令,再将包括签名的远程控制指令发送至第一客户端。其中,采用预设签名算法生成签名的方式包括以下任一种方式:方式一、利用应用程序主体、并采用预设签名算法生成针对远程控制指令的签名;方式二、从控制终端系统内调起服务数据service,利用服务器数据service、并采用预设签名算法生成针对远程控制指令的签名。预设签名算法可包括平台platform签名算法和/或数字签名算法。
采用本发明提供的技术方案,能够预先在控制终端系统内集成有第二客户端的应用程序主题对应的服务数据service,使得控制终端在远程控制被控终端时,无需通过系统底层授予控制权限,而只需验证被控终端系统内集成有第二客户端的应用程序主题对应的服务数据service时即可执行远程控制操作,不仅使远程控制操作时的权限授予更为简便,且避免了非首次安装第二客户端时,系统底层认为是陌生的应用程序安装包而无法授予控制权限、进而导致终端间无法实现远程控制的情况,因此该技术方案在第一客户端和第二客户端间建立远程控制连接的前提下实现远程控制的方法更为实用性,用户体验也更佳。
以下通过一具体实施例来说明本发明提供的终端间的远程控制方法。
实施例一
在具体实施例一中,终端间的远程控制方法的执行主体包括被控终端上的第一客户端和控制终端上的第二客户端,其中,第一客户端和第二客户端的应用程序均包括应用程序主体和与其对应的服务数据service。如图3所示,该方法包括以下步骤S301-S312:
步骤S301,第二客户端生成与被控终端上的第一客户端之间建立远程控制关系的建立请求,该建立请求中包括第二客户端的账号信息。
例如,控制终端用户需要远程协助被控终端时,打开第二客户端上用于发起远程控制关系的建立请求的界面,在该界面上显示有“请求好友远程协助”选项和“协助好友使用手机”选项,用户选择“协助好友使用手机”选项后,控制终端进入输入被远程协助的好友信息的界面,用户可从控制终端通讯录中选择联系人作为被远程协助的好友,也可以在当前界面上输入被远程协助的好友的通讯号码或其在通讯录中的姓名等信息完成被远程协助的好友的设定,然后控制终端即可向被远程协助的好友所在的被控终端发起远程控制关系的建立请求。此外,界面上显示的“请求好友远程协助”选项是指当前终端作为被控终端时应该触发的选项,即,当触发“请求好友远程协助”选项时,相当于当前终端作为被控终端向其他终端发起了远程控制关系的建立请求,当其他终端接受该请求时,其他终端即为控制终端。
步骤S302,第二客户端将远程控制关系的建立请求发送至第一客户端。
步骤S303,第一客户端接收到该建立请求时,根据第二客户端的账号信息向第二客户端发起建立远程控制关系的应答。
步骤S304,第二客户端根据第一客户端的应答建立与第一客户端间的远程控制关系,并在接收到用户在控制终端上执行的远程控制操作,采用预设加密算法对远程控制操作进行加密。
其中,远程控制操作包括点击、移动、涂鸦中的至少一项操作。预设加密算法可以是任一种对称加密算法或非对称加密算法,例如MD5、RSA、SHA等加密算法。
步骤S305,第二客户端生成包含加密后的远程控制操作的远程控制指令,并采用预设签名算法为远程控制指令生成并写入签名。
步骤S306,第二客户端将远程控制指令发送至第一客户端。
步骤S307,第一客户端接收到远程控制指令时,访问被控终端系统,并判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service;若是,则执行步骤S308;若否,则执行步骤S312。
步骤S308,第一客户端获取并验证远程控制指令中的签名,根据验证结果判断远程控制指令的来源是否合法;若是,则执行步骤S309;若否,则执行步骤S312。
该步骤中,首先调用被控终端系统内集成的服务数据service获取远程控制指令中的签名,然后获取预设的正确签名,并将远程控制指令中的签名和正确签名进行对比,当对比结果一致时,可确定远程控制指令的来源合法,当对比结果不一致时,可确定远程控制指令的来源不合法。其中,正确签名可以是第一客户端和第二客户端预先约定的签名,可存储于第客户端或者服务器端,以使服务数据service能够获取到正确签名与远程控制指令中携带的签名进行对比。预设签名算法包括平台platform签名算法和/或数字签名算法。
步骤S309,第一客户端解析远程控制指令,得到加密后的远程控制操作。
步骤S310,第一客户端获取与预设加密算法对应的解密算法对远程控制操作进行解密,获得解密后的远程控制操作。
步骤S311,第一客户端根据解密后的远程控制操作控制被控终端执行相应的操作。
步骤S312,输出无法执行远程控制操作的提示信息。
由此可知,采用本发明实施例一的技术方案,仅在确定被控终端系统内集成有第一客户端的应用程序主体所对应的服务数据service时,才能实现控制终端对被控终端的远程控制功能,因此使得控制终端在远程控制被控终端时,无需通过系统底层授予控制权限,而只需验证被控终端系统内集成有第一客户端的应用程序主题对应的服务数据service时即可执行远程控制操作,不仅使远程控制操作时的权限授予更为简便,且避免了非首次安装第一客户端时,系统底层认为是陌生的应用程序安装包而无法授予控制权限、进而导致终端间无法实现远程控制的情况,因此该技术方案在第一客户端和第二客户端间建立远程控制连接的前提下实现远程控制的方法更为实用性,用户体验也更佳。
图4是根据本发明一个实施例的一种终端间的远程控制装置的示意性框图。该装置应用于被控终端上的第一客户端,第一客户端的应用程序包括应用程序主体和与其对应的集成在控制终端系统内的服务数据service,如图4所示,该装置包括:
接收模块410,适于接收到控制终端上的第二客户端与第一客户端之间建立远程控制关系的建立请求,建立请求中包括第二客户端的账号信息;
判断模块420,与接收模块410相耦合,适于访问被控终端系统,并判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service;
第一执行模块430,与判断模块420相耦合,适于当确定被控终端系统内集成有服务数据service时,根据第二客户端的账号信息在第二客户端和第一客户端之间建立远程控制关系,并触发控制终端对被控终端执行远程控制功能。
在一个实施例中,第一执行模块430还适于:
接收到第二客户端发送的远程控制指令,远程控制指令中包括在控制终端上执行的远程控制操作,远程控制操作包括点击、移动、涂鸦中的至少一项操作;
从被控终端系统内调起服务数据service;
利用服务数据service对被控终端执行远程控制指令对应的远程控制功能。
在一个实施例中,第一执行模块430还适于:
利用服务数据service对远程控制指令进行校验,以判断出远程控制指令的来源是否合法;
若是,则对远程控制指令进行解析,得到远程控制操作;
将远程控制操作发送至第一客户端的应用程序主体,由应用程序主体执行远程控制操作对应的远程控制功能。
在一个实施例中,远程控制指令中包括采用预设签名算法写入的签名;第一执行模块430还适于:
利用服务数据service获取远程控制指令中的签名;
获取预设的正确签名,并将远程控制指令中的签名与正确签名进行对比,得到对比结果;
当对比结果一致时,确定远程控制指令的来源合法。
在一个实施例中,预设签名算法包括平台platform签名算法和/或数字签名算法。
在一个实施例中,远程控制操作被预先采用预设加密算法进行加密;第一执行模块430还适于:
获取与预设加密算法对应的预设解密算法;
利用预设解密算法对远程控制操作进行解密,得到解密后的远程控制操作;
将解密后的远程控制操作发送至第一客户端的应用程序主体。
图5是根据本发明另一个实施例的一种终端间的远程控制装置的示意性框图。该装置应用于控制终端上的第二客户端,第二客户端的应用程序包括应用程序主体和与其对应的集成在控制终端系统内的服务数据service,如图5所示,该装置包括:
生成模块510,适于生成第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,建立请求中包括第二客户端的账号信息;
发送模块520,与生成模块510相耦合,适于发送建立请求至第一客户端;
第二执行模块530,与发送模块520相耦合,适于接收第一客户端针对建立请求返回的应答请求,根据应答请求在第二客户端和第一客户端之间建立远程控制关系,并对被控终端执行远程控制功能。
在一个实施例中,发送模块520还适于:
访问控制终端系统,并判断控制终端系统内是否集成有第二客户端的应用程序主体所对应的服务数据service;
当确定控制终端系统内集成有服务数据service时,发送建立请求至第一客户端。
在一个实施例中,第二执行模块530还适于:
接收用户在控制终端上执行的远程控制操作,远程控制操作包括点击、移动、涂鸦中的至少一项操作;
生成包括远程控制操作的远程控制指令;
发送模块,适于发送远程控制指令至第一客户端,由第一客户端执行远程控制指令对应的远程控制功能。
在一个实施例中,发送模块520还适于:
利用应用程序主体、并采用预设签名算法生成针对远程控制指令的签名;或者,从控制终端系统内调起服务数据service,利用服务器数据service、并采用预设签名算法生成针对远程控制指令的签名;
将签名写入远程控制指令;
将包括签名的远程控制指令发送至第一客户端;
其中,签名用于第一客户端对远程控制指令的来源是否合法进行校验。
在一个实施例中,预设签名算法包括平台platform签名算法和/或数字签名算法。
在一个实施例中,第二执行模块530还适于:
采用预设加密算法对远程控制操作进行加密;
生成包括加密后的远程控制操作的远程控制指令。
本领域的技术人员应可理解,图4和图5中的终端间的远程控制装置能够用来实现前文的终端间的远程控制方案,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
图6是根据本发明另一个实施例的一种终端间的远程控制系统的示意性框图。该系统包括被控终端610、服务器620和控制终端630,被控终端610上安装有第一客户端,控制终端630上安装有第二客户端,且第一客户端和第二客户端的应用程序包括应用程序主体和与其对应的服务数据service,其中:
第二客户端,适于生成第二客户端与被控终端610上的第一客户端之间建立远程控制关系的建立请求,建立请求中包括第二客户端的账号信息和第一客户端的账号信息;发送建立请求至服务器620;
服务器620,适于接收来自第二客户端的建立请求,并根据第一客户端的账号信息将建立请求转发至第一客户端;
第一客户端,适于接收服务器620转发的建立请求,访问被控终端系统,并判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service;当确定被控终端系统内集成有服务数据service时,针对建立请求向服务器620返回应答请求;
服务器620,还适于接收第一客户端返回的应答请求,并将应答请求转发至第二客户端;
第二客户端,还适于接收来自服务器620的应答请求,根据应答请求及第二客户端的账号信息在第二客户端和第一客户端之间建立远程控制关系,并对被控终端610执行远程控制功能。
基于上述终端间的远程控制系统,在一个实施例中,可按照如下步骤在第二客户端和第一客户端之间建立远程控制关系:
步骤一、控制终端630上的第二客户端生成其与第一客户端之间建立远程控制关系的建立请求,并发送该建立请求至服务器620,其中,建立请求中包括第二客户端的账号信息和第一客户端的账号信息。
步骤二、服务器620接收来自第二客户端的建立请求,并根据第一客户端的账号信息将建立请求转发至第一客户端。
步骤三、第一客户端接收到服务器620转发的建立请求之后,访问被控终端系统,并判断被控终端系统内是否集成有第一客户端的应用程序主体所对应的服务数据service;当确定被控终端统内集成有服务数据service时,针对建立请求向服务器620返回应答请求。
步骤四、服务器620接收第一客户端返回的应答请求,并将应答请求转发至第二客户端。
步骤五、第二客户端接收来自服务器620的应答请求,根据该应答请求及第二客户端的账号信息在第二客户端和第一客户端之间建立远程控制关系。
在一个实施例中,控制终端630基于第二客户端对被控终端610执行远程控制功能时,首先,由第二客户端根据用户在控制终端630上的操作(例如在界面上的滑动操作、涂鸦操作、对应用的触发操作或移动操作等)生成包括操作标识以及第二客户端的账号信息的远程控制指令,并将远程控制指令发送至服务器620;其次,服务器620接收到远程控制指令后,根据远程控制指令中携带的第二客户端的账号信息确定与其建立远程控制关系的第一客户端的账号信息,并根据第一客户端的账号信息将远程控制指令转发至第一客户端;最后,第一客户端解析远程控制指令,获得操作标识,进而在被控终端610上执行与该操作标识对应的操作。
本发明实施例还提供了一种移动终端,如图7所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该移动终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图7示出的是与本发明实施例提供的移动终端相关的手机的部分结构的框图。参考图7,手机包括:射频(Radio Frequency,RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(wireless-fidelity,Wi-Fi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图7中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对手机的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
手机还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器780还具有以下功能:
接收到控制终端上的第二客户端与所述第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
访问被控终端系统,并判断所述被控终端系统内是否集成有所述第一客户端的应用程序主体所对应的服务数据service;
当确定所述被控终端系统内集成有所述服务数据service时,根据所述第二客户端的账号信息在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并触发所述控制终端对所述被控终端执行远程控制功能。
可选地,处理器780还具有以下功能:
接收到所述第二客户端发送的远程控制指令,所述远程控制指令中包括在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
从所述被控终端系统内调起所述服务数据service;
利用所述服务数据service对所述被控终端执行所述远程控制指令对应的远程控制功能。
可选地,处理器780还具有以下功能:
利用所述服务数据service对所述远程控制指令进行校验,以判断出所述远程控制指令的来源是否合法;
若是,则对所述远程控制指令进行解析,得到所述远程控制操作;
将所述远程控制操作发送至所述第一客户端的应用程序主体,由所述应用程序主体执行所述远程控制操作对应的远程控制功能。
可选地,所述远程控制指令中包括采用预设签名算法写入的签名;
处理器780还具有以下功能:
利用所述服务数据service获取所述远程控制指令中的签名;
获取预设的正确签名,并将所述远程控制指令中的签名与所述正确签名进行对比,得到对比结果;
当所述对比结果一致时,确定所述远程控制指令的来源合法。
可选地,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
可选地,所述远程控制操作被预先采用预设加密算法进行加密;
处理器780还具有以下功能:
获取与所述预设加密算法对应的预设解密算法;
利用所述预设解密算法对所述远程控制操作进行解密,得到解密后的远程控制操作;
将所述解密后的远程控制操作发送至所述第一客户端的应用程序主体。
处理器780还具有以下功能:
生成所述第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
发送所述建立请求至所述第一客户端;
接收所述第一客户端针对所述建立请求返回的应答请求,根据所述应答请求在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并对所述被控终端执行远程控制功能。
可选地,处理器780还具有以下功能:
访问所述控制终端系统,并判断所述控制终端系统内是否集成有所述第二客户端的应用程序主体所对应的服务数据service;
当确定所述控制终端系统内集成有所述服务数据service时,发送所述建立请求至所述第一客户端。
可选地,处理器780还具有以下功能:
接收用户在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
生成包括所述远程控制操作的远程控制指令;
发送所述远程控制指令至所述第一客户端,由所述第一客户端执行所述远程控制指令对应的远程控制功能。
可选地,处理器780还具有以下功能:
利用所述应用程序主体、并采用预设签名算法生成针对所述远程控制指令的签名;或者,从所述控制终端系统内调起所述服务数据service,利用所述服务器数据service、并采用预设签名算法生成针对所述远程控制指令的签名;
将所述签名写入所述远程控制指令;
将包括所述签名的远程控制指令发送至所述第一客户端;
其中,所述签名用于所述第一客户端对所述远程控制指令的来源是否合法进行校验。
可选地,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
可选地,处理器780还具有以下功能:
采用预设加密算法对所述远程控制操作进行加密;
生成包括所述加密后的远程控制操作的远程控制指令。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的终端间的远程控制装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明实施例提供了A1.一种终端间的远程控制方法,应用于被控终端上的第一客户端,所述第一客户端的应用程序包括应用程序主体和与其对应的服务数据service,所述方法包括:
接收到控制终端上的第二客户端与所述第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
访问被控终端系统,并判断所述被控终端系统内是否集成有所述第一客户端的应用程序主体所对应的服务数据service;
当确定所述被控终端系统内集成有所述服务数据service时,根据所述第二客户端的账号信息在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并触发所述控制终端对所述被控终端执行远程控制功能。
A2.根据A1所述的方法,其中,触发所述控制终端对所述被控终端执行远程控制功能,包括:
接收到所述第二客户端发送的远程控制指令,所述远程控制指令中包括在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
从所述被控终端系统内调起所述服务数据service;
利用所述服务数据service对所述被控终端执行所述远程控制指令对应的远程控制功能。
A3.根据A2所述的方法,其中,利用所述服务数据service对所述被控终端执行所述远程控制指令对应的远程控制功能,包括:
利用所述服务数据service对所述远程控制指令进行校验,以判断出所述远程控制指令的来源是否合法;
若是,则对所述远程控制指令进行解析,得到所述远程控制操作;
将所述远程控制操作发送至所述第一客户端的应用程序主体,由所述应用程序主体执行所述远程控制操作对应的远程控制功能。
A4.根据A3所述的方法,其中,所述远程控制指令中包括采用预设签名算法写入的签名;
利用所述服务数据service对所述远程控制指令进行校验,以判断出所述远程控制指令的来源是否合法,包括:
利用所述服务数据service获取所述远程控制指令中的签名;
获取预设的正确签名,并将所述远程控制指令中的签名与所述正确签名进行对比,得到对比结果;
当所述对比结果一致时,确定所述远程控制指令的来源合法。
A5.根据A4所述的方法,其中,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
A6.根据A3-A5中任一项所述的方法,其中,所述远程控制操作被预先采用预设加密算法进行加密;
将所述远程控制操作发送至所述第一客户端的应用程序主体,包括:
获取与所述预设加密算法对应的预设解密算法;
利用所述预设解密算法对所述远程控制操作进行解密,得到解密后的远程控制操作;
将所述解密后的远程控制操作发送至所述第一客户端的应用程序主体。
本发明实施例还提供了B7.一种终端间的远程控制方法,应用于控制终端上的第二客户端,所述第二客户端的应用程序包括应用程序主体和与其对应的集成在控制终端系统内的服务数据service,所述方法包括:
生成所述第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
发送所述建立请求至所述第一客户端;
接收所述第一客户端针对所述建立请求返回的应答请求,根据所述应答请求在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并对所述被控终端执行远程控制功能。
B8.根据B7所述的方法,其中,发送所述建立请求至所述第一客户端,包括:
访问所述控制终端系统,并判断所述控制终端系统内是否集成有所述第二客户端的应用程序主体所对应的服务数据service;
当确定所述控制终端系统内集成有所述服务数据service时,发送所述建立请求至所述第一客户端。
B9.根据B8所述的方法,其中,对所述被控终端执行远程控制功能,包括:
接收用户在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
生成包括所述远程控制操作的远程控制指令;
发送所述远程控制指令至所述第一客户端,由所述第一客户端执行所述远程控制指令对应的远程控制功能。
B10.根据B9所述的方法,其中,发送所述远程控制指令至所述第一客户端,包括:
利用所述应用程序主体、并采用预设签名算法生成针对所述远程控制指令的签名;或者,从所述控制终端系统内调起所述服务数据service,利用所述服务器数据service、并采用预设签名算法生成针对所述远程控制指令的签名;
将所述签名写入所述远程控制指令;
将包括所述签名的远程控制指令发送至所述第一客户端;
其中,所述签名用于所述第一客户端对所述远程控制指令的来源是否合法进行校验。
B11.根据B10所述的方法,其中,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
B12.根据B9-B11中任一项所述的方法,其中,生成包括所述远程控制操作的远程控制指令,包括:
采用预设加密算法对所述远程控制操作进行加密;
生成包括所述加密后的远程控制操作的远程控制指令。
本发明实施例还提供了C13.一种终端间的远程控制装置,应用于被控终端上的第一客户端,所述第一客户端的应用程序包括应用程序主体和与其对应的服务数据service,所述装置包括:
接收模块,适于接收到控制终端上的第二客户端与所述第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
判断模块,适于访问被控终端系统,并判断所述被控终端系统内是否集成有所述第一客户端的应用程序主体所对应的服务数据service;
第一执行模块,适于当确定所述被控终端系统内集成有所述服务数据service时,根据所述第二客户端的账号信息在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并触发所述控制终端对所述被控终端执行远程控制功能。
C14.根据C13所述的装置,其中,所述第一执行模块还适于:
接收到所述第二客户端发送的远程控制指令,所述远程控制指令中包括在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
从所述被控终端系统内调起所述服务数据service;
利用所述服务数据service对所述被控终端执行所述远程控制指令对应的远程控制功能。
C15.根据C14所述的装置,其中,所述第一执行模块还适于:
利用所述服务数据service对所述远程控制指令进行校验,以判断出所述远程控制指令的来源是否合法;
若是,则对所述远程控制指令进行解析,得到所述远程控制操作;
将所述远程控制操作发送至所述第一客户端的应用程序主体,由所述应用程序主体执行所述远程控制操作对应的远程控制功能。
C16.根据C15所述的装置,其中,所述远程控制指令中包括采用预设签名算法写入的签名;所述第一执行模块还适于:
利用所述服务数据service获取所述远程控制指令中的签名;
获取预设的正确签名,并将所述远程控制指令中的签名与所述正确签名进行对比,得到对比结果;
当所述对比结果一致时,确定所述远程控制指令的来源合法。
C17.根据C16所述的装置,其中,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
C18.根据C15-C17中任一项所述的装置,其中,所述远程控制操作被预先采用预设加密算法进行加密;所述第一执行模块还适于:
获取与所述预设加密算法对应的预设解密算法;
利用所述预设解密算法对所述远程控制操作进行解密,得到解密后的远程控制操作;
将所述解密后的远程控制操作发送至所述第一客户端的应用程序主体。
本发明实施例还提供了D19.一种终端间的远程控制装置,应用于控制终端上的第二客户端,所述第二客户端的应用程序包括应用程序主体和与其对应的集成在控制终端系统内的服务数据service,所述装置包括:
生成模块,适于生成所述第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息;
发送模块,适于发送所述建立请求至所述第一客户端;
第二执行模块,适于接收所述第一客户端针对所述建立请求返回的应答请求,根据所述应答请求在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并对所述被控终端执行远程控制功能。
D20.根据D19所述的装置,其中,所述发送模块还适于:
访问所述控制终端系统,并判断所述控制终端系统内是否集成有所述第二客户端的应用程序主体所对应的服务数据service;
当确定所述控制终端系统内集成有所述服务数据service时,发送所述建立请求至所述第一客户端。
D21.根据D20所述的装置,其中,所述第二执行模块还适于:
接收用户在所述控制终端上执行的远程控制操作,所述远程控制操作包括点击、移动、涂鸦中的至少一项操作;
生成包括所述远程控制操作的远程控制指令;
发送模块,适于发送所述远程控制指令至所述第一客户端,由所述第一客户端执行所述远程控制指令对应的远程控制功能。
D22.根据D20所述的装置,其中,所述发送模块还适于:
利用所述应用程序主体、并采用预设签名算法生成针对所述远程控制指令的签名;或者,从所述控制终端系统内调起所述服务数据service,利用所述服务器数据service、并采用预设签名算法生成针对所述远程控制指令的签名;
将所述签名写入所述远程控制指令;
将包括所述签名的远程控制指令发送至所述第一客户端;
其中,所述签名用于所述第一客户端对所述远程控制指令的来源是否合法进行校验。
D23.根据D22所述的装置,其中,所述预设签名算法包括平台platform签名算法和/或数字签名算法。
D24.根据D21-D23中任一项所述的装置,其中,所述第二执行模块还适于:
采用预设加密算法对所述远程控制操作进行加密;
生成包括所述加密后的远程控制操作的远程控制指令。
本发明实施例还提供了E25.一种终端间的远程控制系统,包括被控终端、控制终端和服务器,所述被控终端上安装有第一客户端,所述控制终端上安装有第二客户端,且所述第一客户端和所述第二客户端的应用程序包括应用程序主体和与其对应的服务数据service,其中:
所述第二客户端,适于生成所述第二客户端与被控终端上的第一客户端之间建立远程控制关系的建立请求,所述建立请求中包括所述第二客户端的账号信息和所述第一客户端的账号信息;发送所述建立请求至所述服务器;
所述服务器,适于接收来自所述第二客户端的建立请求,并根据所述第一客户端的账号信息将所述建立请求转发至所述第一客户端;
所述第一客户端,适于接收所述服务器转发的所述建立请求,访问被控终端系统,并判断所述被控终端系统内是否集成有所述第一客户端的应用程序主体所对应的服务数据service;当确定所述被控终端系统内集成有所述服务数据service时,针对所述建立请求向所述服务器返回应答请求;
所述服务器,还适于接收所述第一客户端返回的应答请求,并将所述应答请求转发至所述第二客户端;
所述第二客户端,还适于接收来自所述服务器的应答请求,根据所述应答请求及所述第二客户端的账号信息在所述第二客户端和所述第一客户端之间建立所述远程控制关系,并对所述被控终端执行远程控制功能。
本发明实施例还提供了F26.一种移动终端,包括处理器和存储器:
所述存储器用于存储执行A1至A6、B7至B12任一项方法的程序,
所述处理器被配置为用于执行所述存储器中存储的程序。