应用调试方法、装置及系统与流程

文档序号:11778513阅读:179来源:国知局
应用调试方法、装置及系统与流程

本发明涉及计算机技术领域,尤其涉及一种应用调试方法、装置及系统。



背景技术:

随着服务器和网络的发展,桌面虚拟化技术的应用越来越广泛,但是在推广过程中,虚拟化技术也带来了一些新的问题。在开发平台通过云桌面对应用进行开发和调试的过程中,主要遇到以下问题:

1、利用智能设备(如手机)连接数据线进行应用调试时,经常遇到各种驱动无法兼容,导致应用调试失败的问题;

2、在开发平台的云桌面使用模拟器进行应用调试时,由于云桌面加载并运行模拟器比较消耗性能,导致云桌面非常不流畅,从而影响应用调试的效率。



技术实现要素:

本发明的主要目的在于提出一种应用调试方法、装置及系统,旨在解决传统的应用调试方式,容易出现应用调试失败或调试效率低的技术问题。

为实现上述目的,本发明提供的一种应用调试方法,应用于vdi终端,所述vdi终端安装有应用,所述应用调试方法包括:

vdi终端基于建立的数据通道,监听云桌面发送的调试请求;

基于所述调试请求,在应用中获取对应的调试数据;

通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。

优选地,所述vdi终端基于建立的数据通道,监听云桌面发送的调试请求的步骤之前,所述应用调试方法还包括:

确定待建立数据通道的方式;

基于确定的方式,建立所述vdi终端的vdi客户端与所述云桌面的vdi代理的数据通道。

优选地,所述vdi终端安装有调试桥服务端,所述基于所述调试请求,在应用中获取对应的调试数据的步骤包括:

将所述调试请求传输至调试桥服务端,由所述调试桥服务端在应用中获取所述调试请求对应的调试数据。

此外,为实现上述目的,本发明还提出一种应用调试装置,应用于服务器,应用于vdi终端,所述vdi终端安装有应用,所述应用调试装置包括:

监听模块,用于基于建立的数据通道,监听云桌面发送的调试请求;

获取模块,用于基于所述调试请求,在应用中获取对应的调试数据;

反馈模块,用于通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。

优选地,所述应用调试装置还包括:

确定模块,用于确定待建立数据通道的方式;

建立模块,用于基于确定的方式,建立所述vdi终端的vdi客户端与所述云桌面的vdi代理的数据通道。

优选地,所述vdi终端安装有调试桥服务端,所述获取模块,还用于将所述调试请求传输至调试桥服务端,由所述调试桥服务端在应用中获取所述调试请求对应的调试数据。

此外,为实现上述目的,本发明还提出一种应用调试系统,所述应用调试系统包括vdi终端和云桌面,所述vdi终端如上文所述的应用调试装置,所述云桌面包括:

确定模块,用于根据建立的数据通道,确定待连接的vdi终端;

发送模块,用于通过所述数据通道发送调试请求至所述vdi终端,以供所述vdi终端基于所述调试请求反馈调试数据;

调试模块,用于通过所述数据通道接收到所述vdi终端反馈的调试数据时,执行调试操作。

优选地,所述云桌面安装有调试桥客户端,所述发送模块包括:

接收单元,用于接收所述调试桥客户端传输的调试请求;

发送单元,用于通过所述数据通道将接收到的所述调试请求发送至所述vdi终端。

优选地,所述调试模块,还用于通过所述数据通道接收到所述vdi终端反馈的调试数据时,将所述调试数据传输至所述调试桥客户端,由所述调试桥客户端执行调试操作。

本发明提出的应用调试方法、装置及系统,vdi终端先基于建立的数据通道,监听云桌面发送的调试请求,然后基于所述调试请求,在应用中获取对应的调试数据,最终通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。本发明将应用安装到vdi终端中,以实现云桌面进行应用的调试,由于vdi终端无须安装驱动,避免了因驱动无法兼容而导致应用调试失败的问题,同时也避免了云桌面因运行模拟器导致应用调试卡顿的问题,从而提高了应用开发调试的效率。

附图说明

图1为现有的应用调试架构图;

图2为本发明应用调试方法较佳实施例的流程示意图;

图3为调试桥连接的示意图;

图4为本发明较佳实施场景示意图;

图5为本发明的应用调试架构图;

图6为本发明应用调试装置较佳实施例的功能模块示意图;

图7为本发明应用调试系统较佳实施例的功能模块示意图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的解决方案主要是:vdi终端先基于建立的数据通道,监听云桌面发送的调试请求,然后基于所述调试请求,在应用中获取对应的调试数据,最终通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。以解决传统的应用调试方式,因智能设备的驱动不兼容导致应用调试失败,或因云桌面运行模拟器使得应用调试卡顿,而导致调试效率低的问题。

应当理解,现有技术中,智能设备一般采用数据线连接云桌面的方式,进行应用的调试,由于驱动不兼容容易导致应用调试失败;或者,由云桌面运行模拟器实现应用的调试,由于运行模拟器时调试应用容易卡顿,导致调试效率较低。因此,基于现有技术存在的问题,会考虑智能设备通过tcp(transmissioncontrolprotocol,传输控制协议)连接云桌面进行应用的调试。

但是,利用智能设备连接tcp调试时,需要通过vdi终端进行数据转发以实现应用的调试,如图1所示,但是由于云桌面在隔离网,和vdi终端不在同一网络,容易导致云桌面无法连接上智能设备,而导致应用调试失败。也就是说,即使是将智能设备连接到vdi终端,也容易导致应用调试失败。

基于现有技术存在的问题,本发明提供一种应用调试方法。

参照图2,图2为本发明应用调试方法较佳实施例的流程示意图。

本实施例提出一种应用调试方法,应用于vdi终端,所述vdi终端安装有应用,所述应用调试方法包括:

vdi终端基于建立的数据通道,监听云桌面发送的调试请求;基于所述调试请求,在应用中获取对应的调试数据;通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。

在本实施例中,所述vdi(virtualdesktopinfrastructure,虚拟桌面基础架构)终端包括瘦客户机或普通pc(personalcomputer,个人计算机)等终端,当然,不限于上述两种,只要是能作为vdi客户端的终端均可以作为vdi终端。所述vdi终端需安装操作系统,所述操作系统包括但不限于android系统、windows系统、linu系统x或macosx系统等等。

本实施例中,在所述vdi终端安装应用,所述应用的个数和类型不做限定,可以是android应用、ios应用等,后续基于安装的应用完成应用的调试。下文为了方便理解,安装的应用优选以android应用为例进行讲解。本实施中的所述云桌面,是指开发平台关联,并且在用户终端如在用户电脑上显示的远程桌面。

应当理解,本方案要通过vdi终端实现应用的调试,需要先通过预设技术如usb重定向技术,把vdi终端中的usb驱动重定向到开发平台关联的云桌面,由云桌面将vdi终端当作云桌面的调试设备实现应用的调试。或者,通过socket技术把vdi终端中的tcp/ip模块映射到开发平台关联的云桌面,由云桌面将vdi终端当作云桌面的调试设备实现应用的调试。

在所述“vdi终端基于建立的数据通道,监听云桌面发送的调试请求”步骤之前,所述应用调试方法还包括:

步骤a,确定待建立数据通道的方式;

步骤b,基于确定的方式,建立所述vdi终端的vdi客户端与所述云桌面的vdi代理的数据通道。

其中,待建立数据通道的方式包括但不限于:usb方式、tcp代理协议方式,或udp代理协议方式。本实施例中,所述vdi终端集成有vdi客户端,所述云桌面集成有vdi代理,因此,在确定待建立数据通道的方式之后,即可基于确定的方式,建立所述vdi终端的vdi客户端与所述云桌面的vdi代理的数据通道。后续,基于建立的数据通道,实现vdi终端和云桌面中数据的传输。下文中,为了更好理解,优选以usb方式和tcp代理协议两种为例进行讲解。其中,usb方式是以数据线进行usb数据线连接的方式,tcp代理协议是采用网络传输的方式。

以下是本实施例中逐步实现应用调试的具体步骤:

步骤s10,vdi终端基于建立的数据通道,监听云桌面发送的调试请求;

在本实施例中,建立数据通道之后,所述vdi终端通过vdi客户端监听所述云桌面基于vdi代理发送的调试请求,为了使应用调试更加及时,监听的方式优选采用实时监听的方式,进行调试请求的监听。

步骤s20,基于所述调试请求,在应用中获取对应的调试数据;

在通过vdi客户端监听到云桌面基于vdi代理发送的调试请求时,先根据所述调试请求确定待进行调试的应用,然后基于监听到的调试请求,在确定的应用中获取对应的调试数据。

具体地,所述vdi终端安装有调试桥服务端,且所述vdi终端内部的调试桥服务端与vdi客户端通信连接,因此,所述步骤s20的实施方式包括:

所述vdi终端将vdi客户端监听到的调试请求,传输至调试桥服务端,由所述调试桥服务端在应用中获取所述调试请求对应的调试数据。

为更好理解本实施例,参照图3,先阐述调试桥adb(androiddebugbridge,android应用开发的调试桥,用于开发连接android设备调试的桥)的实现原理,adb调试桥分为服务端(adbd)和客户端(adb)两部分,adbd(服务端)运行在vdi终端上,adb(客户端)运行在云桌面上。如图3所示,adb客户端和服务端adbd之间,通过tcp代理协议和usb连接线两种方式,实现数据通道的建立,并基于建立的数据通道,实现数据的传输。

以图3为例,vdi终端在通过vdi客户端监听到云桌面基于vdi代理发送的调试请求时,所述vdi终端将所述调试请求传输至adbd,由adbd在应用(如图3中的app1或app2)中获取所述调试请求对应的调试数据。

步骤s30,通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。

在获取到所述调试请求对应的调试数据之后,通过所述数据通道的vdi客户端,将所述调试数据反馈至所述云桌面,以供所述云桌面基于vdi代理接收到的调试数据执行调试操作。由于云桌面基于接收到的调试数据执行调试操作属于现有的调试方式,此处不做赘述。

为更好理解,可参照图4,vdi终端包括adbd服务端和vdi客户端、云桌面包括vdiagent(vdi代理)和adb客户端。其中,vdi客户端跟vdiagent建立一条数据通道,adb客户端和adbd服务端之间交互的数据通过数据通道来传输。vdi客户端可以通过usb驱动或者tcp代理来实现向adb投递数据。vdiagent也可以通过usb驱动或者tcp代理来实现向adbd服务端投递数据。

结合图3和图4,在数据传输方式为usb线传输时,adbd服务端将数据写入usb驱动,由vdi客户端读取usb驱动中的数据,并把数据通过数据通道转发给云桌面的vdi代理,vdi代理把数据写给云桌面的本地usb驱动,云桌面的adb客户端再从本地usb驱动中读取数据。

在数据传输方式为tcp代理协议传输时,adbd服务端将数据转发至vdi客户端,由vdi客户端通过tcp协议传输至vdi代理,再由vdi代理传输至云桌面的abd客户端,以完成数据的传输。

当然,本方案所涉及的vdi架构不限于图4所提到的部署图,只要符合本方案构思的vdi架构均在本方案的保护范围内。

进一步地,本方案中的vdi终端还可搭建模拟器,如搭建android模拟器,以实现云桌面基于vdi终端中的android模拟器进行应用的调试。

可以理解,本方案中在于利用vdi终端的硬件和系统特性,把虚拟桌面开发的应用转移到vdi终端来调试,相当于提出一种虚拟桌面调试应用的方案,用户开发时不需要额外的调试设备就能直接使用vdi终端调试应用,如图5所示,这样既可以减少调试设备的支出,也避免因云桌面运行模拟器导致虚拟桌面卡顿问题,从而提高了应用开发调试的效率。

本实施例提出的应用调试方法,vdi终端先基于建立的数据通道,监听云桌面发送的调试请求,然后基于所述调试请求,在应用中获取对应的调试数据,最终通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。本发明将应用安装到vdi终端中,以实现云桌面进行应用的调试,由于vdi终端无须安装驱动,避免了因驱动无法兼容而导致应用调试失败的问题,同时也避免了云桌面因运行模拟器导致应用调试卡顿的问题,从而提高了应用开发调试的效率。

本发明进一步提供一种应用调试装置。

参照图6,图6为本发明应用调试装置较佳实施例的功能模块示意图。

需要强调的是,对本领域的技术人员来说,图6所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图6所示的应用调试装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该应用调试装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。

本实施例提出一种应用调试装置,应用于vdi终端,所述vdi终端安装有应用,所述应用调试装置包括:

监听模块10,用于基于建立的数据通道,监听云桌面发送的调试请求;

获取模块20,用于基于所述调试请求,在应用中获取对应的调试数据;

反馈模块30,用于通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。

在本实施例中,所述vdi(virtualdesktopinfrastructure,虚拟桌面基础架构)终端包括瘦客户机或普通pc(personalcomputer,个人计算机)等终端,当然,不限于上述两种,只要是能作为vdi客户端的终端均可以作为vdi终端。所述vdi终端需安装操作系统,所述操作系统包括但不限于android系统、windows系统、linu系统x或macosx系统等等。

本实施例中,在所述vdi终端安装应用,所述应用的个数和类型不做限定,可以是android应用、ios应用等,后续基于安装的应用完成应用的调试。下文为了方便理解,安装的应用优选以android应用为例进行讲解。本实施中的所述云桌面,是指开发平台关联,并且在用户终端如在用户电脑上显示的远程桌面。

应当理解,本方案要通过vdi终端实现应用的调试,需要先通过预设技术如usb重定向技术,把vdi终端中的usb驱动重定向到开发平台关联的云桌面,由云桌面将vdi终端当作云桌面的调试设备实现应用的调试。或者,通过socket技术把vdi终端中的tcp/ip模块映射到开发平台关联的云桌面,由云桌面将vdi终端当作云桌面的调试设备实现应用的调试。

在本实施例中,所述应用调试装置还包括:

第一确定模块,用于确定待建立数据通道的方式;

建立模块,用于基于确定的方式,建立所述vdi终端的vdi客户端与所述云桌面的vdi代理的数据通道。

其中,待建立数据通道的方式包括但不限于:usb方式、tcp代理协议方式,或udp代理协议方式。本实施例中,所述vdi终端集成有vdi客户端,所述云桌面集成有vdi代理,因此,在第一确定模块确定待建立数据通道的方式之后,建立模块即可基于确定的方式,建立所述vdi终端的vdi客户端与所述云桌面的vdi代理的数据通道。后续,基于建立的数据通道,实现vdi终端和云桌面中数据的传输。下文中,为了更好理解,优选以usb方式和tcp代理协议两种为例进行讲解。其中,usb方式是以数据线进行usb数据线连接的方式,tcp代理协议是采用网络传输的方式。

以下是本实施例中实现应用调试的各个模块,以及模块功能介绍:

其中,监听模块10,用于基于建立的数据通道,监听云桌面发送的调试请求;

在建立数据通道之后,监听模块10通过vdi客户端监听所述云桌面基于vdi代理发送的调试请求,监听的方式优选采用实时监听的方式,进行调试请求的监听。

获取模块20,用于基于所述调试请求,在应用中获取对应的调试数据;

在通过vdi客户端监听到云桌面基于vdi代理发送的调试请求时,先根据所述调试请求确定待进行调试的应用,然后获取模块20基于监听到的调试请求,在确定的应用中获取对应的调试数据。

具体地,所述vdi终端安装有调试桥服务端,且所述vdi终端内部的调试桥服务端与vdi客户端通信连接,因此,所述获取模块20,还用于将所述调试请求传输至调试桥服务端,由所述调试桥服务端在应用中获取所述调试请求对应的调试数据。

为更好理解本实施例,参照图3,先阐述调试桥adb(androiddebugbridge,android应用开发的调试桥,用于开发连接android设备调试的桥)的实现原理,adb调试桥分为服务端(adbd)和客户端(adb)两部分,adbd(服务端)运行在vdi终端上,adb(客户端)运行在云桌面上。如图3所示,adb客户端和服务端adbd之间,通过tcp代理协议和usb连接线两种方式,实现数据通道的建立,并基于建立的数据通道,实现数据的传输。

以图3为例,vdi终端在通过vdi客户端监听到云桌面基于vdi代理发送的调试请求时,所述获取模块20将所述调试请求传输至adbd,由adbd在应用(如图3中的app1或app2)中获取所述调试请求对应的调试数据。

反馈模块30,用于通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。

在获取到所述调试请求对应的调试数据之后,反馈模块30通过所述数据通道的vdi客户端,将所述调试数据反馈至所述云桌面,以供所述云桌面基于vdi代理接收到的调试数据执行调试操作。由于云桌面基于接收到的调试数据执行调试操作属于现有的调试方式,此处不做赘述。

为更好理解,可参照图4,由vdi终端包括adbd服务端和vdi客户端、云桌面包括vdiagent(vdi代理)和adb客户端。其中,vdi客户端跟vdiagent建立一条数据通道,adb客户端和adbd服务端之间交互的数据通过数据通道来传输。vdi客户端可以通过usb驱动或者tcp代理来实现向adb投递数据。vdiagent也可以通过usb驱动或者tcp代理来实现向adbd服务端投递数据。

结合图3和图4,在数据传输方式为usb线传输时,adbd服务端将数据写入usb驱动,由vdi客户端读取usb驱动中的数据,并把数据通过数据通道转发给云桌面的vdi代理,vdi代理把数据写给云桌面的本地usb驱动,云桌面的adb客户端再从本地usb驱动中读取数据。

在数据传输方式为tcp代理协议传输时,adbd服务端将数据转发至vdi客户端,由vdi客户端通过tcp协议传输至vdi代理,再由vdi代理传输至云桌面的abd客户端,以完成数据的传输。

当然,本方案所涉及的vdi架构不限于图4所提到的部署图,只要符合本方案构思的vdi架构均在本方案的保护范围内。

进一步地,本方案中的vdi终端还可搭建模拟器,如搭建android模拟器,以实现云桌面基于vdi终端中的android模拟器进行应用的调试。

可以理解,本方案中在于利用vdi终端的硬件和系统特性,把虚拟桌面开发的应用转移到vdi终端来调试,相当于提出一种虚拟桌面调试应用的方案,用户开发时不需要额外的调试设备就能直接使用vdi终端调试应用,如图5所示,这样既可以减少调试设备的支出,也避免因云桌面运行模拟器导致虚拟桌面卡顿问题,从而提高了应用开发调试的效率。

本实施例提出的应用调试装置,vdi终端先基于建立的数据通道,监听云桌面发送的调试请求,然后基于所述调试请求,在应用中获取对应的调试数据,最终通过所述数据通道将获取的所述调试数据反馈至所述云桌面,以供所述云桌面基于接收到的调试数据执行调试操作。本发明将应用安装到vdi终端中,以实现云桌面进行应用的调试,由于vdi终端无须安装驱动,避免了因驱动无法兼容而导致应用调试失败的问题,同时也避免了云桌面因运行模拟器导致应用调试卡顿的问题,从而提高了应用开发调试的效率。

本发明进一步提供一种应用调试系统。

参照图7,图7为本发明应用调试系统较佳实施例的功能模块示意图。

本实施例提出一种应用调试系统,所述应用调试系统包括vdi终端和云桌面,所述vdi终端如上文所述的应用调试装置,所述云桌面包括:

第二确定模块40,用于根据建立的数据通道,确定待连接的vdi终端;

发送模块50,用于通过所述数据通道发送调试请求至所述vdi终端,以供所述vdi终端基于所述调试请求反馈调试数据;

调试模块60,用于通过所述数据通道接收到所述vdi终端反馈的调试数据时,执行调试操作。

在本实施例中,先由vdi终端建立与所述云桌面的数据通道,然后所述云桌面的第二确定模块40根据建立的数据通道,确定待连接的vdi终端,在确定待连接的vdi终端之后,若检测到用户触摸或点击预设界面中的应用调试控件,此时,发送模块50发送调试请求至所述vdi终端,具体地,通过vdi代理发送调试请求至所述vdi终端,以供所述vdi终端基于所述调试请求反馈调试数据,由于vdi终端反馈调试数据的具体操作在上文中详述,此处不做赘述。在通过vdi代理接收到所述vdi终端反馈的调试数据时,调试模块60即可执行调试操作。

进一步地,所述云桌面安装有调试桥客户端,即上文所述的adb客户端,那么,所述发送模块50包括:

接收单元,用于接收所述调试桥客户端传输的调试请求;

发送单元,用于通过所述数据通道将接收到的所述调试请求发送至所述vdi终端。

即,在检测到用户触摸或点击预设界面中的应用调试控件时,调试桥客户端产生调试请求,然后将调试请求传输至接收单元,所述接收单元接收所述调试桥客户端传输的调试请求之后,由发送单元通过vdi代理将调试请求发送至所述vdi终端,以供vdi终端反馈调试数据。

进一步地,所述调试模块60,还用于通过所述数据通道接收到所述vdi终端反馈的调试数据时,将所述调试数据传输至所述调试桥客户端,由所述调试桥客户端执行调试操作。

即,所述云桌面通过vdi代理接收到所述vdi终端反馈的调试数据时,将所述调试数据传输至所述调试桥客户端,由所述调试桥客户端执行调试操作。

本实施例提出的应用调试系统,云桌面根据建立的数据通道,确定待连接的vdi终端,然后通过所述数据通道发送调试请求至所述vdi终端,以供所述vdi终端基于所述调试请求反馈调试数据,最终通过所述数据通道接收到所述vdi终端反馈的调试数据时,执行调试操作。本发明将应用安装到vdi终端中,以实现云桌面进行应用的调试,由于vdi终端无须安装驱动,避免了因驱动无法兼容而导致应用调试失败的问题,同时也避免了云桌面因运行模拟器导致应用调试卡顿的问题,提高了应用开发调试的效率。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

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