CN115904549A - 接口调用方法及装置、存储介质 - Google Patents

接口调用方法及装置、存储介质 Download PDF

Info

Publication number
CN115904549A
CN115904549A CN202110896779.XA CN202110896779A CN115904549A CN 115904549 A CN115904549 A CN 115904549A CN 202110896779 A CN202110896779 A CN 202110896779A CN 115904549 A CN115904549 A CN 115904549A
Authority
CN
China
Prior art keywords
interface
calling
service
target
asynchronous
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
CN202110896779.XA
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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding 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 Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202110896779.XA priority Critical patent/CN115904549A/zh
Publication of CN115904549A publication Critical patent/CN115904549A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本公开涉及一种接口调用方法及装置、存储介质,上述方法包括:获取目标接口的配置信息和目标设备的服务状态信息;通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。采用上述技术手段,解决现有技术中,在接口调用中,接口的调用方式是固定的,容易导致任务处理速度慢甚至失败的问题。

Description

接口调用方法及装置、存储介质
技术领域
本公开涉及云计算技术领域,尤其涉及一种接口调用方法及装置、存储介质。
背景技术
在接口调用中,接口编写时就已经确立了接口是同步调用还是异步调用,其中,同步调用是一种阻塞式调用,接口调用方要等待接口被调端任务执行完毕,才会接收到接口被调端的回复,在此期间,接口调用方需要等待接口被调端的回复,不允许接口调用方执行下一个任务;异步调用是一种类似消息或事件的机制,接口被调端在收到某种讯息或发生某种事件时,会主动通知接口调用方,在此期间,接口调用方不需要等待接口被调端的回复,允许接口调用方执行下一个任务。而接口的调用方式固定化,会导致如果设备繁忙,那么采用同步调用方式的接口就会发生阻塞,进而导致处理任务请求或者任务停滞甚至失败。但是如果接口一律采用异步调用方式,那么在设备闲置时,由于异步调用方式存在接口多次调用,会导致处理任务请求或者任务的速度慢,如果此时还存在网络波动,那么多次调用接口还会产生错误。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:在接口调用中,接口的调用方式是固定的,容易导致任务处理速度慢甚至失败的问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种接口调用方法及装置、存储介质,以至少解决现有技术中,在接口调用中,接口的调用方式是固定的,容易导致任务处理速度慢甚至失败的问题。
本公开的目的是通过以下技术方案实现的:
第一方面,本公开的实施例提供了一种接口调用方法,包括:获取目标接口的配置信息和目标设备的服务状态信息;通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。
进一步地,获取目标接口的配置信息和目标设备的服务状态信息,包括:接收接口调用端发送的接口调用请求,并根据所述接口调用请求确定所述目标接口的输入参数和所述目标设备的网际协议地址;根据所述输入参数获取所述目标接口的配置信息;根据所述网际协议地址从设备监控系统获取所述目标设备的服务状态信息。
进一步地,根据所述网际协议地址从设备监控系统获取所述目标设备的服务状态信息,包括:通过所述设备监控系统实时监控多个设备的服务状态信息,并将所述多个设备的服务状态信息存储在所述设备监控系统中的监控系统数据库中;根据所述网际协议地址从所述监控系统数据库获取所述目标设备的服务状态信息。
进一步地,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式,包括:通过所述配置信息中的动态调用配置信息判断所述目标接口是否为动态调用;在所述目标接口为非动态调用的情况下,通过所述配置信息中的接口调用类型信息确定所述目标接口的接口调用方式;在所述目标接口是为动态调用的情况下,通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式。
进一步地,在所述目标接口是为动态调用的情况下,通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式,包括:在服务百分比大于所述异步调用阈值的情况下,确定所述接口调用方式为异步调用方式,其中,所述服务状态信息包括所述服务百分比,所述服务百分比表示设备运行繁忙的程度;在所述服务百分比小于所述异步调用阈值的情况下,确定所述接口调用方式为同步调用方式。
进一步地,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口,包括:在所述标记信息指示所述接口调用方式为同步调用方式的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端;在所述标记信息指示所述接口调用方式为异步调用方式的情况下,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端;其中,所述服务状态信息包括所述服务百分比,所述服务百分比表示设备运行繁忙的程度,所述配置信息包括异步调用阈值。
进一步地,在所述标记信息指示所述接口调用方式为异步调用方式的情况下,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端,包括:设置接口任务,其中,所述接口任务用于实时判断所述服务百分比是否小于所述异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行所述业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端;或者将所述业务处理任务放入消息队列,其中,所述消息队列用于实时判断所述服务百分比是否小于所述异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行所述业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端。
进一步地,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口之后,所述方法还包括:通过回调接口将根据所述接口调用方式调用所述目标接口的结果信息发送给接口调用端;指示所述接口调用方通过异步处理的方式处理所述结果信息。
第二方面,本公开的实施例提供了一种接口调用装置,包括:获取模块,用于获取目标接口的配置信息和目标设备的服务状态信息;确定模块,用于通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;调用模块,用于将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。
第三方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的接口调用方法或图像处理的方法。
第四方面,本公开的实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的接口调用方法或图像处理的方法。
本公开实施例提供的上述技术方案与现有技术相比至少具有如下优点的部分或全部:在获取目标接口的配置信息和目标设备的服务状态信息的情况下,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;在确定所述目标接口的接口调用方式的情况下,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。采用上述技术手段,解决现有技术中,在接口调用中,接口的调用方式是固定的,容易导致任务处理速度慢甚至失败的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了本公开实施例一种接口调用方法的计算机终端的硬件结构框图;
图2示意性示出了本公开实施例的一种接口调用方法的流程图;
图3示意性示出了本公开实施例的一种获取目标接口的配置信息和目标设备的服务状态信息的流程图;
图4示意性示出了本公开实施例的一种接口调用方法的流程示意图;
图5示意性示出了本公开实施例的一种接口调用装置的结构框图;
图6示意性示出了本公开实施例提供的一种电子设备的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本公开。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本公开实施例所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1示意性示出了本公开实施例的一种接口调用方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD)等处理装置和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的接口调用方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种接口调用方法,图2示意性示出了本公开实施例的接口调用方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取目标接口的配置信息和目标设备的服务状态信息;
步骤S204,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;
步骤S206,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。
需要说明的是,本公开实施例适用于云端和本地交互过程,可以是云端调用地端的接口,也可以是地端调用云端的接口。也就是说,云端可以做接口调用端,也可以做接口被调端;本地可以做接口调用端,也可以做接口被调端。
通过本公开,在获取目标接口的配置信息和目标设备的服务状态信息的情况下,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;在确定所述目标接口的接口调用方式的情况下,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。采用上述技术手段,解决现有技术中,在接口调用中,接口的调用方式是固定的,容易导致任务处理速度慢甚至失败的问题。
图3示意性示出了本公开实施例的一种获取目标接口的配置信息和目标设备的服务状态信息的流程图,如图3所示,该流程包括如下步骤:
S302:接收接口调用端发送的接口调用请求,并根据所述接口调用请求确定所述目标接口的输入参数和所述目标设备的网际协议地址;
S304:根据所述输入参数获取所述目标接口的配置信息;
其中,根据所述输入参数获取所述目标接口的配置信息,也可以是根据所述输入参数确定所述目标接口的配置信息,然后获取所述目标接口的配置信息。
S306:根据所述网际协议地址从设备监控系统获取所述目标设备的服务状态信息。
本公开实施例通过上述技术手段,就可以获取到目标接口的配置信息和目标设备的服务状态信息,进而根据配置信息和服务状态信息确定所述目标接口的接口调用方式,解决了现有技术中,接口的调用方式是固定的,会导致任务处理速度慢甚至失败的问题。
在一个可选实施例中,根据所述网际协议地址从设备监控系统获取所述目标设备的服务状态信息,包括:通过所述设备监控系统实时监控多个设备的服务状态信息,并将所述多个设备的服务状态信息存储在所述设备监控系统中的监控系统数据库中;根据所述网际协议地址从所述监控系统数据库获取所述目标设备的服务状态信息。
设备监控系统会实时监控多个设备的服务状态信息,并将监控得到的所述多个设备的服务状态信息存储在所述设备监控系统中的监控系统数据库中,其中,所述服务状态信息是关于设备的运行或者工作状态的信息。
表1是目标设备的服务状态信息的数据结构,如表1所示:
字段 描述
Server_type 服务类型(例:运行内存占比)
Server_threshold 服务阈值(例:90%)
Is_alert 是否告警
Alert_type 告警类型
.... ....
需要说明的是,在服务类型超过服务阈值的情况下,判断是否需要告警以及告警的类型。
在将监控得到的所述多个设备的服务状态信息存储在所述设备监控系统中的监控系统数据库中的情况下,根据所述网际协议地址从所述监控系统数据库获取所述目标设备的服务状态信息。其中,多个设备包括目标设备,一个网际协议地址对应一个设备。
在一个可选实施例中,通过所述设备监控系统实时监控多个设备的服务状态信息之前,所述方法还包括:接收目标对象发送的监控指令,根据所述监控指令确定所述设备监控系统需要实时监控的多个设备;或者,根据所述设备监控系统的默认设置确定所述设备监控系统需要实时监控的多个设备。
在步骤S204中,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式,包括:通过所述配置信息中的动态调用配置信息判断所述目标接口是否为动态调用;在所述目标接口为非动态调用的情况下,通过所述配置信息中的接口调用类型信息确定所述目标接口的接口调用方式;在所述目标接口是为动态调用的情况下,通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式。
也就是说,如果所述目标接口为非动态调用,只需要通过所述配置信息就可以确定所述目标接口的接口调用方式:通过所述配置信息中的动态调用配置信息判断所述目标接口为非动态调用;通过所述配置信息中的接口调用类型信息确定所述目标接口的接口调用方式。其中,所述接口调用方式包括:异步调用方式和同步调用方式。如果所述目标接口为动态调用,需要通过所述配置信息和所述服务状态信息确定所述目标接口的接口调用方式:通过所述配置信息中的动态调用配置信息判断所述目标接口为动态调用;通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式。
表2是目标接口的配置信息的数据结构,如表2所示:
Figure BDA0003198255270000051
Figure BDA0003198255270000061
在一个可选实施例中,在所述目标接口是为动态调用的情况下,通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式,包括:在服务百分比大于所述异步调用阈值的情况下,确定所述接口调用方式为异步调用方式,其中,所述服务状态信息包括所述服务百分比,所述服务百分比表示设备运行繁忙的程度;在所述服务百分比小于所述异步调用阈值的情况下,确定所述接口调用方式为同步调用方式。
可选的,所述服务百分比还可以是设备的运行内存占有率的百分比,通过比较所述运行内存占有率和所述异步调用阈值的大小,确定所述接口调用方式:在所述运行内存占有率大于所述异步调用阈值的情况下,确定所述接口调用方式为异步调用方式;在所述运行内存占有率小于所述异步调用阈值的情况下,确定所述接口调用方式为同步调用方式。
通过上述技术手段,可以实现接口的动态调用,解决现有技术中,接口的调用方式是固定的,进而导致任务处理速度慢甚至失败的问题。
需要说明的是,是否动态调用可由目标对象根据具体情况调整。如果在查询出现错误,例如服务挂掉或者服务器死机,则采用所述配置信息中的接口调用类型信息当作默认的接口调用方式。
在步骤S206中,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口,包括:在所述标记信息指示所述接口调用方式为同步调用方式的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端;在所述标记信息指示所述接口调用方式为异步调用方式的情况下,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端;其中,所述服务状态信息包括所述服务百分比,所述服务百分比表示设备运行繁忙的程度,所述配置信息包括异步调用阈值。
本公开实施例增加了一个接口调用管理系统,接口调用管理系统根据接口调用方发送的接口调用请求获取目标接口的配置信息和目标设备的服务状态信息,根据所述配置信息和所述服务状态信息或者根据所述配置信息和所述服务状态信息中的一个确定所述接口调用方式,接口被调端则根据接口调用管理系统确定的所述接口调用方式,以实现所述目标接口的调用。
接口调用管理系统将指示所述接口调用方式的标记信息发送给接口被调端,如果所述标记信息指示所述接口调用方式为同步调用方式,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端。如果所述标记信息指示所述接口调用方式为异步调用方式,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,也就是目标设备空闲的时候,指示所述接口被调端执行业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端。如果判断服务百分比大于异步调用阈值,就说明目标设备此时繁忙,不进行任何处理,继续实时监控并判断服务百分比是否小于异步调用阈值,在在所述服务百分比小于所述异步调用阈值的情况下,对业务处理任务进行处理。
需要说明的是,在所述标记信息指示所述接口调用方式为同步调用方式的情况下,是直接将执行业务处理任务的结果返回给接口调用端;在所述标记信息指示所述接口调用方式为异步调用方式的情况下,在指示所述接口被调端执行业务处理任务之后,需要查询回调接口,通过回调接口将执行业务处理任务的结果返回给接口调用端。
在一个可选实施例中,在所述标记信息指示所述接口调用方式为异步调用方式的情况下,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端,包括:设置接口任务,其中,所述接口任务用于实时判断所述服务百分比是否小于所述异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行所述业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端;或者将所述业务处理任务放入消息队列,其中,所述消息队列用于实时判断所述服务百分比是否小于所述异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行所述业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端。
本公开实施例可以设置接口任务,通过接口任务在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端。本公开实施例还可以直接将所述业务处理任务放入消息队列,通过所述消息队列对业务处理任务进行处理。需要说明的是,所述消息队列是一种先进先出的任务处理队列,通过所述消息队列就可以实现按照任务的顺序对业务处理任务进行处理。
在执行步骤S206之后,也就是将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口之后,所述方法还包括:通过回调接口将根据所述接口调用方式调用所述目标接口的结果信息发送给接口调用端;指示所述接口调用方通过异步处理的方式处理所述结果信息。
需要说明的是,接口调用方这边的回调接口一律是异步的,即在接口被调端处理完业务处理任务之后,把处理业务处理任务的结果信息通过回调接口传输给接口调用端,接口调用方一定是直接处理掉结果信息的,并给接口被调端返回处理成功的信息。接口调用方自己根据自身状态来决定什么时候处理结果信息。如果回调接口也同时支持同步调用方式和异步调用方式,则会导致循环依赖,反而拖慢速度。回调接口需要支持配置描述的,以防止接受方返回结果时无法成功调用回调接口,同时,回调接口也需支持加密处理。
表3是回调接口的配置描述信息,如表3所示:
字段 描述
Interface_name 接口名称
Interface_param_type 接口参数类型
.... ....
通过表3的信息,就可以确定回调接口的接口名称和接口参数类型。
为了更好的理解上述技术方案,本公开实施例还提供了一种可选实施例,用于解释说明上述技术方案。
图4示意性示出了本公开实施例的一种接口调用方法的流程示意图,如图4所示,该流程包括如下步骤:
S402:接收接口调用端发送的接口调用请求;
S404:根据所述接口调用请求确定所述目标接口的输入参数和所述目标设备的网际协议地址,根据所述输入参数获取所述目标接口的配置信息,根据所述网际协议地址从设备监控系统获取所述目标设备的服务状态信息;
S406:通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式:通过所述配置信息中的动态调用配置信息判断所述目标接口是否为动态调用,在所述目标接口为非动态调用的情况下,通过所述配置信息中的接口调用类型信息确定所述目标接口的接口调用方式,在所述目标接口是为动态调用的情况下,通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式;
S408:将指示所述接口调用方式的标记信息发送给接口被调端,接口被调端判断接口调用方式是否为异步调用方式;
S410:在所述标记信息指示所述接口调用方式为同步调用方式的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端;
S412:在所述标记信息指示所述接口调用方式为异步调用方式的情况下,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端。
通过本公开,在获取目标接口的配置信息和目标设备的服务状态信息的情况下,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;在确定所述目标接口的接口调用方式的情况下,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。采用上述技术手段,解决现有技术中,在接口调用中,接口的调用方式是固定的,容易导致任务处理速度慢甚至失败的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(RandomAccessMemory,简称为RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
在本实施例中还提供了一种接口调用装置,该接口调用装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5示意性示出了本公开可选实施例的一种接口调用装置的结构框图,如图5所示,该装置包括:
获取模块502,用于获取目标接口的配置信息和目标设备的服务状态信息;
确定模块504,用于通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;
调用模块506,用于将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。
通过本公开,在获取目标接口的配置信息和目标设备的服务状态信息的情况下,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;在确定所述目标接口的接口调用方式的情况下,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。采用上述技术手段,解决现有技术中,在接口调用中,接口的调用方式是固定的,容易导致任务处理速度慢甚至失败的问题。
可选的,获取模块502还用于接收接口调用端发送的接口调用请求,并根据所述接口调用请求确定所述目标接口的输入参数和所述目标设备的网际协议地址;根据所述输入参数获取所述目标接口的配置信息;根据所述输入参数获取所述目标接口的配置信息,也可以是根据所述输入参数确定所述目标接口的配置信息,然后获取所述目标接口的配置信息;根据所述网际协议地址从设备监控系统获取所述目标设备的服务状态信息。
本公开实施例通过上述技术手段,就可以获取到目标接口的配置信息和目标设备的服务状态信息,进而根据配置信息和服务状态信息确定所述目标接口的接口调用方式,解决了现有技术中,接口的调用方式是固定的,会导致任务处理速度慢甚至失败的问题。
可选的,获取模块502还用于通过所述设备监控系统实时监控多个设备的服务状态信息,并将所述多个设备的服务状态信息存储在所述设备监控系统中的监控系统数据库中;根据所述网际协议地址从所述监控系统数据库获取所述目标设备的服务状态信息。
设备监控系统会实时监控多个设备的服务状态信息,并将监控得到的所述多个设备的服务状态信息存储在所述设备监控系统中的监控系统数据库中,其中,所述服务状态信息是关于设备的运行或者工作状态的信息。
表1是目标设备的服务状态信息的数据结构,如表1所示:
字段 描述
Server_type 服务类型(例:运行内存占比)
Server_threshold 服务阈值(例:90%)
Is_alert 是否告警
Alert_type 告警类型
.... ....
需要说明的是,在服务类型超过服务阈值的情况下,判断是否需要告警以及告警的类型。
在将监控得到的所述多个设备的服务状态信息存储在所述设备监控系统中的监控系统数据库中的情况下,根据所述网际协议地址从所述监控系统数据库获取所述目标设备的服务状态信息。其中,多个设备包括目标设备,一个网际协议地址对应一个设备。
可选的,获取模块502还用于接收目标对象发送的监控指令,根据所述监控指令确定所述设备监控系统需要实时监控的多个设备;或者,根据所述设备监控系统的默认设置确定所述设备监控系统需要实时监控的多个设备。
可选的,确定模块504还用于通过所述配置信息中的动态调用配置信息判断所述目标接口是否为动态调用;在所述目标接口为非动态调用的情况下,通过所述配置信息中的接口调用类型信息确定所述目标接口的接口调用方式;在所述目标接口是为动态调用的情况下,通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式。
也就是说,如果所述目标接口为非动态调用,只需要通过所述配置信息就可以确定所述目标接口的接口调用方式:通过所述配置信息中的动态调用配置信息判断所述目标接口为非动态调用;通过所述配置信息中的接口调用类型信息确定所述目标接口的接口调用方式。其中,所述接口调用方式包括:异步调用方式和同步调用方式。如果所述目标接口为动态调用,需要通过所述配置信息和所述服务状态信息确定所述目标接口的接口调用方式:通过所述配置信息中的动态调用配置信息判断所述目标接口为动态调用;通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式。
表2是目标接口的配置信息的数据结构,如表2所示:
字段 描述
Interface_name 接口名称
Interface_type 接口调用类型(同步or异步)
Is_dynamic 是否动态调用
Dynamic_type 动态调用配置(例:运行内存占比)
async_threshold 异步调用阈值(例:空闲)
Threshold_type 阈值类型(例:大于,小于,等于)
.... ....
可选的,确定模块504还用于在服务百分比大于所述异步调用阈值的情况下,确定所述接口调用方式为异步调用方式,其中,所述服务状态信息包括所述服务百分比,所述服务百分比表示设备运行繁忙的程度;在所述服务百分比小于所述异步调用阈值的情况下,确定所述接口调用方式为同步调用方式。
可选的,所述服务百分比还可以是设备的运行内存占有率的百分比,通过比较所述运行内存占有率和所述异步调用阈值的大小,确定所述接口调用方式:在所述运行内存占有率大于所述异步调用阈值的情况下,确定所述接口调用方式为异步调用方式;在所述运行内存占有率小于所述异步调用阈值的情况下,确定所述接口调用方式为同步调用方式。
通过上述技术手段,可以实现接口的动态调用,解决现有技术中,接口的调用方式是固定的,进而导致任务处理速度慢甚至失败的问题。
需要说明的是,是否动态调用可由目标对象根据具体情况调整。如果在查询出现错误,例如服务挂掉,则采用所述配置信息中的接口调用类型信息当作默认的接口调用方式。
可选的,调用模块506还用于在所述标记信息指示所述接口调用方式为同步调用方式的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端;在所述标记信息指示所述接口调用方式为异步调用方式的情况下,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端;其中,所述服务状态信息包括所述服务百分比,所述服务百分比表示设备运行繁忙的程度,所述配置信息包括异步调用阈值。
本公开实施例增加了一个接口调用管理系统,接口调用管理系统根据接口调用方发送的接口调用请求获取目标接口的配置信息和目标设备的服务状态信息,根据所述配置信息和所述服务状态信息或者根据所述配置信息和所述服务状态信息中的一个确定所述接口调用方式,接口被调端则根据接口调用管理系统确定的所述接口调用方式,以实现所述目标接口的调用。
接口调用管理系统将指示所述接口调用方式的标记信息发送给接口被调端,如果所述标记信息指示所述接口调用方式为同步调用方式,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端。如果所述标记信息指示所述接口调用方式为异步调用方式,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,也就是目标设备空闲的时候,指示所述接口被调端执行业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端。如果判断服务百分比大于异步调用阈值,就说明目标设备此时繁忙,不进行任何处理,继续实时监控并判断服务百分比是否小于异步调用阈值,在在所述服务百分比小于所述异步调用阈值的情况下,对业务处理任务进行处理。
需要说明的是,在所述标记信息指示所述接口调用方式为同步调用方式的情况下,是直接将执行业务处理任务的结果返回给接口调用端;在所述标记信息指示所述接口调用方式为异步调用方式的情况下,在指示所述接口被调端执行业务处理任务之后,需要查询回调接口,通过回调接口将执行业务处理任务的结果返回给接口调用端。
可选的,调用模块506还用于设置接口任务,其中,所述接口任务用于实时判断所述服务百分比是否小于所述异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行所述业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端;或者将所述业务处理任务放入消息队列,其中,所述消息队列用于实时判断所述服务百分比是否小于所述异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行所述业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端。
本公开实施例可以设置接口任务,通过接口任务在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端。本公开实施例还可以直接将所述业务处理任务放入消息队列,通过所述消息队列对业务处理任务进行处理。需要说明的是,所述消息队列是一种先进先出的任务处理队列,通过所述消息队列就可以实现按照任务的顺序对业务处理任务进行处理。
可选的,调用模块506还用于通过回调接口将根据所述接口调用方式调用所述目标接口的结果信息发送给接口调用端;指示所述接口调用方通过异步处理的方式处理所述结果信息。
需要说明的是,接口调用方这边的回调接口一律是异步的,即在接口被调端处理完业务处理任务之后,把处理业务处理任务的结果信息通过回调接口传输给接口调用端,接口调用方一定是直接处理掉结果信息的,并给接口被调端返回处理成功的信息。接口调用方自己根据自身状态来决定什么时候处理结果信息。如果回调接口也同时支持同步调用方式和异步调用方式,则会导致循环依赖,反而拖慢速度。回调接口需要支持配置描述的,以防止接受方返回结果时无法成功调用回调接口,同时,回调接口也需支持加密处理。
表3是回调接口的配置描述信息,如表3所示:
字段 描述
Interface_name 接口名称
Interface_param_type 接口参数类型
.... ....
通过表3的信息,就可以确定回调接口的接口名称和接口参数类型。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本公开的实施例提供了一种电子设备。
图6示意性示出了本公开实施例提供的一种电子设备的结构框图。
参照图6所示,本公开实施例提供的电子设备600包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601、通信接口602和存储器603通过通信总线604完成相互间的通信;存储器603,用于存放计算机程序;处理器601,用于执行存储器上所存放的程序时,实现上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该输入输出设备与上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标接口的配置信息和目标设备的服务状态信息;
S2,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;
S3,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。
本公开的实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标接口的配置信息和目标设备的服务状态信息;
S2,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;
S3,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
以上所述仅为本公开的优选实施例而已,并不用于限制于本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种接口调用方法,其特征在于,包括:
获取目标接口的配置信息和目标设备的服务状态信息;
通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;
将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。
2.根据权利要求1所述的接口调用方法,其特征在于,获取目标接口的配置信息和目标设备的服务状态信息,包括:
接收接口调用方端发送的接口调用请求,并根据所述接口调用请求确定所述目标接口的输入参数和所述目标设备的网际协议地址;
根据所述输入参数获取所述目标接口的配置信息;
根据所述网际协议地址从设备监控系统获取所述目标设备的服务状态信息。
3.根据权利要求2所述的接口调用方法,其特征在于,根据所述网际协议地址从设备监控系统获取所述目标设备的服务状态信息,包括:
通过所述设备监控系统实时监控多个设备的服务状态信息,并将所述多个设备的服务状态信息存储在所述设备监控系统中的监控系统数据库中;
根据所述网际协议地址从所述监控系统数据库获取所述目标设备的服务状态信息。
4.根据权利要求1所述的接口调用方法,其特征在于,通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式,包括:
通过所述配置信息中的动态调用配置信息判断所述目标接口是否为动态调用;
在所述目标接口为非动态调用的情况下,通过所述配置信息中的接口调用类型信息确定所述目标接口的接口调用方式;
在所述目标接口是为动态调用的情况下,通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式。
5.根据权利要求4所述的接口调用方法,其特征在于,在所述目标接口是为动态调用的情况下,通过所述配置信息中的异步调用阈值和所述服务状态信息确定所述目标接口的接口调用方式,包括:
在服务百分比大于所述异步调用阈值的情况下,确定所述接口调用方式为异步调用方式,其中,所述服务状态信息包括所述服务百分比,所述服务百分比表示设备运行繁忙的程度;
在所述服务百分比小于所述异步调用阈值的情况下,确定所述接口调用方式为同步调用方式。
6.根据权利要求1所述的接口调用方法,其特征在于,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口,包括:
在所述标记信息指示所述接口调用方式为同步调用方式的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端;
在所述标记信息指示所述接口调用方式为异步调用方式的情况下,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端;
其中,所述服务状态信息包括所述服务百分比,所述服务百分比表示设备运行繁忙的程度,所述配置信息包括异步调用阈值。
7.根据权利要求6所述的接口调用方法,其特征在于,在所述标记信息指示所述接口调用方式为异步调用方式的情况下,实时判断服务百分比是否小于异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行业务处理任务,并将执行业务处理任务的结果返回给接口调用端,包括:
设置接口任务,其中,所述接口任务用于实时判断所述服务百分比是否小于所述异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行所述业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端;或者
将所述业务处理任务放入消息队列,其中,所述消息队列用于实时判断所述服务百分比是否小于所述异步调用阈值,并在所述服务百分比小于所述异步调用阈值的情况下,指示所述接口被调端执行所述业务处理任务,并将执行所述业务处理任务的结果返回给接口调用端。
8.根据权利要求1所述的接口调用方法,其特征在于,将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口之后,所述方法还包括:
通过回调接口将根据所述接口调用方式调用所述目标接口的结果信息发送给接口调用端;
指示所述接口调用方通过异步处理的方式处理所述结果信息。
9.一种接口调用装置,其特征在于,包括:
获取模块,用于获取目标接口的配置信息和目标设备的服务状态信息;
确定模块,用于通过所述配置信息和所述服务状态信息中的至少一种信息确定所述目标接口的接口调用方式;
调用模块,用于将指示所述接口调用方式的标记信息发送给接口被调端,以根据所述接口调用方式调用所述目标接口。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
CN202110896779.XA 2021-08-05 2021-08-05 接口调用方法及装置、存储介质 Pending CN115904549A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110896779.XA CN115904549A (zh) 2021-08-05 2021-08-05 接口调用方法及装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110896779.XA CN115904549A (zh) 2021-08-05 2021-08-05 接口调用方法及装置、存储介质

Publications (1)

Publication Number Publication Date
CN115904549A true CN115904549A (zh) 2023-04-04

Family

ID=86473118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110896779.XA Pending CN115904549A (zh) 2021-08-05 2021-08-05 接口调用方法及装置、存储介质

Country Status (1)

Country Link
CN (1) CN115904549A (zh)

Similar Documents

Publication Publication Date Title
CN110958281B (zh) 基于物联网的数据传输方法及通信装置
US9413851B2 (en) Information processing system, information processing device, client terminal, and computer readable medium
EP3910505A1 (en) Data processing method and device
CN109639490B (zh) 一种宕机通知方法及装置
CN111586140A (zh) 一种数据交互的方法及服务器
EP3672203A1 (en) Distribution method for distributed data computing, device, server and storage medium
CN111356182A (zh) 一种资源的调度、处理方法及装置
CN109600769B (zh) 通信方法及装置
CN111931030A (zh) 基于异构系统的请求适配方法、装置、设备及存储介质
CN109460215B (zh) 应用控制方法及装置
CN115904549A (zh) 接口调用方法及装置、存储介质
CN116032932A (zh) 针对边缘服务器的集群管理方法、系统、设备及介质
CN112637121B (zh) 数据端口的更新方法、装置、电子设备及可读存储介质
CN114189893A (zh) O-ran能力开放方法、通信系统、装置及存储介质
CN110650259B (zh) 呼叫请求的响应方法、装置、服务器、终端及存储介质
CN113010330A (zh) 一种微服务请求重试的方法及终端
CN111371573B (zh) 消息交互方法及装置
EP3139536A1 (en) Alarm reporting method and device
CN113010363A (zh) 一种swarm集群下的容器监控方法和共享服务云平台
CN105743673B (zh) 北向接口及其处理通知消息的方法
CN112104506B (zh) 组网方法、装置、服务器及可读存储介质
CN111858043B (zh) 服务请求的处理方法及装置、存储介质、电子装置
CN115622988B (zh) web接口的调用响应方法、装置、电子设备和存储介质
CN112532699B (zh) 数据端口的更新方法、装置、电子设备及可读存储介质
CN111654480B (zh) 一种rpc连接建立方法、装置及存储介质

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