一种连接方法及装置与流程

文档序号:18081772发布日期:2019-07-06 10:08阅读:124来源:国知局
一种连接方法及装置与流程

本申请涉及计算机领域,尤其涉及一种连接方法及装置。



背景技术:

随着移动互联网的快速发展,移动终端(例如手机、平板电脑等)日渐取代个人计算机(personalcomputer,pc)成为人们使用最多的工具。移动终端通过安装并运行应用程序(application,app)来为人们的工作和生活提供服务。

在一些应用场景中,移动终端需要与主控设备进行连接,实现对移动终端的应用程序进行操作的目的。例如,在自动化测试中,一个主控设备与多个移动终端进行连接,通过该主控设备实现对多个移动终端上安装的某个应用程序进行测试。

而目前的问题是,主控设备与移动终端建立连接的过程时间较长,导致主控设备对移动终端应用程序的操作效率较低。



技术实现要素:

为了解决现有技术中存在的主控设备与移动终端建立连接的过程时间较长的问题,本申请提供了一种连接方法及装置,用于缩短主控设备与移动终端连接的时间。

第一方面,本申请实施例提供了一种连接方法,所述方法包括:

服务器接收来自主控设备的连接请求,所述连接请求中携带有移动终端的设备信息;

所述服务器根据所述移动终端的设备信息确认所述服务器已与所述移动终端建立连接,并向所述主控设备返回连接成功消息。

可选的,所述移动终端的设备信息包括所述移动终端的地址和所述移动终端的端口号,所述移动终端的端口号对应的端口为所述移动终端与所述服务器连接的端口。

可选的,若所述服务器已与所述移动终端建立连接,则所述方法还包括:

所述服务器存储所述移动终端的设备信息与连接进程的进程信息之间的映射关系,所述连接进程为所述服务器建立的与所述移动终端连接的进程。

可选的,所述连接进程的进程信息包括所述服务器的端口号和/或所述连接进程的进程标识,所述服务器的端口号对应的端口为所述服务器与所述移动终端连接的端口。

可选的,所述方法还包括:

所述服务器生成会话标识与所述移动终端的设备信息之间的映射关系;

所述连接成功消息中包括所述会话标识。

可选的,所述方法还包括:

所述服务器接收来自所述主控设备的业务请求,所述业务请求中包括所述会话标识;

所述服务器根据所述会话标识,和所述会话标识与所述移动终端的设备信息之间的映射关系,确定对应的移动终端的设备信息,并向与所述设备信息对应的移动终端转发所述业务请求,所述业务请求用于对所述移动终端的应用程序进行处理。

可选的,所述主控设备为多个,多个所述主控设备包括第一主控设备,所述连接请求中还携带有所述第一主控设备的标识;

所述服务器根据所述移动终端的设备信息确认所述服务器已与所述移动终端建立连接,并向所述主控设备返回连接成功消息包括:

所述服务器根据所述移动终端的设备信息和所述第一主控设备的标识,确认所述服务器已与所述移动终端建立连接,且所述移动终端未被除所述第一主控设备以外的其他主控设备占用,则向所述主控设备返回连接成功消息。

可选的,所述方法还包括:

所述服务器向所述移动终端发送页面源码获取请求,所述页面源码获取请求用于获取所述移动终端的屏幕信息;

若所述服务器接收到来自所述移动终端的所述移动终端的屏幕信息,则确认所述服务器与所述移动终端已连接。

第二方面,本申请实施例提供了一种连接装置,所述装置应用于服务器,所述装置包括:

第一接收单元,用于接收来自主控设备的连接请求,所述连接请求中携带有移动终端的设备信息;

连接单元,用于根据所述移动终端的设备信息确认所述服务器已与所述移动终端建立连接,并向所述主控设备返回连接成功消息。

可选的,所述移动终端的设备信息包括所述移动终端的地址和所述移动终端的端口号,所述移动终端的端口号对应的端口为所述移动终端与所述服务器连接的端口。

可选的,若所述服务器已与所述移动终端建立连接,则所述装置还包括:

存储单元,用于存储所述移动终端的设备信息与连接进程的进程信息之间的映射关系,所述连接进程为所述服务器建立的与所述移动终端连接的进程。

可选的,所述连接进程的进程信息包括所述服务器的端口号和/或所述连接进程的进程标识,所述服务器的端口号对应的端口为所述服务器与所述移动终端连接的端口。

可选的,所述装置还包括:

生成单元,用于生成会话标识与所述移动终端的设备信息之间的映射关系;

所述连接成功消息中包括所述会话标识。

可选的,所述装置还包括:

第二接收单元,用于接收来自所述主控设备的业务请求,所述业务请求中包括所述会话标识;

转发单元,用于根据所述会话标识,和所述会话标识与所述移动终端的设备信息之间的映射关系,确定对应的移动终端的设备信息,并向与所述设备信息对应的移动终端转发所述业务请求,所述业务请求用于对所述移动终端的应用程序进行处理。

可选的,所述主控设备为多个,多个所述主控设备包括第一主控设备,所述连接请求中还携带有所述第一主控设备的标识;

所述连接单元,用于根据所述移动终端的设备信息和所述第一主控设备的标识,确认所述服务器已与所述移动终端建立连接,且所述移动终端未被除所述第一主控设备以外的其他主控设备占用,则向所述主控设备返回连接成功消息。

可选的,所述装置还包括:

发送单元,用于向所述移动终端发送页面源码获取请求,所述页面源码获取请求用于获取所述移动终端的屏幕信息;

确认单元,用于若所述服务器接收到来自所述移动终端的所述移动终端的屏幕信息,则确认所述服务器与所述移动终端已连接。

本申请实施例提供的连接方法,主控设备并不直接连接移动终端,而是通过服务器进行连接。该服务器与移动终端预先建立连接,在服务器接收到主控设备发送的连接请求时,由于服务器已经与移动终端建立了连接,所以可以向主控设备返回连接成功消息。通过该方法缩短了主控设备与移动终端的连接时间,提高了连接效率。

附图说明

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

图1为本申请实施例提供的一种连接方法的流程图;

图2为本申请实施例提供的一种连接系统的结构框图;

图3为本申请实施例基于图2所示的连接系统提供的信令交互图;

图4为本申请实施例提供的一种连接装置的结构框图。

具体实施方式

在本申请实施例中,主控设备是指能够对移动终端的应用程序进行操作的设备,主控设备可以是移动终端,也可以是服务器。主控设备上可以运行应用程序控制软件,例如appium软件,通过该应用程序控制软件实现对移动终端上应用程序的控制。

在本申请实施例中,移动终端可以是手机、平板电脑等能够安装应用程序的设备。移动终端上可以安装安卓(android)系统、苹果(ios)系统等操作系统。移动终端上安装的应用程序基于相应的操作系统而开发。

目前,主控设备与移动终端建立连接的时间较长。以appium软件为例,与移动终端建立连接的过程包括:创建appium进程,然后通过该appium进程向移动终端发送连接请求,接收移动终端发送的连接成功消息。主控设备每次与移动终端建立连接都需要执行上述步骤,导致连接效率较低。

为了解决上述技术问题,本申请实施例提供了一种连接方法,在该方法中,主控设备并不直接连接移动终端,而是通过服务器进行连接。该服务器用于与移动终端预先建立连接,在服务器接收到主控设备发送的连接请求时,由于服务器已经与移动终端建立了连接,所以可以向主控设备返回连接成功消息。也就是说,通过该方法缩短了主控设备与移动终端的连接时间,提高了连接效率。

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

参见图1,该图为本申请实施例提供的一种连接方法的流程图。

本实施例提供的连接方法包括如下步骤:

s101:服务器接收来自主控设备的连接请求,所述连接请求中携带有移动终端的设备信息。

在本申请实施例中,连接请求是主控设备发起的、用于与移动终端建立连接的请求。在连接请求中携带有移动终端的设备信息。移动终端的设备信息可以例如为移动终端的地址和移动终端的端口号等信息。移动终端的地址可以是互联网协议(internetprotocol,ip)地址。移动终端的端口号端口为所述移动终端与所述服务器连接的端口。

s102:所述服务器根据所述移动终端的设备信息确认所述服务器已与所述移动终端建立连接,并向所述主控设备返回连接成功消息。

在本申请实施例中,服务器可以预先与移动终端建立连接。在建立连接之后,可以设置状态位,该状态位中的值可以用于指示服务器已经与移动终端建立连接。在建立连接之后,服务器还可以保存已建立连接的移动终端的设备信息,并使移动终端的设备信息与状态位关联。这样,当服务器接收到主控设备的连接请求之后,根据连接请求中携带的移动终端的设备信息,获取对应的状态位的值,若该状态位的值指示服务器已经与该移动终端建立连接,则服务器则向主控设备返回连接成功消息。也就是说,在本申请实施例中,通过服务器这样一个中间设备与移动终端建立并保持连接,当主控设备需要与移动终端连接时,就可以及时的让主控设备获取到连接成功消息,缩短了主控设备与移动终端建立连接的时间,提高了连接效率。

在本申请实施例中,状态位中可以有三种值,这三种值分别表征服务器与移动终端之间连接的不同状态:已连接、正在连接和断开连接。

若服务器在接收到来自主控设备的连接请求时,状态位中的值表征服务器与移动终端正在连接或断开连接,那么服务器可以在其与移动终端完成连接,并将状态位的值从正在连接或断开连接修改为已连接之后,向主控设备返回连接成功消息。

当服务器与移动终端建立连接之后,可以生成会话标识与所述移动终端的设备信息之间的映射关系,所述会话标识与所述移动终端的设备信息之间的映射关系可以表征所述服务器与所述移动终端建立连接。所以,在服务器向主控设备返回连接成功消息时,可以通过携带会话标识来告知主控设备服务器已与移动终端建立连接。接下来,主控设备可以向服务器发送业务请求,在业务请求中携带有该会话标识,服务器可以根据该会话标识,以及会话标识与移动终端的设备信息之间的映射关系,确定对应的移动终端的设备信息,并向所述移动终端的设备信息对应的移动终端转发所述业务请求,以实现对所述移动终端中应用程序的处理。

在本申请实施例中,服务器与移动终端建立连接的过程可以是:服务器创建用于与移动终端进行连接的连接进程,然后通过该连接进程向移动终端发送页面源码获取请求,所述页面源码获取请求用于获取所述移动终端的屏幕信息。若所述服务器接收到所述移动终端根据所述页面源码获取请求向服务器发送的所述移动终端的屏幕信息,则确认所述服务器与所述移动终端已连接。在本申请实施例中,服务器向移动终端发送的页码源码获取请求不会影响到对移动终端上应用程序的处理,即该请求不属于业务请求,通过该页码源码获取请求实现服务器与移动终端的连接。

当服务器首次与移动终端建立连接之后,可以生成并存储所述移动终端的设备信息与所述连接进程的进程信息之间的映射关系。所述连接进程的进程信息可以例如为服务器的端口号和连接进程的进程标识等信息的其中一种或多种。其中,服务器的端口号对应的端口为所述服务器与所述移动终端连接的端口。所述连接进程的进程标识用于唯一标识所述连接进程。

当服务器接收到来自主控设备的业务请求时,可以根据业务请求中的会话标识确定对应的移动终端的设备信息,然后根据移动终端的设备信息与连接进程的进程信息之间的映射关系,找到与所述会话标识对应的连接进程,并通过该连接进程转发所述业务请求。

为了能够使主控设备尽快的建立与移动终端的连接,在本申请实施例中,当服务器与移动终端建立连接之后,可以一直保持该连接状态。具体的,服务器可以周期性的向移动终端发送页面源码获取请求来与移动终端保持连接。

此外,在本申请实施例中,一个服务器可以与多个主控设备进行连接。假设当前向服务器发送连接请求的主控设备为第一主控设备,第一主控设备在向服务器发送连接请求时,连接请求中除了可以携带有移动终端的设备标识(可选的,还可以携带上述会话标识)以外,还可以携带第一主控设备的标识。当服务器在接收到来自第一主控设备的连接请求时,根据所述移动终端的设备信息和所述第一主控设备的标识,确认所述服务器已与所述移动终端建立连接,且所述移动终端未被除所述第一主控设备以外的其他主控设备占用,则向所述主控设备返回连接成功消息。

具体的,服务器可以根据移动终端的设备信息判断服务器是否与移动终端建立连接,如果已建立,则根据第一主控设备的标识判断移动终端是否被除第一主控设备以外的其他主控设备占用,如果未被占用,则服务器可以向主控设备发送连接成功消息,并且,服务器可以建立第一主控设备的标识与连接进程的进程信息或会话标识之间的映射关系,表征该移动终端已被第一主控设备占用。在移动终端被第一主控设备占用期间,服务器可以为第一主控设备向移动终端转发业务请求。在一些应用场景中,若在移动终端被第一主控设备占用期间,除第一主控设备以外的其他主控设备向服务器发送连接请求,则服务器可以忽略该连接请求,或者向该主控设备发送连接失败消息。当第一主控设备向服务器发送断开连接请求时,服务器可以删除第一主控设备的标识与连接进程的进程信息或会话标识之间的映射关系,以释放移动终端被第一主控设备占用的状态。在释放之后,移动终端可以被任意一个主控设备连接。

为了理解本申请实施例提供的一种连接方法的技术方案,下面以一个应用场景为例来详细介绍。

参见图2,该图为本申请实施例提供的一种连接系统的结构框图。

本申请实施例提供的连接系统包括主控设备100、服务器200和移动终端300。其中,主控设备100与服务器200连接,服务器200与移动终端300连接。

参见图3,该图为本申请实施例基于图2所示的连接系统提供的信令交互图。

s201:服务器200与移动终端300建立连接。

服务器200与移动终端300建立连接的过程包括:服务器200创建appium进程,通过appium进程向移动终端300发送页面源码获取请求。移动终端300根据页面源码获取请求获取移动终端300的屏幕信息,并向服务器200发送移动终端300的屏幕信息。服务器200接收移动终端300的屏幕信息,为移动终端300设置状态位,并将状态位的值设置为指示已连接。

服务器200通过配置等方式获取移动终端300的设备信息,并生成移动终端300的设备信息与appium进程的进程信息以及会话标识之间的映射关系。

在首次连接之后,服务器200周期性的向移动终端300发送页面源码获取请求,以与移动终端300保持连接。

s202:主控设备100向服务器200发送连接请求,连接请求中包括主控设备100的标识和移动终端300的设备信息。

s203:服务器200接收该连接请求,根据连接请求中的移动终端300的设备信息确定所述移动终端300对应的状态位的值指示已连接,并根据移动终端300的设备信息和上述映射关系,确定对应的会话标识,建立主控设备100的标识与会话标识之间的映射关系。

例如,服务器200中可以根据连接请求生成表1。

表1

在表1中,状态位为1表示服务器200已与移动终端300建立连接。

此外,在服务器200接收到连接请求,并根据连接请求中的移动终端300的设备信息确定所述移动终端300对应的状态位的值指示已连接之后,服务器200需要判断表1中是否具有与会话标识对应的主控设备的标识,如果不具有,则表明移动终端300此时未被主控设备占用,此时可以建立会话标识与主控设备100的标识之间的对应关系;如果具有,则可以丢弃该连接请求,向主控设备100返回连接失败消息。

s204:服务器200向主控设备100发送连接成功消息,该连接成功消息中携带会话标识。

s205:主控设备100接收连接成功消息,从该连接成功消息中获取会话标识,并向服务器200发送业务请求,业务请求中携带有该会话标识和主控设备100的标识。

s206:服务器200接收业务请求,根据业务请求中的会话标识判断服务器200中存储的与该会话标识对应的主控设备100的标识与业务请求中携带的主控设备100的标识是否相同,如果相同,则确认该业务请求合法,执行s207;如果不相同,则确认该业务请求不合法,可以对丢弃该业务请求。

s207:服务器200根据业务请求中的会话标识以及会话标识与appium进程的进程信息之间的映射关系找到对应的appium进程,然后通过该appium进程向移动终端300转发该业务请求。

s208:移动终端300根据该业务请求对应用程序进行处理。

s209:主控设备100向服务器200发送断开请求,断开请求中携带有会话标识。

s210:服务器200接收该断开请求,根据断开请求中的会话标识删除服务器200中与会话标识对应的主控设备100的标识。

在本申请实施例中,服务器200在接收到断开请求时,可以不执行断开与移动终端300之间的连接的步骤,而是始终保持连接。

基于以上实施例提供的一种连接方法,本申请实施例还提供了一种连接装置,下面结合附图来详细说明其工作原理。

参见图4,本申请实施例提供了一种连接装置,所述装置应用于服务器,所述装置包括:

第一接收单元401,用于接收来自主控设备的连接请求,所述连接请求中携带有移动终端的设备信息;

连接单元402,用于根据所述移动终端的设备信息确认所述服务器已与所述移动终端建立连接,并向所述主控设备返回连接成功消息。

可选的,所述移动终端的设备信息包括所述移动终端的地址和所述移动终端的端口号,所述移动终端的端口号对应的端口为所述移动终端与所述服务器连接的端口。

可选的,若所述服务器已与所述移动终端建立连接,则所述装置还包括:

存储单元,用于存储所述移动终端的设备信息与连接进程的进程信息之间的映射关系,所述连接进程为所述服务器建立的与所述移动终端连接的进程。

可选的,所述连接进程的进程信息包括所述服务器的端口号和/或所述连接进程的进程标识,所述服务器的端口号对应的端口为所述服务器与所述移动终端连接的端口。

可选的,所述装置还包括:

生成单元,用于生成会话标识与所述移动终端的设备信息之间的映射关系;

所述连接成功消息中包括所述会话标识。

可选的,所述装置还包括:

第二接收单元,用于接收来自所述主控设备的业务请求,所述业务请求中包括所述会话标识;

转发单元,用于根据所述会话标识,和所述会话标识与所述移动终端的设备信息之间的映射关系,确定对应的移动终端的设备信息,并向与所述设备信息对应的移动终端转发所述业务请求,所述业务请求用于对所述移动终端的应用程序进行处理。

可选的,所述主控设备为多个,多个所述主控设备包括第一主控设备,所述连接请求中还携带有所述第一主控设备的标识;

所述连接单元,用于根据所述移动终端的设备信息和所述第一主控设备的标识,确认所述服务器已与所述移动终端建立连接,且所述移动终端未被除所述第一主控设备以外的其他主控设备占用,则向所述主控设备返回连接成功消息。

可选的,所述装置还包括:

发送单元,用于向所述移动终端发送页面源码获取请求,所述页面源码获取请求用于获取所述移动终端的屏幕信息;

确认单元,用于若所述服务器接收到来自所述移动终端的所述移动终端的屏幕信息,则确认所述服务器与所述移动终端已连接。

当介绍本申请的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。

需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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