CN112367362B - 一种数据处理方法、装置、设备及计算机存储介质 - Google Patents
一种数据处理方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112367362B CN112367362B CN202011148003.1A CN202011148003A CN112367362B CN 112367362 B CN112367362 B CN 112367362B CN 202011148003 A CN202011148003 A CN 202011148003A CN 112367362 B CN112367362 B CN 112367362B
- Authority
- CN
- China
- Prior art keywords
- terminal
- test
- program
- transmission control
- control protocol
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 226
- 230000005540 biological transmission Effects 0.000 claims abstract description 96
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000006870 function Effects 0.000 claims description 39
- 238000013507 mapping Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000010791 quenching Methods 0.000 description 2
- 230000000171 quenching effect Effects 0.000 description 2
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000005282 brightening Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/24—Arrangements for testing
Abstract
本申请实施例公开了一种数据处理方法、装置、设备及存储介质,其中,所述方法包括:在测试设备与终端建立硬件连接后,所述测试设备的主控程序将所述测试设备的传输控制协议端口映射成每一所述终端的套接字,以实现与所述至少一个终端的后台程序建立传输控制协议连接;所述主控程序利用所述传输控制协议连接接收所述至少一个终端的后台程序上报给所述测试设备的终端信息;所述主控程序根据所述终端信息,实现所述终端的数据处理。
Description
技术领域
本申请实施例涉及通信技术领域,涉及但不限于一种数据处理方法、装置、设备及计算机存储介质。
背景技术
现有的安卓调试桥(Android Debug Bridge,Adb)支持同时连接控制多个手机,是一种手机集中管理方案。直接通过Adb控制手机存在如下问题:资源占用高,耗时长:每次发送命令都要起一个进程,将命令通过客户端传送到服务器,再由服务器与手机上的守护程序通讯,守护程序根据命令做相应的事情或者再在手机上起一个进程执行命令解析器程序。起进程本身就占用较多资源了,再加上整个流程较长,执行一个命令的耗时比较多,如果要管理大量手机,整个耗时和资源消耗会更明显。
发明内容
有鉴于此,本申请实施例提供一种数据处理方法、装置、设备及计算机存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种数据处理方法,所述方法包括:在测试设备与终端建立硬件连接后,所述测试设备的主控程序将所述测试设备的传输控制协议端口映射成每一所述终端的套接字,以实现与所述至少一个终端的后台程序建立传输控制协议连接;所述主控程序利用所述传输控制协议连接接收所述至少一个终端的后台程序上报给所述测试设备的终端信息;所述主控程序根据所述终端信息,实现所述终端的数据处理。
第二方面,本申请实施例提供一种数据处理方法,所述方法包括:在终端与测试设备建立硬件连接后,所述终端的调试功能获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字;所述终端的调试功能启动所述终端的后台程序;所述后台程序连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接;所述后台程序上报给所述测试设备的终端信息,实现所述终端的数据处理。
第三方面,本申请实施例提供一种数据处理装置,所述装置包括:映射模块,用于在测试设备与终端建立硬件连接后,将所述测试设备的传输控制协议端口映射成每一所述终端的套接字,以实现与所述至少一个终端的后台程序建立传输控制协议连接;接收模块,用于利用所述传输控制协议连接接收所述至少一个终端的后台程序上报给所述测试设备的终端信息;测试模块,用于根据所述终端信息,实现所述终端的数据处理。
第四方面,本申请实施例提供一种数据处理装置,所述装置包括:所述终端的调试功能,用于在终端与测试设备建立硬件连接后,获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字;所述终端的调试功能,还用于启动所述终端的后台程序;所述终端的后台程序,用于连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接;所述终端的后台程序,还用于上报给所述测试设备的终端信息,实现所述终端的数据处理。
第五方面,本申请实施例提供一种数据处理设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上所述方法中的步骤。
第六方面,本申请实施例提供一种计算机存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求提供的终端的数据处理的方法。
本申请实施例中,首先主控程序将测试设备的传输控制协议端口映射到每一终端,然后主控程序利用所述传输控制协议连接接收所述至少一个终端的后台程序上报给所述测试设备的终端信息,最后所述主控程序根据所述终端信息,实现所述终端的数据处理。这样,通过端口映射的方式将测试设备上的传输控制协议端口映射成终端上的本地套接字,终端后续可通过连接本地套接字的方式来与测试设备通讯,资源占用低,测试耗时短,通讯和执行效率都很高,且可灵活自定义通讯协议。测试设备只是获取结果,通过这种方式可以减少测试设备负担,充分利用手机运算能力,提高可容纳的手机数量。
附图说明
图1为本申请实施例提供的一种数据处理方法的实现流程示意图;
图2A为本申请实施例提供的一种数据处理方法的用户界面示意图;
图2B为本申请实施例提供的一种数据处理方法的实现流程示意图;
图3为本申请实施例提供的一种数据处理方法的实现流程示意图;
图4为本申请实施例提供的一种数据处理方法的实现流程示意图;
图5A为本申请实施例提供的数据处理装置的组成结构示意图;
图5B为本申请实施例提供的数据处理装置的组成结构示意图;
图6为本申请实施例提供的数据处理设备的一种硬件实体示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
应当理解,此处所描述的一些实施例仅仅用以解释本申请的技术方案,并不用于限定本申请的技术范围。
本申请实施例提供的一种数据处理方法,应用于终端测试系统,其中,所述终端测试系统包括测试设备和终端,如图1所示,该方法包括:
步骤S101、在测试设备与终端建立硬件连接后,所述测试设备的主控程序将所述测试设备的传输控制协议端口映射成每一所述终端的套接字,以实现与所述至少一个终端的后台程序建立传输控制协议连接;
测试设备可以是用于控制终端的电脑,从使用场景和连接稳定性考虑,可以使用通用串行总线(Universal Serial Bus,USB)作为控制终端的通道。终端包括手机、平板等用于给用户提供通信功能的电子设备。
测试设备的传输控制协议(Transmission Control Protocol,TCP)端口是为TCP协议通信提供服务的端口,是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议。在计算机网络模型中,可以完成第四层传输层所指定的功能。电脑与网络连接的许多应用都是通过TCP端口所实现的。终端的套接字(Socket)是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口。
终端的Socket可以为终端本地的UNIX Socket。UNIX Socket,即UNIX DomainSocket,是在Socket架构上发展起来的用于同一台主机的进程间通讯(IPC)。不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序列号应答等。只是将应用层数据从一个进程拷贝到另一个进程。UNIX Domain Socket有SOKCET_DGRAM和SOCKET_STREAM两种模式,类似于UDP和TCP,面向消息的UNIX Socket也是可靠的,消息既不会丢失也不会顺序错乱。
测试设备利用调试功能将测试设备的TCP端口映射成终端本地的Socket,以实现与至少一个终端的后台程序建立传输控制协议连接。即,一台测试设备可以连接多台终端。
步骤S102、所述主控程序利用所述传输控制协议连接接收所述至少一个终端的后台程序上报给所述测试设备的终端信息;
这里,终端的后台程序是可以根据实际测试需要确定的用于控制终端和上报终端状态的程序。将所述终端的后台程序连接终端本地的Socket,即,实现了终端的后台程序与测试设备的主控程序建立TCP连接。测试设备的主控程序利用传输控制协议连接接收至少一个终端的后台程序上报给所述测试设备的终端信息。测试设备利用TCP连接管理终端,例如,测试设备可以通过安卓应用程序接口(Application Programming Interface,API)获取终端的状态。
步骤S103、所述主控程序根据所述终端信息,实现所述终端的数据处理。
本申请实施例中,首先主控程序将测试设备的传输控制协议端口映射到每一终端,然后主控程序利用所述传输控制协议连接接收所述至少一个终端的后台程序上报给所述测试设备的终端信息,最后所述主控程序根据所述终端信息,实现所述终端的数据处理。这样,通过端口映射的方式将测试设备上的传输控制协议端口映射成终端上的本地套接字,终端后续可通过连接本地套接字的方式来与测试设备通讯,资源占用低,测试耗时短,通讯和执行效率都很高,且可灵活自定义通讯协议。测试设备只是获取结果,通过这种方式可以减少测试设备负担,充分利用手机运算能力,提高可容纳的手机数量。
图2A为本申请实施例提供的一种无线接入点(Access Point,AP)测试的用户界面示意图,如图2A所示,包括通用控制201、基本状态202、测试场景203和日志输出204,其中,通用控制201包括多种控制类别,例如:设备控制分为:刷新、重启、跳到设置页面和跳到WLAN页面;屏幕控制分为:解锁、亮屏、熄屏、不熄屏和可熄屏;wifi控制分为:创建、运行、连接、断开、启用和禁用;基本状态202用于显示各个终端的基本状态,包括序列号2021、后台状态、无线状态、网际互连协议(Internet Protocol,IP)、局域网地址(Media AccessControl Address,MAC)、服务集标识(Service Set Identifier SSID)、服务集标识(BasicService Set Identifier,BSSID)、信道和信号强度;测试场景203包括Ping场景、连接场景、视频场景,供使用者可以选择;日志输出204,用于输出测试时对应的日志。
本申请实施例提供的一种数据处理方法,所述终端操作系统是安卓系统,如图2B所示,该方法包括:
步骤S201、在测试设备与终端建立硬件连接后,所述测试设备的主控程序利用安卓调试桥的命令,将所述终端的后台程序发送给所述终端;
安卓调试桥是一种功能多样的命令行工具,可与设备进行通信。安卓调试桥命令可用于执行各种设备操作(例如安装和调试应用),并提供对Unix shell(可用来在终端设备上运行各种命令)的访问权限。在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。类似于DOS下的command.com和后来的cmd.exe。Shell接收用户命令,然后调用相应的应用程序。同时Shell又是一种程序设计语言。Shell作为命令语言,交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
这里,可以根据实际需要开发用于测试终端的后台程序,测试设备利用安卓调试桥的命令在终端上安装用于测试终端的后台程序。
步骤S202、所述主控程序利用安卓调试桥的翻转功能将所述测试设备的传输控制协议端口映射成每一所述终端的套接字;
使用安卓调试桥的翻转功能(Adb reverse)可以将电脑的TCP端口映射到装载有安卓系统的终端,称为终端本地的套接字。
步骤S203、所述主控程序发送安卓调试桥命令给所述终端,以使得所述至少一个终端启动所述后台程序,实现与所述终端建立传输控制协议连接;
测试设备通过发送Adb命令启动后台程序,实现测试设备与终端建立传输控制协议。
步骤S204、所述主控程序根据所述后台程序上报的序列号确定与所述传输控制协议连接绑定的终端;
这里,通过让终端向测试设备上报序列号等信息的方式可以完成终端与本地套接字连接的绑定,解决同一个端口连接多个终端的终端识别问题。即,一台测试设备可以绑定多个终端,并以终端的序列号进行区分。
步骤S205、所述主控程序根据N个与所述传输控制协议连接绑定的终端确定测试终端列表,其中,N为大于等于1的整数;
上报序列号的终端可以在测试设备上形成一个以不同序列号进行区分的测试终端列表。如图2A所示的序列号2021,用于展示与传输控制协议连接绑定的测试终端列表。
步骤S206、所述主控程序在所述测试终端列表中确定M个测试终端,其中,M为大于等于1小于等于N的整数;
这里,在进行测试时可以根据实际测试需求在测试终端列表中选择需要进行测试的M个测试终端。
步骤S207、所述主控程序利用所述传输控制协议连接将测试命令下发给每一所述测试终端的后台程序;
步骤S208、所述主控程序利用所述传输控制协议连接接收所述后台程序反馈的每一所述测试终端的信息。
这里,如图2A所示,终端的状态信息包括后台状态、无线状态、IP、MAC、SSID、BSSID、信道和信号强度。根据不同的测试场景展示测试终端不同的状态信息。这些终端的状态信息和测试场景的状态信息可以是每一测试终端的后台程序定时上报给测试设备的主控程序,在本地套接字连接基础上,终端的后台程序通过代码层直接调用测试终端的安卓应用程序接口执行命令和获取状态,并通过如图2A所示的测试界面展示在测试设备上。
本申请实施例中,测试设备利用安卓调试桥的翻转功能将所述测试设备的传输控制协议端口映射到所述终端,得到所述终端的套接字,可以高效快捷的将测试设备的传输控制协议端口映射到所述终端,得到所述终端的套接字。多个终端连接同一个端口,通过让终端上报序列号等信息的方式完成终端与本地套接字连接的绑定,解决同一个端口连接多个终端的终端识别问题。后台程序完成本地套接字连接,在本地套接字连接基础上,终端的后台程序执行命令和获取状态,通讯和执行效率都很高,可容纳大批量的终端集中控制,而且同步性很高,可以让所有终端同时做特定的操作。同时本申请还支持通过Adb协议的方式来执行命令,命令包括Adb命令和所有shell命令,对性能要求不高的低频场景,可以通过这种方式快速完成功能开发。
本申请实施例提供的一种数据处理方法,如图3所示,该方法包括:
步骤S301、在终端与测试设备建立硬件连接后,所述终端的调试功能获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字;
步骤S302、所述终端的调试功能启动所述终端的后台程序;
步骤S303、所述后台程序连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接;
步骤S304、所述后台程序上报给所述测试设备的终端信息,实现所述终端的数据处理。
本申请实施例中,首先终端利用通用串行总线连接测试设备,然后获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字,最后启动所述终端的后台程序连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接,所述后台程序上报给所述测试设备的终端信息,实现所述终端的数据处理。这样,通过端口映射的方式将测试设备上的传输控制协议端口映射成终端上的本地套接字,终端后续可通过连接本地套接字的方式来与测试设备通讯,资源占用低,测试耗时短,通讯和执行效率都很高,且可灵活自定义通讯协议。
本申请实施例提供的一种数据处理方法,所述终端的操作系统是安卓系统,所述调试功能是安卓调试桥,该方法包括:
步骤S311、在终端与测试设备建立硬件连接后,所述终端的调试功能获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字;
步骤S312、所述安卓调试桥接收所述测试设备发送的后台程序;
步骤S313、接收所述测试设备发送的安卓调试桥命令,所述安卓调试桥启动所述后台程序;
步骤S314、所述后台程序连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接;
步骤S315、所述后台程序利用所述传输控制协议连接将所述终端的序列号上报所述测试设备的主控程序,以实现所述测试设备的主控程序根据所述终端的序列号确定与所述传输控制协议连接绑定的终端;所述测试设备根据N个与所述传输控制协议连接绑定的终端确定测试终端列表,其中,N为大于等于1的整数;
步骤S316、所述后台程序接收所述主控程序利用所述传输控制协议连接发送的测试命令;
步骤S317、所述后台程序根据所述测试命令反馈所述测试命令的结果给所述主控程序,实现所述终端的数据处理。
本申请实施例中,多个终端连接同一个端口,通过让终端上报序列号等信息的方式完成终端与本地套接字连接的绑定,解决同一个端口连接多个终端的终端识别问题。后台程序完成本地套接字连接,在本地套接字连接基础上,终端的后台程序执行命令和获取状态,通讯和执行效率都很高,可容纳大批量的终端集中控制,而且同步性很高,可以让所有终端同时做特定的操作。
本申请实施例提供的一种数据处理方法,该方法包括:
步骤S321、在终端与测试设备建立硬件连接后,所述终端的调试功能获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字;
步骤S322、所述安卓调试桥接收所述测试设备发送的后台程序;
步骤S323、接收所述测试设备发送的安卓调试桥命令,所述安卓调试桥启动所述后台程序;
步骤S324、所述后台程序连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接;
步骤S325、所述后台程序利用所述传输控制协议连接将所述终端的序列号上报所述测试设备的主控程序,以实现所述测试设备的主控程序根据所述终端的序列号确定与所述传输控制协议连接绑定的终端;所述测试设备根据N个与所述传输控制协议连接绑定的终端确定测试终端列表,其中,N为大于等于1的整数;
步骤S326、所述后台程序接收所述主控程序利用所述传输控制协议连接发送的测试命令;
步骤S327、根据所述测试命令,所述后台程序利用所述传输控制协议连接调用所述终端的应用程序接口执行所述测试命令并获取所述终端的信息;
步骤S328、所述后台程序将所述终端的信息反馈给所述主控程序,以实现所述终端的数据处理;
步骤S329、所述后台程序定时上报所述终端的状态信息和测试场景的状态信息给所述主控程序,实现所述终端的数据处理。
本申请实施例中,终端的后台程序通过代码层直接调用测试终端的安卓应用程序接口执行命令和获取状态,通讯和执行效率都很高,可容纳大批量的手机集中控制,而且同步性很高,可以让所有手机同时做特定的操作。
相关技术中安卓调试桥支持同时连接控制多个终端,是一种现成的通过通用串行总线通讯的终端集中管理方案。是一种客户端-服务器程序,包括以下三个组件:
客户端:用于发送命令。客户端在测试设备上运行。您可以通过发出安卓调试桥命令从命令行终端调用客户端;守护程序:用于在终端上运行命令。守护程序在每个终端上作为后台进程运行;服务器:用于管理客户端与守护程序之间的通信。服务器在测试设备上作为后台进程运行,同时用于管理测试设备上所有终端的安卓调试桥连接状态。
可以通过客户端给指定终端发送命令或者从终端获取信息,客户端执行相应命令,命令执行完即退出。
直接通过安卓调试桥控制终端存在如下问题:
1、资源占用高,耗时长;每次发送命令都要起一个进程,将命令通过客户端传送到服务器,再由服务器与终端上的守护程序通讯,守护程序根据命令做相应的事情或者再在终端上起一个进程执行shell程序。起进程本身就占用较多资源了,再加上整个流程较长,执行一个命令的耗时比较多,如果要管理大量终端,整个耗时和资源消耗会更明显。
2、功能实现不灵活;功能实现受限于安卓调试桥命令,虽然安卓调试桥命令已经实现了大量的常用功能,但是由于测试场景的复杂性,还是可能会有新增命令功能或状态上报的需求。如果要通过shell扩展,需要实现相应的命令程序,然后通过shell调用。命令的执行结果和状态反馈只能通过标准输出来传递。
以测试设备是主控电脑为例,图4为本申请实施例提供的一种数据处理方法流程示意图,如图4所示,包括:
步骤S401、建立终端到主控电脑的端口映射;
通过安卓调试桥提供的安卓调试桥翻转功能,将主控电脑的控制端口映射到终端上成为终端的本地UNIX Socket。主控电脑的主控程序带有如图2A所示的用户界面(UserInterface,UI)。
步骤S402、主控电脑通过安卓调试桥命令将终端的后台程序传到终端并启动后台程序;
通过安卓调试桥命令在终端上安装后台程序(如果已经安装,且不需要升级,可跳过),通过安卓调试桥命令启动后台程序。
步骤S403、终端的后台程序开始运行;
通过安卓调试桥协议在终端上批量安装后台程序并启动,后台程序完成Socket连接,在Socket连接基础上在终端的后台程序通过代码层直接调用安卓应用程序接口的方式执行命令和获取终端的状态。
步骤S404、终端的后台程序通过连接本地端口的方式连接到主控程序;
终端的后台程序连接本地UNIX Socket,因此而与主控程序建立了TCP连接。
步骤S405、终端的后台程序上报终端自身序列号给主控电脑的主控程序;
终端的后台程序通过TCP连接上报自身序列号给主控电脑的主控程序。
步骤S406、主控电脑的主控程序通过序列号完成终端与主控电脑的绑定;
主控电脑的主控程序收到终端的后台程序的序列号上报信息后将该连接与该终端绑定,以让同一个端口支持并区分多个终端的连接。
步骤S407、主控电脑的主控程序向终端的后台程序下发命令;
后续主控电脑的主控程序就可通过该TCP连接将命令下发给终端的后台程序。
步骤S408、终端的后台程序根据主控电脑的主控程序的下发命令向主控电脑的主控程序反馈;
终端收到命令后可通过该TCP连接将命令的结果反馈给主控电脑的主控程序。
步骤S409、终端的后台程序定时上报终端的状态给主控电脑的主控程序。
终端的后台程序会定时上报终端的状态和相应测试场景的状态信息给主控电脑的主控程序。
本申请实施例,通过安卓调试桥提供的安卓调试桥翻转功能将主控电脑上的TCP端口映射成终端上的本地UNIX Socket,终端后续可通过网络连接本地UNIX Socket的方式来与主控电脑通讯,大量终端连接同一个端口,通过让终端上报序列号等信息的方式完成终端与连接的绑定,解决同一个端口连接多个终端的终端识别问题。同时本发明仍然支持安卓调试桥协议方式的控制,包括安卓调试桥协议命令和shell命令,针对每一个特定的功能,可以分别在开发效率和运行效率之间取舍而选择最佳的通讯控制方案,不同的功能可以使用不同的控制方案。这样,通过TCP连接来传递数据,资源占用低,同时扩展灵活,兼具高效和灵活的优点:通过USB有线连接,稳定性高,不受wifi无线影响,也不影响wifi;通过端口映射的方式将主控电脑上的TCP端口映射成终端上的本地UNIX Socket,终端后续可通过网络连接本地socket的方式来与主控电脑通讯,可灵活自定义通讯协议,不再受安卓调试桥限制;通过安卓调试桥协议在终端上批量安装后台程序并启动,后台程序完成Socket连接,在此连接基础上在终端后台程序通过代码层直接调用安卓应用程序接口的方式执行命令和获取状态,通讯和执行效率都很高,可容纳大批量的终端集中控制,而且同步性很高,可以让所有终端同时做特定的操作;将中央处理器密集型的运算分散到终端的后台程序运行,主控程序只是获取结果,通过这种方式可以减少主控电脑负担,充分利用终端运算能力,提高可容纳的终端数量。
基于前述的实施例,本申请实施例提供一种数据处理装置,该装置包括所包括的各模块,可以通过数据处理设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图5A为本申请实施例提供的数据处理装置的组成结构示意图,如图5A所示,所述装置500包括映射模块501、接收模块502和测试模块503,其中:
映射模块501,用于在测试设备与终端建立硬件连接后,将所述测试设备的传输控制协议端口映射成每一所述终端的套接字,以实现与所述至少一个终端的后台程序建立传输控制协议连接;
接收模块502,用于利用所述传输控制协议连接接收所述至少一个终端的后台程序上报给所述测试设备的终端信息;
测试模块503,用于根据所述终端信息,实现所述终端的数据处理。
在一些实施例中,所述终端的操作系统是安卓系统,所述装置还包括发送模块,所述发送模块,用于利用安卓调试桥的命令,将所述终端的后台程序发送给所述终端。
在一些实施例中,所述映射模块包括映射子模块和启动模块,其中,所述映射子模块,用于利用安卓调试桥的翻转功能将所述测试设备的传输控制协议端口映射成每一所述终端的套接字;所述启动模块,用于发送安卓调试桥命令给所述终端,以使得所述至少一个终端启动所述后台程序,实现与所述终端建立传输控制协议连接。
在一些实施例中,所述装置还包括第一确定模块和第二确定模块,其中,所述第一确定模块,用于根据所述后台程序上报的序列号确定与所述传输控制协议连接绑定的终端;所述第二确定模块,用于根据N个与所述传输控制协议连接绑定的终端确定测试终端列表,其中,N为大于等于1的整数。
在一些实施例中,所述接收模块包括确定子模块、下发子模块和第一接收子模块,其中,所述确定子模块,用于在所述测试终端列表中确定M个测试终端,其中,M为大于等于1小于等于N的整数;所述下发子模块,用于利用所述传输控制协议连接将测试命令下发给每一所述测试终端的后台程序;所述第一接收子模块,用于利用所述传输控制协议连接接收所述后台程序反馈的每一所述测试终端的信息。
图5B为本申请实施例提供的数据处理装置的组成结构示意图,如图5B所示,所述装置510应用于终端,包括调试功能511和后台程序512,其中:
所述调试功能511,用于在终端与测试设备建立硬件连接后,获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字;
所述调试功能511,还用于启动所述终端的后台程序;
所述后台程序512,用于连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接;
所述后台程序512,还用于上报给所述测试设备的终端信息,实现所述终端的数据处理。
在一些实施例中,所述终端的操作系统是安卓系统,所述调试功能是安卓调试桥,所述安卓调试桥用于接收所述测试设备发送的后台程序;接收所述测试设备发送的安卓调试桥命令,启动所述后台程序。
在一些实施例中,所述后台程序还用于利用所述传输控制协议连接将所述终端的序列号上报所述测试设备的主控程序,以实现所述测试设备的主控程序根据所述终端的序列号确定与所述传输控制协议连接绑定的终端;所述测试设备根据N个与所述传输控制协议连接绑定的终端确定测试终端列表,其中,N为大于等于1的整数;接收所述主控程序利用所述传输控制协议连接发送的测试命令;根据所述测试命令反馈所述测试命令的结果给所述主控程序,实现所述终端的数据处理。
在一些实施例中,所述后台程序还用于根据所述测试命令,利用所述传输控制协议连接调用所述终端的应用程序接口执行所述测试命令并获取所述终端的信息;将所述终端的信息反馈给所述主控程序,以实现所述终端的数据处理。
在一些实施例中,所述后台程序还用于定时上报所述终端的状态信息和测试场景的状态信息给所述主控程序,实现所述终端的数据处理。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的数据处理方法中的步骤。
对应地,本申请实施例提供一种数据处理设备,图6为本申请实施例数据处理设备的一种硬件实体示意图,如图6所示,该设备600的硬件实体包括:包括存储器601和处理器602,所述存储器601存储有可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现上述实施例中提供的数据处理方法中的步骤。
存储器601配置为存储由处理器602可执行的指令和应用,还可以缓存待处理器602以及数据处理设备600中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得数据处理设备(可以是手机、平板电脑、笔记本电脑、台式计算机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种数据处理的方法,其特征在于,所述方法包括:
在测试设备与终端建立硬件连接后,所述测试设备的主控程序将所述测试设备的传输控制协议端口映射成每一所述终端的套接字,以实现与所述至少一个终端的后台程序建立传输控制协议连接;
所述主控程序根据所述后台程序上报的序列号确定与所述传输控制协议连接绑定的终端;
所述主控程序根据N个与所述传输控制协议连接绑定的终端确定测试终端列表,其中,所述N个终端连接同一个端口,N为大于等于1的整数;
所述主控程序在所述测试终端列表中确定M个测试终端,其中,M为大于等于1小于等于N的整数;
所述主控程序利用所述传输控制协议连接将测试命令下发给每一所述测试终端的后台程序;
所述主控程序利用所述传输控制协议连接接收所述后台程序反馈的每一所述测试终端的状态信息;所述主控程序根据所述测试终端的状态信息和测试场景的状态信息,实现所述终端的数据处理;所述测试终端的状态信息包括以下至少之一:后台状态、无线状态、网络状态、信道和信号强度;不同的测试场景对应展示所述测试终端不同的状态信息。
2.如权利要求1所述的方法,其特征在于,所述终端的操作系统是安卓系统,所述方法还包括:
所述主控程序利用安卓调试桥的命令,将所述终端的后台程序发送给所述终端。
3.如权利要求2所述的方法,其特征在于,所述测试设备的主控程序将所述测试设备的传输控制协议端口映射成每一所述终端的套接字,以实现与所述至少一个终端建立传输控制协议连接,包括:
所述主控程序利用安卓调试桥的翻转功能将所述测试设备的传输控制协议端口映射成每一所述终端的套接字;
所述主控程序发送安卓调试桥命令给所述终端,以使得所述至少一个终端启动所述后台程序,实现与所述终端建立传输控制协议连接。
4.一种数据处理的方法,其特征在于,所述方法包括:
在终端与测试设备建立硬件连接后,所述终端的调试功能获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字;
所述终端的调试功能启动所述终端的后台程序;
所述后台程序连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接;
所述后台程序利用所述传输控制协议连接将所述终端的序列号上报所述测试设备的主控程序,以实现所述测试设备的主控程序根据所述终端的序列号确定与所述传输控制协议连接绑定的终端;所述测试设备根据N个与所述传输控制协议连接绑定的终端确定测试终端列表,其中,N个终端连接一个端口,N为大于等于1的整数;
所述后台程序接收所述主控程序利用所述传输控制协议连接发送的测试命令;
所述后台程序根据所述测试命令,所述后台程序利用所述传输控制协议连接调用所述终端的应用程序接口执行所述测试命令并获取所述终端的信息;
所述后台程序将所述终端的信息反馈给所述主控程序,以实现所述终端的数据处理;所述后台程序定时上报给所述测试设备的测试终端的状态信息和测试场景的状态信息,实现所述终端的数据处理;所述测试终端的状态信息包括以下至少之一:后台状态、无线状态、网络状态、信道和信号强度;不同的测试场景对应展示所述测试终端不同的状态信息。
5.如权利要求4所述的方法,其特征在于,所述终端的操作系统是安卓系统,所述调试功能是安卓调试桥,所述终端的调试功能启动所述终端的后台程序,包括:
所述安卓调试桥接收所述测试设备发送的后台程序;
接收所述测试设备发送的安卓调试桥命令,所述安卓调试桥启动所述后台程序。
6.一种数据处理装置,所述装置包括:
映射模块,用于在测试设备与终端建立硬件连接后,将所述测试设备的传输控制协议端口映射成每一所述终端的套接字,以实现与所述至少一个终端的后台程序建立传输控制协议连接;
确定模块,用于根据N个与所述传输控制协议绑定的终端确定测试终端列表,其中,N个终端连接一个端口,N为大于等于1的整数;
所述确定模块,还用于在所述测试终端列表中确定M个测试终端,其中,M为大于等于1小于等于N的整数;
发送模块,用于利用所述传输控制协议将测试命令下发给每一所述测试终端的后台程序;
接收模块,用于利用所述传输控制协议连接接收所述后台程序反馈的每一所述测试终端的状态信息;
测试模块,用于根据所述测试终端的状态信息和测试场景的状态信息,实现所述终端的数据处理;所述测试终端的状态信息包括以下至少之一:后台状态、无线状态、网络状态、信道和信号强度;不同的测试场景对应展示所述测试终端不同的状态信息。
7.一种数据处理装置,所述装置包括:
终端的调试功能,用于在终端与测试设备建立硬件连接后,获取由所述测试设备的传输控制协议端口映射成的所述终端的套接字;
所述终端的调试功能,还用于启动所述终端的后台程序;
所述终端的后台程序,用于连接所述终端的套接字,以实现所述终端的后台程序与所述测试设备的主控程序建立传输控制协议连接;
所述终端的后台程序,还用于利用所述传输控制协议连接将所述终端的序列号上报所述测试设备的主控程序,以实现所述测试设备的主控程序根据所述终端的序列号确定与所述传输控制协议连接绑定的终端;所述测试设备根据N个与所述传输控制协议连接绑定的终端确定测试终端列表,其中,N个终端连接一个端口,N为大于等于1的整数;
所述终端的后台程序,还用于接收所述主控程序下发的测试命令,根据所述测试命令,所述后台程序利用所述传输控制协议连接调用所述终端的应用程序接口执行所述测试命令并获取所述终端的信息,并将终端的信息反馈给所述主控程序,以实现所述终端的数据处理;
所述终端的后台程序,还用于定时上报给所述测试设备的测试终端的状态信息和测试场景的状态信息,实现所述终端的数据处理;所述测试终端的状态信息包括以下至少之一:后台状态、无线状态、网络状态、信道和信号强度;不同的测试场景对应展示所述测试终端不同的状态信息。
8.一种数据处理的设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述方法中的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求1至5任一项提供的终端的数据处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148003.1A CN112367362B (zh) | 2020-10-23 | 2020-10-23 | 一种数据处理方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148003.1A CN112367362B (zh) | 2020-10-23 | 2020-10-23 | 一种数据处理方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112367362A CN112367362A (zh) | 2021-02-12 |
CN112367362B true CN112367362B (zh) | 2024-01-09 |
Family
ID=74511921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011148003.1A Active CN112367362B (zh) | 2020-10-23 | 2020-10-23 | 一种数据处理方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112367362B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134279A (zh) * | 2021-05-19 | 2022-09-30 | 深圳方位通讯科技有限公司 | 终端的测试方法、设备及计算机可读存储装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446083A (zh) * | 2011-09-07 | 2012-05-09 | 福州博远无线网络科技有限公司 | PC端读取并保存Android手机屏幕显示内容的方法 |
CN102917095A (zh) * | 2012-10-10 | 2013-02-06 | 青岛海信移动通信技术股份有限公司 | 一种基于Android系统的终端测试的方法及装置 |
CN106453766A (zh) * | 2015-08-04 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 基于虚拟机的数据传输方法、装置及系统 |
CN107544900A (zh) * | 2016-06-27 | 2018-01-05 | 北京优朋普乐科技有限公司 | 安卓设备及其调试桥的开启方法和装置、控制系统 |
CN108664395A (zh) * | 2018-04-26 | 2018-10-16 | 武汉斗鱼网络科技有限公司 | 应用程序测试方法、装置、设备及存储介质 |
CN109358920A (zh) * | 2018-08-22 | 2019-02-19 | 中国平安人寿保险股份有限公司 | 截屏方法、计算机装置及计算机可读存储介质 |
-
2020
- 2020-10-23 CN CN202011148003.1A patent/CN112367362B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446083A (zh) * | 2011-09-07 | 2012-05-09 | 福州博远无线网络科技有限公司 | PC端读取并保存Android手机屏幕显示内容的方法 |
CN102917095A (zh) * | 2012-10-10 | 2013-02-06 | 青岛海信移动通信技术股份有限公司 | 一种基于Android系统的终端测试的方法及装置 |
CN106453766A (zh) * | 2015-08-04 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 基于虚拟机的数据传输方法、装置及系统 |
CN107544900A (zh) * | 2016-06-27 | 2018-01-05 | 北京优朋普乐科技有限公司 | 安卓设备及其调试桥的开启方法和装置、控制系统 |
CN108664395A (zh) * | 2018-04-26 | 2018-10-16 | 武汉斗鱼网络科技有限公司 | 应用程序测试方法、装置、设备及存储介质 |
CN109358920A (zh) * | 2018-08-22 | 2019-02-19 | 中国平安人寿保险股份有限公司 | 截屏方法、计算机装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112367362A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8738815B2 (en) | System and method for virtualizing the peripherals in a terminal device to enable remote management via removable portable media with processing capability | |
CN113395687B (zh) | 回连方法、装置、电子设备及存储介质 | |
CN102770850B (zh) | 用于与主设备通信的令牌,对应的通信系统和方法 | |
CN114077480B (zh) | 一种主机与虚拟机共享内存方法、装置、设备及介质 | |
CN109040207B (zh) | 一种访问用户态网络文件系统的方法、装置及设备 | |
WO2019184658A1 (zh) | 配置文件的切换方法、装置与移动终端 | |
US10499311B2 (en) | Method and apparatus for implementing network sharing | |
CN110933075B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN102118448A (zh) | 一种云计算的实现方法、系统及终端 | |
US20220039181A1 (en) | Method for operating application requiring communication with external device, and electronic device therefor | |
CN110324193A (zh) | 一种终端升级管理方法及装置 | |
WO2016008077A1 (zh) | 智能终端与车载终端互联的方法及装置 | |
CN112367362B (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN109981778B (zh) | 内容分发网络的服务实现方法、装置、设备及存储介质 | |
CN108712298B (zh) | 网络设备升级方法、装置、网络设备及存储介质 | |
CN110781014B (zh) | 基于Android设备的录音数据的多进程分发方法与系统 | |
CN102891888B (zh) | 一种数据访问方法及相关设备、系统 | |
CN112367390A (zh) | 终端间服务共享的方法、装置、设备及存储介质 | |
CN112383617A (zh) | 进行长连接的方法、装置、终端设备以及介质 | |
CN111147592A (zh) | 通过json管理交换机的实现方法、装置及存储介质 | |
CN109871288A (zh) | 执行Android系统命令的方法、装置、设备及介质 | |
CN112187698B (zh) | 通信方法、业务系统、电子设备及其具有的主mcu | |
CN112579872B (zh) | 基于资源插件的网络资源访问中介系统及其处理方法 | |
WO2022048462A1 (zh) | 组件启动方法及装置 | |
CN111107663B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |