一种远程调试方法、系统、网页服务器、设备及存储介质与流程

文档序号:27823824发布日期:2021-12-07 19:09阅读:170来源:国知局
一种远程调试方法、系统、网页服务器、设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种远程调试方法、系统、网页服务器、设备及存储介质。


背景技术:

2.远程调试是指技术人员利用处于第一网络中的调试端对处于第二网络中的被调试端进行调试。其中,因第一网络不同于第二网络(例如,第一网络为第一企业局域网,第二网络为第二企业局域网),使得处于第一网络中的调试端无法直接访问处于第二网络中的被调试端,从而导致调试端无法远程调试被调试端。为了便于理解,下面结合示例进行说明。
3.作为示例,当移动终端上的应用程序(application,app)在使用过程中发生运行异常(例如,闪退等异常)时,技术人员需要利用处于技术人员所在企业的企业局域网中的调试端对该终端设备上的应用程序进行远程调试,以使调试后的应用程序能够正常运行。其中,因终端设备所处的网络可以是移动运营商的网络或者终端设备的使用者所在企业的企业局域网,使得调试端所处的网络不同于终端设备所处的网络,如此导致调试端无法访问终端设备,从而导致如何实现调试端远程调试被调试端成为一个亟待解决的技术问题。


技术实现要素:

4.本技术实施例提供了一种远程调试方法、系统、网页服务器、设备及存储介质,能够实现调试端远程调试被调试端。
5.有鉴于此,本技术第一方面提供了一种远程调试方法,应用于被调试端,所述被调试端安装有网页服务器,所述方法包括:
6.在所述网页服务器接收到用户触发的远程调试指令时,所述网页服务器根据所述远程调试指令生成远程调试请求;
7.所述网页服务器将所述远程调试请求发送给反向代理服务器,以使所述反向代理服务器根据所述远程调试请求,建立所述网页服务器与所述反向代理服务器之间的数据通路;其中,所述数据通路用于传输所述网页服务器与所述反向代理服务器之间的通信数据;
8.在所述网页服务器接收到所述反向代理服务器发送的网页访问请求之后,所述网页服务器根据所述网页访问请求获取目标网页;其中,所述网页访问请求是由所述反向代理服务器从安装于调试端上的网页浏览器接收到的;
9.所述网页服务器将所述目标网页发送给所述反向代理服务器,以使所述反向代理服务器将所述目标网页发送给所述网页浏览器进行显示;
10.在所述网页服务器接收到所述反向代理服务器发送的调试请求之后,所述网页服务器根据所述调试请求,对所述被调试端上的待调试应用程序执行所述调试请求对应的调试动作;其中,所述调试请求是由所述反向代理服务器从所述网页浏览器接收到的。
11.本技术第二方面提供了一种远程调试系统,所述远程调试系统包括网页服务器、
反向代理服务器和网页浏览器,所述网页服务器安装于被调试端,所述网页浏览器安装于所述调试端,所述被调试端与所述调试端通过所述反向代理服务器进行通信;
12.所述网页服务器,用于在接收到用户触发的远程调试指令时,根据所述远程调试指令生成远程调试请求,并将所述远程调试请求发送给所述反向代理服务器;
13.所述反向代理服务器,用于根据所述远程调试请求,建立所述网页服务器与所述反向代理服务器之间的数据通路;接收所述网页浏览器发送的网页访问请求,并将所述网页访问请求发送给所述网页服务器;其中,所述数据通路用于传输所述网页服务器与所述反向代理服务器之间的通信数据;
14.所述网页服务器,还用于在接收到所述反向代理服务器发送的网页访问请求之后,根据所述网页访问请求获取目标网页,并将所述目标网页发送给所述反向代理服务器;
15.所述网页浏览器,用于在接收到所述反向代理服务器发送的目标网页之后,显示目标网页;获取在所述目标网页中触发的调试请求,并将所述调试请求发送给所述反向代理服务器;
16.所述网页服务器,还用于在接收到所述反向代理服务器发送的调试请求之后,根据所述调试请求,对所述被调试端上的待调试应用程序执行所述调试请求对应的调试动作。
17.本技术第三方面提供了一种远程调试装置,包括:
18.生成单元,用于在接收到用户触发的远程调试指令时,根据所述远程调试指令生成远程调试请求;
19.第一发送单元,用于将所述远程调试请求发送给反向代理服务器,以使所述反向代理服务器根据所述远程调试请求,建立所述网页服务器与所述反向代理服务器之间的数据通路;其中,所述数据通路用于传输所述网页服务器与所述反向代理服务器之间的通信数据;
20.获取单元,用于在接收到所述反向代理服务器发送的网页访问请求之后,根据所述网页访问请求获取目标网页;其中,所述网页访问请求是由所述反向代理服务器从安装于调试端上的网页浏览器接收到的;
21.第二发送单元,用于将所述目标网页发送给所述反向代理服务器,以使所述反向代理服务器将所述目标网页发送给所述网页浏览器进行显示;
22.调试单元,用于在接收到所述反向代理服务器发送的调试请求之后,根据所述调试请求,对所述被调试端上的待调试应用程序执行所述调试请求对应的调试动作;其中,所述调试请求是由所述反向代理服务器从所述网页浏览器接收到的。
23.本技术第四方面提供了一种设备,所述设备包括处理器以及存储器:
24.所述存储器用于存储计算机程序;
25.所述处理器用于根据所述计算机程序执行上述第一方面所述的远程调试方法。
26.本技术第五方面提供了计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的远程调试方法。
27.本技术第六方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的远程调试方法。
28.从以上技术方案可以看出,本技术实施例具有以下优点:
29.本技术实施例提供的基于网页的远程调试方法,应用于远程调试系统,该远程调试系统包括网页服务器、反向代理服务器和网页浏览器,网页服务器安装于被调试端,网页浏览器安装于调试端,被调试端与调试端通过反向代理服务器进行通信;而且,该远程调试方法具体为:网页服务器在接收到用户触发的远程调试指令时,先根据远程调试指令生成远程调试请求,再将远程调试请求发送至反向代理服务器,以使反向代理服务器根据远程调试请求,建立网页服务器与反向代理服务器之间的数据通路;在反向代理服务器接收到网页浏览器发送的网页访问请求之后,将网页访问请求转发至网页服务器,以使网页服务器先根据该网页访问请求获取目标网页,再将目标网页发送至反向代理服务器。网页浏览器在接收到反向代理服务器转发的目标网页之后,先显示目标网页,再获取在目标网页中触发的调试请求,并将调试请求发送给反向代理服务器,以使网页服务器在接收到反向代理服务器转发的调试请求之后,根据调试请求对被调试端上的待调试应用程序执行调试请求对应的调试动作。
30.其中,因被调试端内安装有网页服务器且调试端内安装有网页浏览器,使得调试端和被调试端可以通过反向代理服务器进行通信,从而使得技术人员可以利用调试端内的网页浏览器对被调试端中的内网页服务器进行访问及调试,如此能够实现调试端对被调试端进行远程调试。
附图说明
31.图1为本技术实施例提供的远程调试系统的结构示意图;
32.图2为本技术实施例提供的远程调试系统的工作流程示意图;
33.图3为本技术实施例提供的一种远程调试方法的流程示意图;
34.图4为本技术实施例提供的网页服务器的开启示例图;
35.图5为本技术实施例提供的目标网页的示例图;
36.图6为本技术实施例提供的应用于图1和图2所示远程调试系统中的远程调试方法的流程图;
37.图7为本技术实施例提供的一种远程调试装置的结构示意图;
38.图8为本技术实施例提供的另一种远程调试装置的结构示意图;
39.图9为本技术实施例提供的一种终端设备的结构示意图。
具体实施方式
40.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设
备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
42.在相关技术中,可以先将调试端有线连接至被调试端,再由调试端根据被调试端所使用的操作系统对被调试端进行调试,其具体过程为:调试端先将被调试端所使用的操作系统确定为目标操作系统,再根据目标操作系统,确定该目标操作系统对应的调试过程,以便调试端利用该目标操作系统对应的调试过程对被调试端进行调试。
43.可见,上述调试过程存在以下缺点:因调试端需要依据被调试端所使用的操作系统,确定调试被调试端时所使用的调试过程,使得调试过程比较复杂;还因调试端中通常只包括一些常见操作系统(也就是使用人数比较多的操作系统,例如,windows系统、ios系统等操作系统)对应的调试过程,使得该调试端只能对使用这些常见操作系统的被调试端进行调试,导致该调试端无法对那些少见操作系统(也就是使用人数比较少的操作系统)进行调试。
44.针对上述相关技术中的调试过程存在的技术问题,本技术实施例提供了一种远程调试方法,能够在实现调试端远程调试被调试端的基础上,简化调试过程,并使得调试端适用于对使用各种操作系统的被调试端进行调试。
45.具体地,在本技术实施例提供的远程调试方法中,安装于被调试端内的网页服务器在接收到用户触发的远程调试指令时,先根据远程调试指令生成远程调试请求,再将远程调试请求发送至反向代理服务器,以使反向代理服务器根据远程调试请求,建立网页服务器与反向代理服务器之间的数据通路;在反向代理服务器接收到安装于调试端内的网页浏览器发送的网页访问请求之后,将网页访问请求转发至网页服务器,以使网页服务器先根据该网页访问请求获取目标网页,再将目标网页发送至反向代理服务器。网页浏览器在接收到反向代理服务器转发的目标网页之后,先显示目标网页,再获取在目标网页中触发的调试请求,并将调试请求发送给反向代理服务器,以使网页服务器在接收到反向代理服务器转发的调试请求之后,根据调试请求对被调试端上的待调试应用程序执行调试请求对应的调试动作。
46.可见,因被调试端内安装有网页服务器且调试端内安装有网页浏览器,使得调试端和被调试端可以通过反向代理服务器进行通信,从而使得技术人员可以利用调试端内的网页浏览器对被调试端中的内网页服务器进行访问及调试,如此能够实现调试端对被调试端进行远程调试。还因调试端是基于网页对被调试端进行远程调试的,使得调试端能够对使用各种操作系统的被调试端进行调试,如此能够有效地克服上述因被调试端操作系统多样化所产生的不良影响,从而使得调试端在对被调试端进行调试时不再受到被调试端所使用的操作系统的影响,如此有利于提高调试效果。
47.为了便于理解本技术实施例提供的技术方案,下面结合图1和图2对远程调试系统进行介绍。其中,图1为本技术实施例提供的远程调试系统的结构示意图;图2为本技术实施例提供的远程调试系统的工作流程示意图。
48.如图1所示,本技术实施例提供的远程调试系统包括网页服务器101、反向代理服务器102和网页浏览器103;而且,网页服务器101安装于被调试端,网页浏览器103安装于调试端,被调试端与调试端通过反向代理服务器102进行通信。
49.网页服务器101,用于在接收到用户触发的远程调试指令时,根据远程调试指令生
成远程调试请求,并将远程调试请求发送给反向代理服务器102;
50.反向代理服务器102,用于根据远程调试请求,建立网页服务器101与反向代理服务器102之间的数据通路;接收网页浏览器103发送的网页访问请求,并将网页访问请求发送给网页服务器101;
51.网页服务器101,还用于在接收到反向代理服务器102发送的网页访问请求之后,根据网页访问请求获取目标网页,并将目标网页发送给反向代理服务器102;
52.网页浏览器103,用于在接收到反向代理服务器102发送的目标网页之后,显示目标网页;获取在目标网页中触发的调试请求,并将调试请求发送给反向代理服务器102;
53.网页服务器101,还用于在接收到反向代理服务器102发送的调试请求之后,根据调试请求,对被调试端上的待调试应用程序执行调试请求对应的调试动作。
54.基于上述远程调试系统以及图2可知,基于远程调试系统的远程调试过程具体为:首先,当预先安装在被调试端的网页服务器101接收到用户触发的远程调试指令时,网页服务器101先根据该远程调试指令生成远程调试请求,并将该远程调试请求发送给反向代理服务器102,以使反向代理服务器102根据该远程调试请求建立网页服务器101与反向代理服务器102之间的数据通路。然后,当预先安装在调试端的网页浏览器103向反向代理服务器102发送网页访问请求时,反向代理服务器102将该网页访问请求转发给网页服务器101,以使网页服务器101根据该网页访问请求获取目标网页,并将目标网页发送给反向代理服务器102,以便反向代理服务器102将目标网页转发给网页浏览器103进行显示。最后,当网页浏览器103获取到技术人员从目标网页中触发的调试请求之后,网页浏览器103将该调试请求发送给反向代理服务器102,以使反向代理服务器102将该调试请求转发给网页服务器101,以便网页服务器101可以根据该调试请求,对被调试端上的待调试应用程序执行所述调试请求对应的调试动作。可见,本技术实施例提供的远程调试系统能够借助网页的访问以及操作过程,实现调试端远程调试被调试端。
55.应理解,本技术实施例提供的远程调试系统中,被调试端具体可以为智能手机、计算机、个人数字助理(personal digital assitant,pda)、平板电脑等终端设备;调试端具体也可以为智能手机、计算机、个人数字助理(personal digital assitant,pda)、平板电脑等终端设备;反向代理服务器可以是任一种能够提供反向代理功能的服务器,例如,反向代理服务器具体可以为应用服务器,也可以为web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器或者云服务器。
56.下面通过实施例对本技术提供的应用于远程调试系统的远程调试方法进行介绍。
57.方法实施例
58.参见图3,图3为本技术实施例提供的一种远程调试方法的流程示意图。如图3所示,该远程调试方法包括s301-s305:
59.s301:在网页服务器接收到用户触发的远程调试指令时,网页服务器根据远程调试指令生成远程调试请求。
60.网页服务器用于处理由安装于调试端上的网页浏览器发送的网页访问请求以及网页处理请求,以实现调试端远程调试被调试端上的待调试应用程序。
61.网页服务器预先安装于被调试端;而且本技术实施例不限定网页服务器的安装时间,例如,网页服务器的安装时间可以为用户在被调试端上下载安装待调试应用程序的时
刻。
62.在一些情况下,为了保证用户的信息安全,可以在将网页服务器下载到被调试端之后,网页服务器的使能状态初始化设置为禁止访问,而且只有在用户需要借助网页服务器对待调试应用程序进行远程调试时,可以由被调试端根据用户触发的开启网页服务器请求,将网页服务器的使能状态更改为允许访问。
63.另外,本技术实施例不限定开启网页服务器请求的触发方式,例如,如图4所示,开启网页服务器请求可以通过用户在被调试端上的待调试应用程序中选择开启远程调试的方式来触发。基于此,本技术实施例还提供远程调试方法的一种实施方式,在该实施方式中,网页服务器的使能状态的初始化设置为禁止访问,而且该远程调试方法在执行s301之前,还包括s306:
64.s306:当用户在被调试端上的待调试应用程序中选择开启远程调试时,被调试端将网页服务器的使能状态设置为允许访问,以使网页服务器接收用户触发的远程调试指令。
65.本技术实施例中,在将网页服务器下载到被调试端之后,可以将网页服务器的使能状态初始化设置为禁止访问,如此能够保证在除了远程调试期间以外的其他时间段内网页服务器不会向外发送被调试端上的任何数据,如此能够保证用户的信息安全。另外,只有在用户希望由调试端对被调试端上的待调试应用程序进行远程调试时,用户可以先在被调试端上的待调试应用程序中选择开启远程调试,使得被调试端可以将网页服务器的使能状态设置为允许访问,从而使得网页服务器能够接收用户触发的远程调试指令,并使得网页服务器可以通过接收外网发送的网页相关请求的方式,参与到调试端对被调试端的远程调试过程中。
66.远程调试指令是由用户触发的用于请求对被调试端上的待调试应用程序进行远程调试的指令。本技术实施例不限定远程调试指令的触发方式,例如,远程调试指令可以是由用户通过点击被调试端上的待调试应用程序中的远程调试按钮触发的。需要说明的是,在一些情况下,远程调试指令也可以是通过用户在被调试端上的待调试应用程序中选择开启远程调试的方式来触发的。
67.远程调试请求是指由网页服务器生成的、用于向反向代理服务器申请建立被调试端与反向代理服务器之间数据通路的请求。另外,本技术实施例不限定远程调试请求的生成过程,下面结合一种可能的实施方式进行说明。
68.在一种可能的实施方式中,远程调试请求的生成过程具体可以为:网页服务器将远程调试指令发送给待调试应用程序的后台服务器,以使待调试应用程序的后台服务器根据远程调试指令生成调试授权码;网页服务器接收待调试应用程序的后台服务器发送的调试授权码,并根据该调试授权码生成远程调试请求。
69.调试授权码携带有被调试端的标识、被调试端申请远程调试的时间、待调试应用程序的标识等内容。需要说明的是,本技术实施例不限定被调试端的标识,例如,被调试端的标识可以是被调试端中网卡的硬件地址。
70.基于上述内容可知,本技术实施例中,在网页服务器接收到远程调试指令之后,网页服务器可以先将远程调试指令发送给待调试应用程序的后台服务器,以使该后台服务器能够基于该调试应用程序生成调试授权码,并将该调试授权码反馈给网页服务器。网页服
务器可以利用调试授权码生成远程调试请求,使得远程调试请求携带有调试授权码,从而使得后续反向代理服务器能够借助远程调试请求携带的调试授权码对被调试端和调试端进行身份验证。如此有利于提高远程调试过程的安全性以及可信性。
71.基于上述s301的相关内容可知,在远程调试系统中,当用户希望技术人员通过调试端对用户所使用的被调试端上的待调试应用程序进行远程调试时,用户可以先通过用户在被调试端上的待调试应用程序中选择开启远程调试的方式,来将被调试端内的网页服务器的使能状态更改为允许访问,以使网页服务器能够接收到远程调试指令,并使得网页服务器能够对接收外网发送的网页访问或操作请求,还使得网页服务器能够根据远程调试指令生成携带有授权码的远程调试请求,以便后续反向代理服务器能够基于该远程调试请求,搭建反向代理服务器与网页服务器之间的数据通路(也就是,反向代理服务器与被调试端之间的数据通路)。
72.s302:网页服务器将远程调试请求发送给反向代理服务器,以使反向代理服务器根据远程调试请求,建立网页服务器与反向代理服务器之间的数据通路。
73.其中,数据通路用于传输网页服务器与反向代理服务器之间的通信数据。也就是,网页服务器与反向代理服务器之间的数据通路专用于网页服务器与反向代理服务器之间的数据通信。需要说明的是,本技术实施例不限定数据通路的建立过程。
74.在一些情况下,为了能够保证被调试端的信息安全,反向代理服务器在建立网页服务器与反向代理服务器之间的数据通路之前,需要对被调试端进行身份验证。基于此,本技术实施例提供了一种反向代理服务器建立上述数据通路的实施方式,其具体包括:若远程调试请求携带有调试授权码,则反向代理服务器在确定远程调试请求中携带的调试授权码通过验证时,建立网页服务器与反向代理服务器之间的数据通路。
75.本技术实施例中,在反向代理服务器接收到网页服务器发送的调试授权码之后,反向代理服务器先验证远程调试请求中携带的调试授权码,以便在确定远程调试请求中携带的调试授权码通过验证时,建立网页服务器与反向代理服务器之间的数据通路。其中,反向代理服务器验证调试授权码的具体过程可以为:反向代理服务器将调试授权码发送给待调试应用程序的后台服务器,以使待调试应用程序的后台服务器先将从反向代理服务器接收到的调试授权码,与待调试应用程序的后台服务器自身存储的调试授权码进行匹配,得到匹配结果,再将该匹配结果反馈给反向代理服务器,以便反向代理服务器根据该匹配结果确定验证结果,具体为:若该匹配结果为匹配成功,则反向代理服务器确定被调试端发送的调试授权码通过验证;反之,则反向代理服务器确定被调试端发送的调试授权码未通过验证。
76.另外,在一些情况下,为了使得反向代理服务器能够在后续远程调试过程中快速地确定被调试端对应的数据通路,反向代理服务器在建立网页服务器与反向代理服务器之间的数据通路之后,反向代理服务器可以先将网页服务器与反向代理服务器之间的数据通路的通路标识确定为第一标识,再将第一标识与被调试端的标识之间的对应关系,添加至第一映射关系中,以使第一映射关系中记录有第一标识与被调试端的标识之间的对应关系。其中,第一映射关系用于记录数据通路与被调试端之间的对应关系,而且第一映射关系存储在反向代理服务器中。
77.基于上述s302的相关内容可知,在远程调试系统中,当反向代理服务器接收到网
页服务器发送的携带有调试授权码的远程调试请求之后,反向代理服务器先确定其接收到的调试授权码是否通过验证,并在确定其接收到的调试授权码通过验证之后,建立网页服务器与反向代理服务器之间的数据通路,并将该数据通路的标识与被调试端的标识之间的对应关系添加至第一映射关系中,以使后续反向代理服务器能够在后续远程调试过程中基于被调试端的标识,快速准确地确定出网页服务器与反向代理服务器之间的数据通路,并使用该数据通路进行网页服务器与反向代理服务器之间的数据传输。其中,因网页服务器与反向代理服务器之间的数据通路是专用于进行网页服务器与反向代理服务器之间的数据传输,使得网页服务器与反向代理服务器之间的数据传输不会受到其他数据传输的影响,如此能够提高网页服务器与反向代理服务器之间的数据传输的传输效率以及传输安全性,如此能够有效地提高用户的信息安全性。需要说明的是,在反向代理服务器建立了网页服务器与反向代理服务器之间的数据通路之后,反向代理服务器可以发消息通知调试端和被调试端,以使调试端或被调试端能够获知反向代理服务器已准备好执行调试端与被调试端之间的转发功能。
78.s303:在网页服务器接收到反向代理服务器发送的网页访问请求之后,网页服务器根据网页访问请求获取目标网页。
79.网页访问请求是由反向代理服务器从安装于调试端上的网页浏览器接收到的。另外,本技术实施例不限定网页浏览器接收网页访问请求的实施方式,为了便于理解,下面结合示例进行说明。
80.作为示例,在技术人员获取到被调试端上的网页服务器的网址(如图4所示的网址“https://abcdefg”)之后,技术人员可以先将网页服务器的网址输入到调试端的网页浏览器的搜索框中,再通过点击搜索按钮的方式在网页浏览器中触发网页访问请求,以使网页浏览器接收网页访问请求。需要说明的是,本技术实施例不限定网页服务器的网址的获取方式,可以由用户直接提供给技术人员,也可以由技术人员从待调试应用程序的后台服务器中获取。
81.目标网页是指由网页访问请求中携带的网址所指示的网页。例如,当被调试端上的网页服务器的网址(也就是,网页访问请求中携带的网址)为图4中所示的网址“https://abcdefg”时,则目标网页可以是图5所示的网页。另外,本技术实施例不限定目标网页的构建方法,例如,目标网页可以采用ant design pro作为界面框架进行搭建。
82.基于上述内容可知,在远程调试系统中,在技术人员获取到被调试端上的网页服务器的网址之后,技术人员可以先将网页服务器的网址输入到调试端的网页浏览器的搜索框中,再通过点击搜索按钮的方式在网页浏览器中触发网页访问请求,以使网页浏览器接收网页访问请求。网页浏览器将网页访问请求发送至反向代理服务器,以使反向代理服务器能够将该网页访问请求转发给网页服务器。网页服务器在接收到网页访问请求之后,网页服务器根据网页访问请求中携带的网址,获取该网址所指示的目标网页,并将该目标网页发送给反向代理服务器,以使反向代理服务器能够将该目标网页转发给网页浏览器,使得网页浏览器能够显示该目标网页(如图5所示),从而使得在后续调试过程中技术人员能够通过在目标网页上点击控件或输入控制指令的方式来触发调试请求。
83.s304:网页服务器将目标网页发送给反向代理服务器,以使反向代理服务器将目标网页发送给网页浏览器进行显示。
84.s305:在网页服务器接收到反向代理服务器发送的调试请求之后,网页服务器根据调试请求,对被调试端上的待调试应用程序执行调试请求对应的调试动作。
85.调试请求是由反向代理服务器从网页浏览器接收到的。另外,本技术实施例不限定调试请求的触发方式,例如,调试请求可以由用户在目标网页上点击控件或输入控制指令的方式进行触发。
86.调试请求的类型多样,例如,调试请求可以包括数据获取请求和调试操作执行请求。其中,数据获取请求用于请求网页服务器提供对待调试应用程序进行调试时所需数据;调试操作执行请求用于请求网页服务器对待调试应用程序进行调试。
87.基于此,本技术实施例还提供了s305的两种可能的实施方式,下面依次进行介绍。
88.在第一种可能的实施方式中,s305具体可以为:当调试请求为数据获取请求时,在网页服务器接收到反向代理服务器发送的调试请求之后,网页服务器根据调试请求,获取待调试应用程序在被调试端中的目标数据;网页服务器将目标数据发送给反向代理服务器,以使反向代理服务器将目标数据发送给网页浏览器进行显示。
89.本技术实施中,当技术人员希望从被调试端获取待调试应用程序的相关数据信息时,技术人员可以在目标网页中触发数据获取请求,以使网页浏览器在接收到该数据获取请求之后,将该数据获取请求发送给反向代理服务器,使得该反向代理服务器能够将该数据获取请求转发给网页服务器,以便网页服务器根据该数据获取请求,从被调试端中获取符合该数据获取请求的与待调试应用程序相关的数据,确定为目标数据,并将该目标数据通过反向代理服务器发送给调试端中的网页浏览器,使得网页浏览器能够在目标页面上显示该目标数据。
90.本技术实施例不限定数据获取请求的实现方式,例如,数据获取请求可以利用get方式来实施。另外,本技术实施例也不限定网页服务器获取目标数据的实施方式,下面结合示例进行说明。
91.作为第一示例,当数据获取请求属于资源获取类请求时,若网页服务器在检测出该数据获取请求携带的统一资源定位系统(uniform resource locator,url)的末尾具有预设后缀(例如,“.jpeg”、“.png”、“.css”、“.svg”、“.json”、“.map”等后缀词),则网页服务器需要将从被调试端获取的目标数据转换为通用的mime数据类型,并通过封装的系统应用程序接口(application programming interface,api)将转换后的目标数据发送给反向代理服务器,以使反向代理服务器能够将该目标数据转发给调试端。
92.作为第二示例,当数据获取请求属于资源获取类请求时,若网页服务器确定该数据获取请求携带的url是以“api/”开头,则网页服务器对待调试应用程序的本地数据进行提取,其具体为:若网页服务器确定该数据获取请求携带的url包括“/api/user/info”,则网页服务器需要获取用户的身份信息,而且需要将获取的身份信息封装成json的形式反馈给调试端;若网页服务器确定该数据获取请求携带的url包括“/api/device”,则网页服务器需要获取被调试端的设备信息,而且需要将获取的身份信息封装成json的形式反馈给调试端;若网页服务器确定该数据获取请求携带的url包括“/api/log/list”,则网页服务器需要获取支持查询操作的数据源(例如,数据库操作记录和cgi请求、响应记录等数据源);若网页服务器确定该数据获取请求携带的url包括“/api/database/list”,则网页服务器需要获取所有的数据库名称,而且需要将获取的身份信息封装成json的形式反馈给调试
端;若网页服务器确定该数据获取请求携带的url包括“/api/log/e”,则网页服务器需要建立长连接,而且需要将数据库操作记录以及cgi请求数据实时动态反馈给调试端;若网页服务器确定该数据获取请求携带的url包括“/api/pref/list”,则网页服务器需要获取所有的sp的内容;若网页服务器确定该数据获取请求携带的url包括“/api/pref/delete”,则网页服务器需要对sp数据进行删除;网页服务器需要获取所有的sp的内容;若网页服务器确定该数据获取请求携带的url包括“/api/pref/edit”,则网页服务器需要对sp数据进行编辑,而且包括“/api/pref/edit”url通常还会附带两个参数type,value,分别用于指明需要修改的sp项和对应的值;若网页服务器确定该数据获取请求携带的url包括“/api/file/a”,则网页服务器需要获取所有根目录下的文件;若网页服务器确定该数据获取请求携带的url包括“/api/file/ls”,则网页服务器需要获取所有指定目录下的文件。需要说明的是,sp是指android平台上一个轻量级的存储类,用来保存应用的一些常用配置。cgi的英文全称为common gateway interface,中文名称为公共网关接口,而且cgi是外部扩展应用程序与网页服务器交互的一个标准接口,是网页服务器与网页浏览器进行交互的常见方式。
93.基于上述s305的第一种可能的实施方式可知,在网页服务器确定调试请求为数据获取请求时,网页服务器根据调试请求,获取待调试应用程序在被调试端中的目标数据;网页服务器将目标数据发送给反向代理服务器,以使反向代理服务器将目标数据发送给网页浏览器进行显示。如此能够使得技术人员在网页浏览器的目标网页上查看到被调试端上与待调试应用程序相关的数据信息。
94.在第二种可能的实施方式中,s305具体可以为:当调试请求为调试操作执行请求,在网页服务器接收到反向代理服务器发送的调试请求之后,网页服务器按照调试请求携带的调试操作信息,对被调试端上的待调试应用程序进行调试。
95.本技术实施中,当技术人员希望通过调试端对被调试端上的待调试应用程序进行调试时,技术人员可以在目标网页中触发调试操作执行请求,以使网页浏览器在接收到该调试操作执行请求之后,将该调试操作执行请求发送给反向代理服务器,使得该反向代理服务器能够将该调试操作执行请求转发给网页服务器,以便网页服务器根据该调试操作执行请求,对被调试端上的待调试应用程序进行调试。
96.本技术实施例不限定调试操作执行请求的实现方式,例如,调试操作执行请求可以利用post方式来实施。另外,本技术实施例也不限定网页服务器对待调试应用程序进行调试的实施方式。例如,若网页服务器确定该数据获取请求携带的url包括“/api/auth/login”,则网页服务器需要模拟身份登录企业,以方便重现用户所反馈的问题;若网页服务器确定该数据获取请求携带的url包括“/api/database/exec”,则网页服务器需要执行结构化查询语言数据库(structured query language,sql)语句,灵活查询数据库中的数据;若网页服务器确定该数据获取请求携带的url包括“/api/cgi/hook”或“/api/cgi/exec”,则网页服务器需要协议拦截调试,任意构造请求或响应,实时拦截修改请求或响应数据。
97.基于上述s301至s305的相关内容可知,在本技术实施例提供的基于网页的远程调试方法中,网页服务器在接收到用户触发的远程调试指令时,先根据远程调试指令生成远程调试请求,再将远程调试请求发送至反向代理服务器,以使反向代理服务器根据远程调试请求,建立网页服务器与反向代理服务器之间的数据通路;在反向代理服务器接收到网页浏览器发送的网页访问请求之后,将网页访问请求转发至网页服务器,以使网页服务器
先根据该网页访问请求获取目标网页,再将目标网页发送至反向代理服务器。网页浏览器在接收到反向代理服务器转发的目标网页之后,先显示目标网页,再获取在目标网页中触发的调试请求,并将调试请求发送给反向代理服务器,以使网页服务器在接收到反向代理服务器转发的调试请求之后,根据调试请求对被调试端上的待调试应用程序执行调试请求对应的调试动作。
98.其中,因被调试端内安装有网页服务器且调试端内安装有网页浏览器,使得调试端和被调试端可以通过反向代理服务器进行通信,从而使得技术人员可以利用调试端内的网页浏览器对被调试端中的内网页服务器进行访问及调试,如此能够实现调试端对被调试端进行远程调试。还因调试端是基于网页对被调试端进行远程调试的,使得调试端能够对使用各种操作系统的被调试端进行调试,如此能够有效地克服上述因被调试端操作系统多样化所产生的不良影响,从而使得调试端在对被调试端进行调试时不再受到被调试端所使用的操作系统的影响,如此有利于提高调试效果。另外,因网页服务器安装于被调试端,使得调试端能够借助反向代理服务器直接从被调试端中获取远程调试所需的数据,如此能够有效地避免用户信息的泄露。
99.为了便于进一步理解本技术实施例提供的远程调试方法,场景实施例将结合图6对本技术实施例提供的远程调试方法进行整体介绍。
100.场景实施例
101.场景实施例是对方法实施例提供的远程调试方法的示例性介绍,为了简要起见,场景实施例中与方法实施例中部分内容相同,在此不再赘述,该内容相同的部分的技术详情请参照方法实施例中的相关内容。
102.参见图6,该图为本技术实施例提供的应用于图1和图2所示远程调试系统中的远程调试方法的流程图。
103.本技术实施例提供的远程调试方法,包括s601-s608:
104.s601:当用户在被调试端上的待调试应用程序中选择开启远程调试时,被调试端将网页服务器的使能状态设置为允许访问,并且网页服务器接收用户触发的远程调试指令。
105.s602:网页服务器根据远程调试指令生成远程调试请求,并将远程调试请求发送给反向代理服务器。
106.s603:反向代理服务器对远程调试请求中携带的调试授权码进行验证,并在确定该远程调试请求中携带的调试授权码通过验证时,建立网页服务器与反向代理服务器之间的数据通路。
107.s604:在技术人员将被调试端上的网页服务器的网址输入到调试端上的网页浏览器中并触发了网页访问请求之后,调试端上的网页浏览器接收该网页访问请求,并将该网页访问请求发送给反向代理服务器。
108.s605:在网页服务器接收到反向代理服务器转发的网页访问请求之后,网页服务器根据网页访问请求获取目标网页,并将目标网页发送给反向代理服务器。
109.s606:网页浏览器在接收到反向代理服务器转发的目标网页之后,显示该目标网页。
110.s607:当技术人员在目标网页上触发调试请求之后,网页浏览器接收该调试请求,
并将该调试请求发送给反向代理服务器。
111.s608:网页服务器在接收到反向代理服务器转发的调试请求之后,网页服务器根据调试请求,对被调试端上的待调试应用程序执行调试请求对应的调试动作。
112.基于上述s601至s608的相关内容可知,在远程调试系统中,因被调试端内安装有网页服务器且调试端内安装有网页浏览器,使得调试端和被调试端可以通过反向代理服务器进行通信,从而使得技术人员可以利用调试端内的网页浏览器对被调试端中的内网页服务器进行访问及调试,如此能够实现调试端对被调试端进行远程调试。还因调试端是基于网页对被调试端进行远程调试的,使得调试端能够对使用各种操作系统的被调试端进行调试,如此能够有效地克服上述因被调试端操作系统多样化所产生的不良影响,从而使得调试端在对被调试端进行调试时不再受到被调试端所使用的操作系统的影响,如此有利于提高调试效果。另外,因网页服务器安装于被调试端,使得调试端能够借助反向代理服务器直接从被调试端中获取远程调试所需的数据,如此能够有效地避免用户信息的泄露。
113.基于上述提供的远程调试方法的相关内容,本技术实施例还提供了对应的远程调试系统,以使得上述提供的远程调试方法在实际中得以应用和实现。
114.系统实施例
115.需要说明的是,本实施例提供的远程调试系统的技术详情可以参照上述提供的远程调试方法。
116.如图1所示,本技术实施例提供的远程调试系统,包括:网页服务器101、反向代理服务器102和网页浏览器103;而且,网页服务器101安装于被调试端,网页浏览器103安装于调试端,被调试端与调试端通过反向代理服务器102进行通信;
117.网页服务器101,用于在接收到用户触发的远程调试指令时,根据远程调试指令生成远程调试请求,并将远程调试请求发送给反向代理服务器102;
118.反向代理服务器102,用于根据远程调试请求,建立网页服务器101与反向代理服务器102之间的数据通路;接收网页浏览器103发送的网页访问请求,并将网页访问请求发送给网页服务器101;
119.网页服务器101,还用于在接收到反向代理服务器102发送的网页访问请求之后,根据网页访问请求获取目标网页,并将目标网页发送给反向代理服务器102;
120.网页浏览器103,用于在接收到反向代理服务器102发送的目标网页之后,显示目标网页;获取在目标网页中触发的调试请求,并将调试请求发送给反向代理服务器102;
121.网页服务器101,还用于在接收到反向代理服务器102发送的调试请求之后,根据调试请求,对被调试端上的待调试应用程序执行调试请求对应的调试动作。
122.可选的,在图1所示的远程调试系统的基础上,所述网页服务器101具体用于:当所述调试请求为数据获取请求时,根据所述调试请求,获取所述待调试应用程序在所述被调试端中的目标数据;将所述目标数据发送给所述反向代理服务器102;
123.所述反向代理服务器102,具体用于将所述目标数据发送给所述网页浏览器103;
124.所述网页浏览器103,具体用于在接收到反向代理服务器102发送的目标数据之后,显示目标数据。
125.可选的,在图1所示的远程调试系统的基础上,所述网页服务器101具体用于:当所述调试请求为调试操作执行请求,按照所述调试请求携带的调试操作信息,对所述被调试
端上的待调试应用程序进行调试。
126.可选的,在图1所示的远程调试系统的基础上,所述网页服务器101具体用于:将所述远程调试指令发送给所述待调试应用程序的后台服务器,以使所述待调试应用程序的后台服务器根据所述远程调试指令生成调试授权码;接收所述待调试应用程序的后台服务器发送的调试授权码,并根据所述调试授权码生成所述远程调试请求;
127.所述反向代理服务器102具体用于:在确定所述远程调试请求中携带的所述调试授权码通过验证时,建立所述网页服务器101与所述反向代理服务102器之间的数据通路。
128.可选的,在图1所示的远程调试系统的基础上,若所述网页服务器101的使能状态的初始化设置为禁止访问时,当用户在所述被调试端上的待调试应用程序中选择开启远程调试时,所述被调试端将所述网页服务器101的使能状态设置为允许访问,以使所述网页服务器101接收用户触发的远程调试指令。
129.基于上述远程调试系统的相关内容可知,因被调试端内安装有网页服务器且调试端内安装有网页浏览器,使得调试端和被调试端可以通过反向代理服务器进行通信,从而使得技术人员可以利用调试端内的网页浏览器对被调试端中的内网页服务器进行访问及调试,如此能够实现调试端对被调试端进行远程调试。还因调试端是基于网页对被调试端进行远程调试的,使得调试端能够对使用各种操作系统的被调试端进行调试,如此能够有效地克服上述因被调试端操作系统多样化所产生的不良影响,从而使得调试端在对被调试端进行调试时不再受到被调试端所使用的操作系统的影响,如此有利于提高调试效果。另外,因网页服务器安装于被调试端,使得调试端能够借助反向代理服务器直接从被调试端中获取远程调试所需的数据,如此能够有效地避免用户信息的泄露。
130.基于上述提供的远程调试方法的相关内容,本技术实施例还提供了对应的远程调试装置,以使得上述提供的远程调试方法在实际中得以应用和实现。
131.装置实施例
132.需要说明的是,本实施例提供的远程调试装置的技术详情可以参照上述提供的远程调试方法。
133.参见图7,该图为本技术实施例提供的一种远程调试装置的结构示意图。
134.本技术实施例提供的远程调试装置700,包括:
135.生成单元701,用于在接收到用户触发的远程调试指令时,根据所述远程调试指令生成远程调试请求;
136.第一发送单元702,用于将所述远程调试请求发送给反向代理服务器,以使所述反向代理服务器根据所述远程调试请求,建立所述远程调试装置与所述反向代理服务器之间的数据通路;其中,所述数据通路用于传输所述网页服务器与所述反向代理服务器之间的通信数据;
137.获取单元703,用于在接收到所述反向代理服务器发送的网页访问请求之后,根据所述网页访问请求获取目标网页;其中,所述网页访问请求是由所述反向代理服务器从安装于调试端上的网页浏览器接收到的;
138.第二发送单元704,用于将所述目标网页发送给所述反向代理服务器,以使所述反向代理服务器将所述目标网页发送给所述网页浏览器进行显示;
139.调试单元705,用于在接收到所述反向代理服务器发送的调试请求之后,根据所述
调试请求,对所述被调试端上的待调试应用程序执行所述调试请求对应的调试动作;其中,所述调试请求是由所述反向代理服务器从所述网页浏览器接收到的。
140.可选的,在图7所示的远程调试装置700的基础上,调试单元705具体用于:当所述调试请求为数据获取请求时,根据所述调试请求,获取所述待调试应用程序在所述被调试端中的目标数据;将所述目标数据发送给所述反向代理服务器,以使所述反向代理服务器将所述目标数据发送给所述网页浏览器进行显示。
141.可选的,在图7所示的远程调试装置700的基础上,调试单元705具体用于:当所述调试请求为调试操作执行请求,按照所述调试请求携带的调试操作信息,对所述被调试端上的待调试应用程序进行调试。
142.可选的,在图7所示的远程调试装置700的基础上,生成单元701,具体用于:将所述远程调试指令发送给所述待调试应用程序的后台服务器,以使所述待调试应用程序的后台服务器根据所述远程调试指令生成调试授权码;接收所述待调试应用程序的后台服务器发送的调试授权码,并根据所述调试授权码生成所述远程调试请求。
143.可选的,在图7所示的远程调试装置700的基础上,如图8所示,远程调试装置700还包括:
144.开启单元706,用于若所述远程调试装置的使能状态的初始化设置为禁止访问,当用户在所述被调试端上的待调试应用程序中选择开启远程调试时,将所述远程调试装置的使能状态设置为允许访问,以使所述远程调试装置接收用户触发的远程调试指令。
145.基于上述远程调试装置700的相关内容可知,本技术实施例中,因远程调试装置700是基于网页进行远程调试的,使得远程调试装置700能够有效地克服上述因被调试端操作系统多样化所产生的不良影响,从而使得调试端在对被调试端进行调试时不再受到被调试端所使用的操作系统的影响,如此有利于提高调试效果。
146.本技术实施例还提供了一种用于进行远程调试的终端设备,下面将从硬件实体化的角度对本技术实施例提供的用于进行远程调试的终端设备进行介绍。
147.参见图9,为本技术实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本技术实施例相关的部分,具体技术细节未揭示的,请参照本技术实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:personal digital assistant,英文缩写:pda)、销售终端(英文全称:point of sales,英文缩写:pos)、车载电脑等任意终端设备,以终端为平板电脑为例:
148.图9示出的是与本技术实施例提供的终端相关的平板电脑的部分结构的框图。参考图9,平板电脑包括:射频(英文全称:radio frequency,英文缩写:rf)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(英文全称:wireless fidelity,英文缩写:wifi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的平板电脑结构并不构成对平板电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
149.存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行平板电脑的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据平板电脑的使用
所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
150.处理器980是平板电脑的控制中心,利用各种接口和线路连接整个平板电脑的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行平板电脑的各种功能和处理数据,从而对平板电脑进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
151.在本技术实施例中,该终端所包括的处理器980还具有以下功能:
152.在接收到用户触发的远程调试指令时,根据所述远程调试指令生成远程调试请求;
153.将所述远程调试请求发送给反向代理服务器,以使所述反向代理服务器根据所述远程调试请求,建立与所述反向代理服务器之间的数据通路;其中,所述数据通路用于传输所述网页服务器与所述反向代理服务器之间的通信数据;
154.在接收到所述反向代理服务器发送的网页访问请求之后,根据所述网页访问请求获取目标网页;其中,所述网页访问请求是由所述反向代理服务器从安装于调试端上的网页浏览器接收到的;
155.将所述目标网页发送给所述反向代理服务器,以使所述反向代理服务器将所述目标网页发送给所述网页浏览器进行显示;
156.在接收到所述反向代理服务器发送的调试请求之后,根据所述调试请求,对所述被调试端上的待调试应用程序执行所述调试请求对应的调试动作;其中,所述调试请求是由所述反向代理服务器从所述网页浏览器接收到的。
157.可选的,所述处理器980还用于执行本技术实施例提供的远程调试方法的任意一种实现方式的步骤。
158.本技术实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种远程调试方法中的任意一种实施方式。
159.本技术实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种远程调试方法中的任意一种实施方式。
160.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
161.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
162.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
163.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
164.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-only memory,英文缩写:rom)、随机存取存储器(英文全称:random access memory,英文缩写:ram)、磁碟或者光盘等各种可以存储计算机程序的介质。
165.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1