CN114942888A - 一种微服务的调试方法、装置及介质 - Google Patents

一种微服务的调试方法、装置及介质 Download PDF

Info

Publication number
CN114942888A
CN114942888A CN202210622809.2A CN202210622809A CN114942888A CN 114942888 A CN114942888 A CN 114942888A CN 202210622809 A CN202210622809 A CN 202210622809A CN 114942888 A CN114942888 A CN 114942888A
Authority
CN
China
Prior art keywords
service
calling
downstream
target
called
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
Application number
CN202210622809.2A
Other languages
English (en)
Inventor
陈龙
苗洪雷
刘伟
陈刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HNAC Technology Co Ltd
Original Assignee
HNAC Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HNAC Technology Co Ltd filed Critical HNAC Technology Co Ltd
Priority to CN202210622809.2A priority Critical patent/CN114942888A/zh
Publication of CN114942888A publication Critical patent/CN114942888A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供的一种微服务的调试方法、装置及介质,适用于微服务技术领域。为了减少故障发生时对整个系统的影响,减少调试时间,自动恢复。选择该方法的调用内容,调用可用的,即调用在线的目标下游服务。当目标下游服务调用完成时,为了保证核心功能的情况下其系统可用,继续判断附加服务是否在线,将附加服务作为待调用服务进行调用,在无法调用的下游服务进而调试,以此来减少被调试的服务。避免现有的调试服务直接调试,同时等待不在线服务从而造成调试时间成本的增加,以及相关调试人员由于缺乏相关调试经验从而出现调试错误问题,减小系统耦合度降低单个服务对系统的影响,提高服务的调用准确度,通过调用服务以节省服务的调试时间成本。

Description

一种微服务的调试方法、装置及介质
技术领域
本发明涉及微服务技术领域,特别是涉及一种微服务的调试方法、装置及介质。
背景技术
工业化程度的提升推动智能机器人在各个行业的使用,带起人工完成重复性工作及配合其他智能技术设备进行操作。面对不同的场景增加以及各机器人的大面积推广,不同场景的定制化以及差异化逐渐增加,为更好适应不同场景,各种选配件及维修更换配件的情况增多。
对于单个特定用途所属的功能模块在更替或升级后,整个系统需要重新调试,也就是该功能模块对应的多个服务,其更换升级时不仅对多个服务进行调试,还需要对该功能模块所属的整个系统的服务进行调试。现有的组成方案多采用固定架构,例如,机械臂机器人,当摄像头功能模块升级或更换时,目前的调试需要将整个机械臂系统的其他功能模块进行适配重新调试,不仅占用较多的调试时间,由于相关调试人员熟知该摄像头功能模块的调试工作,对于整个机械臂系统的调试缺乏相关经验,有可能在调试过程中会出现错误,导致整个系统无法实现。
因此,如何减小系统耦合度降低单个服务对系统的影响,提高服务的调用准确度以及节省服务的调试时间成本是本领域技术人员亟需要解决的。
发明内容
本发明的目的是提供一种微服务的调用方法、装置及介质,降低系统耦合提高服务的调用准确度以及节省服务调试的时间成本。
为解决上述技术问题,本发明提供一种微服务的调用方法,包括:
获取当前服务以及当前服务调用的下游服务;
当当前服务接收到调用指令或执行指令时,判断下游服务是否存在目标服务,其中目标服务为当前服务预设处理的服务;
若存在目标服务,则选取目标服务对应的下游服务作为目标下游服务,判断目标下游服务是否在线;
若目标下游服务在线,则将目标下游服务作为待调用服务并进行调用;
当待调用服务调用完成时,则将除目标服务之外的下游服务作为附加服务,判断附加服务是否在线;
若附加服务在线,则将附加服务作为待调用服务并进行调用;
若不存在目标服务时,则将下游任务作为附加服务,并返回至判断附加服务是否在线的步骤。
优选地,获取当前服务以及当前服务调用的下游服务,包括:
启动当前服务;
将当前服务发送至服务注册中心以注册自身服务并发现其他服务进行调用;
将调用的其他服务作为下游服务。
优选地,当目标下游服务不在线时,还包括:
当目标下游服务不在线时,则放弃调用目标下游服务并输出调用结果。
优选地,当附加服务不在线时,还包括:
当附加服务不在线时,则放弃调用附加服务并输出调用结果。
优选地,还包括:
当调用目标下游服务作为待调用服务进行调用时,输出调用结果;
当调用附加服务作为待调用服务进行调用时,输出调用结果。
优选地,还包括:
获取当前服务的上游服务;
将得到的调用结果发送至上游服务。
优选地,在将当前服务发送至服务注册中心之后,还包括:
根据时间间隔发送心跳包至服务注册中心以便查看当前服务的服务状态信息。
为解决上述技术问题,本发明还提供一种微服务的调用装置,包括:
获取模块,用于获取当前服务以及当前服务调用的下游服务;
第一判断模块,用于当当前服务接收到调用指令或执行指令时,判断下游服务是否存在目标服务,其中目标服务为当前服务预设处理的服务,若存在目标服务,则触发第二判断模块,若不存在目标服务,则触发返回模块;
第二判断模块,用于选取目标服务对应的下游服务作为目标下游服务,判断目标下游服务是否在线,若目标下游服务在线,则触发第一调用模块;
第一调用模块,用于将目标下游服务作为待调用服务并进行调用;
第三判断模块,用于当待调用服务调用完成时,则将除目标服务之外的下游服务作为附加服务,判断附加服务是否在线,若附加服务在线,则触发第二调用模块;
第二调用模块,用于将附加服务作为待调用服务并进行调用;
返回模块,用于将下游任务作为附加服务,并返回至判断附加服务是否在线的步骤。
为解决上述技术问题,本发明还提供一种微服务的调用装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述微服务的调用方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述微服务的调用方法的步骤。
本发明提供的一种微服务的调试方法,包括获取当前服务以及当前服务调用的下游服务;当当前服务接收到调用指令或执行指令时,判断下游服务是否存在目标服务,其中目标服务为当前服务预设处理的服务;若存在目标服务,则选取目标服务对应的下游服务作为目标下游服务,判断目标下游服务是否在线;若目标下游服务在线,则将目标下游服务作为待调用服务并进行调用;当待调用服务调用完成时,则将除目标服务之外的下游服务作为附加服务,判断附加服务是否在线;若附加服务在线,则将附加服务作为待调用服务并进行调用;若不存在目标服务时,则将下游任务作为附加服务,并返回至判断附加服务是否在线的步骤。该方法为了减少故障发生时对整个系统的影响,减少调试时间,自动恢复。选择该方法的调用内容,调用可用的,即调用在线的目标下游服务。当目标下游服务调用完成时,为了保证核心功能的情况下其系统可用,继续判断附加服务是否在线,将附加服务作为待调用服务进行调用,在无法调用的下游服务进而调试,以此来减少被调试的服务。避免现有的调试服务直接调试,同时等待不在线服务从而造成调试时间成本的增加,以及相关调试人员由于缺乏相关调试经验从而在整个调试系统过程中出现的调试错误问题,进一步减小系统耦合度降低单个服务对系统的影响,提高服务的调用准确度,通过调用服务以节省服务的调试时间成本。
另外,本发明还提供了一种微服务的调用装置及介质,具有如上述微服务的调用方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种微服务的调用方法的流程图;
图2为本发明实施例提供的注册服务与代理服务向服务中心注册的示意图;
图3为本发明提供的服务提供者和服务消费者的示意图;
图4为本发明实施例提供的一种微服务的调用装置的结构图;
图5为本发明实施例提供的另一种微服务的调用装置的结构图;
图6为本发明另一实施例提供的一种微服务的调用装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种微服务的调用方法、装置及介质,节省服务调用的时间成本以及提高服务的调用准确度。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
需要说明的是,本发明提供的微服务的调用方法,在实际场景中对于流程中服务进行调用不需要调试,对于非正常或者维护中的服务进行调试维护。该方法基于减少故障发生时对整个系统的影响,减少调试时间进而提供调用方法,即调用可用的服务,放弃故障服务,在故障修复后重新百年未可用的服务后继续调用。该处提到的故障是指一般意义上暂时无法使用的情况,并非特指损坏的情况,计划中的升级、更换、维护等,同样适用。该方法可以适用于机器人领域,也可以适用于复杂的定制化以及差异化场景,不做具体限定,只要涉及微服务架构的场景即可适用。微服务架构是一项云端或者具体设备部署应用和服务的新技术,不需要向普通服务成为一种独立的功能或者独立的资源,微服务可以在“自己的程序”中运行,并通过“轻量级设备与超文本传输协议(Hyper Text Transfer Protocol,HTTP)型的应用程序编程接口(Application Programming Interface,API)进行沟通”。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。
图1为本发明实施例提供的一种微服务的调用方法的流程图,如图1所示,该方法包括:
S11:获取当前服务以及当前服务调用的下游服务;
具体地,本发明适用微服务架构,对适用不同技术栈的软硬件模块提供统一接口,具有网络接入功能的模块通过服务注册向服务中心注册自身服务,不具备网络接入功能的模块通过代理服务向服务中心注册服务,服务中心接收到新的注册请求后记录服务状态并每隔一段时间刷新服务状态,各注册服务可以向服务中心查询服务状态,以实现各服务之间的调用。
获取当前服务,当前服务可以是新增加或者升级之后需要适配整个系统对应的服务,或者单个特定用途所述的功能模块对应的服务,由于一个功能模块对应的服务可以是一个,也可以是多个,故获取的当前服务也可以是一个或者多个,本发明不做具体限定。获取当前服务调用的下游服务,对于当前服务与下游服务的设定关系,可以根据实际的场景进行设定何种为当前服务,何种为下游服务。例如,机械臂的动作以及摄像头对应不同的服务,当摄像头采集图像识别后,再进行机械臂的动作执行,此时的摄像头服务为当前服务,机械臂服务为下游服务;当先进行机械臂动作,再进行摄像头的图像采集,此时机械臂服务为当前服务,摄像头服务为下游服务。
S12:当当前服务接收到调用指令或执行指令时,判断下游服务是否存在目标服务,其中目标服务为当前服务预设处理的服务,若存在目标服务,则进入步骤S13,若不存在目标服务,则进入步骤S14;
当前服务受到其他服务调用或者自动执行以完成某项任务时,其调用指令可以为其他服务进行调用可能是上游服务调用或者下游服务调用,执行指令为调用后进行执行或者自己执行服务,此时需要判断其下游服务是否存在目标服务。对于目标服务为当前服务预设处理的服务,为当前服务必须存在的服务。下游服务中存在目标服务,并不是均为目标服务,例如,当前服务一共有5个下游服务,其中下游服务中存在一个目标服务,则确定存在目标服务。
S13:选取存在目标服务对应的下游服务作为目标下游服务,判断目标下游服务是否在线,若目标下游服务在线,则进入步骤S15;
当确定下游服务中存在目标服务时,则选取存在目标服务对应的下游服务作为目标下游服务,需要进一步判断目标下游服务是否在线,若在线则进入步骤S15进行调用,若不在线,则放弃调用。
S15:将目标下游服务作为待调用服务并进行调用;;在上述实施例中目标下游服务在线时,则将目标下游服务作为待调用服务并进行调用。
S16:当待调用服务调用完成时,则将除目标服务之外的下游服务作为附加服务,判断附加服务是否在线,若附加服务在线,则进入步骤S17,若不在线,则放弃调用。
需要说明的是,附加服务是下游服务对上游服务是可选且不关键,其附加服务由上游任务指定,下游任务自身并不知晓自身是否为附加的服务。另外,附加服务是属于非必要但是能带来一定收益的服务,可以为系统存在一个最小范式,即只保留核心功能的情况下系统也是可用的,而且较方便的削减或者扩展系统。因此,当待调用服务调用完成时,将其他非目标服务的下游服务作为附加服务,并判断是否在线。
S17:将附加服务作为待调用服务并进行调用。
同样,将在线的附加服务作为待调用服务进行调用。
S14:将下游任务作为附加服务,并返回至判断附加服务是否在线的步骤。
具体地,当不存在目标服务时,则直接将下游服务作为附加服务,判断附加服务是否在线,也就是返回至步骤S16。
可以理解的是,当系统有故障发生或者需要调整时将存在故障的服务下线,避免部分服务发生故障导致整个系统不可用,后续的调试排查只需针对故障服务进行,其他服务不受影响。当故障服务重新上线后可以迅速恢复原有系统,以节省调试成本。
本发明提供的一种微服务的调试方法,包括获取当前服务以及当前服务调用的下游服务;当当前服务接收到调用指令或执行指令时,判断下游服务是否存在目标服务,其中目标服务为当前服务预设处理的服务;若存在目标服务,则选取目标服务对应的下游服务作为目标下游服务,判断目标下游服务是否在线;若目标下游服务在线,则将目标下游服务作为待调用服务并进行调用;当待调用服务调用完成时,则将除目标服务之外的下游服务作为附加服务,判断附加服务是否在线;若附加服务在线,则将附加服务作为待调用服务并进行调用;若不存在目标服务时,则将下游任务作为附加服务,并返回至判断附加服务是否在线的步骤。该方法为了减少故障发生时对整个系统的影响,减少调试时间,自动恢复。选择该方法的调用内容,调用可用的,即调用在线的目标下游服务。当目标下游服务调用完成时,为了保证核心功能的情况下其系统可用,继续判断附加服务是否在线,将附加服务作为待调用服务进行调用,在无法调用的下游服务进而调试,以此来减少被调试的服务。避免现有的调试服务直接调试,同时等待不在线服务从而造成调试时间成本的增加,以及相关调试人员由于缺乏相关调试经验从而在整个调试系统过程中出现的调试错误问题,进一步减小系统耦合度降低单个服务对系统的影响,提高服务的调用准确度,通过调用服务以节省服务的调试时间成本。
在上述实施例的基础上,步骤S11中的获取当前服务以及当前服务调用的下游服务,包括:
启动当前服务;
将当前服务发送至服务注册中心以注册自身服务并发现其他服务进行调用;
将调用的其他服务作为下游服务。
具体地,图2为本发明实施例提供的注册服务与代理服务向服务中心注册的示意图,如图2所示,各个注册服务4或代理服务2向服务注册中心1注册自身服务并从服务注册中心1获取发现服务,不具备接入服务中心的非智能设备/无网络设备或其他需要代理的设备3可通过代理服务2纳入。发现服务是当需要使用服务时,可以通过读取服务注册中心1的注册表获取可用的服务信息,客户段可以通过此信息连接服务器。服务器发现的方式包括:客户端服务发现和服务端服务发现。
图3为本发明提供的服务提供者和服务消费者的示意图,如图3所示,注册服务与代理服务可以同时作为服务提供者5和服务消费者6两个模块,作为服务提供者5在自身服务上线后向服务注册中心1注册自身服务,并隔一段时间向服务注册中心1发送心跳数据表明自身服务在线,供其他服务发现并调用。作为服务消费者6在自身服务上线后可以从服务注册中心1发现其他服务信息,在其他服务状态改变时接收指令,根据获取的服务状态信息调用其他服务。
获取当前服务需要启动当前服务,将当前服务发送至服务注册中心1以注册自身服务并发现其他服务进行调用。进而将其调用的其他服务作为下游服务。具体地,其他服务可以是当前服务中调用的内容,还包括未被当前服务调用的服务。
本发明实施例提供的获取当前服务以及当前服务调用的下游服务,需要提前发送至服务注册中心进行注册方可以继续后续的调用工作。
在上述实施例的基础上,该方法还包括:在步骤S13中选取的目标下游服务不在线时,则放弃调用目标下游服务并输出调用结果。
可以理解的是,放弃调用目标下游服务,则需要向上游服务也就是当前服务、当前服务的上游服务或者服务注册中心报告调用结果。对于调用结果可以为主动上报或者被动上报,主动上报为上述的实施例,被动上报可以为注册中心根据预设时间进行查看下游服务的调用情况,当下游服务无调用动作时,主动获取调用结果,进而下游服务发送调用结果。
调用结果的内容本发明不做具体限定,可以为调用时间、调用结果、调用对象、调用执行任务等,根据实际情况进行设定。
本发明实施例提供的当目标下游服务不在线时,则放弃调用目标下游服务并输出调用结果。对于不在线服务放弃调用,节省调用成本,对于输出结果,方便用户进行查看,提升用户体验。
在上述实施例的基础上,该方法还包括:在步骤S14中的附加服务不在线时,则放弃调用附加服务并输出调用结果。
可以理解的是,放弃调用附加服务,则需要向上游服务也就是当前服务、当前服务的上游服务或者服务注册中心报告调用结果。对于调用结果的发送方式,调用结果的内容在上述实施例中已经详细赘述,在此不再说明。
本发明实施例提供的当附加服务不在线时,则放弃调用附加服务并输出调用结果。对于不在线服务放弃调用,节省调用成本,对于输出结果,方便用户进行查看,提升用户体验。
在上述实施例的基础上,该方法还包括:在步骤S15中的当目标下游服务作为待调用服务进行调用时,输出调用结果,在步骤S17中的当附加服务作为待调用服务进行调用时,输出调用结果。
可以理解的是,无论是调用或者放弃调用都需要输出调用结果,需要向上游服务也就是当前服务、当前服务的上游服务或者服务注册中心报告调用结果。对于调用结果的发送方式,调用结果的内容在上述实施例中已经详细赘述,在此不再说明。
本发明实施例提供的当目标下游服务作为待调用服务进行调用时,输出调用结果,当附加服务作为待调用服务进行调用时,输出调用结果。方便用户进行查看,提升用户体验。
在上述实施例的基础上,对于输出的调用结果,该方法还包括:
获取当前服务的上游服务;
将得到的调用结果发送至上游服务。
具体地,对于调用结果的获取通过主动发送形式发送至上游服务,最终的上游服务为服务注册中心。调用结果并不是将本发明中提到的不同情况下的调用结果同时发送,而是每种情况仅限一种调用结果,故调用结果的内容不相同。
调用结果的内容本发明不做具体限定,可以为调用时间、调用结果、调用对象、调用执行任务等,根据实际情况进行设定。
本发明实施例提供的将调用结果主动发送至上游服务,方便查看上游服务调用下游服务的调用情况。
在上述实施例的基础上,在将当前服务发送至服务注册中心之后,还方法还包括:
根据时间间隔发送心跳包至服务注册中心以便查看当前服务的服务状态信息。
具体地,心跳包是在客户端和服务器件定时通知对方自己状态的一个自己定义的命令字,根据一定时间间隔发送,网络中的接收和发送数据都是使用套接字(SOCKET)网络进行实现,代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息。如果服务端几分钟内没有收到客户端信息则视客户端断开。比如有些通信软件长时间不使用,要想知道它的状态是在线还是离线就需要心跳包,定时发包收包。发包方:可以是客户也可以是服务端,看哪边实现方便合理。一般是客户端。服务器也可以定时轮询发心跳下去,当前服务的服务状态为是否在线等状态。
本实施例提供的根据时间间隔发送心跳包至服务注册中心以便查看当前服务的服务状态信息,便于后续的服务进行调用以及调用。
上述详细描述了微服务的调用方法对应的各个实施例,在此基础上,本发明还公开与上述方法对应的微服务的调用装置,图4为本发明实施例提供的一种微服务的调用装置的结构图。如图4所示,微服务的调用装置包括:
获取模块11,用于获取当前服务以及当前服务调用的下游服务;
第一判断模块12,用于当当前服务接收到调用指令或执行指令时,判断下游服务是否存在目标服务,其中目标服务为当前服务预设处理的服务,若存在目标服务,则触发第二判断模块13,若不存在目标服务,则触发返回模块14;
第二判断模块13,用于选取存在目标服务对应的下游服务作为目标下游服务,判断目标下游服务是否在线,若目标下游服务在线,则触发第一调用模块15;
第一调用模块15,用于将目标下游服务作为待调用服务并进行调用;
第三判断模块16,用于当待调用服务调用完成时,则将除目标服务之外的下游服务作为附加服务,判断附加服务是否在线,若附加服务在线,则触发第二调用模块17;
第二调用模块17,用于将附加服务作为待调用服务并进行调用;
返回模块14,用于将下游任务作为附加服务,并返回至判断附加服务是否在线的步骤。
由于装置部分的实施例与上述的实施例相互对应,因此装置部分的实施例请参照上述方法部分的实施例描述,在此不再赘述。
本发明提供的一种微服务的调试装置,包括获取当前服务以及当前服务调用的下游服务;当当前服务接收到调用指令或执行指令时,判断下游服务是否存在目标服务,其中目标服务为当前服务预设处理的服务;若存在目标服务,则选取目标服务对应的下游服务作为目标下游服务,判断目标下游服务是否在线;若目标下游服务在线,则将目标下游服务作为待调用服务并进行调用;当待调用服务调用完成时,则将除目标服务之外的下游服务作为附加服务,判断附加服务是否在线;若附加服务在线,则将附加服务作为待调用服务并进行调用;若不存在目标服务时,则将下游任务作为附加服务,并返回至判断附加服务是否在线的步骤。该装置为了减少故障发生时对整个系统的影响,减少调试时间,自动恢复。选择该装置的调用内容,调用可用的,即调用在线的目标下游服务。当目标下游服务调用完成时,为了保证核心功能的情况下其系统可用,继续判断附加服务是否在线,将附加服务作为待调用服务进行调用,在无法调用的下游服务进而调试,以此来减少被调试的服务。避免现有的调试服务直接调试,同时等待不在线服务从而造成调试时间成本的增加,以及相关调试人员由于缺乏相关调试经验从而在整个调试系统过程中出现的调试错误问题,进一步减小系统耦合度降低单个服务对系统的影响,提高服务的调用准确度,通过调用服务以节省服务的调试时间成本。
图5为本发明实施例提供的另一种微服务的调用装置的结构图,如图5所示,该装置包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现微服务的调用方法的步骤。
本实施例提供的微服务的调用装置可以包括但不限于智能手机、平板电脑、笔记本电脑或者台式电脑等。
其中,处理器22可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器22可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器22也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器22可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器22还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器21可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器21还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器21至少用于存储以下计算机程序211,其中,该计算机程序被处理器22加载并执行之后,能够实现前述任一实施例公开的微服务的调用方法的相关步骤。另外,存储器21所存储的资源还可以包括操作系统212和数据213等,存储方式可以是短暂存储或者永久存储。其中,操作系统212可以包括Windows、Unix、Linux等。数据213可以包括但不限于微服务的调用方法所涉及到的数据等等。
在一些实施例中,微服务的调用装置还可包括有显示屏23、输入输出接口24、通信接口25、电源26以及通信总线27。
领域技术人员可以理解,图5中示出的结构并不构成对微服务的调用装置的限定,可以包括比图示更多或更少的组件。
处理器22通过调用存储于存储器21中的指令以实现上述任一实施例所提供的微服务的调用方法。
本发明提供的一种微服务的调试装置,包括获取当前服务以及当前服务调用的下游服务;当当前服务接收到调用指令或执行指令时,判断下游服务是否存在目标服务,其中目标服务为当前服务预设处理的服务;若存在目标服务,则选取目标服务对应的下游服务作为目标下游服务,判断目标下游服务是否在线;若目标下游服务在线,则将目标下游服务作为待调用服务并进行调用;当待调用服务调用完成时,则将除目标服务之外的下游服务作为附加服务,判断附加服务是否在线;若附加服务在线,则将附加服务作为待调用服务并进行调用;若不存在目标服务时,则将下游任务作为附加服务,并返回至判断附加服务是否在线的步骤。该装置为了减少故障发生时对整个系统的影响,减少调试时间,自动恢复。选择该装置的调用内容,调用可用的,即调用在线的目标下游服务。当目标下游服务调用完成时,为了保证核心功能的情况下其系统可用,继续判断附加服务是否在线,将附加服务作为待调用服务进行调用,在无法调用的下游服务进而调试,以此来减少被调试的服务。避免现有的调试服务直接调试,同时等待不在线服务从而造成调试时间成本的增加,以及相关调试人员由于缺乏相关调试经验从而在整个调试系统过程中出现的调试错误问题,进一步减小系统耦合度降低单个服务对系统的影响,提高服务的调用准确度,通过调用服务以节省服务的调试时间成本。
进一步的,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器22执行时实现如上述微服务的调用方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述微服务的调用方法相同的有益效果。
图6为本发明另一实施例提供的一种微服务的调用装置的结构图,如图6所示,该装置为机械臂通过图像识别物料位置进行机械抓取操作,图中的任务解析各服务均可接入服务注册中心,对于实线箭头为目标服务,对于虚线箭头为非目标服务。任务发布服务33接受外部调用设置任务,也就是认为设定任务31;任务解析服务32判断机械臂服务34与任务发布服务33是否在线,任务发布服务33或机械臂服务34不在线时放弃调用,否则执行后续调用;任务解析服务32调用任务发布服务33获取需执行的任务;任务解析服务32调用机械臂服务34;任务解析服务32调用温度感知代理服务35,温度感知代理服务35包括温度探头38;机械臂服务34接到任务解析服务32后判断下游服务的目标服务是否全部在线;机械臂服务34调用摄像头服务36获取图像;机械臂服务34调用图像识别服务37解析图像;机械臂完成动作。
上文通过对本发明另一实施例提供的一种微服务的调用装置的结构图进行了介绍,具有与上述提到的微服务的调用方法相同的有益效果。
作为一种优选地实施例,可针对不同情况下分析,使用的系统中,A为当前系统,B为目标服务,C为附加服务;
当B、C都在线进行调用过程时,A获取自身的下游服务信息(A事先知道自己的下游服务为B和C,且知道其分别为关键和附加服务),A判断自身是否存在目标服务,若存在,进而判断目标服务是否在线,若在线,则将目标服务对应的下游服务B作为待调用服务。进而B调用完成后,A判断自身是否存在附加服务,若存在,则进一步判断是否在线,若在线,则将附加服务作为待调用服务进行调用。
当B在线,C不在线时调用过程为:结合上述的内容,B调用完成后,A判断自身是否存在附加服务,若存在,则进一步判断是否在线,若不在线,放弃调用附加服务。
当B不在线,C在线时的调用过程为:结合上述的内容,当目标服务不在线时,则直接放弃当前服务的调用内容。
当B不在线,C不在线时的调用过程为:结合上述的内容,当目标服务不在线时,则直接放弃当前服务的调用内容。
当B在线时的调用过程为:结合上述的内容,将目标服务对应的下游服务B作为待调用服务。进而B调用完成后,A判断自身是否存在附加服务,若不存在,则结束。
当B不在线时的调用过程为:结合上述的内容,则直接放弃调用。
当C在线时的调用过程为:结合上述的内容,不存在目标服务,则判断附加服务是否在线,若在线,则将C作为待调用服务。
当C不在线时的调用过程为:结合上述的内容,不存在目标服务,则判断附加服务是否在线,若不在线,则放弃调用附加服务。
上文通过对本发明另一实施例提供的一种微服务的调用方法的分析进行了介绍,具有与上述提到的微服务的调用方法相同的有益效果。
以上对本发明所提供的一种微服务的调用方法、微服务的调用装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种微服务的调用方法,其特征在于,包括:
获取当前服务以及所述当前服务调用的下游服务;
当所述当前服务接收到调用指令或执行指令时,判断所述下游服务是否存在目标服务,其中所述目标服务为所述当前服务预设处理的服务;
若存在所述目标服务,则选取存在所述目标服务对应的下游服务作为目标下游服务,判断所述目标下游服务是否在线;
若所述目标下游服务在线,则将所述目标下游服务作为待调用服务并进行调用;
当所述待调用服务调用完成时,则将除所述目标服务之外的下游服务作为附加服务,判断所述附加服务是否在线;
若所述附加服务在线,则将所述附加服务作为所述待调用服务并进行调用;
若不存在所述目标服务时,则将所述下游任务作为附加服务,并返回至所述判断所述附加服务是否在线的步骤。
2.根据权利要求1所述的微服务的调用方法,其特征在于,所述获取当前服务以及所述当前服务调用的下游服务,包括:
启动所述当前服务;
将所述当前服务发送至服务注册中心以注册自身服务并发现其他服务进行调用;
将调用的其他服务作为所述下游服务。
3.根据权利要求1所述的微服务的调用方法,其特征在于,当所述目标下游服务不在线时,还包括:
当所述目标下游服务不在线时,则放弃调用所述目标下游服务并输出调用结果。
4.根据权利要求1所述的微服务的调用方法,其特征在于,当所述附加服务不在线时,还包括:
当所述附加服务不在线时,则放弃调用所述附加服务并输出调用结果。
5.根据权利要求1所述的微服务的调用方法,其特征在于,还包括:
当调用所述目标下游服务作为所述待调用服务进行调用时,输出调用结果;
当调用所述附加服务作为所述待调用服务进行调用时,输出调用结果。
6.根据权利要求3至5任意一项所述的微服务的调用方法,其特征在于,还包括:
获取所述当前服务的上游服务;
将得到的调用结果发送至所述上游服务。
7.根据权利要求2所述的微服务的调用方法,其特征在于,在将所述当前服务发送至所述服务注册中心之后,还包括:
根据时间间隔发送心跳包至所述服务注册中心以便查看所述当前服务的服务状态信息。
8.一种微服务的调用装置,其特征在于,包括:
获取模块,用于获取当前服务以及所述当前服务调用的下游服务;
第一判断模块,用于当所述当前服务接收到调用指令或执行指令时,判断所述下游服务是否存在目标服务,其中所述目标服务为所述当前服务预设处理的服务,若存在所述目标服务,则触发第二判断模块,若不存在所述目标服务,则触发返回模块;
所述第二判断模块,用于选取存在所述目标服务对应的下游服务作为目标下游服务,判断所述目标下游服务是否在线,若所述目标下游服务在线,则触发第一调用模块;
所述第一调用模块,用于将所述目标下游服务作为待调用服务并进行调用;
第三判断模块,用于当所述待调用服务调用完成时,则将除所述目标服务之外的下游服务作为附加服务,判断所述附加服务是否在线,若所述附加服务在线,则触发第二调用模块;
所述第二调用模块,用于将所述附加服务作为所述待调用服务并进行调用;
所述返回模块,用于将所述下游任务作为附加服务,并返回至所述判断所述附加服务是否在线的步骤。
9.一种微服务的调用装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的微服务的调用方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的微服务的调用方法的步骤。
CN202210622809.2A 2022-06-02 2022-06-02 一种微服务的调试方法、装置及介质 Pending CN114942888A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210622809.2A CN114942888A (zh) 2022-06-02 2022-06-02 一种微服务的调试方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210622809.2A CN114942888A (zh) 2022-06-02 2022-06-02 一种微服务的调试方法、装置及介质

Publications (1)

Publication Number Publication Date
CN114942888A true CN114942888A (zh) 2022-08-26

Family

ID=82908629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210622809.2A Pending CN114942888A (zh) 2022-06-02 2022-06-02 一种微服务的调试方法、装置及介质

Country Status (1)

Country Link
CN (1) CN114942888A (zh)

Similar Documents

Publication Publication Date Title
CN111026367B (zh) 微服务编排方法、装置、终端设备及存储介质
CN112637335B (zh) 主备模式服务部署方法、装置、设备及存储介质
CN110933075B (zh) 服务调用方法、装置、电子设备及存储介质
CN111258851A (zh) 一种集群的告警方法、装置、设置及存储介质
CN111506641B (zh) 数据管理方法、数据采集平台、数据管理系统及存储介质
CN114942888A (zh) 一种微服务的调试方法、装置及介质
CN117251373A (zh) 压力测试方法、装置、设备以及存储介质
CN117041111A (zh) 车云功能测试方法、装置、电子设备及存储介质
CN113157796A (zh) 一种基于微服务的数采展示系统
CN115220992A (zh) 接口变更监控方法、装置、计算机设备和存储介质
CN112130900B (zh) 一种bmc的用户信息管理方法、系统、设备以及介质
CN109150993B (zh) 一种获取网络请求切面的方法、终端装置及存储介质
CN111813621A (zh) 基于Flume数据中台的数据处理方法、装置、设备及介质
CN108809763B (zh) 一种网络性能参数采集方法、终端装置及存储介质
CN115525415B (zh) 一种数据处理方法、装置、设备及介质
CN115865651B (zh) 一种数据采集方法、装置、电子设备及存储介质
CN113342540B (zh) 终端用户缴费开机方法、系统、计算机设备和存储介质
CN111158671B (zh) 基于注册和定向扫描的微服务架构软件模块动态加载方法
CN116820430B (zh) 异步读写方法、装置、计算机设备及存储介质
CN114465878B (zh) 一种服务端口切换方法及装置
EP4300306A1 (en) Streaming media processing method and apparatus based on inference service and electronic device
CN112860519B (zh) 一种分布式系统的监测方法及装置
CN113157615B (zh) 一种服务总线通信方法、电子设备以及计算机存储介质
CN115941632A (zh) 基于网络交换机设备状态的采集方法、装置、介质及设备
CN115277486A (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