一种信息处理方法及中转服务器与流程

文档序号:12182915阅读:508来源:国知局
一种信息处理方法及中转服务器与流程

本发明涉及通讯技术,尤其涉及一种信息处理方法及中转服务器。



背景技术:

本申请发明人在实现本申请实施例技术方案的过程中,至少发现相关技术中存在如下技术问题:

智能终端,如手机,平板电脑通常都安装有各种应用(APP),通过APP提供的功能丰富自己的日常工作和生活,然而一个APP是否能在智能终端运行良好,以达到预期的工作状态,需要受到多种内部和外部因素的影响,比如以手机为例,内部因素是APP自身存在的一些问题会对APP的运行状况有所影响,外部因素是:手机的CPU频率和运算处理能力,手机缓存等不同,在手机安装有APP后这些外部因素也会对APP的运行状况有所影响,所以,会对手机侧安装的APP进行测试。

采用现有技术,需要通过数据线将PC和Android系统的手机连接起来,建立连接后开始测试,存在的问题是:数据线连接的方式,不能实现远程测试场景的需要,PC和手机都必须就近放置才能进行测试,而且,这种方式命令执行也不连续,测试结果不准确。相关技术中,对于该问题,尚无有效解决方案。



技术实现要素:

有鉴于此,本发明实施例希望提供一种信息处理方法及中转服务器,至少解决了现有技术存在的问题,能满足远程测试场景的需要。

本发明实施例的技术方案是这样实现的:

本发明实施例的一种信息处理方法,所述方法包括:

通过套接字(Socket)通信在中转服务器与第一终端之间建立长连接后, 接收由第一终端通过第一应用架构封装得到的远程指令包;

解析所述远程指令包,生成第一指令;

通过Socket通信在中转服务器与第二终端之间建立长连接后,将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。

上述方案中,所述方法还包括:所述接收由第一终端通过第一应用架构封装得到的远程指令包之前,调用远程软件开发工具包对指令进行封装,封装得到所述远程指令包。

上述方案中,所述远程指令包中的指令包括:发送指令、接收指令、执行指令、指令执行结果分析中的至少一种。

上述方案中,所述通过Socket通信在中转服务器与第二终端之间建立长连接后,将所述第一指令发送给满足预设规则的第二终端,包括:

检测出所述第一指令需要由远程软件开发工具包封装、解封装或指令执行类型的终端进行处理,得到判断结果;

根据所述判断结果以发起查询请求或者接收终端主动上报的方式来查询所述第二终端是否安装有所述远程软件开发工具包,如果是,则满足预设规则,将所述第一指令发送给所述满足预设规则的第二终端。

上述方案中,所述方法还包括:

接收所述满足预设规则的第二终端所反馈的指令执行结果;

将所述指令执行结果反馈给所述第一终端进行所述评测分析。

本发明实施例的一种中转服务器,所述中转服务器包括:

第一连接建立单元,用于通过Socket通信在中转服务器与第一终端之间建立长连接;

接收单元,用于接收由第一终端通过第一应用架构封装得到的远程指令包;

解析单元,用于解析所述远程指令包,生成第一指令;

第二连接建立单元,用于通过Socket通信在中转服务器与第二终端之间建 立长连接;

发送单元,用于将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。

上述方案中,所述中转服务器还包括封装单元,用于调用远程软件开发工具包对指令进行封装,封装得到所述远程指令包。

上述方案中,所述远程指令包中的指令包括:发送指令、接收指令、执行指令、指令执行结果分析中的至少一种。

上述方案中,所述中转服务器还包括:

检测单元,用于检测出所述第一指令需要由远程软件开发工具包封装、解封装或指令执行类型的终端进行处理,得到判断结果;

所述发送单元,进一步用于根据所述判断结果以发起查询请求或者接收终端主动上报的方式来查询所述第二终端是否安装有所述远程软件开发工具包,如果是,则满足预设规则,将所述第一指令发送给所述满足预设规则的第二终端。

上述方案中,所述发送单元,进一步用于接收所述满足预设规则的第二终端所反馈的指令执行结果;将所述指令执行结果反馈给所述第一终端进行所述评测分析。

采用本发明实施例,是通过Socket通信在中转服务器与第一终端之间建立长连接后,接收由第一终端通过第一应用架构封装得到的远程指令包;解析所述远程指令包,生成第一指令;通过Socket通信在中转服务器与第二终端之间建立长连接后,将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。由于第一连接和第二连接所采用的这种Socket通信方式皆为非有线接入类型,因此,无需在第一终端和第二终端间采用数据线连接这种有线接入类型,从而能满足远程测试场景的需要,并且,将中转服务器作为中转载体,中转所述第一终端和所述第二终端间的信息交互,对通过 第一应用架构封装的远程指令包中的第一指令进行转发,解封装,执行指令,转发指令执行结果。

附图说明

图1为本发明实施例中进行信息交互的各方硬件实体的示意图;

图2为本发明方法实施例一的一个实现流程示意图;

图3为本发明方法实施例二的一个实现流程示意图;

图4为本发明方法实施例三的一个实现流程示意图;

图5为中转服务器实施例一的组成结构示意图;

图6为中转服务器实施例二的组成结构示意图;

图7为本发明方法实施例四的一个实现流程示意图;

图8为终端实施例一的组成结构示意图;

图9为应用本发明实施例的终端或中转服务器的硬件实体图;

图10为应用本发明实施例的应用实例一的系统架构示意图;

图11为应用本发明实施例的应用实例二的adb远程SDK的组成结构示意图;

图12为应用本发明实施例的应用实例三的一个实现流程示意图;

图13为采用应用实例三得到的效果图。

具体实施方式

下面结合附图对技术方案的实施作进一步的详细描述。

图1为本发明实施例中进行信息交互的各方硬件实体的示意图,图1中,包括中转服务器11、终端21、终端31-33这三类硬件实体,终端21可以为手机终端,终端31-33可以包括台式机、PC机、一体机等类型。终端21与终端31-33在无线网络环境中通过中转服务器11进行信息中转的交互。

基于上述图1的各硬件实体的架构图,采用本发明实施例主要是:通过Socket通信或其他形式的无线通讯方式在中转服务器与第一终端(如中转服务 器11与终端31-33)之间建立长连接后,接收由第一终端通过第一应用架构封装得到的远程指令包;解析所述远程指令包,生成第一指令;通过Socket通信或其他形式的无线通讯方式在中转服务器与第二终端(如中转服务器11与终端21)之间建立长连接后,将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。

本文中的第一终端可以为上述图1中所示的终端31-33,本文中的第二终端可以为上述图1中的终端21,基于上述图1的结构,提出以下本发明各个实施例。

方法实施例一:

本发明实施例的一种信息处理方法,如图2所示,所述方法包括:

步骤101、通过Socket通信在中转服务器与第一终端之间建立长连接后,接收由第一终端通过第一应用架构封装得到的远程指令包。

这里,以第一终端为PC机,第二终端为手机为例,在PC机与中转服务器之间采用如Socket通信方式或其他非有线接入类型的通讯方式建立第一连接,所述第一连接是区别于后续手机与中转服务器之间建立的第二连接而言的,第二连接的实现方式上也可以采用如Socket通信方式或其他非有线接入类型的通讯方式。

由于所述第一连接和所述第二连接所采用的这种Socket通信方式为非有线接入类型,因此,无需在第一终端和第二终端间采用数据线连接这种有线接入类型,从而能满足远程测试场景的需要。而且增加了中转服务器作为传输媒介,对第一终端和第二终端之间的指令传输,指令封装、解封装,解封装后对指令解析后进行执行得到的指令执行结果进行传输,也符合远程测试场景的需要。为了确保第一终端和第二终端都能对指令进行识别,增加了一个二者都必须具备的第一应用架构,利用该第一应用架构(具体可以是一种远程软件开发工具包如SDK)可以支持对指令进行封装、对指令进行解封装,解封装后对指令解 析后进行执行得到指令执行结果等一系列测试操作。

步骤102、解析所述远程指令包,生成第一指令。

步骤103、通过Socket通信在中转服务器与第二终端之间建立长连接后,将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。

这里,以第一终端为PC机,第二终端为手机为例,在手机与中转服务器之间采用如Socket通信方式或其他非有线接入类型的通讯方式建立第二连接,所述第二连接是区别于之前PC机与中转服务器之间建立的第一连接而言的,第二连接的实现方式上也可以采用如Socket通信方式或其他非有线接入类型的通讯方式。

由于所述第一连接和所述第二连接所采用的这种Socket通信方式为非有线接入类型,因此,无需在第一终端和第二终端间采用数据线连接这种有线接入类型,从而能满足远程测试场景的需要。而且增加了中转服务器作为传输媒介,对第一终端和第二终端之间的指令传输,指令封装、解封装,解封装后对指令解析后进行执行得到的指令执行结果进行传输,也符合远程测试场景的需要。为了确保第一终端和第二终端都能对指令进行识别,增加了一个二者都必须具备的第一应用架构,利用该第一应用架构(具体可以是一种远程软件开发工具包如SDK)可以支持对指令进行封装、对指令进行解封装,解封装后对指令解析后进行执行得到指令执行结果等一系列测试操作。

对于远程测试场景,采用本发明实施例,在PC机和手机间建立非有线连接,并引入中转服务器,以便通过中转服务器对PC机和手机间的指令交互进行中转,通过上述步骤101-103,在PC机与中转服务器之间建立第一连接,在中转服务器与手机之间建立第二连接,在PC机和手机侧都安装有第一应用架构,比如adb远程软件开发工具包(SDK)架构,从而可以对远程指令包中的指令进行封装,解封装,指令执行等一系列相关测试操作,由中转服务器来转发来自于PC远程指令包的第一指令,在手机侧执行指令后,得到指令执行结 果再转发给PC侧进行评测分析,从而对Android系统的手机侧所安装的APP运行情况进行分析,判断一个APP是否能在手机侧运行良好,以达到预期的工作状态,收集用户使用APP的习惯,从而为更新APP的功能作为参考指标。

方法实施例二:

本发明实施例的一种信息处理方法,如图3所示,所述方法包括:

步骤201、通过Socket通信在中转服务器与第一终端之间建立长连接,接收由第一终端通过第一应用架构封装得到的远程指令包之前,第一终端调用远程软件开发工具包对指令进行封装,封装得到所述远程指令包。

这里,所述远程指令包通过远程软件开发工具包如SDK进行封装,在所述第一终端和所述第二终端都安装有所述SDK,以便进行指令的封装及对应的指令解封装。其中,所述远程指令包中的指令包括:发送指令、接收指令、执行指令、指令执行结果分析中的至少一种。

步骤202、解析所述远程指令包,生成第一指令。

步骤203、通过Socket通信在中转服务器与第二终端之间建立长连接后,将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。

步骤204、第一终端根据该指令执行结果进行评测分析。

这里,以第一终端为PC机,第二终端为手机为例,由于所述第一连接和所述第二连接所采用的这种Socket通信方式为非有线接入类型,因此,无需在PC机和手机间采用数据线连接这种有线接入类型,从而能满足远程测试场景的需要。而且增加了中转服务器作为传输媒介,对PC机和手机之间的指令传输,指令封装、解封装,解封装后对指令解析后进行执行得到的指令执行结果进行传输,也符合远程测试场景的需要。为了确保PC机和手机都能对指令进行识别,增加了一个二者都必须具备的第一应用架构,利用该第一应用架构(具体可以是一种远程软件开发工具包如SDK)可以支持对指令进行封装、对指令进 行解封装,解封装后对指令解析后进行执行得到指令执行结果等一系列测试操作。

方法实施例三:

本发明实施例的一种信息处理方法,如图4所示,所述方法包括:

步骤301、通过Socket通信在中转服务器与第一终端之间建立长连接,接收由第一终端通过第一应用架构封装得到的远程指令包之前,第一终端调用远程软件开发工具包对指令进行封装,封装得到所述远程指令包。

这里,所述远程指令包通过远程软件开发工具包如SDK进行封装,在所述第一终端和所述第二终端都安装有所述SDK,以便进行指令的封装及对应的指令解封装。其中,所述远程指令包中的指令包括:发送指令、接收指令、执行指令、指令执行结果分析中的至少一种。

步骤302、解析所述远程指令包,生成第一指令。

步骤303、通过Socket通信在中转服务器与第二终端之间建立长连接后,将所述第一指令发送给满足预设规则的第二终端。

这里,以第一终端为PC机,第二终端为手机为例,所述满足预设规则的第二终端指与PC机同样安装有所述SDK的手机,如果手机未安装有所述SDK,则不符合预设规则,未安装有所述SDK的手机是无法对经中转服务器转发的来源于PC机的任何指令进行识别的,从而更无从对指令进行解封装,及解析指令后的执行指令以得到指令执行结果。

步骤304、检测出所述第一指令需要由所述SDK封装、解封装或指令执行类型的终端进行处理,得到判断结果。

步骤305、根据所述判断结果以发起查询请求或者接收终端主动上报的方式来查询所述第一终端是否安装有所述SDK,安装有所述SDK时,则满足预设规则,执行步骤306。

步骤306、将所述第一指令发送给所述满足预设规则的第二终端,以使所述第二终端通过所述SDK解封装后执行指令,将得到的指令执行结果反馈给所 述第一终端进行评测分析。

步骤307、所述第一终端根据所述指令执行结果进行评测分析。

这里,以第一终端为PC机,第二终端为手机为例,由于只有PC机和手机都安装有所述SDK,才可以对经中转服务器中转传输的指令进行识别,并进行测试所需的封装、解封装、解析指令后的执行等一系列测试操作,因此,当手机侧收到由PC侧发送并经中转服务器中转给自身的指令后,需要首先检查手机自身是否安装有所述SDK,如果有,则能识别出该指令,并进行测试所需的封装、解封装、解析指令后的执行等一系列测试操作;否则,不能识别出该指令,结束整个流程,无法完成预定的测试流程。

中转服务器实施例一:

本发明实施例的一种中转服务器,如图5所示,所述中转服务器包括:第一连接建立单元41、接收单元42、解析单元43、第二连接建立单元44、发送单元45。其中,第一连接建立单元41用于通过Socket通信在中转服务器与第一终端之间建立长连接。接收单元42用于接收由第一终端通过第一应用架构封装得到的远程指令包。解析单元43用于解析所述远程指令包,生成第一指令。第二连接建立单元44用于通过Socket通信在中转服务器与第二终端之间建立长连接。发送单元45用于将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。

这里,所述远程指令包中的指令包括:发送指令、接收指令、执行指令、指令执行结果分析中的至少一种。

这里,以第一终端为PC机,第二终端为手机为例,由于所述第一连接和所述第二连接所采用的这种Socket通信方式为非有线接入类型,因此,无需在PC机和手机间采用数据线连接这种有线接入类型,从而能满足远程测试场景的需要。而且增加了中转服务器作为传输媒介,对PC机和手机之间的指令传输,指令封装、解封装,解封装后对指令解析后进行执行得到的指令执行结果进行 传输,也符合远程测试场景的需要。为了确保PC机和手机都能对指令进行识别,增加了一个二者都必须具备的第一应用架构,利用该第一应用架构(具体可以是一种远程软件开发工具包如SDK)可以支持对指令进行封装、对指令进行解封装,解封装后对指令解析后进行执行得到指令执行结果等一系列测试操作。

对于在手机和PC之间进行信息中转的中转服务器来说,其作用至关重要,承载着PC机和手机之间的指令传输作用,且中转服务器也可以安装有所述SDK,以便对所传输的指令能识别,从而也可以支持如指令的封装、指令的解封装等基本测试操作所需要的必要处理,但是解封装后对指令解析后进行执行得到指令执行结果这种处理,虽然中转服务器也不是不可以执行,但是,考虑到应用的测试场景,是需要知道用户安装的应用在手机侧的执行情况,因此,在手机侧执行指令以得到指令的执行结果,并反馈给PC侧进行评测分析是更有针对性的。

中转服务器实施例二:

本发明实施例的一种中转服务器,如图6所示,所述中转服务器包括:第一连接建立单元41、接收单元42、解析单元43、第二连接建立单元44、发送单元45。其中,第一连接建立单元41用于通过Socket通信在中转服务器与第一终端之间建立长连接。接收单元42用于接收由第一终端通过第一应用架构封装得到的远程指令包。解析单元43用于解析所述远程指令包,生成第一指令。第二连接建立单元44用于通过Socket通信在中转服务器与第二终端之间建立长连接。发送单元45用于将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。

这里,所述中转服务器还包括封装单元46,用于调用远程软件开发工具包对指令进行封装,封装得到所述远程指令包。其中,所述远程指令包中的指令包括:发送指令、接收指令、执行指令、指令执行结果分析中的至少一种。

基于上述中转服务器实施例一~二,在本发明实施例一实施方式中,所述中转服务器还包括:检测单元,用于检测出所述第一指令需要由远程软件开发工具包封装、解封装或指令执行类型的终端进行处理,得到判断结果。中转服务器中的发送单元进一步用于根据所述判断结果以发起查询请求或者接收终端主动上报的方式来查询所述第二终端是否安装有所述远程软件开发工具包,如果是,则满足预设规则,将所述第一指令发送给所述满足预设规则的第二终端。

方法实施例四:

本发明实施例的一种信息处理方法,如图7所示,所述方法包括:

步骤501、通过Socket通信在中转服务器与第一终端之间建立长连接后,接收由第一终端通过第一应用架构封装得到的远程指令包。

这里,以第一终端为PC机,第二终端为手机为例,在PC机与中转服务器之间采用如Socket通信方式或其他非有线接入类型的通讯方式建立第一连接,所述第一连接是区别于后续手机与中转服务器之间建立的第二连接而言的,第二连接的实现方式上也可以采用如Socket通信方式或其他非有线接入类型的通讯方式。

步骤502、解析所述远程指令包,生成第一指令。

步骤503、通过Socket通信在中转服务器与第二终端之间建立长连接后,将所述第一指令发送给满足预设规则的第二终端,以使所述第二终端通过所述第一应用架构解封装后执行指令,将得到的指令执行结果反馈给所述第一终端进行评测分析。

这里,以第一终端为PC机,第二终端为手机为例,在手机与中转服务器之间采用如Socket通信方式或其他非有线接入类型的通讯方式建立第二连接,所述第二连接是区别于之前PC机与中转服务器之间建立的第一连接而言的,第二连接的实现方式上也可以采用如Socket通信方式或其他非有线接入类型的通讯方式。

由于所述第一连接和所述第二连接所采用的这种Socket通信方式为非有线 接入类型,因此,无需在第一终端和第二终端间采用数据线连接这种有线接入类型,从而能满足远程测试场景的需要。而且增加了中转服务器作为传输媒介,对第一终端和第二终端之间的指令传输,指令封装、解封装,解封装后对指令解析后进行执行得到的指令执行结果进行传输,也符合远程测试场景的需要。为了确保第一终端和第二终端都能对指令进行识别,增加了一个二者都必须具备的第一应用架构,利用该第一应用架构(具体可以是一种远程软件开发工具包如SDK)可以支持对指令进行封装、对指令进行解封装,解封装后对指令解析后进行执行得到指令执行结果等一系列测试操作。

步骤504、第二终端接收所述第一指令,检测出所述第二终端为满足预设规则的第二终端。

这里,以第一终端为PC机,第二终端为手机为例,所述满足预设规则的第二终端指与PC机同样安装有所述SDK的手机,如果手机未安装有所述SDK,则不符合预设规则,未安装有所述SDK的手机是无法对经中转服务器转发的来源于PC机的任何指令进行识别的,从而更无从对指令进行解封装,及解析指令后的执行指令以得到指令执行结果,从而,本步骤中,需要检测所述第二终端是否为满足预设规则的第二终端是非常重要的步骤。

步骤505、满足预设规则的第二终端通过第一应用架构解封装所述第一指令后执行指令,将得到的指令执行结果返回中转服务器后,通过在第一终端与中转服务器之间建立的第一连接,由中转服务器将该指令执行结果反馈给第一终端进行评测分析。

步骤506、第一终端根据该指令执行结果进行评测分析。

基于方法实施例四,在实际应用中,本文的所述第一应用架构可以具体为所述SDK,所述方法还包括:以收到中转服务器的查询请求或者终端主动上报的方式,将查询得到的所述第二终端是否安装有所述SDK的信息上报给中转服务器。相应的,所述第二终端安装有所述SDK时,则所述第二终端为满足预设规则的第二终端。

基于方法实施例四,在实际应用中,满足预设规则的第二终端通过第一应 用架构解封装所述第一指令后执行指令,包括:检测出所述第二终端安装有所述SDK,则所述第二终端支持通过所述SDK封装、解封装或执行指令;第二终端提取所述SDK,通过所述SDK解封装所述第一指令后执行指令,得到指令执行结果。

终端实施例一:

本发明实施例的一种终端,如图8所示,所述终端包括:连接及指令接收单元51、指令执行单元52、连接及指令发送单元53。其中,连接及指令接收单元51用于通过Socket通信在中转服务器与第二终端之间建立长连接,由第二终端接收经该中转服务器转发的所述第一指令;所述第二终端为满足预设规则的第二终端,可以为手机。指令执行单元52用于第二终端通过第一应用架构解封装所述第一指令后执行指令。连接及指令发送单元53用于将得到的指令执行结果返回中转服务器后,通过Socket通信在中转服务器与第一终端之间建立长连接,经中转服务器转发该指令执行结果给第一终端进行评测分析。

基于终端实施例一,实际应用中,所述终端还包括:上报单元,用于第一应用架构为所述SDK时,以收到中转服务器的查询请求或者终端主动上报的方式,将查询得到的所述第二终端是否安装有所述SDK的信息上报给中转服务器。相应的,所述第二终端安装有所述远程SDK时,则所述第二终端为满足预设规则的第二终端。

基于终端实施例一,实际应用中,所述指令执行单元,进一步用于检测出所述第二终端安装有所述远程SDK,则所述第二终端支持通过所述SDK架构封装、解封装或执行指令;提取所述SDK,通过所述SDK解封装所述第一指令后执行指令,得到指令执行结果。

这里需要指出的是,上述第一终端可以为PC、手提电脑、台式机、一体机等,上述第二终端可以为如手机、PAD、平板电脑等便携终端,不限于这里的描述;所述中转服务器可以是通过集群系统构成的,为实现各单元功能而合并为一或各单元功能分体设置的电子设备,客户端和服务器都至少包括用于存储 数据的数据库和用于数据处理的处理器,或者包括设置于服务器内的存储介质或独立设置的存储介质。

其中,对于用于数据处理的处理器而言,在执行处理时,可以采用微处理器、中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Singnal Processor)或可编程逻辑阵列(FPGA,Field-Programmable Gate Array)实现;对于存储介质来说,包含操作指令,该操作指令可以为计算机可执行代码,通过所述操作指令来实现上述本发明实施例信息处理方法流程中的各个步骤。

该第一终端、第二终端和该中转服务器作为硬件实体S11的一个示例如图9所示。所述装置包括处理器61、存储介质62以及至少一个外部通信接口63;所述处理器61、存储介质62以及外部通信接口63均通过总线64连接。

这里需要指出的是:以上涉及终端和中转服务器项的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明终端和中转服务器实施例中未披露的技术细节,请参照本发明方法实施例的描述。

以一个现实应用场景为例对本发明实施例阐述如下:

本应用场景为远程执行Android平台Linux命令的情况,本应用场景采用本发明实施例,为一种解决PC上远程执行Android平台Linux命令的SDK技术方案。

本文涉及的技术名词的含义说明如下:

所述Android指:基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。所述Linux命令指:对Linux系统进行管理的命令,常见的命令有cat、ps、chmod等等。所述adb指:全称为Android Debug Bridge,就是起到调试桥的作用,adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式控制终端和Qemu通讯,默认情况下可以通过终端可执行adb命令。所述Qemu指Android模拟器的虚拟系统。

对于本应用场景,目前执行Android平台Linux命令的技术方案主要是:通过数据线把PC和Android手机连接起来,在控制台通过adb发送Linux命令 到Android手机进行测试,打印出测试执行结果来用于分析Linux命令的运行情况。存在的问题是:1)PC需要USB通过数据线和手机连接在一起,不能远程执行Android手机上的Linux命令,使用场景比较单一,只能将PC和手机就近设置才可以实现;2)USB数据线连接的方式,比如在重启手机时需要重新检测是否已经通过USB建立连接,导致命令会中断,命令执行不连续,执行结果不容易分析。

对于上述问题,本应用场景采用本发明实施例,不仅不需要USB数据连接手机,只需要网络,就可以在PC上远程执行Android平台Linux命令的SDK技术方案,满足远程应用控制的场景需求,而且,远程执行Android平台Linux命令的SDK解决方案,还解决了跨平台的问题。

应用实例一:

如图10所示为包含第一终端(PC客户端71),第二终端(Android手机72)、中转服务器73的架构图,在PC和手机侧还都安装有相应的远程SDK,如adb远程SDK74。

PC客户端71为具有执行命令行功能的终端,如Windows上通常是CMD终端,Mac或Linux下通常是Shell终端。

中转服务器73,负责接口PC客户端71发送的需要执行的Linux命令,然后把Linux命令发送给远程的Android手机72,Android手机72执行完Linux命令后,会把命令执行结果发送给中转服务器73,中转服务器73再将命令执行结果返回给PC客户端71进行评测分析。

Android手机72为执行Linux命令的远程Android手机,负责接收Linux命令,执行Linux命令,并把命令执行结果返回给中转服务器73,以便由中转服务器73再将命令执行结果返回给PC客户端71进行评测分析。

adb远程SDK74是一个由Java程序打包的jar包,用于封装发送命令,接受命令、执行命令、执行结果分析等细节,安装于PC客户端和Android手机上的该adb远程SDK用于使PC客户端和Android手机能执行对应的命令封装, 命令解封装、命令解析及命令执行等操作。

基于图10架构的流程至少包括以下步骤:

步骤601、发送命令;

步骤602、中转服务器转发所述发送命令;

步骤603、执行命令,返回结果;

步骤604、中转服务器转发所述返回结果。

应用实例二:

对于adb远程SDK44而言,其具体的SDK架构设计如图11所示,至少包括4个核心组件,adb命令执行引擎441、命令接收器442、命令发送器443、Socket连接器444。其中,adb命令执行引擎441用于负责执行Linux命令,结果保存返回,支持并发执行linux命令;命令接收器442用于负责接收来自中转服务器的Linux命令,并把命令传递给adb命令执行引擎执行;命令发送器443用于负责把PC客户端上的命令发送给中转服务器;Socket连接器444用于负责和中转服务器建立Socket长连接,命令接收器和命令发送器,都是通过Socket连接和中转服务器进行通信的。

进一步,除了PC客户端和Android手机可以包含上述adb远程SDK44中的4个核心组件,在中转服务器中也可以设置上述adb远程SDK44中的4个核心组件,以形成基于adb远程SDK的命令传输通路。

应用实例三:

如图12所示为基于上述应用实例一-二架构的方法流程图,包括以下步骤:

步骤1001、PC客户端与中转服务器建立连接,这里是通过Socket通信与中转服务器建立长连接,成功建立连接后,PC客户端和中转服务器直接可以进行通信了。

步骤1002、PC客户端通过adb远程SDK把需要执行的远程Linux命令发送给中转服务器。

这里,本应用实例是以执行ps命令为例子进行说明的。

步骤1003、中转服务器接收来自PC客户端的Linux命令,并做保存。

这里,中转服务器收到来自pc客户端的的ps命令。

步骤1004、中转服务器把命令发送给远程的Android手机,这个发送通道是Android手机远程SDK和服务器之间建立的。

步骤1005、Android手机通过远程SDK接收到Linux命令后,通过adb远程SDK在手机上执行Linux命令,并保持执行结果。

这里,Android手机收到来自中转服务器执行ps命令的指令,执行结果如下图13所示。

步骤1006、Android手机通过adb远程SDK把执行结果发送给中转服务器。

步骤1007、中转服务器通过之前建立的和PC客户端之间的Socket连接,把执行结果发送给PC客户端。

这里,PC客户端收到远程Android手机上执行ps命令的返回结果。

步骤1008、PC客户端接收到执行结果后,进行结果解析。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一 个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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