CN111651232A - 一机多控方法、装置、系统及电子设备 - Google Patents

一机多控方法、装置、系统及电子设备 Download PDF

Info

Publication number
CN111651232A
CN111651232A CN202010526846.4A CN202010526846A CN111651232A CN 111651232 A CN111651232 A CN 111651232A CN 202010526846 A CN202010526846 A CN 202010526846A CN 111651232 A CN111651232 A CN 111651232A
Authority
CN
China
Prior art keywords
control terminal
slave
master
protocol
master control
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.)
Pending
Application number
CN202010526846.4A
Other languages
English (en)
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010526846.4A priority Critical patent/CN111651232A/zh
Publication of CN111651232A publication Critical patent/CN111651232A/zh
Priority to PCT/CN2020/125574 priority patent/WO2021248788A1/zh
Priority to US18/001,077 priority patent/US20230214243A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0383Remote input, i.e. interface arrangements in which the signals generated by a pointing device are transmitted to a PC at a remote location, e.g. to a PC in a LAN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Telephone Function (AREA)
  • Selective Calling Equipment (AREA)

Abstract

本发明提供了一种一机多控方法、装置、系统及电子设备,涉及智能控制的技术领域,应用于主控终端的方法包括,响应主控终端的图形用户界面的触控操作,并通过主工具包将触控操作对应的操作事件转换成操作协议包;向从控终端发送消息,该消息携带有操作协议包,以触发从控终端通过从工具包基于操作协议包执行触控操作。本发明提供的一机多控方法、装置、系统及电子设备,无需对主控终端的型号、分辨率、系统版本等进行限制,因此,具有较好的拓展性和兼容性,避免了测试人员在不同版本上分别进行测试,有效减少了人力成本,同时,也提高了测试的工作效率。

Description

一机多控方法、装置、系统及电子设备
技术领域
本发明涉及智能控制的技术领域,尤其是涉及一种一机多控方法、装置、系统及电子设备。
背景技术
目前,国内Android系统的终端品牌众多,每个终端的品牌旗下还拥有许多不同型号的终端,加之各个品牌每隔一段时间就会推出新品,就会导致Android系统的终端在市场拥有成百上千种,这些终端的型号、分辨率、系统版本等各不相同,给移动应用和游戏开发测试人员带来了诸多的麻烦。
如果单纯的靠测试人员在每种型号,每种分辨率,每种系统版本上都分别去做测试的话,工作量是巨大的,不仅需要较高的人力成本,也严重制约了测试人员的工作效率。
发明内容
有鉴于此,本发明的目的在于提供一种一机多控方法、装置、系统及电子设备,以缓解上述技术问题。
第一方面,本发明实施例提供了一种一机多控方法,该方法应用于主控终端,主控终端上部署有主工具包,主控终端与至少一从控终端连接,主控终端和从控终端均为安装有安卓系统的移动终端,从控终端上部署有从工具包,该方法包括:响应主控终端的图形用户界面的触控操作,并通过主工具包将触控操作对应的操作事件转换成操作协议包;向从控终端发送消息,该消息携带有操作协议包,以触发从控终端通过从工具包基于操作协议包执行触控操作。
在一种较佳的实施方式中,上述方法还包括:响应针对于主工具包的启动指令,监听主控终端的图形用户界面的触控操作。
在一种较佳的实施方式中,上述监听主控终端的图形用户界面的触控操作的步骤,包括:监听主控终端的字符设备文件;如果字符设备文件发生变化,则确定主控终端的图形用户界面发生触控操作。
在一种较佳的实施方式中,通过主工具包将触控操作对应的操作事件转换成操作协议包的步骤包括:判断主控终端的多点触控协议类型是否为第二协议类型;如果是,基于主工具包和触控操作对应的操作事件生成操作协议包,其中,第二协议类型为有状态的多点触控协议类型。
在一种较佳的实施方式中,上述通过主工具包将触控操作对应的操作事件转换成操作协议包的步骤,还包括:如果主控终端的多点触控协议类型为第一协议类型,将触控操作对应的操作事件转换为第二协议类型对应的操作事件;基于主工具包和第二协议类型对应的操作事件生成操作协议包,其中,第一协议类型为无状态的多点触控协议类型。
在一种较佳的实施方式中,上述基于主工具包和触控操作对应的操作事件生成操作协议包的步骤包括:通过主工具包从主控终端的字符设备文件中提取操作事件;对提取到的操作事件中包含的坐标点和压力值进行归一化处理;根据归一化处理之后的操作事件生成操作协议包。
在一种较佳的实施方式中,上述向从控终端发送的消息为携带有操作协议包的ZeroMQ消息。
第二方面,本发明实施例提供了一种一机多控方法,该方法应用于从控终端,从控终端上部署有从工具包,从控终端与主控终端连接,主控终端和从控终端均为安装有安卓系统的移动终端,主控终端上部署有主工具包,该方法包括:接收主控终端发送的消息;其中,该消息携带有主控终端上的触控操作对应的操作协议包;从消息解析出操作协议包;基于操作协议包在从控终端的图形用户界面进行模拟操作。
在一种较佳的实施方式中,上述基于操作协议包在从控终端的图形用户界面进行模拟操作的步骤包括:提取操作协议包中携带的操作事件,将操作事件写入到从控终端的字符设备文件,以对从控终端的字符设备文件进行更新;基于从工具包和更新的字符设备文件在从控终端的图形用户界面进行模拟操作。
在一种较佳的实施方式中,上述提取操作协议包中携带的操作事件的步骤包括:获取从控终端的多点触控协议类型;如果多点触控协议类型为第二协议类型,则从操作协议包中提取第二协议类型对应的操作事件,其中,所述第二协议类型为有状态的多点触控协议类型。
在一种较佳的实施方式中,上述提取操作协议包中携带的操作事件的步骤还包括:如果多点触控协议类型为第一协议类型,则从操作协议包中提取第一协议类型对应的操作事件,其中,所述第一协议类型为无状态的多点触控协议类型。
在一种较佳的实施方式中,上述基于操作协议包在从控终端的图形用户界面进行模拟操作的步骤还包括:如果从控终端的安卓系统的版本为满足预设版本的操作系统,获取从控终端的图形用户界面的旋转方向;根据旋转方向对接收到的操作协议包进行坐标转换,并调用预设的应用程序以在从控终端的图形用户界面上对转换之后的操作协议包进行模拟操作。
在一种较佳的实施方式中,上述方法还包括:响应针对于从工具包的启动指令,监听主控终端发送的消息。
在一种较佳的实施方式中,上述接收的主控终端发送的消息为携带有操作协议包的ZeroMQ消息。
第三方面,本发明实施例提供了一种一机多控装置,该装置应用于主控终端,主控终端上部署有主工具包,主控终端与至少一从控终端连接,主控终端和从控终端均为安装有安卓系统的移动终端,从控终端上部署有从工具包,该装置包括:转换模块,用于响应主控终端的图形用户界面的触控操作,并通过主工具包将触控操作对应的操作事件转换成操作协议包;发送模块,用于向从控终端发送消息,该消息携带有操作协议包,以触发从控终端通过从工具包基于操作协议包执行触控操作。
第四方面,本发明实施例提供了一种一机多控装置,该装置应用于从控终端,从控终端上部署有从工具包,从控终端与主控终端连接,主控终端和从控终端均为安装有安卓系统的移动终端,主控终端上部署有主工具包,该装置包括:接收模块,用于接收主控终端发送的消息;其中,该消息携带有主控终端上的触控操作对应的操作协议包;解析模块,用于从消息解析出操作协议包;模拟操作模块,用于基于操作协议包在从控终端的图形用户界面进行模拟操作。
第五方面,本发明实施例提供了一种一机多控系统,该系统包括服务设备,还包括主控终端和从控终端,其中,服务设备与主控终端和从控终端通信连接;
所述主控终端配置有第三方面所述的装置,所述从控终端配置有第四方面所述的装置;
所述服务设备用于向所述主控终端推送主工具包,向所述从控终端推送从工具包;以及,启动所述主工具包和所述从工具包,以实现所述从控终端同步模拟所述主控终端的触控操作。
第六方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,该处理器执行所述计算机程序时实现上述第一至第二方面所述的方法。
第七方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一至第二方面所述的方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种一机多控方法、装置、系统及电子设备,能够响应主控终端的图形用户界面的触控操作,并通过主工具包将触控操作对应的操作事件转换成操作协议包;进而向从控终端发送携带有操作协议包的消息,以触发从控终端基于操作协议包执行触控操作,在控制过程中,由于主控终端和从控终端直接通过主工具包和从工具包建立通信连接,因此,无需额外的硬件成本,部署简单方便,同时,在主控终端上部署主工具包时,无需对主控终端的型号、分辨率、系统版本等进行限制,因此,具有较好的拓展性和兼容性,避免了测试人员在不同版本上分别进行测试,有效减少了人力成本,同时,也提高了测试的工作效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种一机多控方法的流程图;
图2为本发明实施例提供的一种一机多控方案的连接示意图;
图3为本发明实施例提供的一种操作协议包的示意图;
图4为本发明实施例提供的另一种一机多控方法的流程图;
图5为本发明实施例提供的另一种一机多控方法的流程图;
图6为本发明实施例提供的一种一机多控装置的结构示意图;
图7为本发明实施例提供的另一种一机多控装置的结构示意图;
图8为本发明实施例提供的另一种一机多控装置的结构示意图;
图9为本发明实施例提供的另一种一机多控装置的结构示意图;
图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前的一机多控方案中,主要有Solopi方案和Total Control方案,其中,Solopi方案的设计和实现是基于录制回放功能实现的,在录制回放的场景中,先在一台设备上记录了用户的操作,然后将该用户的操作记录通过socket发送到其它任意一台设备上实现操作的回放,从而实现通过一台设备操控多台设备的效果。在实现时需要主控机与从控机建立Socket连接,然后在主控机上将用户的操作记录实时发送到各个从控机,从控机在接收到操作记录后进行解析,然后在从控机上模拟用户的操作,从而完成操作记录的回放。
而Total Control方案则是通过USB/WIFI实现电脑与终端的互联互通,在电脑端对终端进行统一的控制。支持终端信息查看、消息提示、一键进入消息所在应用,支持脚本录制、编辑和自动化执行、批量一键安装应用等功能,在实现时,需要使终端与HUB集线器之间通过USB线连通,HUB集线器也通过USB线与电脑连通,然后在终端和电脑上安装相应的客户端,通过将终端画面映射到电脑上,然后通过鼠标在电脑上对终端进行操作,从而达到多控的效果。
上述两种常用的方案,虽然都能够实现一机多控方案,但是,Solopi方案由于是基于录制回放原理实现的,因此,其操作延迟较大,用户在主控机上未完成操作之前,从控机不会有任何响应,只有待主控机一个操作完成,将操作记录发送到从控机,从控机经过解析后,才会有相应的响应,整个过程耗时较长,因此针对一些复杂的多点触控操作,解析更慢,其延迟将会更大,将严重影响实际使用的效果和用户体验,并且,可支持的设备数量有限,也严重影响了大规模设备集群的使用。
Total Control方案则需要往外的硬件成本,包括电脑,HUB集线器,USB线等硬件,且随着终端的数量越多,需要的电脑配置就要越好,同时,对终端与电脑之间的兼容性也有一定的要求。进一步,由于该多控方案是通过电脑来进行多机操作的,而电脑鼠标只能模拟一些单点触控的操作,无法模拟多点触控操作,因此该方案不支持多点触控操作,对于一些需要多点触控操作也无法进行测试。
基于此,本发明实施例提供的一种一机多控方法、装置、系统及电子设备,可以有效缓解上述技术问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种一机多控方法进行详细介绍。
在一种可能的实施方式中,本发明实施例提供了一种一机多控方法,该方法应用于主控终端,主控终端上部署有主工具包,具体地,该主控终端可以是智能手机、平板电脑、掌上电脑等具有安卓操作系统的智能终端,并且,该主控终端与至少一从控终端连接,主控终端和从控终端均为安装有安卓系统的移动终端,从控终端上部署有从工具包。
如图1所示的一种一机多控方法的流程图,该方法包括以下步骤:
步骤S102,响应主控终端的图形用户界面的触控操作,并通过主工具包将触控操作对应的操作事件转换成操作协议包;
步骤S104,向从控终端发送消息,该消息携带有上述操作协议包,以触发从控终端基于该操作协议包执行触控操作;
具体实现时,上述主控终端和从控终端均为安装有安卓系统的移动终端,且,为了能够实现一机多控方法,通常需要在主控终端和从控终端之间建立连接,本发明实施例中,则是预先在主控终端上部署主工具包,以及在从控终端上部署从工具包,然后通过主工具包和从工具包建立主控终端和从控终端之间的通信连接,其中,建立通信连接通常是主工具包和从工具包的中配置相应的功能模块来实现的。在一优选实施方式中,主工具包和从工具包中均可以设置一接口实现通信。优选地,所述接口可以为ZeroMQ功能模块,例如,操作协议通过主工具包中配置的ZeroMQ消息发送模块将其发送,相应地,通过从工具包中配置的ZeroMQ消息接收模块接收操作协议。即,上述主控终端向从控终端发送的消息为携带有所述操作协议包的ZeroMQ消息,以实现主控终端和从控终端以ZeroMQ连接,从而实现主控终端与从控终端之间简洁和高性能的通信。在实际使用时,除上述ZeroMQ功能模块,在主工具包和从工具包中还可以设置其他接口协议模块,具体可以根据实际使用情况进行设置,本发明实施例对此不进行限制。
进一步,主工具包和从工具包还包括其他功能模块,如能够获取主控终端或者从控终端的设备信息等等功能。因此,当用户在主控终端上执行触控操作时,主控终端可以执行上述步骤S102和步骤S104的过程,通过主控终端来控制从控终端,从而实现一机多控的目的。
因此,本发明实施例提供的一机多控方法,能够响应主控终端的图形用户界面的触控操作,并通过主工具包将触控操作对应的操作事件转换成操作协议包;进而向从控终端发送携带有操作协议包的消息,以触发从控终端基于操作协议包执行触控操作,在控制过程中,由于主控终端和从控终端直接通过主工具包和从工具包建立通信连接,因此,无需额外的硬件成本,部署简单方便,同时,在主控终端上部署主工具包时,无需对主控终端的型号、分辨率、系统版本等进行限制,因此,具有较好的拓展性和兼容性,避免了测试人员在不同版本上分别进行测试,有效减少了人力成本,同时,也提高了测试的工作效率。
在实际使用时,主控终端和从控终端之间通过主工具包和从工具包进行的连接是一种无线连接,具体实现时,通常要求主控终端和从控终端均处于同一个WiFi环境,或者,不同wifi环境但能够互通的网络环境下,以便于执行上述一机多控方案。
进一步,为了便于理解,图2示出了一种一机多控方案的连接示意图,如图2所示,包括主控终端和多个从控终端,其中,图2中主控终端中的方块代表主工具包,从控终端中的方块代表从工具包,且,连接主控终端和从控终端的虚线代表无线连接,为了便于说明,图2中以有限个从控终端为例进行说明,在实际使用时,从控终端的数量可以根据实际使用情况进行设置,本发明实施例对此不进行限制。
进一步,为了实现主控终端与从控终端能够建立通信,上述主工具包和从工具包,是通过服务设备预先部署到主控终端和从控终端上的,因此,对于主控终端,上述方法还包括:响应针对于主工具包的启动指令,监听主控终端的图形用户界面的触控操作,其中,主控终端通常在接收到服务设备推送的主工具包之后,可以响应上述启动指令。例如,服务设备与主控终端可以通过USB连接,然后将主工具包推送至主控终端上。
具体实现时,上述部署于主控终端的主工具包一般是基于C语言实现的,服务设备将主工具包推送至主控终端,并启动主工具包之后,可以使主控终端监听作用于主控终端的图形用户界面的触控操作,以使主控终端响应该触控操作,进而执行上述步骤S102和步骤S104的过程。
在实际使用时,上述主工具包监听主控终端的图形用户界面的触控操作是通过监听主控终端的字符设备文件实现的,这是因为,当用户在图形用户界面上执行触控操作时,该触控操作产生的操作事件能够引起主控终端的字符设备文件发生变化,以便于记录该操作事件,因此,如果该字符设备文件发生变化,则可以确定主控终端的图形用户界面发生触控操作。
具体地,上述字符设备文件通常在安卓系统的系统目录/dev/input/中保存,该目录下包含多种类型的字符设备文件,本发明实施例中,监听的是多点触控的字符设备文件,以便于对该字符设备文件进行解析,获取主控终端的相关属性,如图形用户界面的最大高度、最大宽度、最小压力值和最大压力值等等,以便于生成后续的操作协议包。
进一步,考虑到安卓系统的智能终端通常是满足一定的多点触控协议的,因此,在主控终端响应触控操作时产生的操作事件也会满足相应的多点触控协议对应的格式。
目前,多点触控协议主要分为两种,一种是TypeA协议,一种是TypeB协议,其中,TypeA协议是一种无状态的多点触控协议,而TypeB协议是一种有状态的多点触控协议。TypeA协议和TypeB协议也称为A类协议和B类协议,其主要区别是B类协议使用ID来标识触点,减少了上报到用户空间的数据量。B类协议需要使用ABS_MT_TRACKING_ID,会产生一个ABS_MT_SLOT事件。因此,在判断主控终端的多点触控协议类型时,可以根据多点触控字符设备文件是否支持ABS_MT_SLOT指令来判断主控终端的多点触控协议是TypeA协议还是TypeB协议。
进一步,本发明实施例中上述步骤S102中,通过主工具包将触控操作对应的操作事件转换成操作协议包的步骤包括:判断主控终端的多点触控协议类型是否为第二协议类型;如果是,则基于主工具包和触控操作对应的操作事件生成操作协议包,其中,本发明实施例中,第二协议类型为有状态的多点触控协议类型,即,上述TypeB协议,或者B类协议对应的协议类型。
进一步,如果主控终端的多点触控协议类型为第一协议类型,即,TypeA协议或者A类协议对应的协议类型,则需要将触控操作对应的操作事件转换为第二协议类型对应的操作事件;然后再基于主工具包和第二协议类型对应的操作事件生成操作协议包。
具体地,生成操作协议包的步骤包括:通过主工具包从主控终端的字符设备文件中提取操作事件;对提取到的操作事件中包含的坐标点和压力值进行归一化处理;根据归一化处理之后的操作事件生成操作协议包。
具体实现时,判断主控终端的多点触控协议类型的过程,通常是在主工具包的启动过程实现的,服务设备将主工具包推送至主控终端后,还需要启动该主工具包,以便于主控终端响应触控操作时,除根据触控操作渲染图形用户界面外,还可以通过该主工具包将触控操作对应的操作事件转换成操作协议包。
进一步,在主工具包启动时,还可以获取该主控终端的多点触控协议类型所支持的操作指令集,如:ABS_MT_SLOT,ABS_MT_TRACKING_ID,BTN_TOUCH,ABS_MT_TOUCH_MAJOR,ABS_MT_WIDTH_MAJOR,ABS_MT_PRESSURE等。同时,监控多点触控字符设备文件,如果当多点触控字符设备文件内容发生变化时,说明用户在该主控终端的图形用户界面进行了一些触控操作,接下来,每当用户执行触控操作时,主工具包都会将触控操作对应的操作事件生成操作协议包,然后通过消息将操作协议包发送出去。
进一步,图3示出了一种操作协议包的示意图,且,图3中示出的是归一化之后的操作事件生成的操作协议包,包括单指点击事件,单指滑动事件和多指滑动事件,其中,归一化处理时用到的归一化参数,可以从字符设备文件中解析得到,如前述图形用户界面的最大高度、最大宽度、最小压力值和最大压力值等参数。进一步,图3中,d 0 0.2 0.3 0.5表示的意思是:第一项d代表down,表示手指按下的操作,第二项0代表第一根手指,第三项0.2表示归一化后的横坐标,第四项0.3表示归一化后的纵坐标,第五项0.5表示归一化后的压力值。m 0 0.4 0.4 0.5表示的意思是:第一项m代表move,表示手指滑动的操作,其它项与按下操作(down)的指代相同,不再赘述,u 0表示的意思是:第一项u代表up,表示手指抬起的操作,第二项0代表第一根手指。
上述图3所示的操作协议包通过消息发送至从控终端后,主控终端的相关流程结束。
进一步,在上述图1的基础上,本发明实施例还提供了一种一机多控方法,该方法应用于从控终端,且从控终端上部署有从工具包,具体地,从控终端与主控终端连接,主控终端和从控终端均为安装有安卓系统的移动终端,主控终端上部署有主工具包,如图4所示的另一种一机多控方法的流程图,该方法包括:
步骤S402,接收主控终端发送的消息;
其中,该消息携带有主控终端上的触控操作对应的操作协议包;
以上述主工具包和从工具包均设置ZeroMQ功能模块为例,此时,主控终端和从控终端可以建立ZeroMQ连接,主控终端发送的消息即为携带有操作协议包的ZeroMQ消息,从控终端接收的主控终端发送的消息也为该携带有操作协议包的ZeroMQ消息,从控终端接收到该消息之后,可以执行下述步骤,对ZeroMQ消息进行解析。
步骤S404,从消息解析出操作协议包;
步骤S406,基于操作协议包在从控终端的图形用户界面进行模拟操作。
其中,在从控终端的图形用户界面进行模拟操作包括:提取操作协议包中携带的操作事件,将操作事件写入到从控终端的字符设备文件,以对从控终端的字符设备文件进行更新;基于从工具包和更新的字符设备文件在从控终端的图形用户界面进行模拟操作。
在实际使用时,由于操作协议包是主控终端结合多点触控协议生成的,因此,在提取操作协议包中携带的操作事件时,也需要结合当前从控终端的多点触控协议类型,因此,在提取操作协议包中携带的操作事件时,需要获取当前从控终端的多点触控协议类型;如果多点触控协议类型为第二协议类型,则从操作协议包中提取第二协议类型对应的操作事件,其中,第二协议类型为前述实施例所述的有状态的多点触控协议类型。
进一步,如果多点触控协议类型为第一协议类型,则从操作协议包中提取第一协议类型对应的操作事件,其中,第一协议类型为前述实施例所述的无状态的多点触控协议类型。
例如,以对ZeroMQ消息解析为例进行说明,当从控终端通过ZeroMQ消息接收到主控终端发送过来的操作议包后,可以根据从控终端的多点触控协议类型(TypeA还是TypeB),将接收到的操作协议包转换成不同类型的操作事件,然后将该操作事件写入到从控终端的字符设备文件,模拟用户的操作,实现从控终端与主控终端的操作一致,从而达到了主控终端控制从控终端的效果,这样就实现了一机多控方案。
在实际使用时,由于安卓系统,特别是安卓10版本的系统对系统权限做了严格的限制,因此从控终端通常可以分为两种实现方式,针对安卓10以下的系统,采用C语言和驱动底层多点触控字符设备文件等技术实现;针对安卓10及以上的系统,采用java语言调用安卓标准多点触控API(Application Programming Interface,应用程序接口)等技术来实现。
其中,图4所示的一机多控方法中,通常是至安卓10版本以下的从控终端的处理过程,如果从控终端的安卓系统的版本为满足预设版本的操作系统,例如,安卓10版本以上的操作系统,则在接收到操作协议包时,可以获取从控终端的图形用户界面的旋转方向;根据旋转方向对接收到的操作协议包进行坐标转换,并调用预设的应用程序以在从控终端的图形用户界面上对转换之后的操作协议包进行模拟操作。具体地,这是由于安卓10及以上的版本对底层的字符设备文件有严格的权限控制,无法对字符设备文件进行写操作,因此,安卓10及以上的版本的从控终端的从工具包则不会将操作事件写入到从控终端的字符设备文件,只需监控从控终端的屏幕旋转,然后对接收到的操作协议包根据屏幕旋转方向进行坐标转换,最后调用Android API,如MotionEvent.obtain事件的API,即可模拟用户操作,其实现原理要相对简单。
在实际使用时,上述从工具包,也是通过服务设备预先部署的,且,在部署从工具包时,服务设备会自动获取到从控终端的安卓系统版本,以便于向从控终端推送匹配的从工具包。
因此,上述应用于从控终端的一机多控方法,还包括以下过程:响应针对于从工具包的启动指令,监听主控终端发送的消息,其中,从控终端也需要先接收服务设备推送的从工具包,以便于在接收到主控终端发送的消息时,执行图4所示的方法。其中,服务设备与从控终端也可以通过USB连接,然后将从工具包推送至从控终端。
进一步,为了便于对本发明实施例提供的一机多控方法进行理解,在上述图1和图4的基础上,本发明实施例还提供了另一种一机多控方法,该方法应用于服务设备,该服务设备通过USB与主控终端和从控终端连接;如图5所示的另一种一机多控方法的流程图,从服务设备角度,对安卓系统下的一机多控方法的部署进行说明,具体地,如图5所示,包括以下步骤:
步骤S502,向主控终端推送主工具包,以及向从控终端推送从工具包;
其中,主工具包和从工具包用于建立通信连接的工具包;
步骤S504,启动主工具包和从工具包,以实现从控终端同步模拟主控终端的触控操作。
具体实现时,服务设备可以是任意配置的台式机、笔记本、掌上电脑等终端设备,一般要求windows操作系统即可,且通常在服务设备上运行有相应的应用软件,以便于主控终端或者从控终端通过USB接入服务设备时,能够建立有效的通信连接。
在实际使用时,对于通过USB接入服务设备的终端设备,可以在服务设备上显示设备列表,用户可以选取其中的一个终端设备作为主控终端,当选取主控终端之后,其余的终端设备则作为从控终端,当确定出主控终端和从控终端之后,服务设备可以将预先存储的主工具包和从工具包分别推送至相应的主控终端和从控终端,以部署一机多控的环境。
具体地,向主控终端推送主工具包时,需要获取主控终端的设备信息和IP地址;保存该主控终端的IP地址,以及,根据设备信息获取主控终端的主工具包,并将主工具包推送至所述主控终端。其中,主控终端的IP地址用于在主控终端与从控终端之间建立通信连接,如建立ZeroMQ连接等等。
其中,主工具包通常是打包成二进制的文件包,服务设备可以将该文件包推送至主控终端的预设目录下,通常,对于安卓系统,可以将主工具包推送到安卓系统的/data/local/tmp/目录下。
进一步,本发明实施例中,上述设备信息指的是主控终端的序列号和ADB(AndroidDebug Bridge,安卓调试桥)状态信息,此外,除上述序列号和ADB状态信息,还可以获取到主控终端的硬件信息和操作系统版本等信息,具体的设备信息,可以根据实际的需求情况进行获取,本发明实施例对此不进行限制。
进一步,向从控终端推送从工具包时,可以获取从控终端的设备信息和IP地址;保存从控终端的IP地址,以及,根据从控终端的设备信息获取与从控终端的系统版本相匹配的从工具包,并将从工具包推送至从控终端。
此外,在部署主工具包和从工具包时,还可以在服务设备上显示实时的运行日志,该运行日志用于记录主控终端和从控终端部署的各个阶段信息,方便用户查看每个终端的部署情况,如遇部署过程中的报错等等,也可以方便对错误进行排查。
当分别部署完主控终端和从控终端之后,可以断开主控终端和从控终端与服务设备的USB连接,并使主控终端和从控终端处于同一局域网中,用户可以按照上述图1和图4所示的方法操作主控终端,然后查看从控终端的显示效果,从而实现一机多控的自动化过程。
因此,在服务设备进行安卓系统下的一机多控方案的部署过程,无需额外的硬件成本,只需若干台安卓系统的终端设备手机和一台普通的windows电脑即可。对于用户来说,整个过程的可扩展性较好,同时,能够兼容不同型号、不同分辨率、不同系统版本的终端设备,并且,在进行一机多控时,还可以完全兼容TypeA协议和TypeB协议的多点触控协议,支持所有的多点触控操作,同时无需额外的硬件成本,通过服务设备即可实现一键操作,部署好主控终端和所有从控终端的部署。
综上,上述一机多控方法,还包括以下优点:
(1)以高性能ZeroMQ的发布订阅模式作为数据传输方式,可扩展性好,可无限扩展从控终端的数量,且对性能无任何影响。
(2)基于C语言和标准API实现的操作指令解析,直接对安卓系统的字符设备文件进行读写操作,性能极高,延迟极小(大约1-5ms),用户体验好。
(3)由于在主控终端内部,主工具包直接将TypeA协议转换为TypeB协议,因此该方案完全兼容TypeA和TypeB的多点触控协议,支持所有的多点触控操作,且对用户来说完全透明,在实际使用过程中无需用户关心该主控终端的多点触控协议。
对应于图1所示的一机多控方法,本发明实施例还提供了一种一机多控装置,该装置应用于主控终端,且,主控终端上部署有主工具包,主控终端与至少一从控终端连接,主控终端和从控终端均为安装有安卓系统的移动终端,从控终端上部署有从工具包,如图6所示的一种一机多控装置的结构示意图,如图6所示,该装置包括:
转换模块60,用于响应主控终端的图形用户界面的触控操作,并通过所述主工具包将所述触控操作对应的操作事件转换成操作协议包;
发送模块62,用于向从控终端发送消息,该消息携带有所述操作协议包,以触发所述从控终端通过从工具包基于操作协议包执行所述触控操作。
进一步,在图6的基础上,图7还示出了另一种一机多控装置的结构示意图,除图6所示的结构外,该装置还包括:
第一启动模块64,用于响应针对于所述主工具包的启动指令,监听所述主控终端的图形用户界面的触控操作。
进一步,第一启动模块64还用于:监听所述主控终端的字符设备文件;如果所述字符设备文件发生变化,则确定所述主控终端的图形用户界面发生触控操作。
进一步,上述转换模块还用于:判断所述主控终端的多点触控协议类型是否为第二协议类型;如果是,基于所述主工具包和所述触控操作对应的操作事件生成操作协议包;其中,所述第二协议类型为有状态的多点触控协议类型。
进一步,上述转换模块还用于:如果所述主控终端的多点触控协议类型为第一协议类型,将所述触控操作对应的操作事件转换为第二协议类型对应的操作事件,其中,所述第一协议类型为无状态的多点触控协议类型;基于所述主工具包和所述第二协议类型对应的操作事件生成操作协议包。
其中,基于所述主工具包和所述触控操作对应的操作事件生成操作协议包的步骤包括:通过所述主工具包从所述主控终端的字符设备文件中提取操作事件;对提取到的所述操作事件中包含的坐标点和压力值进行归一化处理;根据归一化处理之后的所述操作事件生成操作协议包。
对应于图4所示的一机多控方法,本发明实施例还提供了另一种一机多控装置,该装置应用于从控终端,从控终端上部署有从工具包,从控终端与主控终端连接,主控终端和从控终端均为安装有安卓系统的移动终端,主控终端上部署有主工具包,如图8所示的另一种一机多控装置的结构示意图,该装置包括:
接收模块80,用于接收主控终端发送的消息;其中,该消息携带有所述主控终端上的触控操作对应的操作协议包;
解析模块82,用于从所述消息解析出所述操作协议包;
模拟操作模块84,用于基于所述操作协议包在所述从控终端的图形用户界面进行模拟操作。
其中,模拟操作模块84还用于:提取所述操作协议包中携带的操作事件,将所述操作事件写入到所述从控终端的字符设备文件,以对所述从控终端的字符设备文件进行更新;基于所述从工具包和更新的所述字符设备文件在所述从控终端的图形用户界面进行模拟操作。
进一步,模拟操作模块84还用于:获取所述从控终端的多点触控协议类型;如果所述多点触控协议类型为第二协议类型,则从所述操作协议包中提取所述第二协议类型对应的操作事件,其中,所述第二协议类型为有状态的多点触控协议类型。
进一步,模拟操作模块84还用于:如果所述多点触控协议类型为第一协议类型,则从所述操作协议包中提取所述第一协议类型对应的操作事件,其中,所述第一协议类型为无状态的多点触控协议类型。
进一步,模拟操作模块84还用于:如果所述从控终端的安卓系统的版本为满足预设版本的操作系统,获取所述从控终端的图形用户界面的旋转方向;根据所述旋转方向对接收到的所述操作协议包进行坐标转换,并调用预设的应用程序以在所述从控终端的图形用户界面上对转换之后的所述操作协议包进行模拟操作。
进一步,在图8的基础上,图9还示出了另一种一机多控装置的结构示意图,除图8所示的结构外,该装置还包括:
第二启动模块86,用于响应针对于所述从工具包的启动指令,监听所述主控终端发送的消息。
本发明实施例提供的一机多控装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置的实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
进一步,本发明实施例还提供了一种一机多控系统,该系统包括服务设备,还包括主控终端和从控终端,其中,服务设备与主控终端和从控终端通信连接;所述主控终端配置有图6或图7所示的装置,从控终端配置有图8或图9所示的装置。
服务设备用于向主控终端推送主工具包,向从控终端推送从工具包;以及,启动主工具包和从工具包,以实现从控终端同步模拟主控终端的触控操作。
进一步,服务设备可以获取主控终端的设备信息和IP地址;保存该主控终端的IP地址,以及,根据所述设备信息获取主控终端的主工具包,并将主工具包推送至所述主控终端;其中,所述主控终端的IP地址用于在所述主控终端与所述从控终端之间建立连接。
进一步,服务设备还可以获取从控终端的设备信息和IP地址;保存该从控终端的IP地址,以及,根据从控终端的设备信息获取与从控终端的系统版本相匹配的从工具包,并将从工具包推送至所述从控终端。
进一步,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,该处理器执行所述计算机程序时实现上述一机多控方法。
本发明实施例还提供了一种电子设备的结构示意图,如图10所示,为该电子设备的结构示意图,其中,该电子设备包括处理器111和存储器110,该存储器110存储有能够被该处理器111执行的计算机可执行指令,该处理器111执行该计算机可执行指令以实现上述一机多控方法。
在图10示出的实施方式中,该电子设备还包括总线112和通信接口113,其中,处理器111、通信接口113和存储器110通过总线112连接。
其中,存储器110可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口113(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线112可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线112可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器111可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器111中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器111可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器111读取存储器中的信息,结合其硬件完成前述一机多控方法的步骤。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述一机多控方法。
本发明实施例所提供的一机多控方法、装置、系统及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (19)

1.一种一机多控方法,其特征在于,所述方法应用于主控终端,所述主控终端上部署有主工具包,所述主控终端与至少一从控终端连接,所述主控终端和所述从控终端均为安装有安卓系统的移动终端,所述从控终端上部署有从工具包,所述方法包括:
响应所述主控终端的图形用户界面的触控操作,并通过所述主工具包将所述触控操作对应的操作事件转换成操作协议包;
向从控终端发送消息,所述消息携带有所述操作协议包,以触发所述从控终端通过所述从工具包基于所述操作协议包执行所述触控操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应针对于所述主工具包的启动指令,监听所述主控终端的图形用户界面的触控操作。
3.根据权利要求2所述的方法,其特征在于,所述监听所述主控终端的图形用户界面的触控操作的步骤,包括:
监听所述主控终端的字符设备文件;
如果所述字符设备文件发生变化,则确定所述主控终端的图形用户界面发生触控操作。
4.根据权利要求1所述的方法,其特征在于,通过所述主工具包将所述触控操作对应的操作事件转换成操作协议包的步骤包括:
判断所述主控终端的多点触控协议类型是否为第二协议类型;
如果是,基于所述主工具包和所述触控操作对应的操作事件生成操作协议包;
其中,所述第二协议类型为有状态的多点触控协议类型。
5.根据权利要求4所述的方法,其特征在于,通过所述主工具包将所述触控操作对应的操作事件转换成操作协议包的步骤,还包括:
如果所述主控终端的多点触控协议类型为第一协议类型,将所述触控操作对应的操作事件转换为所述第二协议类型对应的操作事件,其中,所述第一协议类型为无状态的多点触控协议类型;
基于所述主工具包和所述第二协议类型对应的操作事件生成操作协议包。
6.根据权利要求4或5所述的方法,其特征在于,基于所述主工具包和所述触控操作对应的操作事件生成操作协议包的步骤包括:
通过所述主工具包从所述主控终端的字符设备文件中提取操作事件;
对提取到的所述操作事件中包含的坐标点和压力值进行归一化处理;
根据归一化处理之后的所述操作事件生成操作协议包。
7.根据权利要求1所述的方法,其特征在于,向所述从控终端发送的消息为携带有所述操作协议包的ZeroMQ消息。
8.一种一机多控方法,其特征在于,所述方法应用于从控终端,所述从控终端上部署有从工具包,所述从控终端与主控终端连接,所述主控终端和所述从控终端均为安装有安卓系统的移动终端,所述主控终端上部署有主工具包,所述方法包括:
接收主控终端发送的消息;所述消息携带有所述主控终端上的触控操作对应的操作协议包;
从所述消息解析出所述操作协议包;
基于所述操作协议包在所述从控终端的图形用户界面进行模拟操作。
9.根据权利要求8所述的方法,其特征在于,基于所述操作协议包在所述从控终端的图形用户界面进行模拟操作的步骤包括:
提取所述操作协议包中携带的操作事件,将所述操作事件写入到所述从控终端的字符设备文件,以对所述从控终端的字符设备文件进行更新;
基于所述从工具包和更新的所述字符设备文件在所述从控终端的图形用户界面进行模拟操作。
10.根据权利要求9所述的方法,其特征在于,提取所述操作协议包中携带的操作事件的步骤包括:
获取所述从控终端的多点触控协议类型;
如果所述多点触控协议类型为第二协议类型,则从所述操作协议包中提取所述第二协议类型对应的操作事件,其中,所述第二协议类型为有状态的多点触控协议类型。
11.根据权利要求10所述的方法,其特征在于,提取所述操作协议包中携带的操作事件的步骤还包括:
如果所述多点触控协议类型为第一协议类型,则从所述操作协议包中提取所述第一协议类型对应的操作事件,其中,所述第一协议类型为无状态的多点触控协议类型。
12.根据权利要求8所述的方法,其特征在于,基于所述操作协议包在所述从控终端的图形用户界面进行模拟操作的步骤还包括:
如果所述从控终端的安卓系统的版本为满足预设版本的操作系统,获取所述从控终端的图形用户界面的旋转方向;
根据所述旋转方向对接收到的所述操作协议包进行坐标转换,并调用预设的应用程序以在所述从控终端的图形用户界面上对转换之后的所述操作协议包进行模拟操作。
13.根据权利要求8所述的方法,其特征在于,所述方法还包括:
响应针对于所述从工具包的启动指令,监听所述主控终端发送的所述消息。
14.根据权利要求8所述的方法,其特征在于,接收的所述主控终端发送的消息为携带有所述操作协议包的ZeroMQ消息。
15.一种一机多控装置,其特征在于,所述装置应用于主控终端,所述主控终端上部署有主工具包,所述主控终端与至少一从控终端连接,所述主控终端和所述从控终端均为安装有安卓系统的移动终端,所述从控终端上部署有从工具包,所述装置包括:
转换模块,用于响应所述主控终端的图形用户界面的触控操作,并通过所述主工具包将所述触控操作对应的操作事件转换成操作协议包;
发送模块,用于向从控终端发送消息,所述消息携带有所述操作协议包,以触发所述从控终端通过所述从工具包基于所述操作协议包执行所述触控操作。
16.一种一机多控装置,其特征在于,所述装置应用于从控终端,所述从控终端上部署有从工具包,所述从控终端与主控终端连接,所述主控终端和所述从控终端均为安装有安卓系统的移动终端,所述主控终端上部署有主工具包,所述装置包括:
接收模块,用于接收主控终端发送的消息;其中,所述消息携带有所述主控终端上的触控操作对应的操作协议包;
解析模块,用于从所述消息解析出所述操作协议包;
模拟操作模块,用于基于所述操作协议包在所述从控终端的图形用户界面进行模拟操作。
17.一种一机多控系统,其特征在于,所述系统包括服务设备,还包括主控终端和从控终端,其中,所述服务设备与所述主控终端和所述从控终端通信连接;
所述主控终端配置有权利要求15所述的装置,所述从控终端配置有权利要求16所述的装置;
所述服务设备用于向所述主控终端推送主工具包,向所述从控终端推送从工具包;以及,启动所述主工具包和所述从工具包,以实现所述从控终端同步模拟所述主控终端的触控操作。
18.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-14任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述权利要求1-14任一项所述的方法。
CN202010526846.4A 2020-06-10 2020-06-10 一机多控方法、装置、系统及电子设备 Pending CN111651232A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010526846.4A CN111651232A (zh) 2020-06-10 2020-06-10 一机多控方法、装置、系统及电子设备
PCT/CN2020/125574 WO2021248788A1 (zh) 2020-06-10 2020-10-30 一机多控方法、装置、系统及电子设备
US18/001,077 US20230214243A1 (en) 2020-06-10 2020-10-30 One-machine multi-control method, apparatus, system and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010526846.4A CN111651232A (zh) 2020-06-10 2020-06-10 一机多控方法、装置、系统及电子设备

Publications (1)

Publication Number Publication Date
CN111651232A true CN111651232A (zh) 2020-09-11

Family

ID=72351699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010526846.4A Pending CN111651232A (zh) 2020-06-10 2020-06-10 一机多控方法、装置、系统及电子设备

Country Status (3)

Country Link
US (1) US20230214243A1 (zh)
CN (1) CN111651232A (zh)
WO (1) WO2021248788A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636966A (zh) * 2020-12-18 2021-04-09 中国人民解放军国防科技大学 一种基于远程调试协议的应用批量部署方法
CN113760750A (zh) * 2021-08-13 2021-12-07 深圳Tcl新技术有限公司 一种智能设备测试方法、装置、电子设备和存储介质
WO2021248788A1 (zh) * 2020-06-10 2021-12-16 网易(杭州)网络有限公司 一机多控方法、装置、系统及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130210525A1 (en) * 2007-09-14 2013-08-15 Panasonic Avionics Corporation Portable User Control Device and Method for Vehicle Information Systems
CN105808425A (zh) * 2016-02-24 2016-07-27 北京奇虎科技有限公司 一种实现移动端应用测试的方法、装置和系统
CN105975367A (zh) * 2016-04-29 2016-09-28 腾讯科技(深圳)有限公司 移动设备的测试方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123132A (zh) * 2010-01-08 2011-07-13 阿尔卡特朗讯 为用户终端提供通信的方法及装置
TW201409277A (zh) * 2012-08-21 2014-03-01 Hon Hai Prec Ind Co Ltd 輸入系統及方法
CN111651232A (zh) * 2020-06-10 2020-09-11 网易(杭州)网络有限公司 一机多控方法、装置、系统及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130210525A1 (en) * 2007-09-14 2013-08-15 Panasonic Avionics Corporation Portable User Control Device and Method for Vehicle Information Systems
CN105808425A (zh) * 2016-02-24 2016-07-27 北京奇虎科技有限公司 一种实现移动端应用测试的方法、装置和系统
CN105975367A (zh) * 2016-04-29 2016-09-28 腾讯科技(深圳)有限公司 移动设备的测试方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021248788A1 (zh) * 2020-06-10 2021-12-16 网易(杭州)网络有限公司 一机多控方法、装置、系统及电子设备
CN112636966A (zh) * 2020-12-18 2021-04-09 中国人民解放军国防科技大学 一种基于远程调试协议的应用批量部署方法
CN113760750A (zh) * 2021-08-13 2021-12-07 深圳Tcl新技术有限公司 一种智能设备测试方法、装置、电子设备和存储介质
CN113760750B (zh) * 2021-08-13 2024-04-02 深圳Tcl新技术有限公司 一种智能设备测试方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
US20230214243A1 (en) 2023-07-06
WO2021248788A1 (zh) 2021-12-16

Similar Documents

Publication Publication Date Title
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
US8843895B2 (en) Debugger connection
CN111651232A (zh) 一机多控方法、装置、系统及电子设备
WO2018231510A1 (en) Continuous integration testing for network-based applications
CN109683997B (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
CN106649107B (zh) 安卓系统稳定性的自动化测试方法及装置
CN107678949B (zh) 实现嵌入式设备不同通信方式的自动化测试方法
CN104063305A (zh) 智能终端软件的压力测试方法、装置和系统
CN110362490B (zh) 融合iOS与Android移动应用的自动化测试方法及系统
CN113672441B (zh) 对智能设备的测试方法及装置
CN109542754B (zh) 移动设备的接入方法、应用程序的调试方法、装置和系统
CN114448823B (zh) Nfs服务测试方法、系统及电子设备
CN111367812A (zh) 测试方法、电子设备及可读存储介质
CN114328250A (zh) 软件系统自动自检方法、介质和装置
CN112269697B (zh) 一种设备存储性能测试方法、系统及相关装置
CN113032224A (zh) 一种信息采集方法、装置、电子设备及可读存储介质
CN109995931B (zh) 一种实现自动呼叫的方法及装置
CN114296754A (zh) 芯片平台升级方法及相关装置
CN114328180A (zh) 接口自动化测试方法、系统、电子设备及存储介质
CN109960646B (zh) 一种应用的测试方法及终端
CN113821428A (zh) 云测试方法、装置、电子设备和计算机存储介质
JP6919263B2 (ja) 情報処理装置、情報処理システム、及び情報処理方法
CN112416698A (zh) 监控系统的扩展方法及装置、存储介质及电子设备
CN111309613A (zh) 应用测试方法、装置、设备及计算机可读存储介质
CN111026651A (zh) 测试方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200911