CN113411399A - 一种服务调试方法及装置 - Google Patents
一种服务调试方法及装置 Download PDFInfo
- Publication number
- CN113411399A CN113411399A CN202110681410.7A CN202110681410A CN113411399A CN 113411399 A CN113411399 A CN 113411399A CN 202110681410 A CN202110681410 A CN 202110681410A CN 113411399 A CN113411399 A CN 113411399A
- Authority
- CN
- China
- Prior art keywords
- server
- desktop control
- remote desktop
- tunnel
- terminal
- 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
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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
-
- 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/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开一种服务调试方法及装置,涉及计算机网络技术领域,能够有效提高服务调试效率。所述方法包括:向第一服务器发送第一连接请求,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试所述目标服务。本发明适用于软件服务的调试。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种服务调试方法及装置。
背景技术
随着通信和互连网技术的发展,越来越多的基于互联网的服务应运而生。其中,有些服务是面向用户的(ToC),有些用户则是面向企业的(ToB)。
在ToB业务中,有些软件服务部署到企业内部的私有服务器中后,还需要对该服务进行调试。然而,虽然企业的私有服务器一般可以访问公网(Internet),但从公网却无法直接访问到企业内部私有服务器。
为解决上述问题,相关技术中,一般按照传统的调试流程,派遣1-2人驻场到企业中,以现场方式对服务进行调试。在一些情况下,也可以由企业预先配置好中转机(例如可以是windows、linux桌面电脑),服务调试方借助远程控制软件,如:teamviewer、向日葵等商业软件,与该中转机进行远程连接,并通过远程控制中转机再次连接同网段内的企业私有服务器,以进行软件服务的相关调试。
然而,这两种方式需要花费很多时间和精力进行沟通,服务调试效率低下。
发明内容
有鉴于此,本发明实施例提供一种服务调试方法及装置,能够有效提高服务调试效率。
第一方面,本发明实施例提供一种服务调试方法,基于终端,包括:向第一服务器发送第一连接请求,以连接第一服务器,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;所述第二服务器与所述网络隧道一一对应;根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试所述目标服务,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
可选的,所述第二服务器上设置有至少一个虚拟机;所述通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务包括:通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器中的第一虚拟机,以通过在所述第一虚拟机的界面上进行操作,调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、对应的所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;所述根据目标服务所在的位置向所述第一服务器发送隧道选通指令之后,所述通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器之前,所述方法还包括:向所述第一服务器发送所述桌面控制服务端的部署指令,以通过所述第一服务器及被选通的所述网络隧道,将所述桌面控制服务端部署在对应的所述第二服务器上;所述通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器包括:本地的所述桌面控制客户端通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器上的所述桌面控制服务端建立连接,以登录对应的所述第二服务器。
可选的,所述第二服务器的数量为至少一个,所述第一服务器为每个所述网络隧道设置有对应的隧道端口。
可选的,所述第一服务器支持socks5协议、TCP(Transmission ControlProtocol,传输控制协议)协议及HTTP(HyperText Transfer Protocol,超文本传输协议)协议。
第二方面,本发明的实施例还提供一种服务调试方法,基于第一服务器,包括:接收终端的第一连接请求,根据所述第一连接请求与所述终端建立连接;接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道,其中,所述网络隧道为所述第一服务器与第二服务器之间预先设立的;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试,其中,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
可选的,所述接收所述终端的隧道选通指令之前,所述方法还包括:接收所述第二服务器的第二连接请求,根据所述第二连接请求与所述第二服务器建立所述网络隧道。
可选的,所述接收所述第二服务器的第二连接请求,根据所述第二连接请求与所述第二服务器建立所述网络隧道包括:通过预设监听端口,接收所述第二服务器的第二连接请求,所述第二连接请求中携带所述第一服务器的IP地址及监听端口、所述第二服务器的IP地址;根据所述第二连接请求,为所述第二服务器创建隧道端口;将所述第二服务器的IP地址映射至所述隧道端口;基于预设代理协议,通过所述隧道端口与所述第二服务器建立网络隧道。
可选的,所述第二服务器上设置有至少一个虚拟机;所述接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试包括:接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的所述第二服务器的第一虚拟机,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的所述第一虚拟机的界面上进行操作,实现对目标服务的调试,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、对应的所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;所述接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道之后,所述接收所述终端的远程桌面控制指令之前,所述方法还包括:接收所述终端发送的所述桌面控制服务端的部署指令,以通过被选通的所述网络隧道将所述桌面控制服务端部署在所述第二服务器上;所述接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至第二服务器包括:接收位于所述终端的所述桌面控制客户端发送的远程桌面控制指令,并通过被选通的所述网络隧道将该远程桌面控制指令向所述桌面控制服务端发送。
第三方面,本发明的实施例还提供一种服务调试方法,基于第二服务器,包括:通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问;基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务,所述目标服务设置在所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。
可选的,所述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,所述方法还包括:向第一服务器发送第二连接请求,以建立与所述第一服务器的网络隧道。
可选的,所述第二服务器上设置有至少一个虚拟机;所述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令包括:所述第二服务器上的第一虚拟机,通过所述网络隧道接收所述第一服务器转发的远程桌面控制指令;所述基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务包括:基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的所述第一虚拟机的界面上进行操作以调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;所述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,所述方法还包括:通过所述网络隧道,接收所述第一服务器转发的、所述桌面控制服务端的部署指令,以将所述桌面控制服务端部署在所述第二服务器上;所述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令包括:所述桌面控制服务端通过所述网络隧道,接收所述第一服务器转发的远程桌面控制指令;所述基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务包括:所述桌面控制服务端基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务。
第四方面,本发明的实施例还提供一种服务调试装置,基于终端,包括:第一连接单元,用于向第一服务器发送第一连接请求,以连接第一服务器,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;所述第二服务器与所述网络隧道一一对应;第一选通单元,用于根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;第一调试单元,用于通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务,所述目标服务设置在对应的所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。
可选的,所述第二服务器上设置有至少一个虚拟机;所述第一调试单元,具体用于:通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器中的第一虚拟机,以通过在所述第一虚拟机的界面上进行操作,调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;所述装置还包括第一部署单元,用于在根据目标服务所在的位置向所述第一服务器发送隧道选通指令之后,在通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器之前,向所述第一服务器发送所述桌面控制服务端的部署指令,以通过所述第一服务器及被选通的所述网络隧道,将所述桌面控制服务端部署在对应的所述第二服务器上;所述第一调试单元,具体用于:使本地的所述桌面控制客户端通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器上的所述桌面控制服务端建立连接,以登录对应的所述第二服务器。
可选的,所述第二服务器的数量为至少一个,所述第一服务器为每个所述网络隧道设置有对应的隧道端口。
可选的,所述第一服务器支持socks5协议、TCP协议及HTTP协议。
第五方面,本发明的实施例还提供一种服务调试装置,基于第一服务器,包括:第二连接单元,用于接收终端的第一连接请求,根据所述第一连接请求与所述终端建立连接;第二选通单元,用于接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道,其中,所述网络隧道为所述第一服务器与第二服务器之间预先设立的;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;第二调试单元,用于接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试,其中,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
可选的,所述装置还包括:第一建立单元,用于在接收所述终端的隧道选通指令之前,接收所述第二服务器的第二连接请求,根据所述第二连接请求与所述第二服务器建立所述网络隧道。
可选的,所述第一建立单元包括:接收模块,用于通过预设监听端口,接收所述第二服务器的第二连接请求,所述第二连接请求中携带所述第一服务器的IP地址及监听端口、所述第二服务器的IP地址;端口创建模块,用于根据所述第二连接请求,为所述第二服务器创建隧道端口;映射模块,用于将所述第二服务器的IP地址映射至所述隧道端口;隧道建立模块,用于基于预设代理协议,通过所述隧道端口与所述第二服务器建立网络隧道。
可选的,所述第二服务器上设置有至少一个虚拟机;所述第二调试单元,具体用于:接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的所述第二服务器的第一虚拟机,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的所述第一虚拟机的界面上进行操作,实现对目标服务的调试,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、对应的所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;所述装置还包括第二部署单元,用于在接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道之后,在接收所述终端的远程桌面控制指令之前,接收所述终端发送的所述桌面控制服务端的部署指令,以通过被选通的所述网络隧道将所述桌面控制服务端部署在对应的所述第二服务器上;所述第二调试单元,具体用于接收位于所述终端的所述桌面控制客户端发送的远程桌面控制指令,并通过被选通的所述网络隧道将该远程桌面控制指令向所述桌面控制服务端发送。
第六方面,本发明的实施例还提供一种服务调试装置,基于第二服务器,包括:第一接收单元,用于通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问;第三调试单元,用于基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务,所述目标服务设置在所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。
可选的,所述装置还包括:第二建立单元,用于在通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,向第一服务器发送第二连接请求,以建立与所述第一服务器的网络隧道。
可选的,所述第二服务器上设置有至少一个虚拟机;所述第一接收单元,具体用于使所述第二服务器上的第一虚拟机,通过所述网络隧道接收所述第一服务器转发的远程桌面控制指令;所述第三调试单元,具体用于基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的所述第一虚拟机的界面上进行操作以调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;所述装置还包括第三部署单元,用于在述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,通过所述网络隧道,接收所述第一服务器转发的、所述桌面控制服务端的部署指令,以将所述桌面控制服务端部署在所述第二服务器上;所述第一接收单元,具体用于使所述桌面控制服务端,通过所述网络隧道,接收所述第一服务器转发的远程桌面控制指令;所述第三调试单元,具体用于使所述桌面控制服务端,基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务。
第七方面,本发明的实施例还提供一种服务调试系统,包括:终端、第一服务器、第二服务器;所述终端用于:向第一服务器发送第一连接请求,以连接第一服务器,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;所述第二服务器与所述网络隧道一一对应;根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试所述目标服务,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上;所述第一服务器用于:接收终端的第一连接请求,根据所述第一连接请求与所述终端建立连接;接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道;接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试;所述第二服务器用于:通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令;基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务。
第八方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种服务调试方法。
第九方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种服务调试方法。
本发明的实施例提供的服务调试方法及装置,终端能够向第一服务器发送第一连接请求,以连接第一服务器,并根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接,再通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务。其中,第二服务器与网络隧道一一对应。虽然第二服务器仅允许预设范围内的网络主体访问,且终端并不在该预设范围内,也即是终端无法直接访问第二服务器,但由于终端可以连接第一服务器,而第一服务器通过预设的网络隧道与第二服务器相连,这样,终端就可以以第一服务器为媒介,借助第一服务器与第二服务器之间的网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,通过在对应的所述第二服务器的界面上进行操作,对目标服务部署进行调试,整个过程无需进行繁琐耗时的沟通,有效提高了服务调试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的服务调试系统的一种系统结构图;
图2为本发明的实施例提供的服务调试方法的一种流程图;
图3为本发明的实施例提供的服务调试方法的另一种流程图;
图4为本发明的实施例提供的服务调试方法的又一种流程图;
图5为本发明的实施例提供的服务调试方法的一种详细流程图;
图6为本发明的实施例提供的服务调试装置的一种结构示意图;
图7为本发明的实施例提供的服务调试装置的另一种结构示意图;
图8为本发明的实施例提供的服务调试装置的又一种结构示意图;
图9为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面,本发明的实施例提供了一种服务调试系统,能够有效提高服务调试效率。
如图1所示,本发明的实施例提供的服务调试系统可以包括:终端、第一服务器、第二服务器;
所述终端用于:向第一服务器发送第一连接请求,以连接第一服务器,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;所述第二服务器与所述网络隧道一一对应;根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试所述目标服务,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上;
所述第一服务器用于:接收终端的第一连接请求,根据所述第一连接请求与所述终端建立连接;接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道;接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试;
所述第二服务器用于:通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令;基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务。
本发明的实施例提供的服务调试系统中,终端能够向第一服务器发送第一连接请求,以连接第一服务器,并根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接,再通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务。其中,第二服务器与网络隧道一一对应。虽然第二服务器仅允许预设范围内的网络主体访问,且终端并不在该预设范围内,也即是终端无法直接访问第二服务器,但由于终端可以连接第一服务器,而第一服务器通过预设的网络隧道与第二服务器相连,这样,终端就可以以第一服务器为媒介,借助第一服务器与第二服务器之间的网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,通过在对应的所述第二服务器的界面上进行操作,对目标服务部署进行调试,整个过程无需进行繁琐耗时的沟通,有效提高了服务调试效率。
基于图1所示的服务调试系统,本发明的实施例还提供了相应的服务调试方法,下面分别针对服务调试系统中的终端、第一服务器、第二服务器,对本发明的实施例提供的服务调试方法进行详细说明。
第二方面,本发明的实施例提供了一种服务调试方法,能够有效提高服务调试效率。
如图2所示,本发明的实施例提供一种服务调试方法,该方法基于终端,可以包括:
S11、向第一服务器发送第一连接请求,以连接第一服务器,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;所述第二服务器与所述网络隧道一一对应;
其中,终端可以是笔记本电脑、手机等具有网络访问功能的常见终端。第一服务器可以为在云端设置的服务器,其既可以基于自主研发,也可以由第三方提供。第二服务器可以为需要调试目标服务的私有服务器,例如企业内部的私有服务器、教育网内部服务器、政府网内部服务器等。第一服务器与第二服务器之间预先设置有网络隧道。可选的,第二服务器的数量可以为一个或多个,其中每个第二服务器可以通过一条的网络隧道与第一服务器相连。第二服务器与网络隧道一一对应。本发明的实施例中,第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内。也即是说,该终端无法直接访问第二服务器。例如,教育网内部服务器只允许教育网范围内的IP(Internet Protocol,网际互连协议)访问,如果终端的IP地址并未在教育网范围内,则该终端无法访问第二服务器。需要说明的是,虽然第二服务器不允许预设范围之外的网络主体访问,但第二服务器却可以访问该预设范围之外的网络。
本步骤中,终端可以根据第一服务器的IP地址,向第一服务器发送第一连接请求,从而与第一服务器建立连接。
S12、根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;
终端与第一服务器建立连接后,可以从第一服务器获取相应的信息,例如,可以从第一服务器获取第一服务器与第二服务器之间的隧道分布信息。本步骤中,终端可以在该隧道分布信息中找到目标服务所在的位置(例如目标服务位于第二服务器B),向第一服务器发送隧道选通指令,选通相应的网络隧道,从而使终端通过第一服务器及对应的网络隧道,与对应的第二服务器(第二服务器B)连接。
S13、通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试所述目标服务,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
终端通过所述第一服务器及被选通的所述网络隧道与对应的第二服务器建立连接后,可以向第一服务器发送远程登录第二服务器的指令,第一服务器可以通过被选通的网络隧道,将该远程登录第二服务器的指令转发给第二服务器。这样,借助于第一服务器及被选通的网络隧道,终端即可登录到第二服务器上。可选的,上述远程登录第二服务器的指令可以基于各种远程桌面控制协议,以便终端可以看到并操作第二服务器的界面。
登录到第二服务器后,终端可以看到第二服务器的各种界面,例如桌面、文件夹等,并能够对该界面中的应用软件、文件等进行操作,从而完成对目标服务的调试。为了使目标服务的调试活动基于目标服务所处的真实运行环境,本发明的实施例中,终端只是远程登录到第二服务器,并发出具体的调试命令,但目标服务及测试工具的运行所基于的各种硬件、软件资源、环境,均为第二服务器的资源及环境,也即是说,终端通过远程桌面控制协议登录到第二服务器,从第二服务器内部对目标服务进行各种调试,从而有效保证了调试的真实性和可靠性。这里的调试,可以包括利用各种软硬件工具对目标服务的性能进行测试,还可以包括对不符合测试要求的参数进行修改和再测试。其中,目标服务既可以设置在第二服务器上,以便对目标服务进行直接调试,也可以设置在与第二服务器处于同一局域网的第三服务器上,以便能够以第二服务器为跳板连接到第三服务器,对目标服务进行测试。
本发明的实施例提供的服务调试方法,终端能够向第一服务器发送第一连接请求,以连接第一服务器,并根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接,再通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务。其中,第二服务器与网络隧道一一对应。虽然第二服务器仅允许预设范围内的网络主体访问,且终端并不在该预设范围内,也即是终端无法直接访问第二服务器,但由于终端可以连接第一服务器,而第一服务器通过预设的网络隧道与第二服务器相连,这样,终端就可以以第一服务器为媒介,借助第一服务器与第二服务器之间的网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,通过在对应的所述第二服务器的界面上进行操作,对目标服务部署进行调试,整个过程无需进行繁琐耗时的沟通,有效提高了服务调试效率。
本发明的实施例中,第二服务器的数量可以为一个或多个,各第二服务器可以分别对应不同的单位的私有服务器,例如,第二服务器A1为企业A1的私有服务器,第二服务器A2为企业A2的私有服务器等。第一服务器与各第二服务器之间可以分别通过各自的网络隧道相连。第二服务器与网络隧道一一对应。第一服务器可以为每个网络隧道设置对应的隧道端口,并通过不同的隧道端口识别不同的网络隧道及对应的第二服务器。例如,第一服务器与第二服务器B之间的网络隧道,对应的隧道端口为2001,第一服务器与第二服务器C之间的网络隧道,对应的隧道端口为2002等。
为了使终端能够对目标服务进行调试,第一服务器作为终端与第二服务器之间的媒介,可以支持多种通信协议,例如支持socks5协议、TCP协议及HTTP协议等。第一服务器支持的协议越多,第一服务器的媒介作用越强大。
上述实施例中,终端可以通过第一服务器及选通的网络隧道登录到第二服务器,但本发明的实施例不限于此。在本发明的一些实施例中,第二服务器上可以设置在一个或多个虚拟机(该虚拟机既可以为典型的虚拟机、也可以为容器等轻量级的虚拟机),终端可以具体登录到其中一台或多台虚拟机,并在虚拟机上进行相应的界面操作来调试目标服务。具体实施中,可以将调试目标服务所需的各种工具提前放入某个虚拟机中,终端登录该虚拟机后,即可通过操作该虚拟机的桌面,使用各种调试工具调试目标软件。同时,由于虚拟机可以对软件环境进行更好的隔离,因此能够更方便地对终端的操作权限进行控制和管理。
举例而言,在本发明的一个实施例中,步骤S13中通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务具体可以包括:通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器中的第一虚拟机,以通过在所述第一虚拟机的界面上进行操作,调试目标服务,其中,所述目标服务部署在以下一处或多处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、对应的所述第二服务器主机,只要通过调试工具能够对目标服务进行调试即可。也即是说,终端登录的是第二服务器中的第一虚拟机,同时终端也通过对第一虚拟机的界面的操作实现对目标服务的调试。这样通过虚拟机为调试隔离出了单独的环境,有利于对服务调试工作的控制和管理。
本发明的实施例中,终端基于远程桌面控制协议并借助第一服务器及对应的网络隧道,实现了对目标服务的调试。其中,远程桌面控制协议具体可以包括多种,且形式各异。例如,在本发明的一个实施例中,远程桌面控制协议基于桌面控制服务端和桌面控制客户端,其中,桌面控制服务端例如可以为VNC(Virtual Network Console,虚拟网络控制台)server,桌面控制客户端例如可以为VNC viewer,则在步骤S12根据目标服务所在的位置向所述第一服务器发送隧道选通指令之后,在步骤S13通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器之前,本发明的实施例提供的服务调试方法还可以包括:向所述第一服务器发送所述桌面控制服务端的部署指令,以通过所述第一服务器及被选通的所述网络隧道,将所述桌面控制服务端部署在对应的所述第二服务器上;则基于此,步骤S13中通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器具体可以包括:本地的所述桌面控制客户端通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器上的所述桌面控制服务端建立连接,以登录对应的所述第二服务器。
也即是说,在对目标服务进行调试前,可以先利用选通的网络隧道在第二服务器中部署远程桌面控制协议的服务端,并在终端本地部署远程桌面控制协议的客户端,以便后续利用该服务端和客户端进行远程桌面控制,实现对目标服务的调试。
具体而言,在桌面控制服务端的部署时,可以基于ssh协议,向所述第一服务器发送所述桌面控制服务端的部署指令,其中,所述部署指令可以包括操作命令及所述第二服务器的IP地址。可选的,操作命令可以包括将桌面控制服务端部署到第二服务器上所需的各种具体操作。例如,根据具体服务的不同,操作命令可以包括以下一种或多种:配置操作系统内核参数、下载所述桌面控制服务端的依赖软件、安装所述桌面控制服务端。第二服务器的IP地址可以使第一服务器确定,该部署指令需要通过哪个网络隧道发送。
当然,在本发明的其他实施例中,桌面控制服务端也可以通过其他途径预先部署在第二服务器中,例如通过线下或线上方式,由第二服务器方的内部人员预先将桌面控制服务端安装在第二服务器中。
第三方面,本发明的实施例还提供一种服务调试方法,能够有效提高服务调试效率。
如图3所示,本发明的实施例提供的服务调试方法,基于第一服务器,该方法可以包括:
S21、接收终端的第一连接请求,根据所述第一连接请求与所述终端建立连接;
其中,终端可以是笔记本电脑、手机等具有网络访问功能的常见终端。第一服务器可以为在云端设置的服务器,其既可以基于自主研发,也可以由第三方提供。
S22、接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道,其中,所述网络隧道为所述第一服务器与第二服务器之间预先设立的;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;
其中,第二服务器可以为需要调试目标服务的私有服务器,例如企业内部的私有服务器、教育网内部服务器、政府网内部服务器等。第一服务器与第二服务器之间预先设置有网络隧道。本发明的实施例中,第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内。也即是说,该终端无法直接访问第二服务器。例如,教育网内部服务器只允许教育网范围内的IP访问,如果终端的IP地址并未在教育网范围内,则该终端无法访问第二服务器。需要说明的是,虽然第二服务器不允许预设范围之外的网络主体访问,但第二服务器却可以访问该预设范围之外的网络。
第一服务器接收终端发送的第一连接请求并与终端建立连接后,可以向终端提供相应的信息,例如,可以向终端提供第一服务器与第二服务器之间的隧道分布信息。进一步地,第一服务器还可以接收终端发送的隧道选通指令,并根据该隧道选通指令选通相应的网络隧道,从而通过该网络隧道将终端与第二服务器连接。例如,在该隧道选通指令中可以携带目标服务所在的位置信息(位于哪个第二服务器上),以使第一服务器根据该位置信息,选通该位置对应的网络隧道。
S23、接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试,其中,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
第一服务器通过被选通的所述网络隧道,将终端与第二服务器建立连接后,可以接收终端发送的、远程登录第二服务器的指令,并通过被选通的网络隧道,将该远程登录第二服务器的指令转发给第二服务器。这样,借助于第一服务器及被选通的网络隧道,终端即可登录到第二服务器上。可选的,上述远程登录第二服务器的指令可以基于各种远程桌面控制协议,以便终端可以看到并操作第二服务器的界面。
登录到第二服务器后,终端可以看到第二服务器的各种界面,例如桌面、文件夹等,并能够对该界面中的应用软件、文件等进行操作,从而完成对目标服务的调试。为了使目标服务的调试活动处于目标服务的真实运行环境,本发明的实施例中,终端只是远程登录到第二服务器,并发出具体的调试命令,但目标服务及测试工具运行所基于的各种硬件和软件资源、环境,均为第二服务器的资源及环境,也即是说,终端通过远程桌面控制协议登录到第二服务器,从第二服务器内部对目标服务进行各种调试,从而有效保证了调试的真实性和可靠性。这里的调试,可以包括利用各种软硬件工具对目标服务的性能进行测试,还可以包括对不符合测试要求的参数进行修改和再测试。其中,目标服务既可以设置在第二服务器上,以便对目标服务进行直接调试,也可以设置在与第二服务器处于同一局域网的第三服务器上,以便能够以第二服务器为跳板连接到第三服务器,对目标服务进行测试。
本发明的实施例提供的服务调试方法,第一服务器能够根据终端发送的第一连接请求与所述终端建立连接,并根据终端发送的隧道选通指令中目标服务所在的位置,选通对应的网络隧道,再通过被选通的所述网络隧道将终端发送的远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试。所述第二服务器与所述网络隧道一一对应。虽然第二服务器仅允许预设范围内的网络主体访问,且终端并不在该预设范围内,也即是终端无法直接访问第二服务器,但由于终端可以连接第一服务器,而第一服务器通过预设的网络隧道与第二服务器相连,这样,终端就可以以第一服务器为媒介,借助第一服务器与第二服务器之间的网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,通过在对应的所述第二服务器的界面上进行操作,对目标服务部署进行调试,整个过程无需进行繁琐耗时的沟通,有效提高了服务调试效率。
本发明的实施例中,网络隧道是连接第一服务器和第二服务器的桥梁,能够使第一服务器访问第二服务器。为了建立起这样的网络隧道,在本发明的一个实施例中,步骤S22接收所述终端的隧道选通指令之前,本发明的实施例提供的服务调试方法还可以包括:接收第二服务器的第二连接请求,根据所述第二连接请求与所述第二服务器建立所述网络隧道。
具体而言,在本发明的一个实施例中,接收所述第二服务器的第二连接请求,根据所述第二连接请求与所述第二服务器建立所述网络隧道可以包括:
通过预设监听端口,接收所述第二服务器的第二连接请求,所述第二连接请求中携带所述第一服务器的IP地址及监听端口、所述第二服务器的IP地址;
根据所述第二连接请求,为所述第二服务器创建隧道端口;
将所述第二服务器的IP地址映射至所述隧道端口;
基于预设代理协议,通过所述隧道端口与所述第二服务器建立网络隧道。
本实施例中,监听端口可以是第一服务器中设置的、用于监听其他设备连接信号的端口。其他需要与第一服务器连接的设备(例如第二服务器),都可以根据第一服务器的IP地址和监听端口号,将连接请求发送到该监听端口。第一服务器从该监听端口获取到相应设备的信息后,可以为该设备开设专用的隧道端口,并根据该设备的IP地址与该设备建立网络隧道。可选的,该网络隧道可以基于各种协议建立,例如本发明的一个实施例中,网络隧道主要实现代理功能,则该网络隧道可以基于各种代理协议建立,例如基于socks5代理协议建立。
在本发明的一个实施例中,第一服务器可以通过多个隧道端口分别与多个第二服务器相连,并将每个第二服务器的IP地址分别映射到对应的隧道端口,这样,第一服务器从终端接收到消息时,就可以根据该消息中携带的第二服务器的IP地址,将该消息传递至对应的隧道端口,从而通过该隧道端口将消息发送到对应的第二服务器。
进一步地,为了提高网络隧道的安全性,在本发明的一个实施例中,第一服务器在为第二服务器建立网络隧道时,除了为每个第二服务器设置独立的隧道端口和网络隧道外,还可以为每条网络隧道设置对应的用户名和密码,并发送给第二服务器。第二服务器在后续的连接请求中,只有通过用户名和密码验证后才能够成功连接第一服务器。
第一服务器与第二服务器连接成功,也就意味着第一服务器与第二服务器之间的网络隧道已经建立,第一服务器可以通过网络隧道与第二服务器通信。第一服务器可以向终端提供网络隧道分布信息,终端可以根据网络隧道分布信息,从中选择想要接通的网络隧道,并向第一服务器发送隧道选通指令。第一服务器接收到终端发送的隧道选通指令后,可以将终端与被选通的网络隧道连通,终端即可以借助第一服务器及被选通的网络隧道,向与第二服务器通信,将目标服务部署在第二服务器中。
上述实施例中,第一服务器可以通过选通的网络隧道使终端登录到第二服务器,但本发明的实施例不限于此。在本发明的一些实施例中,第二服务器上可以设置在一个或多个虚拟机,终端还可以具体登录到其中一台或多台虚拟机,并在虚拟机上进行相应的界面操作来调试目标服务。具体实施中,可以将调试目标服务所需的各种工具提前放入某个虚拟机中,终端登录该虚拟机后,即可通过操作该虚拟机的桌面,使用各种调试工具调试目标软件。同时,由于虚拟机可以对软件环境进行更好的隔离,因此能够更方便地对终端的操作权限进行控制和管理。
举例而言,在本发明的一个实施例中,步骤S23中接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试具体可以包括:接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器的第一虚拟机,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的所述第一虚拟机的界面上进行操作,实现对目标服务的调试,其中,所述目标服务部署在以下一处或多处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、对应的所述第二服务器主机,只要通过调试工具能够对目标服务进行调试即可。也即是说,终端登录的是第二服务器中的第一虚拟机,同时也是通过对第一虚拟机的界面的操作实现对目标服务的调试,这样能够为调试隔离出了单独的环境,有利于对服务调试工作的控制和管理。
本发明的实施例中,终端基于远程桌面控制协议并借助第一服务器及对应的网络隧道,实现了对目标服务的调试。其中,远程桌面控制协议具体可以包括多种,且形式各异。例如,在本发明的一个实施例中,远程桌面控制协议基于桌面控制服务端和桌面控制客户端,其中,桌面控制服务端例如可以为VNC server,桌面控制客户端例如可以为VNCviewer。则在步骤S22接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道之后,在步骤S23接收所述终端的远程桌面控制指令之前,本发明的实施例提供的服务调试方法还可以包括:接收终端发送的桌面控制服务端的部署指令,以通过被选通的网络隧道将桌面控制服务端部署在对应的所述第二服务器上;基于此,步骤S23接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器具体可以包括:接收位于终端的桌面控制客户端发送的远程桌面控制指令,并通过被选通的网络隧道将该远程桌面控制指令向所述桌面控制服务端发送。
也即是说,在对目标服务进行调试前,可以先利用选通的网络隧道在第二服务器中部署远程桌面控制协议的服务端,并在终端本地部署远程桌面控制协议的客户端,以便后续利用该服务端和客户端进行远程桌面控制,实现对目标服务的调试。
具体实施中,接收所述终端的桌面控制服务端的部署指令,根据所述部署指令中目标服务所在的位置,通过所述网络隧道将桌面控制服务端部署在对应的所述第二服务器上具体可以包括:
接收所述终端的桌面控制服务端的部署指令,所述部署指令包括操作命令及所述第二服务器的IP地址;
根据所述第二服务器的IP地址,通过所述网络隧道将所述操作命令转发至对应的所述第二服务器,以将所述桌面控制服务端部署在对应的所述第二服务器上。
可选的,操作命令可以包括将桌面控制服务端部署到第二服务器上所需的各种具体操作。例如,根据具体服务的不同,操作命令可以包括以下一种或多种:配置操作系统内核参数、下载所述桌面控制服务端的依赖软件、安装所述桌面控制服务端。第二服务器的IP地址可以使第一服务器确定,该桌面控制服务端的部署指令需要通过哪个网络隧道发送。例如,在本发明的一个实施例中,对于第二服务器的IP地址为ip1的部署指令instc1而言,由于ip1映射到隧道端口3001,则可以将该部署指令instc1中的操作命令通过隧道端口3001发送至对应的第二服务器。对于第二服务器的IP地址为ip2的部署指令instc2而言,由于ip2映射到隧道端口3020,则可以将该部署指令instc2中的操作命令通过隧道端口3020发送至对应的第二服务器。
第四方面,本发明的实施例还提供一种服务调试方法,能够有效提高服务调试效率。
如图4所示,本发明的实施例提供的服务调试方法,基于第二服务器,该方法可以包括:
S31、通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问;
其中,第一服务器可以为在云端设置的服务器,其既可以基于自主研发,也可以由第三方提供。第二服务器可以为需要调试目标服务的私有服务器,例如企业内部的私有服务器、教育网内部服务器、政府网内部服务器等。第一服务器与第二服务器之间预先设置有网络隧道。可选的,第二服务器的数量可以为一个或多个,其中每个第二服务器可以通过一条的网络隧道与第一服务器相连。第二服务器与网络隧道一一对应。本发明的实施例中,第二服务器仅允许预设范围内的网络主体访问。也即是说,预设范围之外的终端无法直接访问第二服务器。例如,教育网内部服务器只允许教育网范围内的IP访问,如果终端的IP地址并未在教育网范围内,则该终端无法访问第二服务器。需要说明的是,虽然第二服务器不允许预设范围之外的网络主体访问,但第二服务器却可以访问该预设范围之外的网络。
S32、基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务,所述目标服务设置在所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。
第二服务器通过所述第一服务器及被选通的网络隧道与终端建立连接后,可以通过被选通的网络隧道接收终端发送的、远程登录第二服务器的指令。这样,借助于第一服务器及被选通的网络隧道,终端即可登录到对应的第二服务器上。可选的,上述远程登录第二服务器的指令可以基于各种远程桌面控制协议,以便终端可以看到并操作第二服务器的界面。
登录到第二服务器后,终端可以看到第二服务器的各种界面,例如桌面、文件夹等,并能够对该界面中的应用软件、文件等进行操作,从而完成对目标服务的调试。为了使目标服务的调试活动基于目标服务所处的真实运行环境,本发明的实施例中,终端只是远程登录到第二服务器,并发出具体的调试命令,但目标服务及测试工具的运行所基于的各种硬件、软件资源、环境,均为第二服务器的资源及环境,也即是说,终端通过远程桌面控制协议登录到第二服务器,从第二服务器内部对目标服务进行各种调试,从而有效保证了调试的真实性和可靠性。这里的调试,可以包括利用各种软硬件工具对目标服务的性能进行测试,还可以包括对不符合测试要求的参数进行修改和再测试。其中,目标服务既可以设置在第二服务器上,以便对目标服务进行直接调试,也可以设置在与第二服务器处于同一局域网的第三服务器上,以便能够以第二服务器为跳板连接到第三服务器,对目标服务进行测试。
本发明的实施例提供的服务调试方法,能够通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令,基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务,所述目标服务设置在所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。其中,所述第二服务器与所述网络隧道一一对应。虽然第二服务器仅允许预设范围内的网络主体访问,也即是在预设范围之外的终端无法直接访问第二服务器,但由于第一服务器通过预设的网络隧道与第二服务器相连,第一服务器就可以作为媒介,将该终端与第二服务器联系起来,使终端登录到第二服务器。这样,第二服务器可以接收第一服务器转发自终端的远程桌面控制指令,并根据该远程桌面控制指令在第二服务器的界面上进行操作,以调试目标服务,整个过程无需进行繁琐耗时的沟通,有效提高了服务调试效率。
本发明的实施例中,网络隧道是连接第一服务器和第二服务器的桥梁,能够使第一服务器访问第二服务器。为了建立起这样的网络隧道,在本发明的一个实施例中,在步骤S31通过所述第二服务器与第一服务器之间预先设置的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,本发明的实施例提供的服务调试方法还可以包括:向所述第一服务器发送第二连接请求,以建立与所述第一服务器的所述网络隧道,其中,所述第二连接请求中携带所述第一服务器的IP地址及监听端口、所述第二服务器的IP地址。
本实施例中,监听端口可以是第一服务器中设置的、用于监听其他设备连接信号的端口。其他需要与第一服务器连接的设备(例如第二服务器),都可以根据第一服务器的IP地址和监听端口号,将连接请求发送到该监听端口。第一服务器从该监听端口获取到相应设备的信息后,可以为该设备开设专用的隧道端口,并根据该设备的IP地址与该设备建立网络隧道。可选的,该网络隧道可以基于各种协议建立,例如本发明的一个实施例中,网络隧道主要实现代理功能,则该网络隧道可以基于各种代理协议建立,例如基于socks5代理协议建立。
上述实施例中,终端可以通过第一服务器及选通的网络隧道登录到第二服务器,但本发明的实施例不限于此。在本发明的一些实施例中,第二服务器上可以设置在一个或多个虚拟机,终端可以具体登录到其中一台或多台虚拟机,并在虚拟机上进行相应的界面操作来调试目标服务。具体实施中,可以将调试目标服务所需的各种工具提前放入某个虚拟机中,终端登录该虚拟机后,即可通过操作该虚拟机的桌面,使用各种调试工具调试目标软件。同时,由于虚拟机可以对软件环境进行更好的隔离,因此能够更方便地对终端的操作权限进行控制和管理。
举例而言,在本发明的一个实施例中,步骤S31中通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令具体可以包括:所述第二服务器上的第一虚拟机,通过所述网络隧道接收所述第一服务器转发的远程桌面控制指令;基于此,步骤S32中基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务具体可以包括:基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的所述第一虚拟机的界面上进行操作以调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、所述第二服务器主机。也即是说,终端登录的是第二服务器中的第一虚拟机,同时也是通过对第一虚拟机的界面的操作实现对目标服务的调试。这样通过虚拟机为调试隔离出了单独的环境,有利于对服务调试工作的控制和管理。
本发明的实施例中,第二服务器和终端基于远程桌面控制协议并借助第一服务器及对应的网络隧道,实现了对目标服务的调试。其中,远程桌面控制协议具体可以包括多种,且形式各异。例如,在本发明的一个实施例中,远程桌面控制协议基于桌面控制服务端和桌面控制客户端,其中,桌面控制服务端例如可以为VNC server,桌面控制客户端例如可以为VNC viewer。
举例而言,在本发明的一个实施例中,步骤S31通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,本发明的实施例提供的服务调试方法还可以包括:通过所述网络隧道,接收所述第一服务器转发的、所述桌面控制服务端的部署指令,以将所述桌面控制服务端部署在所述第二服务器上;基于此,步骤S31通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令具体可以包括:所述桌面控制服务端通过所述网络隧道,接收所述第一服务器转发的远程桌面控制指令。相应的,步骤S32基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务具体可以包括:所述桌面控制服务端基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务。
具体实施中,终端通过桌面控制客户端、第一服务器、网络隧道、桌面控制服务端登录第二服务器后,终端的桌面控制客户端可以向第二服务器的桌面控制服务端发送远程桌面控制指令,第二服务器的桌面控制服务端可以将该远程桌面控制指令转换成第二服务器上的界面操作,第二服务器根据这些界面操作,调试目标服务。
也即是说,在对目标服务进行调试前,可以先利用选通的网络隧道在第二服务器中部署远程桌面控制协议的服务端(例如桌面控制服务端),并在终端本地部署远程桌面控制协议的客户端(例如桌面控制客户端),以便后续利用该服务端和客户端进行远程桌面控制,实现对目标服务的调试。由于该部署指令是一些无法直接访问第二服务器的终端,借助第一服务器转发给第二服务器的,因此,从效果上来说,第二服务器可以方便地根据终端的部署指令进行桌面控制服务端的部署。
具体而言,在桌面控制服务端的部署时,终端可以基于ssh协议,向所述第一服务器发送所述桌面控制服务端的部署指令,其中,所述部署指令可以包括操作命令及所述第二服务器的IP地址。可选的,操作命令可以包括将桌面控制服务端部署到第二服务器上所需的各种具体操作。例如,根据具体服务的不同,操作命令可以包括以下一种或多种:配置操作系统内核参数、下载所述桌面控制服务端的依赖软件、安装所述桌面控制服务端。第二服务器的IP地址可以使第一服务器确定,该部署指令需要通过哪个网络隧道发送。
当然,在本发明的其他实施例中,桌面控制服务端也可以通过其他途径预先部署在第二服务器中,例如通过线下或线上方式,由第二服务器方的内部人员预先将桌面控制服务端安装在第二服务器中。
下面通过具体实施例对本发明的实施例提供的服务调试方法进行详细说明。
如图5所示,本发明的实施例提供的服务调试方法可以包括:
S401、在第二服务器上安装预设客户端,其中,第二服务器仅允许预设范围内的网络主体访问;
S402、基于该客户端,向第一服务器的监听端口发送第二连接请求;
S403、第一服务器接收到该第二连接请求,根据该第二连接请求,为第二服务器创建网络隧道,指定其隧道端口为3002;
S404、终端向第一服务器发送第一连接请求,与第一服务器建立连接;
S405、终端向第一服务器发送隧道选通指令;
S406、第一服务器根据该隧道选通指令,选通对应的网络隧道,连通终端与第二服务器;
S407、终端向第一服务器发送桌面控制服务端的部署指令,该部署指令包括操作命令及第二服务器的IP地址;
S408、第一服务器根据桌面控制服务端的部署指令中第二服务器的IP地址,将操作命令通过隧道端口3002向第二服务器发送;
S409、第二服务器根据操作命令,部署桌面控制服务端;
可选的,根据具体服务的不同,操作命令可以包括以下一种或多种:配置操作系统内核参数、下载所述桌面控制服务端的依赖软件、安装所述桌面控制服务端。
S410、位于终端的桌面控制客户端通过第一服务器及网络隧道与位于第二服务器的桌面控制服务端建立连接;
S411、终端通过桌面控制客户端、第一服务器、网络隧道、桌面控制服务端登录第二服务器;
S412、终端的桌面控制客户端向第二服务器的桌面控制服务端发送远程桌面控制指令;
S413、第二服务器的桌面控制服务端将该远程桌面控制指令转换成第二服务器上的界面操作;
S414、第二服务器根据接收到的界面操作,调试目标服务。
第五方面,本发明的实施例还提供一种服务调试装置,能够有效提高服务调试效率。
如图6所示,本发明的实施例提供的服务调试装置,设置在终端,该装置可以包括:
第一连接单元51,用于向第一服务器发送第一连接请求,以连接第一服务器,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;所述第二服务器与所述网络隧道一一对应;
第一选通单元52,用于根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;
第一调试单元53,用于通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
本发明的实施例提供的服务调试装置,终端能够向第一服务器发送第一连接请求,以连接第一服务器,并根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接,再通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务。其中,第二服务器与网络隧道一一对应。虽然第二服务器仅允许预设范围内的网络主体访问,且终端并不在该预设范围内,也即是终端无法直接访问第二服务器,但由于终端可以连接第一服务器,而第一服务器通过预设的网络隧道与第二服务器相连,这样,终端就可以以第一服务器为媒介,借助第一服务器与第二服务器之间的网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,通过在对应的所述第二服务器的界面上进行操作,对目标服务部署进行调试,整个过程无需进行繁琐耗时的沟通,有效提高了服务调试效率。
可选的,所述第二服务器上设置有至少一个虚拟机;第一调试单元53,具体用于:通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器中的第一虚拟机,以通过在所述第一虚拟机的界面上进行操作,调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;所述装置还包括第一部署单元,用于在向所述第一服务器发送隧道选通指令之后,在通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器之前,向所述第一服务器发送所述桌面控制服务端的部署指令,以通过所述第一服务器及被选通的所述网络隧道,将所述桌面控制服务端部署在对应的所述第二服务器上;
第一调试单元53,具体用于:使本地的所述桌面控制客户端通过所述第一服务器及被选通的所述网络隧道与所述第二服务器上的所述桌面控制服务端建立连接,以登录所述第二服务器。
可选的,所述第二服务器的数量为至少一个,所述第一服务器为每个所述网络隧道设置有对应的隧道端口。
可选的,所述第一服务器支持socks5协议、TCP协议及HTTP协议。
第六方面,本发明的实施例还提供一种服务调试装置,能够有效提高服务调试效率。
如图7所示,本发明的实施例还提供一种服务调试装置,基于第一服务器,该装置可以包括:
第二连接单元61,用于接收终端的第一连接请求,根据所述第一连接请求与所述终端建立连接;
第二选通单元62,用于接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道,其中,所述网络隧道为所述第一服务器与第二服务器之间预先设立的;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;
第二调试单元63,用于接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试,其中,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
本发明的实施例提供的服务调试装置,第一服务器能够根据终端发送的第一连接请求与所述终端建立连接,并根据终端发送的隧道选通指令中目标服务所在的位置,选通对应的网络隧道,再通过被选通的所述网络隧道将终端发送的远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试。所述第二服务器与所述网络隧道一一对应。虽然第二服务器仅允许预设范围内的网络主体访问,且终端并不在该预设范围内,也即是终端无法直接访问第二服务器,但由于终端可以连接第一服务器,而第一服务器通过预设的网络隧道与第二服务器相连,这样,终端就可以以第一服务器为媒介,借助第一服务器与第二服务器之间的网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,通过在对应的所述第二服务器的界面上进行操作,对目标服务部署进行调试,整个过程无需进行繁琐耗时的沟通,有效提高了服务调试效率。
可选的,所述装置还可以包括:第一建立单元,用于在接收所述终端的隧道选通指令之前,接收所述第二服务器的第二连接请求,根据所述第二连接请求与所述第二服务器建立所述网络隧道。
可选的,所述第一建立单元可以包括:
接收模块,用于通过预设监听端口,接收所述第二服务器的第二连接请求,所述第二连接请求中携带所述第一服务器的IP地址及监听端口、所述第二服务器的IP地址;
端口创建模块,用于根据所述第二连接请求,为所述第二服务器创建隧道端口;
映射模块,用于将所述第二服务器的IP地址映射至所述隧道端口;
隧道建立模块,用于基于预设代理协议,通过所述隧道端口与所述第二服务器建立网络隧道。
可选的,所述第二服务器上设置有至少一个虚拟机;第二调试单元63,可具体用于:接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器的第一虚拟机,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的所述第一虚拟机的界面上进行操作,实现对目标服务的调试,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、对应的所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;
所述装置还包括第二部署单元,用于在接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道之后,在接收所述终端的远程桌面控制指令之前,接收所述终端发送的所述桌面控制服务端的部署指令,以通过被选通的所述网络隧道将所述桌面控制服务端部署在对应的所述第二服务器上;
第二调试单元63,可具体用于接收位于所述终端的所述桌面控制客户端发送的远程桌面控制指令,并通过被选通的所述网络隧道将该远程桌面控制指令向所述桌面控制服务端发送。
第七方面,本发明的实施例还提供一种服务调试装置,能够有效提高服务调试效率。
如图8所示,本发明的实施例提供的服务调试装置,设置于第二服务器,该装置可以包括:
第一接收单元71,用于通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问;
第三调试单元72,用于基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务,所述目标服务设置在所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。
本发明的实施例提供的服务调试装置,第二服务器能够通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令,基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务,所述目标服务设置在所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。其中,所述第二服务器与所述网络隧道一一对应。虽然第二服务器仅允许预设范围内的网络主体访问,也即是在预设范围之外的终端无法直接访问第二服务器,但由于第一服务器通过预设的网络隧道与第二服务器相连,第一服务器就可以作为媒介,将该终端与第二服务器联系起来,使终端登录到第二服务器。这样,第二服务器可以接收第一服务器转发自终端的远程桌面控制指令,并根据该远程桌面控制指令在第二服务器的界面上进行操作,以调试目标服务,整个过程无需进行繁琐耗时的沟通,有效提高了服务调试效率。
可选的,所述装置还可以包括:第二建立单元,用于在通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,向第一服务器发送第二连接请求,以建立与所述第一服务器的网络隧道。
可选的,所述第二服务器上设置有至少一个虚拟机;第一接收单元71,具体用于使所述第二服务器上的第一虚拟机,通过所述网络隧道接收所述第一服务器转发的远程桌面控制指令;
第三调试单元72,具体用于基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的所述第一虚拟机的界面上进行操作以调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、所述第二服务器主机。
可选的,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;所述装置还包括第三部署单元,用于在述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,通过所述网络隧道,接收所述第一服务器转发的、所述桌面控制服务端的部署指令,以将所述桌面控制服务端部署在所述第二服务器上;
第一接收单元71,具体用于使所述桌面控制服务端,通过所述网络隧道,接收所述第一服务器转发的远程桌面控制指令;
第三调试单元72,具体用于使所述桌面控制服务端,基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务。
第八方面,本发明实施例提供一种电子设备,能够有效提高服务调试效率。
如图9所示,本发明的实施例提供的电子设备,可以包括:壳体81、处理器82、存储器83、电路板84和电源电路85,其中,电路板84安置在壳体81围成的空间内部,处理器82和存储器83设置在电路板84上;电源电路85,用于为上述电子设备的各个电路或器件供电;存储器83用于存储可执行程序代码;处理器82通过读取存储器83中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例提供的服务调试方法。
处理器82对上述步骤的具体执行过程以及处理器82通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
上述电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
相应的,第九方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种服务调试方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种服务调试方法,基于终端,其特征在于,包括:
向第一服务器发送第一连接请求,以连接第一服务器,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;所述第二服务器与所述网络隧道一一对应;
根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;
通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试所述目标服务,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
2.根据权利要求1所述的方法,其特征在于,所述第二服务器上设置有至少一个虚拟机;
所述通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务包括:
通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器中的第一虚拟机,以通过在所述第一虚拟机的界面上进行操作,调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、对应的所述第二服务器主机。
3.根据权利要求1或2所述的方法,其特征在于,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;
所述根据目标服务所在的位置向所述第一服务器发送隧道选通指令之后,所述通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器之前,所述方法还包括:向所述第一服务器发送所述桌面控制服务端的部署指令,以通过所述第一服务器及被选通的所述网络隧道,将所述桌面控制服务端部署在对应的所述第二服务器上;
所述通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器包括:本地的所述桌面控制客户端通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器上的所述桌面控制服务端建立连接,以登录对应的所述第二服务器。
4.根据权利要求1或2所述的方法,其特征在于,所述第二服务器的数量为至少一个,所述第一服务器为每个所述网络隧道设置有对应的隧道端口。
5.根据权利要求1或2所述的方法,其特征在于,所述第一服务器支持socks5协议、TCP协议及HTTP协议。
6.一种服务调试方法,基于第一服务器,包括:
接收终端的第一连接请求,根据所述第一连接请求与所述终端建立连接;
接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道,其中,所述网络隧道为所述第一服务器与第二服务器之间预先设立的;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;
接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试,其中,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
7.根据权利要求6所述的方法,其特征在于,所述接收所述终端的隧道选通指令之前,所述方法还包括:
接收所述第二服务器的第二连接请求,根据所述第二连接请求与所述第二服务器建立所述网络隧道。
8.根据权利要求7所述的方法,其特征在于,所述接收所述第二服务器的第二连接请求,根据所述第二连接请求与所述第二服务器建立所述网络隧道包括:
通过预设监听端口,接收所述第二服务器的第二连接请求,所述第二连接请求中携带所述第一服务器的IP地址及监听端口、所述第二服务器的IP地址;
根据所述第二连接请求,为所述第二服务器创建隧道端口;
将所述第二服务器的IP地址映射至所述隧道端口;
基于预设代理协议,通过所述隧道端口与所述第二服务器建立网络隧道。
9.根据权利要求6所述的方法,其特征在于,所述第二服务器上设置有至少一个虚拟机;
所述接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试包括:
接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的所述第二服务器的第一虚拟机,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的所述第一虚拟机的界面上进行操作,实现对目标服务的调试,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、对应的所述第二服务器主机。
10.根据权利要求6所述的方法,其特征在于,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;
所述接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道之后,所述接收所述终端的远程桌面控制指令之前,所述方法还包括:接收所述终端发送的所述桌面控制服务端的部署指令,以通过被选通的所述网络隧道将所述桌面控制服务端部署在对应的所述第二服务器上;
所述接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器包括:接收位于所述终端的所述桌面控制客户端发送的远程桌面控制指令,并通过被选通的所述网络隧道将该远程桌面控制指令向所述桌面控制服务端发送。
11.一种服务调试方法,基于第二服务器,包括:
通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问;
基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务,所述目标服务设置在所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。
12.根据权利要求11所述的方法,其特征在于,所述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,所述方法还包括:
向第一服务器发送第二连接请求,以建立与所述第一服务器的网络隧道。
13.根据权利要求11所述的方法,其特征在于,所述第二服务器上设置有至少一个虚拟机;
所述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令包括:所述第二服务器上的第一虚拟机,通过所述网络隧道接收所述第一服务器转发的远程桌面控制指令;
所述基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务包括:基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的所述第一虚拟机的界面上进行操作以调试目标服务,其中,所述目标服务部署在以下至少一处:所述第一虚拟机、与所述第一虚拟机不同的第二虚拟机、所述第二服务器主机。
14.根据权利要求11所述的方法,其特征在于,所述远程桌面控制协议基于桌面控制服务端和桌面控制客户端;
所述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令之前,所述方法还包括:通过所述网络隧道,接收所述第一服务器转发的、所述桌面控制服务端的部署指令,以将所述桌面控制服务端部署在所述第二服务器上;
所述通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令包括:所述桌面控制服务端通过所述网络隧道,接收所述第一服务器转发的远程桌面控制指令;
所述基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务包括:所述桌面控制服务端基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务。
15.一种服务调试装置,基于终端,其特征在于,包括:
第一连接单元,用于向第一服务器发送第一连接请求,以连接第一服务器,其中,所述第一服务器通过预设的网络隧道与第二服务器相连;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;所述第二服务器与所述网络隧道一一对应;
第一选通单元,用于根据目标服务所在的位置向所述第一服务器发送隧道选通指令,以通过所述第一服务器及被选通的所述网络隧道与对应的所述第二服务器建立连接;
第一调试单元,用于通过所述第一服务器及被选通的所述网络隧道,基于远程桌面控制协议登录对应的所述第二服务器,以通过在对应的所述第二服务器的界面上进行操作,调试目标服务,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
16.一种服务调试装置,基于第一服务器,包括:
第二连接单元,用于接收终端的第一连接请求,根据所述第一连接请求与所述终端建立连接;
第二选通单元,用于接收所述终端的隧道选通指令,根据所述隧道选通指令中目标服务所在的位置,选通对应的网络隧道,其中,所述网络隧道为所述第一服务器与第二服务器之间预先设立的;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问,且所述终端不在所述预设范围内;
第二调试单元,用于接收所述终端的远程桌面控制指令,并通过被选通的所述网络隧道将所述远程桌面控制指令传送至对应的第二服务器,以基于远程桌面控制协议,通过所述远程桌面控制指令在对应的所述第二服务器的界面上进行操作,实现对目标服务的调试,其中,所述目标服务设置在对应的所述第二服务器上,或设置在与对应的所述第二服务器处于同一局域网的第三服务器上。
17.一种服务调试装置,基于第二服务器,包括:
第一接收单元,用于通过所述第二服务器与第一服务器之间预先建立的网络隧道,接收所述第一服务器转发的远程桌面控制指令;所述第二服务器与所述网络隧道一一对应;所述第二服务器仅允许预设范围内的网络主体访问;
第三调试单元,用于基于远程桌面控制协议,根据所述远程桌面控制指令,在所述第二服务器的界面上进行操作以调试目标服务,所述目标服务设置在所述第二服务器上,或设置在与所述第二服务器处于同一局域网的第三服务器上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110681410.7A CN113411399A (zh) | 2021-06-18 | 2021-06-18 | 一种服务调试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110681410.7A CN113411399A (zh) | 2021-06-18 | 2021-06-18 | 一种服务调试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113411399A true CN113411399A (zh) | 2021-09-17 |
Family
ID=77681671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110681410.7A Pending CN113411399A (zh) | 2021-06-18 | 2021-06-18 | 一种服务调试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113411399A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150058969A1 (en) * | 2013-08-21 | 2015-02-26 | Desktone, Inc. | On Premises, Remotely Managed, Host Computers for Virtual Desktops |
CN110808992A (zh) * | 2019-11-07 | 2020-02-18 | 北京绪水互联科技有限公司 | 一种远程协作的方法、装置及系统 |
CN112261083A (zh) * | 2020-09-21 | 2021-01-22 | 广州汽车集团股份有限公司 | 远程控制方法、系统和虚拟机服务器 |
CN112671907A (zh) * | 2020-12-24 | 2021-04-16 | 深圳市潮流网络技术有限公司 | 终端设备调试方法及装置、终端设备、存储介质 |
-
2021
- 2021-06-18 CN CN202110681410.7A patent/CN113411399A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150058969A1 (en) * | 2013-08-21 | 2015-02-26 | Desktone, Inc. | On Premises, Remotely Managed, Host Computers for Virtual Desktops |
CN110808992A (zh) * | 2019-11-07 | 2020-02-18 | 北京绪水互联科技有限公司 | 一种远程协作的方法、装置及系统 |
CN112261083A (zh) * | 2020-09-21 | 2021-01-22 | 广州汽车集团股份有限公司 | 远程控制方法、系统和虚拟机服务器 |
CN112671907A (zh) * | 2020-12-24 | 2021-04-16 | 深圳市潮流网络技术有限公司 | 终端设备调试方法及装置、终端设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
US9910765B2 (en) | Providing testing environments for software applications using virtualization and a native hardware layer | |
CN104967585B (zh) | 一种远程调试移动终端的方法和装置 | |
CN110032507B (zh) | 应用程序测试方法、装置、系统、电子设备及存储介质 | |
EP2815320A1 (en) | Remote debugging as a service | |
US20150135165A1 (en) | Debugging a web application locally during development | |
CN111176794A (zh) | 一种容器管理方法、装置及可读存储介质 | |
CN104270204A (zh) | 一种无线通信模块测试方法及测试设备 | |
CN109491887A (zh) | 测试环境部署方法、装置、计算机设备及存储介质 | |
CN111030980A (zh) | 一种Linux透明网络设备平台实现方法、装置及存储介质 | |
CN112445700A (zh) | 测试方法和装置 | |
CN113574845A (zh) | 内部和外部调试 | |
CN114490383A (zh) | 远程调试系统、远程调试方法、计算设备和可读介质 | |
CN113162823A (zh) | 一种app测试仿真系统和物联网仿真测试方法 | |
CN110278092A (zh) | 基于mqtt协议的路由器远程控制方法和系统 | |
CN113709243B (zh) | 设备远程控制方法及装置、电子设备和存储介质 | |
CN107181606B (zh) | 用于控制网络节点的方法和装置 | |
CN114416169A (zh) | 基于微前端的数据处理方法、介质、装置和计算设备 | |
CN111756855B (zh) | 一种远程控制系统、方法、介质及计算设备 | |
CN106875765B (zh) | 一种基于vdi的电子教室实现方法及装置 | |
CN113411399A (zh) | 一种服务调试方法及装置 | |
CN113518022A (zh) | 用于用户设备与家居设备连接配置的方法 | |
CN114020678B (zh) | 服务器串行控制台重定向方法、装置、系统以及电子设备 | |
CN113656152B (zh) | 基于容器云环境的本地模拟方法、系统、介质和电子设备 | |
US9916280B2 (en) | Virtualizing TCP/IP services with shared memory transport |
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 |