CN110879676A - 调试控制方法、主控设备、调试服务器、被控设备及系统 - Google Patents
调试控制方法、主控设备、调试服务器、被控设备及系统 Download PDFInfo
- Publication number
- CN110879676A CN110879676A CN201811033444.XA CN201811033444A CN110879676A CN 110879676 A CN110879676 A CN 110879676A CN 201811033444 A CN201811033444 A CN 201811033444A CN 110879676 A CN110879676 A CN 110879676A
- Authority
- CN
- China
- Prior art keywords
- debugging
- controlled
- target
- interface
- server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种调试控制方法、主控设备、调试服务器、受控设备及系统。该调试控制方法通过主控设备实施,包括:通过调试服务器,获取可用于调试的、支持具有封闭性的操作系统的候选被控设备,以展示候选被控设备供用户选择;根据所接收的设备选择操作,确定与设备选择操作对应的候选被控设备为目标受控设备;通过调试控制界面,接收对目标受控设备的调试操作,生成对应的调试指令,通过调试服务器以适配目标操作系统支持的目标调试接口的格式发送至目标受控设备,控制目标受控设备执行与调试指令对应的受控调试操作。
Description
技术领域
本发明涉及调试技术领域,更具体地,涉及一种调试控制方法、主控设备、调试服务器、被控设备及系统。
背景技术
应用程序是向用户提供特定应用服务的计算机程序。应用程序的开发过程中离不开应用程序的调试。
目前对于一些基于封闭的操作系统开发的应用进行调试时,由于操作系统的封闭性,必须将运行被测应用的被控设备通过USB线等数据线连接到对应的支持该操作系统的主控设备上,才能对被测应用进行调试,例如,苹果公司开发的iOS操作系统就是封闭的操作系统,对于基于iOS操作系统开发的iOS应用进行调试时,必须将运行iOS应用的iOS设备(例如苹果手机)通过USB线连接到本地的支持与iOS设备对接的主控设备(例如苹果电脑)构成完整的调试环境后,才能对iOS应用进行调试。因此,基于封闭的操作系统开发的应用进行调试时,对调试环境要求较高,必须主控设备与被控设备之间直接建立连接,难以实现远程调试,十分影响调试效率。
发明内容
本发明的一个目的是提供一种用于调试控制的新技术方案。
根据本发明的第一方面,提供了一种调试控制方法,其中,由主控设备实施,所述主控设备用于调试支持具有封闭性的目标操作系统的被控设备,所述目标操作系统支持用于调试的目标调试接口,所述主控设备与调试服务器之间建立通信连接,所述方法包括:
通过所述调试服务器,获取可用于调试的候选被控设备,以展示所述候选被控设备供用户选择;
其中,所述候选被控设备支持所述目标操作系统;
根据所接收的设备选择操作,确定与所述设备选择操作对应的所述候选被控设备为目标受控设备,以提供与所述目标受控设备对应的调试控制界面;
通过所述调试控制界面,接收对所述目标受控设备的调试操作,生成对应的调试指令,通过所述调试服务器以适配所述目标调试接口的格式发送至目标受控设备,控制所述目标受控设备执行与所述调试指令对应的受控调试操作。
可选地,所述通过所述调试服务器,获取可用于调试的候选被控设备的步骤包括:
通过所述通信连接,接收所述调试服务器发送的、适配所述目标调试接口的格式的设备验证请求;
从所述设备验证请求中获取设备信息,以根据所述设备信息对与所述设备验证请求对应的被控设备执行设备验证;
其中,所述设备信息至少包括所述被控设备的设备标识以及与所述目标调试接口对应的通信端口号;
将验证通过的所述被控设备,识别为所述候选被控设备。
可选地,所述生成对应的调试指令,通过所述调试服务器以适配所述目标调试接口的格式发送至目标受控设备,控制所述目标受控设备执行与所述调试指令对应的受控调试操作的步骤包括:
根据所述目标操作系统提供的触摸操作接口,生成与所述调试操作对应的调试指令;
将所述调试指令通过所述调试服务器以适配所述目标调试接口的格式发送至所述目标受控设备,通过所述触摸操作接口,控制所述目标受控设备执行所述受控调试操作,
其中,所述受控调试操作包括模拟触摸操作,所述模拟触摸操作至少包括模拟点击操作、模拟滑动操作、模拟按压操作、模拟拖拽操作、模拟home键点击操作、模拟键盘输入操作其中之一。
可选地,所述方法还包括:
通过所述调试服务器,接收所述目标受控设备执行所述受控调试操作后返回对应的调试结果数据以通过所述调试控制界面展示对应的调试结果;
其中,所述调试结果数据的格式适配所述目标调试接口。
根据本发明的第二方面,提供一种调试控制方法,其中,通过调试服务器实施,所述调试服务器与至少一个支持具有封闭性的目标操作系统的受控设备通过所述目标操作系统支持的用于调试的目标调试接口建立连接,所述调试服务器与至少一个主控设备建立通信连接,所述方法包括:
确定已建立连接的受控设备,以提供给所述主控设备作为可用于调试的候选受控设备;
通过所述通信连接从所述主控设备接收的调试指令;
将所述调试指令以适配所述目标调试接口的格式,发送给与所述调试指令对应的目标受控设备,以控制所述目标受控设备执行与所述调试指令对应的受控调试操作。
可选地,所述确定已建立连接的受控设备,以提供给所述主控设备作为可用于调试的候选受控设备的步骤包括:
获取所述已建立连接的受控设备的设备信息;
其中,所述设备信息至少包括所述受控设备的设备标识以及与所述目标调试接口对应的通信端口号;
根据所述设备信息生成对应的、适配所述目标调试接口的设备验证请求;
通过所述通信连接将所述设备验证请求发送给所述主控设备,以触发所述主控设备执行将与所述设备验证请求对应的所述被控设备识别为所述候选被控设备的步骤。
可选地,所述方法还包括:
接收所述目标受控设备执行所述受控调试操作后返回对应的调试结果数据,通过所述通信连接发送给与所述调试结果数据对应的所述主控设备;
其中,所述调试结果数据的格式适配所述目标调试接口。
根据本发明的第三方面,提供一种调试控制方法,其中,通过受控设备实施,所述受控设备支持具有封闭性的目标操作系统,所述受控设备通过目标操作系统支持的用于调试的目标调试接口与调试服务器建立连接,所述方法包括:
通过所述调试服务器,接收主控设备发送的、适配所述目标调试接口的格式的调试指令,执行与所述调试指令对应的受控调试操作;
执行所述受控调试操作后,通过所述调试服务器以适配所述目标调试接口的格式,向所述主控设备返回对应的调试结果数据。
可选地,所述执行与所述调试指令对应的受控调试操作的步骤包括:
根据所述调试指令的控制,通过所述目标操作系统提供的触摸操作接口,执行所述受控调试操作,
其中,所述受控调试操作包括模拟触摸操作,所述模拟触摸操作至少包括模拟点击操作、模拟滑动操作、模拟按压操作、模拟拖拽操作、模拟home键点击操作、模拟键盘输入操作其中之一。
可选地,
所述调试结果数据是在执行所述受控调试操作后在自身的显示装置展示的与操作结果相关的实时显示数据;
和/或,
所述调试结果数据是在执行所述受控调试操作后通过预设的数据压缩算法处理的操作结果数据。
根据本发明的第四方面,提供一种主控设备,其中,包括:
显示装置,用于展示人机交互界面;
存储器,用于存储可执行指令;
处理器,用于根据所述可执行指令的控制,运行所述主控设备执行如本发明的第一方面提供的任意一项所述的调试控制方法。
根据本发明的第五方面,提供一种调试服务器,其中,包括:
存储器,用于存储可执行指令;
处理器,用于根据所述可执行指令的控制,运行所述调试服务器执行如本发明的第二方面提供的任意一项所述的调试控制方法。
根据本发明的第六方面,提供一种受控设备,其中,包括:
显示装置,用于展示人机交互界面;
存储器,用于存储可执行指令;
处理器,用于根据所述可执行指令的控制,运行所述受控设备执行如本发明的第三方面提供的任意一项所述的调试控制方法。
根据本发明的第七方面,提供一种调试系统,包括:
本发明第四方面提供的主控设备;
本发明第五方面提供的调试服务器;
以及本方面第六方面提供的受控设备。
根据本公开的一个实施例,通过调试服务器分别与主控设备建立通信连接、以及与支持具有封闭性的目标操作系统的受控设备通过目标操作系统支持的目标调试接口建立连接,主控设备可以通过调试服务器获取用于调试的候选被控设备,供用户从候选被控设备中选择符合调试需求的目标受控设备,提供调试控制界面接收对目标受控设备的调试操作,生成对应的调试指令,通过调试服务器以适配目标调试接口的格式发送至目标受控设备,控制目标受控设备执行与调试指令对应的受控调试操作,主控设备无需通过目标操作系统支持的目标调试接口与受控设备建立直接连接就能对受控设备进行调试,突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明的实施例的调试系统的硬件配置的例子的框图。
图2示出了本发明的第一实施例的调试控制方法的流程图。
图3示出了本发明的第一实施例的获取候选受控设备的步骤的流程图。
图4示出了本发明的第一实施例的控制目标受控设备的步骤的流程图。
图5示出了本发明的第一实施例的调试控制方法的又一流程图。
图6示出了本发明的第一实施例的主控设备的框图。
图7示出了本发明的第二实施例的调试控制方法的流程图。
图8示出了本发明的第二实施例的提供候选受控设备步骤的流程图。
图9示出了本发明的第二实施例的调试控制方法的又一流程图。
图10示出了本发明的第二实施例的调试服务器的框图。
图11示出了本发明的第三实施例的调试控制方法的流程图。
图12出了本发明的第三实施例的受控设备的框图。
图13示出了本发明的第四实施例的调试系统的框图。
图14示出了本发明的第四实施例的调试系统实施调试控制方法的例子的示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
如图1所示,调试系统1000包括主控设备1100、受控设备1200以及调试服务器1300。
主控设备1100例如可以是刀片服务器等。在一个例子中,主控设备1100可以是一台计算机。在在另一个例子中,主控设备1100可以如图1所示,包括处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150、输入装置1160。尽管主控设备1100也可以包括扬声器、麦克风等等,但是,这些部件与本发明无关,故在此省略。其中,处理器1110例如可以是中央处理器CPU、微处理器MCU等。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括USB接口、串行接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏。输入装置1160例如可以包括触摸屏、键盘等。
受控设备1200可以是便携式电脑(1200-1)、台式计算机(1200-2)、手机(1200-3)、平板电脑(1200-4)等。如图1所示,受控设备1200可以包括处理器1210、存储器1220、接口装置1230、通信装置1240、显示装置1250、输入装置1260、扬声器1270、麦克风1280,等等。其中,处理器1210可以是中央处理器CPU、微处理器MCU等。存储器1220例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1230例如包括USB接口、耳机接口等。通信装置1240例如能够进行有线或无线通信。显示装置1250例如是液晶显示屏、触摸显示屏等。输入装置1260例如可以包括触摸屏、键盘等。用户可以通过扬声器1270和麦克风1280输入/输出语音信息。
调试服务器1300是通过受控设备1200支持的调试接口(例如USB接口)与受控设备1200连接、并且与主控设备1100建立有无线或者有线通信连接,以支持主控设备1100对受控设备1200进行调试的服务器。
调试服务器1300例如可以是刀片服务器等。在一个例子中,调试服务器1300可以是一台计算机。在在另一个例子中,调试服务器1300可以如图1所示,包括处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150、输入装置1160。尽管调试服务器1300也可以包括扬声器、麦克风等等,但是,这些部件与本发明无关,故在此省略。其中,处理器1110例如可以是中央处理器CPU、微处理器MCU等。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括USB接口、串行接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏。输入装置1160例如可以包括触摸屏、键盘等。
图1所示的调试系统1000仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
应用于本发明的实施例中,主控设备1100的所述存储器1120用于存储指令,所述指令用于控制所述处理器1110进行操作以执行本发明实施例提供的任意一项调试控制方法。
受控设备1200的所述存储器1220用于存储指令,所述指令用于控制所述处理器1210进行操作以执行本发明实施例提供的任意一项调试控制方法。
调试服务器1300的所述存储器1320用于存储指令,所述指令用于控制所述处理器1310进行操作以执行本发明实施例提供的任意一项调试控制方法。
本领域技术人员应当理解,尽管在图1中对主控设备1100以及受控设备1200都示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,主控设备1100只涉及处理器1110和存储装置1120,或者受控设备1200只涉及处理器1210和存储装置1220等,或者调试服务器1300只涉及处理器1310和存储装置1320等
技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本发明实施例的总体构思,是提供一种新的调试控制的技术方案,通过调试服务器分别与主控设备建立通信连接、以及与支持具有封闭性的目标操作系统的受控设备通过目标操作系统支持的目标调试接口建立连接,主控设备可以通过调试服务器获取用于调试的候选被控设备,供用户从候选被控设备中选择符合调试需求的目标受控设备,提供调试控制界面接收对目标受控设备的调试操作,生成对应的调试指令,通过调试服务器以适配目标调试接口的格式发送至目标受控设备,控制目标受控设备执行与调试指令对应的受控调试操作,主控设备无需通过目标操作系统支持的目标调试接口与受控设备建立直接连接就能对受控设备进行调试,突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
<第一实施例>
<方法>
在本实施例中,提供一种调试控制方法,通过主控设备实施。
该主控设备可以任意具有显示装置、处理器和控制器的电子设备,例如,可以是台式计算机、刀片服务器、云端服务器等。在一个例子中,主控设备可以是图1所示的主控设备1100。
在本实施例中,主控设备用于调试支持具有封闭性的目标操作系统的被控设备。
操作系统是是管理和控制受控设备的硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件产品或者应用程序都必须在操作系统的支持下才能运行。
在本实施例中,目标操作系统是具有封闭性的操作系统,即支持目标操作系统的受控设备,只能通过与对应的支持基于目标操作系统进行调试的主控设备建立直接连接后实现调试,例如,目标操作系统是iOS操作系统,支持iOS操作系统的手机,只能通过USB接口与苹果电脑连接后,通过苹果电脑对支持iOS操作系统的手机进行调试。
目标操作系统支持用于调试的目标调试接口。该目标调试接口是用于传输调试过程中产生的指令、数据的接口。例如,目标操作系统是iOS操作系统,可以支持通过USB接口进行调试。
主控设备与调试服务器之间建立通信连接。该通信连接可以是广域网或者局域网通信连接。在本实施例中,主控设备与调试服务器之间无需基于目标操作系统支持的目标调试接口建立连接,而是可以根据实际调试需求选择与调试服务器之间建立通信距离满足需求的通信连接,基于该通信连接,通过本实施例中提供的调试控制方法,通过调试服务器对被控设备进行调试控制,突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
该调试控制方法,如图2所示,包括:步骤S2100-S2300。
步骤S2100,通过调试服务器,获取可用于调试的候选被控设备,以展示候选被控设备供用户选择。
在本实施例中,主控设备用于调试支持目标操作系统的被控设备,对应的,主控设备通过调试服务器所获取的候选被控设备支持目标操作系统。
例如,调试服务器与至少一个支持目标操作系统的被控设备通过目标操作系统支持的目标调试接口连接,主控设备可以通过调试服务器获取与调试服务器通过目标调试接口建立连接的受控设备作为候选被控设备。
在一个例子中,通过调试服务器,获取可用于调试的候选被控设备的步骤,如图3所示,包括:步骤S2110-S2130。
步骤S2110,通过通信连接,接收调试服务器发送的、适配目标调试接口的格式的设备验证请求。
通常对于用于调试支持目标操作系统的主控设备,由于目标操作系统的封闭性,通常需要通过目标操作系统支持用于调试的目标调试接口与受控设备之间建立直接连接,才能实现调试。而主控设备在于受控设备之间通过目标调试接口建立直接连接时,通常在受控设备接入目标调试接口时,接收到对应的设备验证请求,当主控设备验证受控设备通过,确定受控设备可被信任后,才会与受控设备实际建立直接连接。
在本例中,主控设备通过与调试服务器之间、不是通过目标调试接口建立的通信连接,接收适配目标调试接口的格式的设备验证请求,主控设备可以被触发将该设备验证请求识别为是从目标调试接口接收的设备验证请求,模拟实现与设备验证请求对应的受控设备通过目标调试接口建立直接连接。
例如,目标操作系统是iOS操作系统,iOS操作系统支持的目标调试接口是USB接口,主控设备是苹果电脑,可以通过与调试服务器建立的广域网通信连接,接收适配USB接口的格式的设备验证请求,通过苹果系统提供的IOKit中的IOUSBLib开放接口,将设备验证请求传输入主控设备的实际USB接口中,实现模拟从USB接口中接收到设备验证请求的目的。
步骤S2120,从设备验证请求中获取设备信息,以根据设备信息对与设备验证请求对应的被控设备执行设备验证。
设备信息是与设备验证请求对应的被控设备的相关信息,可以包含在设备验证请求中,通过解析设备验证请求可以获取。设备信息至少包括被控设备的设备标识以及与目标调试接口对应的通信端口号。
设备标识是用于唯一标识被控设备的标识,可以是设备的出厂编号、设备编号等。
与目标调试接口对应的通信端口号是被控设备提供的、用于与外部设备(调试服务器或者主控设备)通过目标调试接口建立通信通道的通信端口号,以便标识被控设备与外部设备(调试服务器或者主控设备)之间的通信端口。
例如,目标操作系统是iOS操作系统,受控设备是支持iOS操作系统的手机,目标调试接口是USB接口,设备验证请求中携带的注册信息可以包括设备标识DeviceID以及通信端口号PortNumber,假设受控设备提供的PortNumber是32498,那么外部设备(调试服务器或者主控设备)可以通过32498这个通信端口,与受控设备之间建立基于USB接口的通信通道。
在本例中,在从设备验证请求中获取设备信息后,根据设备信息对与设备验证请求对应的被控设备进行验证,以验证被控设备是否符合预设的设备可信任条件,确定被控设备是否是可被信任的设备。该设备可信任条件是用于判断被控设备是否可被信任的条件,可以根据具体的应用场景或者应用需求设置,例如,设备可信任条件至少包括设备标识合法或者通信端口号合法其中之一。
步骤S2130,将验证通过的被控设备,识别为候选被控设备。
在本例中,主控设备可以根据验证通过的被控设备的设备信息进行注册,在注册成功后将被控设备加入已通过目标调试接口建立通信连接的设备列表中,以此识别为候选被控设备。
主控设备通过调试服务器,获取模拟通过目标调试接口与自身建立连接的候选调试设备后,将候选被控设备展示给用户,以供用户根据具体的调试需求从候选受控该设备中选取适配的目标受控设备,可以结合后续步骤,突破目标操作系统的封闭性限制,满足用户个性化的远程调试需求。
在本实施例中,可以通过主控设备的显示装置提供人机交互界面,展示与每个候选被控设备对应的图标供用户进行点击、勾选等操作选择被控设备等,在此不再一一赘述举例。
以上已经结合附图和例子说明了图2中的步骤S2100,之后进入:
步骤S2200,根据所接收的设备选择操作,确定与设备选择操作对应的候选被控设备为目标受控设备,以提供与目标受控设备对应的调试控制界面。
在本实施例,设备选择操作可以用户通过鼠标操作、手势操作、触摸笔操作等方式实施的人机交互操作。
通过用户实施的设备选择操作,可以确定设备选择操作对应选中的候选被控设别是用户期望进行调试控制的目标受控设备,对应的,提供与目标受控设备对应的调试控制界面。
调试控制界面是提供用户对目标受控设备进行调试控制服务的人机交互界面,可以接收用户实施的相关操作并响应。主控设备可以通过自身的显示装置展示调试控制界面,接收用户实施在调试控制界面上的操作并响应。
在步骤S2200之后,进入:
步骤S2300,通过调试控制界面,接收对目标受控设备的调试操作,生成对应的调试指令,通过调试服务器以适配目标调试接口的格式发送至目标受控设备,控制目标受控设备执行与调试指令对应的受控调试操作。
在本实施例中,调试操作是用户实施的、期望对目标受控设备实施调试控制涉及的人机交互操作,可以包括点击操作、滑动操作、按压操作(例如长按操作)、拖拽操作、home键点击、键盘输入操作等。
通过主控设备的提供调试控制界面供用户实施调试操作,根据该调试操作生成对应的调试指令,通过调试服务器以适配目标调试接口的格式发送至目标受控设备,经由调试服务器实现模拟与目标受控设备建立基于目标调试接口的连接,以此实现对目标受控设备的远程调试控制,提升调试效率。
在一个例子中,目标主控设备生成对应的调试指令,通过调试服务器以适配所述目标调试接口的格式发送至目标受控设备,控制目标受控设备执行与调试指令对应的受控调试操作的步骤,可以如图4所示,包括:步骤S2310-S2320。
步骤S2310,根据目标操作系统提供的触摸操作接口,生成与调试操作对应的调试指令。
目标操作系统是具有封闭性的操作系统。例如,目标操作系统可以是iOS系统等。
在本实施例中,目标操作系统提供触摸操作接口,通过触摸操作接口,目标受控设备可以根据所接收模拟触摸操作的指令(模拟用户真实在目标受控设备的显示或输入装置上实施触摸操作后生成的指令),作出相应的操作。不同的操作系统提供的触摸操作接口不同,例如,iOS系统作为目标操作系统,是通过调试套件里的触摸接口实现本实施例的触摸操作接口。
根据目标操作系统提供的触摸操作接口,生成与调试操作对应的调试指令,可以结合后续步骤,通过调试服务器以适配所述目标调试接口的格式发送至目标受控设备,可以将用户实施在主控设备上的调试操作,转化为适配目标受控设备的调试指令,控制目标受控设备执行与调试操作对应的受控操作,使得可以突破目标操作系统的封闭性限制,实现远程调试。
应当理解的是,上述描述仅是举例说明,在本例中,调试受控操作也可以是与调试操作不同的操作,例如,调试控制界面接收的调试操作是用户点击“模拟滑动操作”按钮的操作,对应的受控调试操作的模拟滑动操作。
步骤S2320,将调试指令通过调试服务器以适配目标调试接口的格式发送至目标受控设备,通过触摸操作接口,控制目标受控设备执行受控调试操作。
在本例中,受控调试操作包括模拟触摸操作。模拟触摸操作至少包括模拟点击操作、模拟滑动操作、模拟按压操作、模拟拖拽操作、模拟home键点击操作、模拟键盘输入操作其中之一。
通过调试服务器以适配目标调试接口的格式的调试指令发送至目标受控设备,可以使得目标受控设备模拟从目标调试接口接收主控设备发送的调试指令,控制目标受控设备执行与调试操作对应的受控操作,可以突破目标操作系统的封闭性限制,实现远程调试。
以上已经结合例子说明图2所示的调试控制方法。在另一个例子中,本实施例中提供的调试控制方法还可以如图5所示,包括:
步骤S2400,通过调试服务器,接收目标受控设备执行受控调试操作后返回对应的调试结果数据以通过调试控制界面展示对应的调试结果。
在本实施例中,调试结果数据的格式适配目标调试接口,可以使得主控设备模拟从目标调试接口接收目标受控设备返回的测试结果数据,突破目标操作系统的封闭性限制,实现远程调试。
通过调试控制界面接收用户实施的调试操作后,再通过调试控制界面展示与调试操作对应的受控调试操作执行后的调试结果,用户可以通过主控设备直观察看受控设备的调试结果表象,获取“所测即所得”的调试体验。
在一个例子中,调试结果数据可以是目标受控设备在执行受控调试操作后通过自身的显示装置展示的与操作结果相关的实时显示数据。具体地,该实时显示数据,可以是目标受控设备的显示装置的实时截屏数据。
主控设备接收与操作结果相关的实时显示数据后,可以通过调试控制界面同步展示受控设备上展示的实时显示数据,给予用户“在主控设备上实施的调试操作直接实施在目标受控设备上”的模拟真实的调试控制体验,使得用户更为直观、真实地观察受控设备上的调试结果表象,进一步提升“所测即所得”的体验。
在实际应用中,主控设备接收调试结果数据时传输的数据量可能会比较大。例如,调试结果数据是受控设备的实时截屏数据时,主控设备需要较多流量才能接收调试结果数据。因此,在本例中,调试结果数据还可以是目标受控设备在执行受控调试操作后通过预设的数据压缩算法处理后的操作结果数据。
该数据压缩算法可以根据具体的应用场景或者应用需求设置,例如,针对调试结果数据是受控设备的实时截屏数据时,可以选取高速的图片压缩处理算法,比如离散余弦变换算法。通过数据压缩算法处理后,可以极大降低传输调试结果数据消耗的流量,加快传输调试结果数据的速度,使得用户可以更快速地获取调试结果,提升调试效率。
<主控设备>
在本例中,还提供一种主控设备200,如图6所示,包括:
显示装置210,用于展示人机交互界面;
存储器220,用于存储可执行指令;
处理器230,用于根据所述可执行指令的控制,运行主控设备200执行本实施例中任意一项所述的调试控制方法。
在本实施例中,主控设备200还可以包括其他的装置或者模块,例如,如图1所示的主控设备1100。
在本实施例中,主控设备200并不局限于实体实施形式,主控设备200可以是计算机、刀片服务器、云端服务器、服务器群组等。主控设备200还可以将部分功能通过外部设备实现,例如,主控设备200可以外设通信服务器,用于管理主控设备与多个受控设备之间的通信连接;主控设备200可以外设信息服务器,用于协助主控设备200管理多个受控设备的设备信息,等等。
本领域技术人员应当明白,可以通过各种方式来实现主控设备200。例如,可以通过指令配置处理器来实现主控设备200。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现主控设备200。例如,可以将主控设备200固化到专用器件(例如ASIC)中。可以将主控设备200分成相互独立的单元,或者可以将它们合并在一起实现。主控设备200可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图描述了本实施例,根据本实施例,提供一种调试控制方法及主控设备,通过主控设备从建立通信连接的调试服务器获取用于调试的支持具有封闭性的目标操作系统的候选被控设备,供用户从候选被控设备中选择符合调试需求的目标受控设备,提供调试控制界面接收对目标受控设备的调试操作,生成对应的调试指令,通过调试服务器以适配目标调试接口的格式发送至目标受控设备,控制目标受控设备执行与调试指令对应的受控调试操作,无需通过目标操作系统支持的目标调试接口与受控设备建立直接连接就能对受控设备进行调试,突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
<第二实施例>
<方法>
在本实施例中,提供一种调试控制方法,通过调试服务器实施。
该调试服务器可以任意具有处理器和控制器的电子设备,例如,可以是台式计算机、刀片服务器、云端服务器等。在一个例子中,主控设备可以是图1所示的主控设备1300。
在本实施例中,调试服务器与至少一个支持具有封闭性的目标操作系统的受控设备通过目标操作系统支持的用于调试的目标调试接口建立连接。
操作系统是是管理和控制受控设备的硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件产品或者应用程序都必须在操作系统的支持下才能运行。
在本实施例中,目标操作系统是具有封闭性的操作系统,即支持目标操作系统的受控设备,只能通过与对应的支持基于目标操作系统进行调试的主控设备建立直接连接后实现调试,例如,目标操作系统是iOS操作系统,支持iOS操作系统的手机,只能通过USB接口与苹果电脑连接后,通过苹果电脑对支持iOS操作系统的手机进行调试。
目标操作系统支持用于调试的目标调试接口。该目标调试接口是用于传输调试过程中产生的指令、数据的接口。例如,目标操作系统是iOS操作系统,可以支持通过USB接口进行调试。
调试服务器通过目标调试接口与受控设备建立连接,使得可以通过本实施例中提供的调试控制方法,配合主控设备突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
调试服务器与主控设备之间建立通信连接。该通信连接可以是广域网或者局域网通信连接。在本实施例中,调试服务器与主控设备之间无需基于目标操作系统支持的目标调试接口建立连接,而是可以根据实际调试需求选择与调试服务器之间建立通信距离满足需求的通信连接,基于该通信连接,通过本实施例中提供的调试控制方法,调试服务器可以配合主控设备对被控设备进行调试控制,突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
该调试控制方法,如图7所示,包括:步骤S3100-S3300。
步骤S3100,确定已建立连接的受控设备,以提供给主控设备作为可用于调试的候选受控设备。
调试服务器与至少一个被控设备通过目标调试接口连接,调试服务器可以通过目标调试接口建立连接的受控设备提供给主控设备,作为候选被控设备。
在一个例子中,确定已建立连接的受控设备,以提供给主控设备作为可用于调试的候选受控设备的步骤,如图8所示,包括:步骤S3110-S3130。
步骤S3110,获取已建立连接的受控设备的设备信息。
在本例中,调试服务器可以通过与受控设备建立连接的目标调试接口获取对应的受控设备的设备信息。
设备信息是与设备验证请求对应的被控设备的相关信息,可以包含在设备验证请求中,通过解析设备验证请求可以获取。设备信息至少包括被控设备的设备标识以及与目标调试接口对应的通信端口号。
设备标识是用于唯一标识被控设备的标识,可以是设备的出厂编号、设备编号等。
与目标调试接口对应的通信端口号是被控设备提供的、用于与外部设备(调试服务器或者主控设备)通过目标调试接口建立通信通道的通信端口号,以便标识被控设备与与外部设备(调试服务器或者主控设备)之间的通信端口。
例如,目标操作系统是iOS操作系统,受控设备是支持iOS操作系统的手机,目标调试接口是USB接口,设备验证请求中携带的注册信息可以包括设备标识DeviceID以及通信端口号PortNumber,假设受控设备提供的PortNumber是32498,那么外部设备可以通过32498这个通信端口,与受控设备之间建立基于USB接口的通信通道。
步骤S3120,根据设备信息生成对应的、适配目标调试接口的设备验证请求。
在本例中,设备验证请求根据设备信息生成,可以在具体的请求内容中包括或者携带设备信息。设备验证请求适配目标调试接口,可以在结合后续步骤将设备验证请求发送给主控设备时,对主控设备模拟从目标调试接口发送设备验证请求,以配合实现主控设备与受控设备之间的模拟的基于目标调试接口的直接连接。
步骤S3130,通过通信连接将设备验证请求发送给主控设备,以触发主控设备执行将与设备验证请求对应的被控设备识别为候选被控设备的步骤。
主控设备执行将与设备验证请求对应的被控设备识别为候选被控设备的步骤在第一实施例中已经详细描述,在此不再赘述。
在本例中,调试服务器通过与主控设备之间、不是通过目标调试接口建立的通信连接,将适配目标调试接口的格式的设备验证请求发送给主控设备,使得主控设备可以被触发将该设备验证请求识别为是从目标调试接口接收的设备验证请求,模拟实现与设备验证请求对应的受控设备通过目标调试接口建立直接连接。
例如,目标操作系统是iOS操作系统,iOS操作系统支持的目标调试接口是USB接口,主控设备是苹果电脑,调试服务器可以通过与苹果电脑建立的广域网通信连接,发送适配USB接口的格式的设备验证请求,通过苹果系统提供的IOKit中的IOUSBLib开放接口,将设备验证请求传输入主控设备的实际USB接口中,实现模拟从USB接口中接收到设备验证请求,以此触发主控设备能突破目标操作系统的封闭性的限制,识别并未实际通过目标调试接口与其建立直接连接的受控设备为候选受控设备,提供给用户选择,以满足用户个性化的远程调试需求。
以上已经结合附图和例子说明了图7中的步骤S3100,之后进入:
步骤S3200,通过通信连接从主控设备接收的调试指令。
该调试指令由主控设备生成,具体的生成步骤在第一实施例中已经详细描述,在此不再赘述。
调试服务器通过通信连接从主控设备接收用于控制受控设备进行调试的调试指令,而无需通过与主控设备间通过目标操作系统支持的目标调试接口建立直接连接来接收调试指令,可以结合后续步骤,突破目标操作系统的封闭性的限制,配合主控设备实现对受控设备的远程调试控制。
在步骤S3200之后,进入:
步骤S3300,将调试指令以适配目标调试接口的格式,发送给与调试指令对应的目标受控设备,以控制目标受控设备执行与调试指令对应的受控调试操作。
以适配目标调试接口的格式的调试指令发送至目标受控设备,可以使得目标受控设备模拟从目标调试接口接收主控设备发送的调试指令,配合主控设备控制目标受控设备执行与调试操作对应的受控操作,可以突破目标操作系统的封闭性限制,实现远程调试。
以上已经结合例子说明图7所示的调试控制方法。在另一个例子中,本实施例中提供的调试控制方法还可以如图9所示,包括:
步骤S3400,接收目标受控设备执行受控调试操作后返回对应的调试结果数据,通过通信连接发送给与调试结果数据对应的所述主控设备。
在本实施例中,调试结果数据的格式适配目标调试接口,通过调试服务器以通信连接发送给主控设备,可以使得主控设备模拟从目标调试接口接收目标受控设备返回的测试结果数据,突破目标操作系统的封闭性限制,实现远程调试。
<调试服务器>
在本例中,还提供一种调试服务器300,如图10所示,包括:
存储器310,用于存储可执行指令;
处理器320,用于根据所述可执行指令的控制,运行调试服务器300执行本实施例中任意一项所述的调试控制方法。
在本实施例中,调试服务器300还可以包括其他的装置或者模块,例如,如图1所示的主控设备1300。
在本实施例中,调试服务器300并不局限于实体实施形式,调试服务器300可以是计算机、刀片服务器、云端服务器、服务器群组等。调试服务器300还可以将部分功能通过外部设备实现,例如,调试服务器300可以外设通信服务器,用于管理主控设备与多个受控设备之间的通信连接;调试服务器300可以外设信息服务器,用于协助调试服务器300管理多个受控设备的设备信息,等等。
本领域技术人员应当明白,可以通过各种方式来实现调试服务器300。例如,可以通过指令配置处理器来实现调试服务器300。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现调试服务器300。例如,可以将调试服务器300固化到专用器件(例如ASIC)中。可以将调试服务器300分成相互独立的单元,或者可以将它们合并在一起实现。调试服务器300可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图描述了本实施例,根据本实施例,提供一种调试控制方法及调试服务器,通过调试服务器与支持具有封闭性的目标操作系统的受控设备通过目标操作系统支持的目标调试接口建立连接,将建立连接的受控设备提供给与其建立通信连接的主控设备作为候选受控设备,将从主控设备接收的调试指令,以适配目标调试接口的格式,发送给与调试指令对应的目标受控设备,以控制目标受控设备执行与调试指令对应的受控调试操作,使得主控该设备无需通过目标操作系统支持的目标调试接口与受控设备建立直接连接就能对受控设备进行调试,突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
<第三实施例>
<方法>
在本实施例中,提供一种调试控制方法,通过受控设备实施。
该受控设备可以任意具有显示装置、处理器和控制器的电子设备,例如,可以是手机、掌上电脑、平板电脑、笔记本电脑、台式计算机等。在一个例子中,受控设备可以是图1所示的受控设备1200。
受控设备支持具有封闭性的目标操作系统。
操作系统是是管理和控制受控设备的硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件产品或者应用程序都必须在操作系统的支持下才能运行。
在本实施例中,目标操作系统是具有封闭性的操作系统,即支持目标操作系统的受控设备,只能通过与对应的支持基于目标操作系统进行调试的主控设备建立直接连接后实现调试,例如,目标操作系统是iOS操作系统,支持iOS操作系统的手机,只能通过USB接口与苹果电脑连接后,通过苹果电脑对支持iOS操作系统的手机进行调试。
目标操作系统支持用于调试的目标调试接口。该目标调试接口是用于传输调试过程中产生的指令、数据的接口。例如,目标操作系统是iOS操作系统,可以支持通过USB接口进行调试。
受控设备通过目标操作系统支持的用于调试的目标调试接口与调试服务器建立连接,使得可以通过本实施例中提供的调试控制方法,经由调试服务器配合主控设备突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
该调试控制方法,如图11所示,包括:步骤S4100-S4200。
步骤S4100,通过调试服务器,接收主控设备发送的、适配目标调试接口的格式的调试指令,执行与调试指令对应的受控调试操作。
该调试指令是主控设备根据目标操作系统的触摸操作接口生成的指令,具体生成步骤在第一实施例中详细描述,在此不再赘述。
经由调试服务器接收来自主控服务器的、以适配目标调试接口的格式的调试指令,可以模拟从目标调试接口接收主控设备发送的调试指令,配合主控设备控制目标受控设备执行与调试操作对应的受控操作,可以突破目标操作系统的封闭性限制,实现远程调试。
在一个例子中,执行与所述调试指令对应的受控调试操作的步骤包括:
根据调试指令的控制,通过目标操作系统提供的触摸操作接口,执行受控调试操作,
其中,受控调试操作包括模拟触摸操作。模拟触摸操作至少包括模拟点击操作、模拟滑动操作、模拟按压操作、模拟拖拽操作、模拟home键点击操作、模拟键盘输入操作其中之一。
目标操作系统是具有封闭性的操作系统。例如,目标操作系统可以是iOS系统等。在本实施例中,目标操作系统提供触摸操作接口,通过触摸操作接口,目标受控设备可以根据所接收模拟触摸操作的指令(模拟用户真实在目标受控设备的显示或输入装置上实施触摸操作后生成的指令),作出相应的操作。不同的操作系统提供的触摸操作接口不同,例如,iOS系统作为目标操作系统,是通过调试套件里的触摸接口实现本实施例的触摸操作接口。
经由调试服务器接收来自主控设备的、以适配目标调试接口的格式发送的调试指令,受控设备可以模拟从目标调试接口接收主控设备发送的调试指令,接收调试指令的控制,通过触摸操作接口执行受控调试操作,模拟用户直接通过触摸操作实施于自身的调试控制,在突破目标操作系统的封闭性限制实现远程调试的同时,进一步提升用户的调试控制体验。
步骤S4200,执行受控调试操作后,通过调试服务器以适配目标调试接口的格式,向主控设备返回对应的调试结果数据。
将执行受控调试操作后得到调试结果数据,以适配目标调试接口的格式,经由调试服务器返回主控设备,可以使得主控设备模拟从目标调试接口直接接收调试控制后返回的测试结果数据,突破目标操作系统的封闭性限制,实现远程调试。
在一个例子中,调试结果数据可以是受控设备在执行受控调试操作后通过自身的显示装置展示的与操作结果相关的实时显示数据。具体地,该实时显示数据,可以是目标受控设备的显示装置的实时截屏数据。主控设备接收与操作结果相关的实时显示数据后,可以通过调试控制界面同步展示受控设备上展示的实时显示数据,给予用户“在主控设备上实施的调试操作直接实施在目标受控设备上”的模拟真实的调试控制体验,使得用户更为直观、真实地观察受控设备上的调试结果表象,进一步提升“所测即所得”的体验。
在实际应用中,传输调试结果数据的数据量可能会比较大,对于传输带宽有较高的要求。例如,调试结果数据是受控设备的实时截屏数据时,主控设备需要较多流量才能从受控设备接收其传输的调试结果数据。因此,在本例中,调试结果数据还可以是受控设备在执行受控调试操作后通过预设的数据压缩算法处理后的操作结果数据。
该数据压缩算法可以根据具体的应用场景或者应用需求设置,例如,针对调试结果数据是受控设备的实时截屏数据时,可以选取高速的图片压缩处理算法,比如离散余弦变换算法。通过数据压缩算法处理后,可以极大降低传输调试结果数据消耗的流量,加快传输调试结果数据的速度,使得用户可以更快速地获取调试结果,提升调试效率。
<受控设备>
在本实施例中,还提供一种受控设备400,如图12所示,包括:
显示装置410,用于展示人机交互界面;
存储器420,用于存储可执行指令;
处理器430,用于根据所述可执行指令的控制,运行所述受控设备400执行本实施例中提供的任意一项的调试控制方法。
在本实施例中,受控设备400还可以包括其他的装置或者模块,例如,如图1所示的受控设备1200。受控设备也可以具有多种实体形式,例如,受控设备可以是手机、平板电脑、掌上电脑、台式计算机等。
本领域技术人员应当明白,可以通过各种方式来实现受控设备400。例如,可以通过指令配置处理器来实现受控设备400。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现受控设备400。例如,可以将受控设备400固化到专用器件(例如ASIC)中。可以将受控设备400分成相互独立的单元,或者可以将它们合并在一起实现。受控设备400可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图描述了本实施例,根据本实施例,提供一种调试控制方法及受控设备,通过支持具有封闭性的目标操作系统的受控设备与调试服务器通过目标操作系统支持的目标调试接口建立连接,受控设备可以经由调试服务器接收来自主控设备的、适配目标调试接口的格式的调试指令,接受控制执行与调试指令对应的受控调试操作,使得主控设备无需通过目标操作系统支持的目标调试接口与受控设备建立直接连接就能对受控设备进行调试,突破目标操作系统的封闭性限制,实现基于目标操作系统的远程调试,提高调试效率。
<第四实施例>
在本实施例中,提供一种调试系统500,如图13所示,包括:
第一实施例中提供的主控设备200;
第二实施例中提供的调试服务器300;
第三实施例中提供的受控设备400。
在本实施例中,调试系统500还可以包括其他设备,例如,还可以包括通信服务器,用于管理主控设备200与调试服务器300之间的通信连接;或者,还可以包括信息服务器,用于协助主控设备200管理受控设备400;或者,还可以包括云存储节点,用于缓存大容量的数据提供下载等等。
在一个例子中,调试系统500中的主控设备还可以是如图1所示的调试系统1000。
以下将结合图14举例进一步说明通过本实施例中的调试系统500实施的调试控制方法。
在图14所示的例子中,调试系统500中,主控设备200是苹果电脑用于对iOS操作系统的手机进行调试,被控设备400是支持iOS操作系统的苹果手机,主控设备200与调试服务器300建立互联网连接,调试服务器300与多个被控设备400通过iOS系统支持的、用于调试的USB接口建立连接。
该调试控制方法,如图14所示,包括:步骤S401-S407。
步骤S401,主控设备200通过调试服务器300获取可以用于调试的候选被控设备,通过显示装置展示候选受控设备给用户选择。
步骤S402,主控设备200接收用户实施设备选择操作,确定目标受控设备400。
步骤S403,主控设备200提供调试控制界面,接收用户实施的调试操作。
步骤S404,目标主控设备200生成与调试操作对应的调试指令,通过调试服务器300,以适配目标调试接口的格式发送至目标受控设备400。
步骤S405,目标受控设备400根据调试指令,执行受控调试操作。
步骤S406,目标受控设备400将受控调试操作的调试结果数据通过调试服务器400,以适配目标调试接口的格式返回给目标主控设备200。
步骤S407,目标主控设备200根据调试结果数据通过调试控制界面展示对应的调试结果。
本例中涉及的步骤具体实施方式在第一、二、三实施例中已经详细描述,在此不再赘述。
在本例中,主控设备200以及受控设备400都是对应或者支持具有封闭性的iOS操作系统的设备,主控设备200可以通过与调试服务器300建立的互联网连接,经由调试服务器300对受控设备400实施调试控制,而无需与受控设备400直接通过iOS操作系统支持用于调试的USB接口建立直接连接才能实现调试控制,突破iOS操作系统的封闭性限制,实现基于iOS系统的远程调试控制,提升调试效率。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (14)
1.一种调试控制方法,其中,通过主控设备实施,所述主控设备用于调试支持具有封闭性的目标操作系统的被控设备,所述目标操作系统支持用于调试的目标调试接口,所述主控设备与调试服务器之间建立通信连接,所述方法包括:
通过所述调试服务器,获取可用于调试的候选被控设备,以展示所述候选被控设备供用户选择;
其中,所述候选被控设备支持所述目标操作系统;
根据所接收的设备选择操作,确定与所述设备选择操作对应的所述候选被控设备为目标受控设备,以提供与所述目标受控设备对应的调试控制界面;
通过所述调试控制界面,接收对所述目标受控设备的调试操作,生成对应的调试指令,通过所述调试服务器以适配所述目标调试接口的格式发送至目标受控设备,控制所述目标受控设备执行与所述调试指令对应的受控调试操作。
2.根据权利要求1所述的方法,其中,
所述通过所述调试服务器,获取可用于调试的候选被控设备的步骤包括:
通过所述通信连接,接收所述调试服务器发送的、适配所述目标调试接口的格式的设备验证请求;
从所述设备验证请求中获取设备信息,以根据所述设备信息对与所述设备验证请求对应的被控设备执行设备验证;
其中,所述设备信息至少包括所述被控设备的设备标识以及与所述目标调试接口对应的通信端口号;
将验证通过的所述被控设备,识别为所述候选被控设备。
3.根据权利要求1所述的方法,其中,
所述生成对应的调试指令,通过所述调试服务器以适配所述目标调试接口的格式发送至目标受控设备,控制所述目标受控设备执行与所述调试指令对应的受控调试操作的步骤包括:
根据所述目标操作系统提供的触摸操作接口,生成与所述调试操作对应的调试指令;
将所述调试指令通过所述调试服务器以适配所述目标调试接口的格式发送至所述目标受控设备,通过所述触摸操作接口,控制所述目标受控设备执行所述受控调试操作,
其中,所述受控调试操作包括模拟触摸操作,所述模拟触摸操作至少包括模拟点击操作、模拟滑动操作、模拟按压操作、模拟拖拽操作、模拟home键点击操作、模拟键盘输入操作其中之一。
4.根据权利要求1所述的方法,其中,还包括:
通过所述调试服务器,接收所述目标受控设备执行所述受控调试操作后返回对应的调试结果数据以通过所述调试控制界面展示对应的调试结果;
其中,所述调试结果数据的格式适配所述目标调试接口。
5.一种调试控制方法,其中,通过调试服务器实施,所述调试服务器与至少一个支持具有封闭性的目标操作系统的受控设备通过所述目标操作系统支持的用于调试的目标调试接口建立连接,所述调试服务器与至少一个主控设备建立通信连接,所述方法包括:
确定已建立连接的受控设备,以提供给所述主控设备作为可用于调试的候选受控设备;
通过所述通信连接从所述主控设备接收的调试指令;
将所述调试指令以适配所述目标调试接口的格式,发送给与所述调试指令对应的目标受控设备,以控制所述目标受控设备执行与所述调试指令对应的受控调试操作。
6.根据权利要求5所述的方法,其中,所述确定已建立连接的受控设备,以提供给所述主控设备作为可用于调试的候选受控设备的步骤包括:
获取所述已建立连接的受控设备的设备信息;
其中,所述设备信息至少包括所述受控设备的设备标识以及与所述目标调试接口对应的通信端口号;
根据所述设备信息生成对应的、适配所述目标调试接口的设备验证请求;
通过所述通信连接将所述设备验证请求发送给所述主控设备,以触发所述主控设备执行将与所述设备验证请求对应的所述被控设备识别为所述候选被控设备的步骤。
7.根据权利要求5所述的方法,其中,所述方法还包括:
接收所述目标受控设备执行所述受控调试操作后返回对应的调试结果数据,通过所述通信连接发送给与所述调试结果数据对应的所述主控设备;
其中,所述调试结果数据的格式适配所述目标调试接口。
8.一种调试控制方法,其中,通过受控设备实施,所述受控设备支持具有封闭性的目标操作系统,所述受控设备通过目标操作系统支持的用于调试的目标调试接口与调试服务器建立连接,所述方法包括:
通过所述调试服务器,接收主控设备发送的、适配所述目标调试接口的格式的调试指令,执行与所述调试指令对应的受控调试操作;
执行所述受控调试操作后,通过所述调试服务器以适配所述目标调试接口的格式,向所述主控设备返回对应的调试结果数据。
9.根据权利要求8所述的方法,其中,所述执行与所述调试指令对应的受控调试操作的步骤包括:
根据所述调试指令的控制,通过所述目标操作系统提供的触摸操作接口,执行所述受控调试操作,
其中,所述受控调试操作包括模拟触摸操作,所述模拟触摸操作至少包括模拟点击操作、模拟滑动操作、模拟按压操作、模拟拖拽操作、模拟home键点击操作、模拟键盘输入操作其中之一。
10.根据权利要求8所述的方法,其中,
所述调试结果数据是在执行所述受控调试操作后在自身的显示装置展示的与操作结果相关的实时显示数据;
和/或,
所述调试结果数据是在执行所述受控调试操作后通过预设的数据压缩算法处理的操作结果数据。
11.一种主控设备,其中,包括:
显示装置,用于展示人机交互界面;
存储器,用于存储可执行指令;
处理器,用于根据所述可执行指令的控制,运行所述主控设备执行如权利要求1-4中任意一项所述的调试控制方法。
12.一种调试服务器,其中,包括:
存储器,用于存储可执行指令;
处理器,用于根据所述可执行指令的控制,运行所述调试服务器执行如权利要求5-7中任意一项所述的调试控制方法。
13.一种受控设备,其中,包括:
显示装置,用于展示人机交互界面;
存储器,用于存储可执行指令;
处理器,用于根据所述可执行指令的控制,运行所述受控设备执行如权利要求8-10中任意一项所述的调试控制方法。
14.一种调试系统,其中,包括:
如权利要求11所述的主控设备;
如权利要求12所述的调试服务器;
以及如权利要求13所述的受控设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033444.XA CN110879676A (zh) | 2018-09-05 | 2018-09-05 | 调试控制方法、主控设备、调试服务器、被控设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033444.XA CN110879676A (zh) | 2018-09-05 | 2018-09-05 | 调试控制方法、主控设备、调试服务器、被控设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110879676A true CN110879676A (zh) | 2020-03-13 |
Family
ID=69727570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811033444.XA Pending CN110879676A (zh) | 2018-09-05 | 2018-09-05 | 调试控制方法、主控设备、调试服务器、被控设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110879676A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786961A (zh) * | 2020-06-10 | 2020-10-16 | 杭州海康威视系统技术有限公司 | 远程连接iOS设备的方法、装置、和设备 |
CN112069008A (zh) * | 2020-09-02 | 2020-12-11 | 深圳创维-Rgb电子有限公司 | 设备调试信息获取方法、装置和设备调试信息生成方法 |
CN112265879A (zh) * | 2020-10-16 | 2021-01-26 | 苏州汇川技术有限公司 | 电梯控制系统及其调试方法、调试设备及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286883A (zh) * | 2008-05-04 | 2008-10-15 | 杭州华三通信技术有限公司 | 分布式设备中设备板卡的集中调试系统及集中调试方法 |
CN102917146A (zh) * | 2012-11-01 | 2013-02-06 | 余姚市供电局 | 一种升级调试电力巡检手持设备的方法和中间通信设备 |
US20130339790A1 (en) * | 2012-06-18 | 2013-12-19 | Sankaran M. Menon | APPARATUS, SYSTEM AND METHOD FOR A COMMON UNIFIED DEBUG ARCHITECTURE FOR INTEGRATED CIRCUITS AND SoCs |
CN103902358A (zh) * | 2014-03-18 | 2014-07-02 | 北京领通科技有限公司 | 移动终端的远程调试方法、系统及移动终端 |
CN104093080A (zh) * | 2014-06-27 | 2014-10-08 | 四川长虹电器股份有限公司 | 智能电视机远程调试系统及方法 |
US20140331089A1 (en) * | 2013-05-03 | 2014-11-06 | International Business Machines Corporation | Enabling remote debugging of virtual machines running in a cloud environment |
CN104484268A (zh) * | 2014-11-21 | 2015-04-01 | 厦门美图移动科技有限公司 | 一种调试方法和移动终端 |
CN105808399A (zh) * | 2016-03-14 | 2016-07-27 | 百度在线网络技术(北京)有限公司 | 一种远程调试的方法和装置 |
CN105915628A (zh) * | 2016-05-31 | 2016-08-31 | 珠海金山网络游戏科技有限公司 | 一种手机系统远程控制调试方法、系统和装置 |
CN107590036A (zh) * | 2017-08-11 | 2018-01-16 | 北京奇虎科技有限公司 | 安卓设备的远程调试方法、服务器和系统 |
-
2018
- 2018-09-05 CN CN201811033444.XA patent/CN110879676A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286883A (zh) * | 2008-05-04 | 2008-10-15 | 杭州华三通信技术有限公司 | 分布式设备中设备板卡的集中调试系统及集中调试方法 |
US20130339790A1 (en) * | 2012-06-18 | 2013-12-19 | Sankaran M. Menon | APPARATUS, SYSTEM AND METHOD FOR A COMMON UNIFIED DEBUG ARCHITECTURE FOR INTEGRATED CIRCUITS AND SoCs |
CN102917146A (zh) * | 2012-11-01 | 2013-02-06 | 余姚市供电局 | 一种升级调试电力巡检手持设备的方法和中间通信设备 |
US20140331089A1 (en) * | 2013-05-03 | 2014-11-06 | International Business Machines Corporation | Enabling remote debugging of virtual machines running in a cloud environment |
CN103902358A (zh) * | 2014-03-18 | 2014-07-02 | 北京领通科技有限公司 | 移动终端的远程调试方法、系统及移动终端 |
CN104093080A (zh) * | 2014-06-27 | 2014-10-08 | 四川长虹电器股份有限公司 | 智能电视机远程调试系统及方法 |
CN104484268A (zh) * | 2014-11-21 | 2015-04-01 | 厦门美图移动科技有限公司 | 一种调试方法和移动终端 |
CN105808399A (zh) * | 2016-03-14 | 2016-07-27 | 百度在线网络技术(北京)有限公司 | 一种远程调试的方法和装置 |
CN105915628A (zh) * | 2016-05-31 | 2016-08-31 | 珠海金山网络游戏科技有限公司 | 一种手机系统远程控制调试方法、系统和装置 |
CN107590036A (zh) * | 2017-08-11 | 2018-01-16 | 北京奇虎科技有限公司 | 安卓设备的远程调试方法、服务器和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786961A (zh) * | 2020-06-10 | 2020-10-16 | 杭州海康威视系统技术有限公司 | 远程连接iOS设备的方法、装置、和设备 |
CN112069008A (zh) * | 2020-09-02 | 2020-12-11 | 深圳创维-Rgb电子有限公司 | 设备调试信息获取方法、装置和设备调试信息生成方法 |
CN112265879A (zh) * | 2020-10-16 | 2021-01-26 | 苏州汇川技术有限公司 | 电梯控制系统及其调试方法、调试设备及可读存储介质 |
CN112265879B (zh) * | 2020-10-16 | 2022-05-27 | 苏州汇川技术有限公司 | 电梯控制系统及其调试方法、调试设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018040943A1 (zh) | 显示数据的控制方法、装置和系统 | |
CN108345543B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
KR20140144104A (ko) | 전자기기 및 이의 서비스 제공 방법 | |
US10637804B2 (en) | User terminal apparatus, communication system, and method of controlling user terminal apparatus which support a messenger service with additional functionality | |
US10503341B2 (en) | Usability analysis for user interface based systems | |
CN110879676A (zh) | 调试控制方法、主控设备、调试服务器、被控设备及系统 | |
JP6434640B2 (ja) | メッセージ表示方法、メッセージ表示装置、およびメッセージ表示デバイス | |
KR20140120196A (ko) | 전자 장치에서 메시지를 전송하기 위한 장치 및 방법 | |
CN107509051A (zh) | 远程控制方法、装置、终端及计算机可读存储介质 | |
CN111368180A (zh) | 页面展示方法、装置及电子设备 | |
WO2024066754A1 (zh) | 交互控制方法、装置及电子设备 | |
US20160011882A1 (en) | Resource advisor for automated bare-metal operating system installation | |
CN108282542A (zh) | 用于测试设备的远程操作方法和装置 | |
US20200019293A1 (en) | Automated modification of graphical user interfaces | |
KR20170014589A (ko) | 번역 서비스를 제공하는 사용자 단말 장치 및 그 제어 방법 | |
US10958726B2 (en) | Method of synchronizing device list in a smart network system, apparatus, and computer storage medium thereof | |
CN111782382A (zh) | 任务处理方法及装置、存储介质及电子设备 | |
CN109376085B (zh) | 测试用例生成方法、装置及计算机可读存储介质 | |
CN111124874B (zh) | 调试网页的方法、调试服务器以及主控设备 | |
CN110858175A (zh) | 测试控制方法、主控设备、被控设备及测试系统 | |
CN110865818B (zh) | 应用关联域名的检测方法、装置及电子设备 | |
CN112131092A (zh) | 页面调试方法和装置 | |
TW201435736A (zh) | 支援作業系統共用的系統及共用方法 | |
CN111162960B (zh) | 启动调试面板的方法和服务器 | |
CN114745313A (zh) | 终端远程测试方法、装置、电子设备和可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200527 Address after: 310051 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 100083, Beijing, Haidian District, Cheng Fu Road, No. 28, A building, block 12 Applicant before: UC MOBILE Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200313 |
|
RJ01 | Rejection of invention patent application after publication |