一种手机系统远程控制调试方法、系统和装置的制造方法

文档序号:10555682阅读:550来源:国知局
一种手机系统远程控制调试方法、系统和装置的制造方法
【专利摘要】本发明公开了一种手机系统远程控制调试方法、系统和装置,该系统包括被调试端;中心服务器端;流媒体服务器端;调试端。该方法包括步骤:中心服务器验证被调试端并为其分配流媒体服务器端和调试端;被调试端连接该流媒体服务器端并向其发送数据包;流媒体服务器端从数据包内提取图像数据和调试数据,将图像数据转化为流媒体数据后,流媒体数据和调试数据发送至被调试端;被调试端反馈输入事件至调试端。该装置包括:验证模块;均衡模块;流媒体服务器端通信模块;提取模块;流媒体数据转换模块;调试数据封包模块;调试端输入事件采集模块;被调试端本地输入事件执行模块。本发明的有益效果在于实现对手机设备的远程跨平台控制调试。
【专利说明】
一种手机系统远程控制调试方法、系统和装置
技术领域
[0001]本发明涉及通信技术领域,特别是涉及一种手机系统远程控制调试方法、系统和
目.0
【背景技术】
[0002]随着移动互联网技术的普及,智能手机终端以及智能手机终端应用程序日渐成为人们生活中不可分割的一部分。对智能手机终端应用程序的调试需求也越来越大。各类手机终端由于硬件和操作系统千差万别,在调试的过程中经常会遇到,身在远方的调试者身边没有相同型号或者相同版本操作系统的手机终端,难以正确再现故障情况。站在调试者的角度,准备市面上所有型号以及所有版本操作系统的手机终端显然很不现实。较为理想的方法是调试者能够通过远程调试的方式通过计算机等还原故障的整个过程。
[0003]尽管目前多数手机操作系统本身提供了远程调试功能,却存在以下几个问题:不同手机操作系统自带的远程调试功能方法并不相同,调试者只能使用指定的设备(如PC/Mac)对手机终端进行调试,当需要使用多点触控和陀螺仪等功能时,PC/Mac将难以胜任;出于安全角度考虑,部分手机厂商默认屏蔽或隐藏了手机操作系统自身的远程调试功能;调试的内容受到手机操作系统本身功能的限制,无法自行定制调试信息;手机操作系统自身的远程调试功能通常只提供在同一个局域网内进行调试,使用范围受到很大限制;
因此,提出一套不依赖特定平台,基于互联网的多用户远程还原和检测故障问题的控制和调试的方法成为迫切需要解决的问题。

【发明内容】

[0004]为解决上述问题,本发明提供了一种手机系统远程控制调试系统,包括:被调试端,其用于通过流媒体服务器端,向调试端发送表示其当前状态的图像数据和调试数据,通过流媒体服务器端接收并执行来自被调试端的输入事件;中心服务器端,其用于验证所述被调试端,为所述被调试端分配流媒体服务器端和调试端;流媒体服务器端,其用于接收所述被调试端发送的所述图像数据和调试数据,将所述图像数据转化成流媒体数据,将所述流媒体数据和所述调试数据发送至所述调试端;调试端,其用于接收所述流媒体数据和所述调试数据,通过流媒体服务器端向被调试端发送输入事件;其中,所述被调试端分别连接所述中心服务器端和所述流媒体服务器端,所述调试端通过所述流媒体服务器端连接所述被调试端。
[0005]优选地,所述流媒体服务器端为一个或多个;所述调试端为一个或多个。
[0006]优选地,所述被调试端为1S终端、Android终端、Linux终端或Windows Phone终端;所述调试端为1S终端、Android终端或PC终端。
[0007]本发明还提供了一种手机系统远程控制调试方法,包括以下步骤:
中心服务器端接收并验证被调试端的调试请求;所述中心服务器端为所述被调试端分配流媒体服务器端和调试端;所述流媒体服务器端连接所述被调试端,并接收所述被调试端发出的包括图像数据和调试数据的数据包;所述流媒体服务器端根据所述数据包,提取所述图像数据和调试数据;所述流媒体服务器端根据所述调试端,将所述图像数据转化成流媒体数据,并发送至所述调试端;所述流媒体服务器端根据所述调试数据,生成调试数据文件,发送至所述调试端;所述调试端采集所述调试端的输入事件,将该输入事件的参数通过所述流媒体服务器端发送至所述被调试端;所述被调试端将来自所述调试端的所述输入事件的参数代入对应的被调试端的本地输入事件的参数,并执行。
[0008]优选地,所述流媒体服务器端为一个或多个;所述调试端为一个或多个。
[0009]优选地,所述流媒体服务器端从所述中心服务器端或所述调试端获取所述调试端的屏幕分辨率和/或网络类型信息,根据所述调试端的屏幕分辨率和/或网络类型,将所述图像数据转化成对应分辨率和码率的流媒体数据,并发送至所述调试端。
[0010]优选地,流媒体服务器端在提取所述图像数据后,对所述图像数据进行分子块重叠局部直方图均衡算法处理。
[0011 ]本发明还提供了一种手机系统远程控制调试装置,包括:验证模块,其用于接收并验证被调试端的调试请求;均衡模块,其用于为所述被调试端分配流媒体服务器端和调试端;流媒体服务器端通信模块,其用于连接所述被调试端,并接收所述被调试端发出的包括图像数据和调试数据的数据包;提取模块,其用于解包所述数据包,提取所述图像数据和调试数据;流媒体数据转换模块,其用于根据所述调试端,将所述图像数据转化成流媒体数据,并发送至所述调试端;调试数据封包模块,其用于根据所述调试数据生成调试数据文件,发送至所述调试端;调试端输入事件采集模块,用于调试端的输入事件,将该输入事件的参数通过所述流媒体服务器端发送至所述被调试端;被调试端本地输入事件执行模块,其用于将来自所述调试端的所述输入事件的参数转化为对应的被调试端的本地输入事件,并执行。
[0012]本发明的有益效果:通过互联网进行远程调试,拓展了控制调试系统的适用范围;支持多种不同硬件和平台的调试设备和被调试设备;采用专门的流媒体服务器端处理来自被调试设备的图像数据,将其转化成流媒体视频的方式来传输被调试设备的界面信息(例如显示屏实时显示的图像内容),既可以降低调试设备的图形处理开销和软件开发成本,也可以适应多种不同平台的调试设备,还可以使多台调试设备同时接收来自同一台被调试设备的界面信息。
【附图说明】
[0013]下面结合附图对本发明作进一步说明:
图1为本发明第一实施例的结构示意图。
[0014]图2为本发明第二实施例的被调试端向服务器端提出请求的流程图。
[0015]图3为本发明第二实施例的中心服务器端接收并处理被调试端提出请求的流程图。
[0016]图4为本发明第二实施例的由被调试端发往流媒体服务器端的数据包的数据结构示意图。
[0017]图5为为本发明第二实施例的调试端经由流媒体服务器端远程控制调试被调试端的流程图。
【具体实施方式】
[0018]以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。下列实施例的目的是解释说明权利要求,而不应当被理解为对权利要求范围的限制。
[0019]本申请的权利要求书、说明书、以及图面中所示的装置、系统、程序以及方法上所提到的动作、操作说明、步骤以及阶段等各个处理的实施顺序,除非用“在…前”、“先于……”等限定语特别标明,否则可以按任意的顺序实现。关于本申请的权利要求书、说明书、以及图面中所示的装置、流程等,即使出于方便考虑,使用了“首先”、“然后”等词汇来说明,也并非意味着必须要按这个顺序去实施。
[0020]本发明实施例提供了一种手机系统远程控制调试系统。包括:被调试端,其用于通过流媒体服务器端,向调试端发送表示其当前状态的图像数据和调试数据,通过流媒体服务器端接收并执行来自被调试端的输入事件;中心服务器端,其用于验证所述被调试端,为所述被调试端分配流媒体服务器端和调试端;流媒体服务器端,其用于接收所述被调试端发送的所述图像数据和调试数据,将所述图像数据转化成流媒体数据,将所述流媒体数据和所述调试数据发送至所述调试端;调试端,其用于接收所述流媒体数据和所述调试数据,通过流媒体服务器端向被调试端发送输入事件;其中,所述被调试端分别连接所述中心服务器端和所述流媒体服务器端,所述调试端通过所述流媒体服务器端连接所述被调试端。
[0021]上述被调试端为手机终端、平板电脑或者手机应用程序;中心服务器端为服务器或应用程序,用于为被调试端提供登陆验证,并且动态分配流媒体服务器端和调试端;流媒体服务器端为一台或多台不同功能的服务器或应用程序,用于连接被调试端和调试端,将来自被调试端的图像数据转化成流媒体数据,并将该流媒体数据和与该流媒体数据同步的调试数据发送至调试端;调试端为计算机、智能手机终端或平板电脑等,用于远程调试被调试端。被调试端、中心服务器端、流媒体服务器端和调试端的连接关系如图1所示。被调试端的操作系统可以是Android、1S、Linux或Windows Phone,在此实施例中,将示范性地以Android系统为例进行说明,调试端为PC服务器。当采用i0S、Linux或Windows Phone系统的终端时,仅在具体实施过程中调用API不同。
[0022]本发明第一实施例的运行方法与后述第二实施例相同,故在此省略。
[0023]本发明的第二实施例提供了一种手机系统远程控制调试方法。包括本发明第一实施实例的系统。
[0024]该控制调试方法的步骤如下:
步骤S00:首先,被调试端向中心服务器端发出调试请求。
[0025]请求的流程参照图2所示。
[0026]步骤S10:中心服务器端接到调试请求后,向被调试端发出验证信息;
在本发明实施例中,为了保证被调试端在用户可控、可知的前提下提供服务,设置了中心服务器端在控制前进行用户身份验证。
[0027]步骤S20:经验证后,中心服务器端为所述被调试端分配流媒体服务器端和调试端。
[0028]中心服务器端验证并分配流媒体服务器端和调试端的流程参照图3所示。
[0029]步骤S30:流媒体服务器端连接所述被调试端,并接收所述被调试端发出的数据包。示例性地,被调试端、流媒体服务器端和调试端之间通过TCP/IP协议建立连接。建立连接后三者的流程图参照图5所示。
[0030]在中心服务器端为被调试端分配流媒体服务器端和调试端后,流媒体服务器端分别与被调试端和调试端建立连接,被调试端通过流媒体服务器端连接调试端。具体而言,首先,被调试端与流媒体服务器端之间建立连接。被调试端提取自身的界面绘制buffer,取得被调试端的界面图像,并压缩成图像格式的图像数据,再和调试有关的调试数据一起封装成自定义的数据包,发送至流媒体服务器端。数据包包括:设备UUID、启动平台(操作系统)、设备名字、设备屏幕基础信息、图像数据和其它手机调试数据等信息。数据包的结构参照图4。
[0031 ] 其中,Headinf ο结构参考如下: public class KGHeadInfo
{
Protected int m—pid; //进程ID
protected int m_realffidth; //android 手机真实的宽 protected int m—realHeight; // android 手机真实的高 protected int m_ virtualffidth; // android 手机虚拟的宽 protected int m— virtualHeught; // android 手机虚拟的高 protected String m—vers1n; // 平台片反本 protected String m—quirkbitFlags; // 特殊标记喂 protected String m—uuid; // uuid }
public class KGDevice
{
private IDevice m—Device = null; // 设备程序映射对象 private String m—Uuid = 〃"; // 设备UUID
private KGDeviceInfo m—KGDeviceInfo = null; // 设备基础信息 private KGDeviceStatus m—Status = KGDeviceStatus.0ffline; //设备状态 private KGDeviceController m—KGDeviceController = null;//设备控制对象 private KGDisplayController m—KGDisplayController = null; //图像控制对象 private KGCapConnect1n m—KGCapConnect1n = null; //图像数据传输对象 private int m—ScreenRotat1n = 0; // 屏幕车专屏 }
同一台流媒体服务器端可以连接一台以上的被调试端和调试端。
[0032]步骤S40:流媒体服务器端根据所述数据包,提取图像数据和调试数据。以图4所示为例,流媒体服务器端将收到的来自被调试端的数据包进行解包,提取保存“2”中的“图像数据”和“调试数据”。
[0033]步骤S50:流媒体服务器端根据所述调试端,将所述图像数据转化成流媒体数据,并发送至所述调试端。
[0034]具体而言,在发送流媒体数据之前,流媒体服务器端通过与中心服务器或调试端通信,获取调试端的软硬件信息和/或网络情况,根据对应上述软硬件信息(屏幕分辨率、处理器型号、内存大小、操作系统类型和版本号等)以及网络情况(网速和网络类型)的预设或者调试端发出的要求,选择与调试端最适合的流媒体的参数(分辨率和码率等)。例如,当检测到调试端为通过有限网络连接的台式计算机,流媒体服务器端生成高分辨率、高码率的流媒体视频;当检测到调试端为通过4G移动网络连接且内存容量小于IG的手机终端,流媒体服务器端生成与该手机终端分辨率相适应的分辨率(例如匹配手机终端的屏幕分辨率的高或宽)的低码率流媒体视频,以达到节约电量和流量的目的,保证调试过程的顺畅和不卡顿。
[0035]为了降低数据传输量,被调试端对截取的图像数据的压缩容易使图像数据的分辨率和动态范围过低,直接转换成流媒体视频将会导致难以辨识。因此,可以预先利用POSHE算法(分子块重叠局部直方图均衡算法)对图像数据进行图像增强处理,避免压缩过度导致局部对比度过低的问题。
[0036]利用图像插值和图像插帧的方式将图片格式的图像数据转化为不同分辨率的平滑的流媒体视频数据,同时保存与图像数据对应的流媒体的时间轴。
[0037]采用专门的流媒体服务器端处理图像数据,并转化成流媒体视频的方式来传输被调试端的界面信息,既可以降低调试端的图形处理开销和软件开发成本,也可以使多台调试端设备同时接收来自同一台被调试端的界面信息(例如显示屏实时显示的内容)。
[0038]步骤S60:流媒体服务器端根据所述调试数据,生成调试数据文件,发送至所述调试端。具体而言,流媒体服务器端将解包后提取的与调试有关的数据(包括图5中的“调试数据”和“基础信息”)和前述时间轴等一起重新封包,以实现调试数据与流媒体视频的同步,将生成的调试数据文件发送至调试端,供调试端的调试人员分析。此外,本步骤的也可以由流媒体服务器端以外的独立的服务器承担,流媒体服务器端仅用于将图像数据转换成流媒体视频。
[0039]步骤S70:所述调试端将调试端输入事件信息通过所述流媒体服务器端发送至所述被调试端。
[0040]调试端在利用流媒体数据显示被调试端界面的同时,检测自身输入设备的输入事件。此处的输入事件是指,由调试端的输入设备的输入操作行为而触发的系统事件。例如Android系统下,触摸屏的触摸输入触发的触摸事件(onClick,onScroll,onFling,Mot1nEvent),键盘按下触发的输入事件(onKeyDown)等。记录该输入事件的参数,将其打包经流媒体服务器端,回传至被调试端。
[0041]由于调试端触摸屏的屏幕分辨率与被调试端的屏幕分辨率并不一定一致,因此,还需要根据被调试端的屏幕分辨率,对获取的触摸屏的输入事件的参数(例如坐标)进行映射转换。例如经图像插值后,在调试端触摸屏显示的分辨率是原被调试端图像的两倍,则调试端触摸屏的输入事件的坐标参数应除以2后,才等于原被调试端的输入事件的参数。
[0042]步骤S80:所述被调试端将所述调试端输入事件代入对应被调试端的本地输入事件,并执行。
[0043]以调试端输入事件的参数为参数,被调试端调用本地API,执行本地对应的输入事件。假如没有对应的本地事件,则返回错误。
【主权项】
1.一种手机系统远程控制调试系统,其特征在于包括: 被调试端,其用于通过流媒体服务器端,向调试端发送表示其当前状态的图像数据和调试数据,通过流媒体服务器端接收并执行来自被调试端的输入事件; 中心服务器端,其用于验证所述被调试端,为所述被调试端分配流媒体服务器端和调试端; 流媒体服务器端,其用于接收所述被调试端发送的所述图像数据和调试数据,将所述图像数据转化成流媒体数据,将所述流媒体数据和所述调试数据发送至所述调试端; 调试端,其用于接收所述流媒体数据和所述调试数据,通过流媒体服务器端向所述被调试端发送输入事件; 其中,所述被调试端分别连接所述中心服务器端和所述流媒体服务器端,所述调试端通过所述流媒体服务器端连接所述被调试端。2.根据权利要求1所述的手机系统远程控制调试系统,其特征在于:所述流媒体服务器端为一个或多个;所述调试端为一个或多个。3.根据权利要求1所述的手机系统远程控制调试系统,其特征在于:所述被调试端为1S终端、Android终端、Linux终端或Windows Phone终端;所述调试端为1S终端、Android终端或PC终端。4.一种手机系统远程控制调试方法,其特征在于还包括以下步骤: 中心服务器端接收并验证被调试端的调试请求; 所述中心服务器端为所述被调试端分配流媒体服务器端和调试端; 所述流媒体服务器端连接所述被调试端,并接收所述被调试端发出的包括图像数据和调试数据的数据包; 所述流媒体服务器端根据所述数据包,提取所述图像数据和调试数据; 所述流媒体服务器端根据所述调试端,将所述图像数据转化成流媒体数据,并发送至所述调试端; 所述流媒体服务器端根据所述调试数据,生成调试数据文件,发送至所述调试端; 所述调试端采集所述调试端的输入事件,将该输入事件的参数通过所述流媒体服务器端发送至所述被调试端; 所述被调试端将来自所述调试端的所述输入事件的参数代入对应的被调试端的本地输入事件的参数,并执行。5.根据权利要求4所述的手机系统远程控制调试方法,其特征在于:所述流媒体服务器端为一个或多个;所述调试端为一个或多个。6.根据权利要求4所述的手机系统远程控制调试方法,其特征在于:所述流媒体服务器端从所述中心服务器端或所述调试端获取所述调试端的屏幕分辨率和/或网络类型信息,根据所述调试端的屏幕分辨率和/或网络类型,将所述图像数据转化成对应分辨率和码率的流媒体数据,并发送至所述调试端。7.根据权利要求4所述的手机系统远程控制调试方法,其特征在于:所述流媒体服务器端在提取所述图像数据后,对所述图像数据进行分子块重叠局部直方图均衡算法处理。8.一种手机系统远程控制调试装置,其特征在于包括: 验证模块,其用于接收并验证被调试端的调试请求; 均衡模块,其用于为所述被调试端分配流媒体服务器端和调试端; 流媒体服务器端通信模块,其用于连接所述被调试端,并接收所述被调试端发出的包括图像数据和调试数据的数据包; 提取模块,其用于解包所述数据包,提取所述图像数据和调试数据; 流媒体数据转换模块,其用于根据所述调试端,将所述图像数据转化成流媒体数据,并发送至所述调试端; 调试数据封包模块,其用于根据所述调试数据生成调试数据文件,发送至所述调试端;调试端输入事件采集模块,用于调试端的输入事件,将该输入事件的参数通过所述流媒体服务器端发送至所述被调试端; 被调试端本地输入事件执行模块,其用于将来自所述调试端的所述输入事件的参数转化为对应的被调试端的本地输入事件,并执行。
【文档编号】H04M1/24GK105915628SQ201610376575
【公开日】2016年8月31日
【申请日】2016年5月31日
【发明人】杨明邦, 王刚, 黎健钧, 倪波, 张凌彬, 周诚, 蔡其锋
【申请人】珠海金山网络游戏科技有限公司, 广州西山居世游网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1