CN109831361A - 一种分布式调试方法、系统及装置 - Google Patents
一种分布式调试方法、系统及装置 Download PDFInfo
- Publication number
- CN109831361A CN109831361A CN201910151689.0A CN201910151689A CN109831361A CN 109831361 A CN109831361 A CN 109831361A CN 201910151689 A CN201910151689 A CN 201910151689A CN 109831361 A CN109831361 A CN 109831361A
- Authority
- CN
- China
- Prior art keywords
- turned
- service
- information
- services
- mark
- 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.)
- Granted
Links
Abstract
本申请实施例公开了一种分布式调试方法、系统及装置,当客户端开发人员需要使用第一终端调用目标服务时,可以在向网关发送的服务器请求中添加提供该目标服务的目标用户标识,由网关在第一已启动服务信息中进行查找,以获取与目标用户标识匹配的待确认用户标识。当待确认用户标识对应的已启动服务标识与目标服务标识匹配时,代表有服务端开发人员使用第二终端启动了该目标服务,则将该服务请求发送给待确认用户标识对应的第二终端,利用第二终端提供的服务进行调试。在该调试时第一终端与第二终端均无需访问公共服务器,其他开发人员可以继续访问公共服务器,或使用其他第一终端与其他第二终端配对调试,使得开发调试过程并行执行,提高开发调试效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种分布式调试方法、系统及装置。
背景技术
微服务架构是一种当前流行的服务端分布式架构方案,它描述了将软件应用程序设计为可独立部署的服务套件的特定方式。即微服务架构可以将软件应用程序中的各个服务拆分为可独立运行的进程,使开发解耦、开发效率提升。
在微服务架构开发过程中,需要服务端与客户端之间进行联调。在现有技术中一般在公共服务器中启动各个微服务以进行调试。在具体实现过程中,服务端开发人员将开发的某一微服务上传代码管理软件,然后登录公共服务器,将代码管理软件中该微服务更新到公共服务器中,在公共服务器中重启该微服务;客户端开发人员通过API(ApplicationProgramming Interface,应用程序编程接口)网关连接公共服务器进行调试;当客户端开发人员发现某一微服务有问题或与需求不一致时,服务端开发人员需要登录公共服务器开启该微服务调试模式进行调试,对代码进行修改,重启该微服务,直到问题解除。在整个调试过程中当有开发人员对公共服务器进行操作时,其他开发人员只能等待。
在现有技术中,公共服务器供所有开发人员使用,为避免资源竞争,在开发调试中只能以串行方式进行调试,使得研发效率大大降低。
发明内容
有鉴于此,本申请实施例提供一种分布式调试方法、系统及装置,以解决现有技术中开发调试效率较低的技术问题。
为解决上述问题,本申请实施例提供的技术方案如下:
一种分布式调试方法,所述方法包括:
获取第一终端发送的服务请求,所述服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识;
获取已启动服务信息,所述已启动服务信息包括第一已启动服务信息,所述第一已启动服务信息包括已启动服务标识以及所述已启动服务标识对应的用户标识;
如果所述服务请求中包括所述目标用户标识,在所述第一已启动服务信息中查找与所述目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识;
如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识匹配,将所述服务请求发送给所述待确认用户标识对应的第二终端。
在一种可能的实现方式中,所述已启动服务信息还包括第二已启动服务信息,所述第二已启动服务信息仅包括已启动服务标识。
在一种可能的实现方式中,所述方法还包括:
如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识不匹配,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
在一种可能的实现方式中,所述方法还包括:
如果所述服务请求中包括所述目标用户标识,且在所述第一已启动服务信息中未查找到与所述目标用户标识匹配的已启动服务标识对应的用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
在一种可能的实现方式中,所述方法还包括:
如果所述服务请求中不包括所述目标用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
在一种可能的实现方式中,所述方法还包括:
如果在所述第二已启动服务信息中未查找到与所述目标服务标识匹配的已启动服务标识,则向所述第一终端发送目标服务未启动的提示信息。
在一种可能的实现方式中,所述第一已启动服务信息是由所述第二终端将当前已启动服务的服务标识作为已启动服务标识、将所述第二终端的用户标识作为所述已启动服务标识对应的用户标识发送给注册中心的;
所述第二已启动服务信息是由公共服务器将当前已启动服务的服务标识作为已启动服务标识发送给注册中心的。
一种分布式调试系统,所述系统包括:
网关、第一终端以及第二终端;
所述第一终端,用于向所述网关发送服务请求,所述服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识;
所述网关,用于获取已启动服务信息,所述已启动服务信息包括第一已启动服务信息,所述第一已启动服务信息包括已启动服务标识以及所述已启动服务标识对应的用户标识;如果所述服务请求中包括所述目标用户标识,在所述第一已启动服务信息中查找与所述目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识;如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识匹配,将所述服务请求发送给所述待确认用户标识对应的第二终端;
所述第二终端,用于接收所述服务请求。
在一种可能的实现方式中,所述已启动服务信息还包括第二已启动服务信息,所述第二已启动服务信息仅包括已启动服务标识。
在一种可能的实现方式中,所述系统还包括:公共服务器;
所述网关,还用于如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识不匹配,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器;
所述公共服务器,用于接收所述服务请求。
在一种可能的实现方式中,所述系统还包括:公共服务器;
所述网关,还用于如果所述服务请求中包括所述目标用户标识,且在所述第一已启动服务信息中未查找到与所述目标用户标识匹配的已启动服务标识对应的用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器;
所述公共服务器,用于接收所述服务请求。
在一种可能的实现方式中,所述系统还包括:公共服务器;
所述网关,还用于如果所述服务请求中不包括所述目标用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器;
所述公共服务器,用于接收所述服务请求。
在一种可能的实现方式中,所述网关,还用于如果在所述第二已启动服务信息中未查找到与所述目标服务标识匹配的已启动服务标识,向所述第一终端发送目标服务未启动的提示信息;
所述第一终端,还用于接收所述目标服务未启动的提示信息。
在一种可能的实现方式中,所述系统还包括:注册中心;
所述第二终端,还用于将当前已启动服务的服务标识作为已启动服务标识、将所述第二终端的用户标识作为所述已启动服务标识对应的用户标识发送给所述注册中心;
公共服务器,用于将当前已启动服务的服务标识作为已启动服务标识发送给所述注册中心;
所述注册中心,用于接收所述第二终端发送的已启动服务标识以及所述已启动服务标识对应的用户标识作为第一已启动服务信息;接收所述公共服务器发送的已启动服务标识作为第二已启动服务信息。
一种分布式调试装置,所述装置包括:
第一获取单元,用于获取第一终端发送的服务请求,所述服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识;
第二获取单元,用于获取已启动服务信息,所述已启动服务信息包括第一已启动服务信息,所述第一已启动服务信息包括已启动服务标识以及所述已启动服务标识对应的用户标识;
第一查找单元,用于如果所述服务请求中包括所述目标用户标识,在所述第一已启动服务信息中查找与所述目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识;
第一发送单元,用于如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识匹配,将所述服务请求发送给所述待确认用户标识对应的第二终端。
一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的分布式调试方法。
一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的分布式调试方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例中首先由网关获取第一终端发送的服务请求,该服务器请求可以包括目标服务标识或包括目标服务标识以及目标用户标识。同时,网关获取已启动服务信息,该已启动服务信息包括第一已启动服务器信息,第一已启动服务器信息包括已启动服务标识以及已启动服务标识对应的用户标识。当第一终端发送的服务请求中包括目标用户标识时,网关根据目标用户标识在第一已启动服务信息中查找与目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识。当待确认用户标识对应的已启动服务标识与目标服务标识匹配,则将该服务请求发送给待确认用户标识对应的第二终端。
也就是,当客户端开发人员需要使用第一终端调用目标服务时,可以在向网关发送的服务器请求中添加可以提供该目标服务的目标用户标识,由网关根据该目标用户标识在第一已启动服务信息中进行查找,以获取与目标用户标识匹配的待确认用户标识。当待确认用户标识对应的已启动服务标识与目标服务标识匹配时,代表有服务端开发人员使用第二终端启动了该目标服务,则将该服务请求发送给待确认用户标识对应的第二终端,以利用第二终端提供的服务进行调试,在该调试过程中第一终端与第二终端均无需访问公共服务器,其他开发人员可以继续访问公共服务器,或者使用其他第一终端与其他第二终端配对进行调试,使得开发调试过程可以并行执行,提高开发调试效率。
附图说明
图1为本申请实施例提供的一种分布式调试方法的流程图;
图2为本申请实施例提供的一种分布式调试系统结构图;
图3为本申请实施例提供的一种分布式调试信令交互图;
图4为本申请实施例提供的一种分布式调试装置结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
发明人在对传统的微服务开发调试方法研究中发现,传统的调试通常使用公共服务器进行调试,当有开发人员对公共服务器中的微服务进行操作时,为避免其他开发人员同时访问公共服务器造成资源竞争,其他开发人员只能等待,导致研发效率低下。
基于此,本申请实施例提供了一种分布式调试方法,当需要对目标服务进行调试时,第一终端向网关发送服务请求,该服务请求可以仅包括目标服务标识,或者包括目标服务标识以及目标用户标识。网关获取已启动服务信息,该已启动服务信息可以包括第一已启动服务信息,该第一已启动服务信息包括已启动服务标识以及该已启动服务标识对应的用户标识。当服务请求中包括目标用户标识时,网关根据目标用户标识在第一已启动服务信息中查找与目标用户标识匹配的已启动服务标识对应的用户标识,将其作为待确认用户标识。并判断待确认用户标识对应的已启动服务标识与目标服务标识是否匹配,如果匹配,则将该服务请求发送给待确认用户标识对应的第二终端,利用第二终端提供的目标服务进行调试,无需访问公共服务器,不仅避免了资源竞争,还可以实现开发和调试的并行执行,提高开发和调试效率。
为便于理解本申请提供的分布式调试方法,下面将结合附图对该方法进行说明。
参见图1,该图为本申请实施例提供的一种分布式调试方法流程图,如图1所示,该方法可以包括:
S101:获取第一终端发送的服务请求,该服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识。
本实施例中,第一终端可以理解为客户端开发人员使用的终端,在调试过程中,当需要调试某一目标服务时,需要第一终端通过发起服务请求的方式请求调用该目标服务。则当第一终端对应的客户端开发人员需要调用目标服务时,可以通过第一终端向网关发送服务请求,该服务请求中可以仅包括目标服务标识,也可以包括目标服务标识以及目标用户标识。
当第一终端请求公共服务器提供目标服务时,服务请求中可以仅包括目标服务标识;当第一终端请求第二终端提供服务时,服务请求中可以包括目标服务标识以及目标用户标识。第二终端可以理解为服务端开发人员使用的终端。
需要说明的是,服务请求中所包括的目标用户标识可以为第一终端预先获取的可以提供目标服务的用户标识。当需要调用该用户标识对应的第二终端提供服务时,则在服务请求中添加该用户标识。
在实际应用中,每项服务均可以分配有唯一的服务标识ID,每个提供服务的用户也可以分配有唯一的用户标识ID,当第一终端需要请求某项服务时,可以在服务请求中添加目标服务标识ID,或者添加目标服务标识ID以及目标用户标识ID。
S102:获取已启动服务信息,该已启动服务信息包括第一已启动服务信息,该第一已启动服务信息包括已启动服务标识以及已启动服务标识对应的用户标识。
本实施例中,网关获取已启动服务信息,该已启动服务信息可以包括第一已启动服务信息,第一已启动服务信息包括已启动服务标识以及该已启动服务标识对应的用户标识,即启动该服务的用户标识。在一种可能的实现方式中,已启动服务信息还可以包括第二已启动服务信息,第二已启动服务信息仅包括已启动服务标识。
需要说明的是,启动服务的主体可以为公共服务器,也可以为第二终端。第一已启动服务信息是由第二终端将当前已启动服务的服务标识作为已启动服务标识、将第二终端的用户标识作为已启动服务标识对应的用户标识发送给注册中心的。在具体实现时,第二终端启动服务时,将当前已启动的服务标识作为已启动服务标识、将第二终端的用户标识作为已启动服务标识对应的用户标识发送给注册中心,注册中心接收第二终端发送的已启动服务标识以及已启动服务标识对应的用户标识作为第一已启动服务信息。
第二已启动服务信息是由公共服务器将当前已启动服务的服务标识作为已启动服务标识发送给注册中心的。在具体实现时,公共服务器启动服务时,将当前已启动服务的服务标识作为已启动服务标识发送给注册中心,注册中心接收已启动服务标识作为第二已启动服务信息。
第一已启动服务信息和第二已启动服务信息均可以作为已启动服务信息,网关可以从注册中心获取已启动服务信息。
在实际应用中,为避免所存储的已启动服务信息较多影响工作性能,注册中心可以清理注册其中的已启动服务信息。第二终端为保证自身发送的第一已启动服务信息可以继续存储在注册中心,公共服务器为保证自身发送的第二已启动服务信息可以继续存储在注册中心,可以定期向注册中心发送当前已启动服务的相关信息,以使得注册中心可以继续保留这些第一已启动服务信息或第二已启动服务信息。
在获取已启动服务信息的具体实现可以为定时从注册中心获取已启动服务信息。即网关从注册中心获取已启动服务信息时,可以定时从注册中心获取,以更新获取的已启动服务信息。
S103:如果服务请求中包括目标用户标识,在第一已启动服务信息中查找与目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识。
本实施例中,当第一终端发送的服务请求中包括目标用户标识,代表第一终端可能需要与某个特定用户标识对应的终端联合调试,网关可以根据目标用户标识在第一已启动服务信息中查找与目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识。也就是,当服务请求中包括目标用户标识时,网关从获取的第一已启动服务信息中,查找是否存在与目标用户标识相同的已启动服务标识对应的用户标识,如果存在,则将该已启动服务标识对应的用户标识作为待确认用户标识。
例如,服务请求中包括的目标用户标识为A,已启动服务信息中存在已启动服务标识对应的用户标识也为A,则将该已启动服务标识对应的用户标识A作为待确认用户标识。
S104:如果待确认用户标识对应的已启动服务标识与目标服务标识匹配,将服务请求发送给所述待确认用户标识对应的第二终端。
本实施例中,当获取待确认用户标识时,还需对该待确认用户标识对应的已启动服务标识进行判断,判断该已启动服务标识是否与目标服务标识相同,如果相同,则表明第一终端请求的目标服务已被启动,则将该服务请求发送给待确认用户标识对应的第二终端,从而可以利用第二终端所启动的目标服务进行调试。
需要说明的是,由于每个第二终端可以启动多项服务,为保证查找的待确认用户标识对应的已启动服务标识为第一终端所请求的目标服务标识,当获取待确认用户标识时,还需进一步判断待确认用户标识对应的已启动服务标识是否与目标服务标识匹配。例如,用户标识为A的第二终端可以启动服务标识为1的服务和服务标识为2的服务。第一终端发送的服务请求中的目标服务标识为1,目标用户标识为A。而用户标识为A的第二终端当前启动了服务标识为2的服务,进而网关获取的第一已启动服务信息中包括已启动服务标识2以及该已启动服务标识对应的用户标识A。网关可以在第一已启动服务信息中查找到与目标用户标识匹配的待确认用户标识A,但该待确认用户标识A对应的已启动服务标识为2,与目标服务标识不匹配,无法请求到服务标识为1的服务。因此,当获取待确认用户标识后,还需进一步确定该待确认用户标识对应的已启动服务标识是否与服务请求中的目标服务标识匹配,以正确请求到目标服务。
通过上述实施例可知,当客户端开发人员需要使用第一终端调用目标服务时,可以在向网关发送的服务器请求中添加可以提供该目标服务的目标用户标识,由网关根据该目标用户标识在第一已启动服务信息中进行查找,以获取与目标用户标识匹配的待确认用户标识。当待确认用户标识对应的已启动服务标识与目标服务标识匹配时,代表有服务端开发人员使用第二终端启动了该目标服务,则将该服务请求发送给待确认用户标识对应的第二终端,以利用第二终端提供的服务进行调试,在该调试过程中第一终端与第二终端均无需访问公共服务器,其他开发人员可以继续访问公共服务器,或者使用其他第一终端与其他第二终端配对进行调试,使得开发调试过程可以并行执行,提高开发调试效率。
基于上述实施例,在本申请实施例一种可能的实现方式中,如果服务请求中包括目标用户标识,且网关在已启动服务信息中查找到与目标用户标识匹配的待确认用户标识。而如果待确认用户标识对应的已启动服务标识与目标服务标识不匹配,则在第二已启动服务信息中查找与目标服务标识匹配的已启动服务标识;如果在第二已启动服务信息中查找到与目标服务标识匹配的已启动服务标识,将服务请求发送给公共服务器。
也就是,当待确认用户标识对应的已启动服务标识与目标服务标识不相同时,代表待确认用户标识对应的第二终端未启动目标服务,则为了使第一终端依然可以调用目标服务标识对应的目标服务,则可以利用服务请求中的目标服务标识在第二已启动服务信息中查找与目标服务标识匹配的已启动服务标识,如果在第二已启动服务信息中存在与目标服务标识匹配的已启动服务标识,代表公共服务器启动了该目标服务,则将服务请求发送给公共服务器。
在本申请实施例另一种可能的实现方式中,如果服务请求中包括目标用户标识,但网关在第一已启动服务信息中未查找到与目标用户标识匹配的已启动服务标识对应的用户标识,则网关在第二已启动服务信息中查找与目标服务标识匹配的已启动服务标识;如果在第二已启动服务信息中查找到与目标服务标识匹配的已启动服务标识,将服务请求发送给公共服务器。
也就是,当服务请求虽然携带了目标用户标识,但是目标用户标识对应的第二终端未启动任何服务,则为了使第一终端依然可以调用目标服务标识对应的目标服务,此时如果在第二已启动服务信息中查找到公共服务器启动了目标服务,则也可以将服务请求发送给公共服务器。
在本申请实施例另一种可能的实现方式中,如果服务请求中不包括目标用户标识,网关在第二已启动服务信息中查找与目标服务标识匹配的已启动服务标识;如果在第二已启动服务信息中查找到与目标服务标识匹配的已启动服务标识,则将服务请求发送给公共服务器。
也就是,当服务请求中仅包括目标服务标识,代表当前第一终端不需要与第二终端共同调试,仅需要调用公共服务器启动的服务,则可以根据目标服务标识在第二已启动服务信息中查找与目标服务标识匹配的已启动服务标识,如果存在,代表公共服务器启动了目标服务,则将服务请求发送给公共服务器,第一终端可以通过公共服务器调用目标服务。
基于以上几种可能的实现方式,如果网关在第二已启动服务信息中未查找到与目标服务标识匹配的已启动服务标识,则向第一终端发送目标服务未启动的提示信息,使得第一终端可以根据网关发送的提示信息向用户进行提示。
从而本申请实施例中网关可以根据服务请求以及已启动服务信息的不同情况,对服务请求进行转发,以实现对目标服务的调试。
基于上述方法实施例,本申请还提供了一种分布式调试系统,下面将结附图进行说明。
参见图2,该图为本申请实施例提供的一种分布式调试系统结构图,如图2所示,该系统可以包括第一终端201、网关202和第二终端203。
第一终端201,用于向网关202发送服务请求,其中,服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识;
网关202,用于获取已启动服务信息,已启动服务信息包括第一已启动服务信息,该第一已启动服务信息包括已启动服务标识以及已启动服务标识对应的用户标识;如果服务请求中包括目标用户标识,在第一已启动服务信息中查找与目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识;如果待确认用户标识对应的已启动服务标识与目标服务标识匹配,将服务请求发送给待确认用户标识对应的第二终端;
第二终端203,用于接收服务请求。
在一种可能的实现方式中,已启动服务信息还包括第二已启动服务信息,该第二已启动服务信息仅包括已启动服务标识。
在一种可能的实现方式中,所述系统还包括:公共服务器;
所述网关,还用于如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识不匹配,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器;
所述公共服务器,用于接收所述服务请求。
在一种可能的实现方式中,所述系统还包括:公共服务器;
所述网关,还用于如果所述服务请求中包括所述目标用户标识,且在所述第一已启动服务信息中未查找到与所述目标用户标识匹配的已启动服务标识对应的用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器;
所述公共服务器,用于接收所述服务请求。
在一种可能的实现方式中,所述系统还包括:公共服务器;
所述网关,还用于如果所述服务请求中不包括所述目标用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器;
所述公共服务器,用于接收所述服务请求。
在一种可能的实现方式中,所述网关,还用于如果在所述第二已启动服务信息中未查找到与所述目标服务标识匹配的已启动服务标识,向所述第一终端发送目标服务未启动的提示信息;
所述第一终端,还用于接收所述目标服务未启动的提示信息。
在一种可能的实现方式中,所述系统还包括:注册中心;
所述第二终端,还用于将当前已启动服务的服务标识作为已启动服务标识、将所述第二终端的用户标识作为所述已启动服务标识对应的用户标识发送给所述注册中心;
公共服务器,用于将当前已启动服务的服务标识作为已启动服务标识发送给注册中心;
所述注册中心,用于接收所述第二终端发送的已启动服务标识以及所述已启动服务标识对应的用户标识作为第一已启动服务信息;接收所述公共服务器发送的已启动服务标识作为第二已启动服务信息。
在一种可能的实现方式中,所述网关具体用于:定时从所述注册中心获取已启动服务信息。
需要说明的是,本实施例中各个模块的具体实现可以参见方法实施例,本实施例在此不再赘述。
通过上述实施例,当客户端开发人员需要使用第一终端调用目标服务时,可以在向网关发送的服务器请求中添加可以提供该目标服务的目标用户标识,由网关根据该目标用户标识在第一已启动服务信息中进行查找,以获取与目标用户标识匹配的待确认用户标识。当待确认用户标识对应的已启动服务标识与目标服务标识匹配时,代表有服务端开发人员使用第二终端启动了该目标服务,则将该服务请求发送给待确认用户标识对应的第二终端,以利用第二终端提供的服务进行调试,在该调试过程中第一终端与第二终端均无需访问公共服务器,其他开发人员可以继续访问公共服务器,或者使用其他第一终端与其他第二终端配对进行调试,使得开发调试过程可以并行执行,提高开发调试效率。
为便于理解本申请中第一终端、网关、第二终端以及公共服务器的实际应用,下面将结合附图进行说明。
参见图3,该图为本申请实施例提供的一种分布式调试信令交互图,如图3所示,该信令交互包括:
S301:第一终端向网关发送服务请求,该服务请求中可以仅包括目标服务标识,也可以包括目标服务标识以及目标用户标识。
S302:网关从注册中心获取已启动服务信息,该已启动服务信息可以包括第一已启动服务信息,该第一已启动服务信息包括已启动服务标识以及已启动服务标识对应的用户标识,还可以包括第二已启动服务信息,该第二已启动服务信息仅包括已启动服务标识。
S303:网关接收到第一终端发送的服务请求后,判断该服务请求中是否包括目标用户标识,如果包括,则执行S304;否则,执行S306。
S304:网关在第一已启动服务信息中查找是否存在与目标用户匹配的已启动服务标识对应的用户标识,如果存在,将其作为待确认用户标识,执行S305;否则执行S306。
S305:判断待确认用户标识对应的已启动服务标识与目标服务标识是否匹配,如果匹配,则执行S307,将该服务请求发送给待确认标识对应的第二终端;否则,执行S306。
S306:在第二已启动服务信息中查找是否存在与目标服务标识匹配的已启动服务标识,如果存在,则执行S308,向公共服务器发送服务请求;否则,执行S309,向第一终端发送目标服务未启动的提示信息。
S307:网关向第二终端发送服务请求。
S308:网关向公共服务器发送服务请求;
S309:网关向第一终端发送目标服务未启动的提示信息。
从而在满足条件的情况下,第一终端与第二终端可以联合调试,无需访问公共服务器,使得开发调试可以并行进行,提高开发调试效率;而在第一终端发送的服务请求无法与第二终端匹配时,也可以将服务请求发送到公共服务器,实现第一终端对目标服务的调用调试。
基于上述实施例,本申请还提供了一种分布式调试装置,下面将结合附图对该装置进行说明。
参见图4,该图为本申请实施例提供的一种分布式调试装置结构图,如图4所示,该装置可以包括:
第一获取单元401,用于获取第一终端发送的服务请求,所述服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识;
第二获取单元402,用于获取已启动服务信息,所述已启动服务信息包括第一已启动服务信息,所述第一已启动服务信息包括已启动服务标识以及所述已启动服务标识对应的用户标识;
第一查找单元403,用于如果所述服务请求中包括所述目标用户标识,在所述第一已启动服务信息中查找与所述目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识;
第一发送单元404,用于如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识匹配,将所述服务请求发送给所述待确认用户标识对应的第二终端。
在一种可能的实现方式中,所述已启动服务信息还包括第二已启动服务信息,所述第二已启动服务信息仅包括已启动服务标识。
在一种可能的实现方式中,所述装置还包括第二查找单元和第二发送单元;
所述第二查找单元,用于如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识不匹配,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
所述第二发送单元,用于如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
在一种可能的实现方式中,所述装置还包括第三查找单元和第三发送单元;
所述第三查找单元,用于如果所述服务请求中包括所述目标用户标识,且在所述第一已启动服务信息中未查找到与所述目标用户标识匹配的已启动服务标识对应的用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
所述第三发送单元,用于如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
在一种可能的实现方式中,所述装置还包括第四查找单元和第四发送单元;
所述第四查找单元,用于如果所述服务请求中不包括所述目标用户标识,在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
所述第四发送单元,还用于如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
在一种可能的实现方式中,所述装置还包括第五发送单元,用于如果在所述第二已启动服务信息中未查找到与所述目标服务标识匹配的已启动服务标识,向所述第一终端发送目标服务未启动的提示信息。
在一种可能的实现方式中,所述第一已启动服务信息是由所述第二终端将当前已启动服务的服务标识作为已启动服务标识、将所述第二终端的用户标识作为所述已启动服务标识对应的用户标识发送给注册中心的;
所述第二已启动服务信息是由公共服务器将当前已启动服务的服务标识作为已启动服务标识发送给注册中心的。
在一种可能的实现方式中,所述第二获取单元,具体用于定时从注册中心获取已启动服务信息。
需要说明的是,本实施例中各个单元的具体实现可以参见上述实施例的实现,本实施例在此不再赘述。
另外,本申请实施例还提供一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的分布式调试方法。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的分布式调试方法。
通过上述实施例,当客户端开发人员需要使用第一终端调用目标服务时,可以在向网关发送的服务器请求中添加可以提供该目标服务的目标用户标识,由网关根据该目标用户标识在第一已启动服务信息中进行查找,以获取与目标用户标识匹配的待确认用户标识。当待确认用户标识对应的已启动服务标识与目标服务标识匹配时,代表有服务端开发人员使用第二终端启动了该目标服务,则将该服务请求发送给待确认用户标识对应的第二终端,以利用第二终端提供的服务进行调试,在该调试过程中第一终端与第二终端均无需访问公共服务器,其他开发人员可以继续访问公共服务器,或者使用其他第一终端与其他第二终端配对进行调试,使得开发调试过程可以并行执行,提高开发调试效率。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种分布式调试方法,其特征在于,所述方法包括:
获取第一终端发送的服务请求,所述服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识;
获取已启动服务信息,所述已启动服务信息包括第一已启动服务信息,所述第一已启动服务信息包括已启动服务标识以及所述已启动服务标识对应的用户标识;
如果所述服务请求中包括所述目标用户标识,在所述第一已启动服务信息中查找与所述目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识;
如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识匹配,将所述服务请求发送给所述待确认用户标识对应的第二终端。
2.根据权利要求1所述的方法,其特征在于,所述已启动服务信息还包括第二已启动服务信息,所述第二已启动服务信息仅包括已启动服务标识。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识不匹配,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述服务请求中包括所述目标用户标识,且在所述第一已启动服务信息中未查找到与所述目标用户标识匹配的已启动服务标识对应的用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述服务请求中不包括所述目标用户标识,则在所述第二已启动服务信息中查找与所述目标服务标识匹配的已启动服务标识;
如果在所述第二已启动服务信息中查找到与所述目标服务标识匹配的已启动服务标识,将所述服务请求发送给公共服务器。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述方法还包括:
如果在所述第二已启动服务信息中未查找到与所述目标服务标识匹配的已启动服务标识,则向所述第一终端发送目标服务未启动的提示信息。
7.一种分布式调试系统,其特征在于,所述系统包括:
网关、第一终端以及第二终端;
所述第一终端,用于向所述网关发送服务请求,所述服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识;
所述网关,用于获取已启动服务信息,所述已启动服务信息包括第一已启动服务信息,所述第一已启动服务信息包括已启动服务标识以及所述已启动服务标识对应的用户标识;如果所述服务请求中包括所述目标用户标识,在所述第一已启动服务信息中查找与所述目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识;如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识匹配,将所述服务请求发送给所述待确认用户标识对应的第二终端;
所述第二终端,用于接收所述服务请求。
8.一种分布式调试装置,其特征在于,所述装置包括:
第一获取单元,用于获取第一终端发送的服务请求,所述服务请求包括目标服务标识,或者包括目标服务标识以及目标用户标识;
第二获取单元,用于获取已启动服务信息,所述已启动服务信息包括第一已启动服务信息,所述第一已启动服务信息包括已启动服务标识以及所述已启动服务标识对应的用户标识;
第一查找单元,用于如果所述服务请求中包括所述目标用户标识,在所述第一已启动服务信息中查找与所述目标用户标识匹配的已启动服务标识对应的用户标识作为待确认用户标识;
第一发送单元,用于如果所述待确认用户标识对应的已启动服务标识与所述目标服务标识匹配,将所述服务请求发送给所述待确认用户标识对应的第二终端。
9.一种计算机可读存储介质,其特征在于,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-6任一项所述的分布式调试方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行权利要求1-6任一项所述的分布式调试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910151689.0A CN109831361B (zh) | 2019-02-28 | 2019-02-28 | 一种分布式调试方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910151689.0A CN109831361B (zh) | 2019-02-28 | 2019-02-28 | 一种分布式调试方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109831361A true CN109831361A (zh) | 2019-05-31 |
CN109831361B CN109831361B (zh) | 2020-10-16 |
Family
ID=66864912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910151689.0A Active CN109831361B (zh) | 2019-02-28 | 2019-02-28 | 一种分布式调试方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109831361B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113329047A (zh) * | 2020-02-29 | 2021-08-31 | 华为技术有限公司 | 一种分布式服务调度方法及相关装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237447A (zh) * | 2007-01-29 | 2008-08-06 | 华为技术有限公司 | 策略执行方法、系统及网元 |
CN101753610A (zh) * | 2008-12-19 | 2010-06-23 | 华为技术有限公司 | 分布式网络构造方法、装置和系统以及任务处理方法 |
US20110289209A1 (en) * | 2004-01-23 | 2011-11-24 | Tiversa, Inc. | Method For Monitoring And Providing Information Over A Peer To Peer Network |
CN103092581A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种Web前端本地开发环境的搭建方法和装置 |
CN103283209A (zh) * | 2011-04-18 | 2013-09-04 | 北京新媒传信科技有限公司 | 一种应用服务平台系统及其实现方法 |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
CN105871976A (zh) * | 2015-11-24 | 2016-08-17 | 乐视体育文化产业发展(北京)有限公司 | 数据跨域请求方法、设备及系统 |
CN108632312A (zh) * | 2017-03-20 | 2018-10-09 | 中国移动通信有限公司研究院 | 网络功能信息交互方法及装置 |
CN109150978A (zh) * | 2018-07-24 | 2019-01-04 | 北京百度网讯科技有限公司 | 调试微服务的方法和装置 |
US20190026216A1 (en) * | 2016-01-29 | 2019-01-24 | Ca, Inc. | Debugging in-cloud distributed code in live load environment |
-
2019
- 2019-02-28 CN CN201910151689.0A patent/CN109831361B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110289209A1 (en) * | 2004-01-23 | 2011-11-24 | Tiversa, Inc. | Method For Monitoring And Providing Information Over A Peer To Peer Network |
CN101237447A (zh) * | 2007-01-29 | 2008-08-06 | 华为技术有限公司 | 策略执行方法、系统及网元 |
CN101753610A (zh) * | 2008-12-19 | 2010-06-23 | 华为技术有限公司 | 分布式网络构造方法、装置和系统以及任务处理方法 |
CN103283209A (zh) * | 2011-04-18 | 2013-09-04 | 北京新媒传信科技有限公司 | 一种应用服务平台系统及其实现方法 |
CN103092581A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种Web前端本地开发环境的搭建方法和装置 |
CN104978258A (zh) * | 2014-04-01 | 2015-10-14 | 中国银联股份有限公司 | 软件自动化测试方法及系统 |
CN105871976A (zh) * | 2015-11-24 | 2016-08-17 | 乐视体育文化产业发展(北京)有限公司 | 数据跨域请求方法、设备及系统 |
US20190026216A1 (en) * | 2016-01-29 | 2019-01-24 | Ca, Inc. | Debugging in-cloud distributed code in live load environment |
CN108632312A (zh) * | 2017-03-20 | 2018-10-09 | 中国移动通信有限公司研究院 | 网络功能信息交互方法及装置 |
CN109150978A (zh) * | 2018-07-24 | 2019-01-04 | 北京百度网讯科技有限公司 | 调试微服务的方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113329047A (zh) * | 2020-02-29 | 2021-08-31 | 华为技术有限公司 | 一种分布式服务调度方法及相关装置 |
CN113329047B (zh) * | 2020-02-29 | 2023-04-18 | 华为技术有限公司 | 一种分布式服务调度方法及相关装置 |
US11831713B2 (en) | 2020-02-29 | 2023-11-28 | Huawei Technologies Co., Ltd. | Distributed service scheduling method and related apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN109831361B (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7668839B2 (en) | Application management for utilizing a replication engine of a Web-AP server to execute SIP replication | |
US7451136B2 (en) | System and method for searching multiple disparate search engines | |
CN107172169A (zh) | 数据同步方法、装置、服务器及存储介质 | |
CN109547570A (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
CN110309161B (zh) | 一种数据同步方法、装置及服务器 | |
TW202023238A (zh) | 基於區塊鏈網路的可信節點確定方法和裝置 | |
CN106713469B (zh) | 用于分布式容器的动态加载方法、装置及系统 | |
CN111245910B (zh) | 一种区块链轻节点多副本的部署方法 | |
US20080082690A1 (en) | System and method for the dynamic loading of protocol adapters | |
CN104065636A (zh) | 数据处理方法和系统 | |
CN106775816A (zh) | 一种局域网中应用程序的自动更新方法及系统 | |
CN109582458A (zh) | 资源信息加载方法、装置、存储介质及处理器 | |
CN105373563B (zh) | 数据库切换方法及装置 | |
CN109831361A (zh) | 一种分布式调试方法、系统及装置 | |
CN111338829B (zh) | 远程过程调用服务的调用方法及装置 | |
CN114978880B (zh) | 服务调用链追踪方法、系统、计算机及存储介质 | |
JP2006277158A (ja) | データ更新システム、サーバ及びプログラム | |
CN114221971B (zh) | 数据同步方法、装置、服务器、存储介质及产品 | |
CN116821215A (zh) | 基于端口查询的opc ua服务器搜索方法 | |
KR101286434B1 (ko) | 파일 동기화 방법 및 이를 위한 시스템 | |
CN110661886B (zh) | 一种组件安装方法及装置 | |
CN111200608B (zh) | 链路信息处理方法和装置 | |
CN107332679B (zh) | 一种无中心信息同步方法及装置 | |
EP3046307A1 (en) | Processing method, device and system for data of distributed storage system | |
CN117632445B (zh) | 请求处理方法以及装置、任务执行方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |