CN114051058A - 接口调用方法、平台、电子设备及计算机存储介质 - Google Patents

接口调用方法、平台、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN114051058A
CN114051058A CN202111138753.5A CN202111138753A CN114051058A CN 114051058 A CN114051058 A CN 114051058A CN 202111138753 A CN202111138753 A CN 202111138753A CN 114051058 A CN114051058 A CN 114051058A
Authority
CN
China
Prior art keywords
interface
calling
access service
called
call
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
Application number
CN202111138753.5A
Other languages
English (en)
Other versions
CN114051058B (zh
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.)
Beijing Kuangshi Technology Co Ltd
Beijing Megvii Technology Co Ltd
Original Assignee
Beijing Kuangshi Technology Co Ltd
Beijing Megvii 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 Beijing Kuangshi Technology Co Ltd, Beijing Megvii Technology Co Ltd filed Critical Beijing Kuangshi Technology Co Ltd
Priority to CN202111138753.5A priority Critical patent/CN114051058B/zh
Publication of CN114051058A publication Critical patent/CN114051058A/zh
Application granted granted Critical
Publication of CN114051058B publication Critical patent/CN114051058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种接口调用方法、平台、电子设备及计算机存储介质,该方法包括:通过所述网关接入服务所提供的远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;通过所述网关接入服务将所述接口调用请求透传到所述设备接入服务;通过所述设备接入服务按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用。通过还方法,可以减少接口接入平台在面对新增接口或者原有接口变动的情况时,所需要修改的内容的工作量。

Description

接口调用方法、平台、电子设备及计算机存储介质
技术领域
本申请属于网络传输领域,具体涉及一种接口调用方法、平台、电子设备及计算机存储介质。
背景技术
在现有技术中,接口接入平台B通过提取接口提供方C的接口SDK,并封装成对上层统一的http接口,以便接口调用方A可以通过接口接入平台B所提供的http接口,使用接口提供方C所提供的功能。
一般而言,接口提供方C提供有几种功能,便会对应生成几个接口。相应的,在接口接入平台B内也需要相应的部署几个对上层统一的http接口。
然而,当接口提供方C所提供的接口信息产生变动时,例如新增功能接口,或者修改原有的功能接口,那么也会相应的对接口接入平台B内的各层服务进行修改。若接口接入平台B内部署的服务数量较多,那么修改的工作量将会非常大,后续调试、排错也较为困难。
发明内容
有鉴于此,本申请的目的在于提供一种接口调用方法、平台、电子设备及计算机存储介质,可以减少接口接入平台在面对新增接口或者原有接口变动的情况时,所需要修改的内容的工作量。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供一种接口调用方法,应用于接口调用平台,在所述接口调用平台内部署有网关接入服务以及设备接入服务,所述方法包括:通过所述网关接入服务所提供的远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;通过所述网关接入服务将所述接口调用请求透传到所述设备接入服务;通过所述设备接入服务按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用;其中,所述描述文档用于记录与各个接口对应的调用信息填充规则。
从上述接口调用的过程可以看出,当接口提供方所提供的接口信息发生变动(可能是由于新增接口导致,也可能是由于原有接口被修改导致)时,对于接口调用平台而言,其内只进行信息透传的服务层无需变更,而需要适应性做出修改的只有与接口提供方所提供的接口直接关联的设备接入服务以及提供描述文档的服务层,因此,极大的减少了接口接入平台所需要修改的复杂度以及工作量,也减少了后续调试工作所需要耗费的时间,提高工作效率。
结合第一方面实施例,在一种可能的实施方式中,在所述接口调用平台内部署有设备接口开发包ODM-SDK,所述根据解析得到的所述接口调用信息对所述待调用接口进行调用,包括:通过调用所述设备接口开发包ODM-SDK的对外接口,查找到与所述接口调用信息对应的待调用接口并进行调用。
结合第一方面实施例,在一种可能的实施方式中,在所述接口调用平台内部署有多个所述设备接入服务,所述接口调用请求包括所述待调用接口所对应的设备标识,所述将所述接口调用请求透传到所述设备接入服务,包括:将所述接口调用请求透传至与所述设备标识对应的设备接入服务,从而起到数据分流的作用。
结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:通过所述设备接入服务接收由所述待调用接口根据本次调用所返回的接口调用结果,并根据所述接口调用结果生成接口调用反馈;通过所述设备接入服务将所述接口调用反馈透传至所述网关接入服务;通过所述网关接入服务将所述接口调用反馈发送至接口调用方。
结合第一方面实施例,在一种可能的实施方式中,所述根据所述接口调用结果生成接口调用反馈,包括:根据所述描述文档中所记载的与所述待调用接口对应的结果信息填充规则,将所述接口调用结果所包括的信息填充到空数据串中,得到所述接口调用反馈,所述接口调用反馈包括该填充后的数据串。
结合第一方面实施例,在一种可能的实施方式中,所述描述文档保存在所述设备接入服务内,可以进一步减少接口接入平台所需要修改的复杂度以及工作量。
结合第一方面实施例,在一种可能的实施方式中,所述通过所述网关接入服务所提供的远程调用接口接收接口调用请求,包括:通过所述远程调用接口接收多个并发的接口调用请求。
结合第一方面实施例,在一种可能的实施方式中,所述远程调用接口的数量为一个。
结合第一方面实施例,在一种可能的实施方式中,所述数据串为json串。其中,json串的数据量少,可读性高。
第二方面,本申请实施例提供一种接口调用装置,应用于接口调用平台,在所述接口调用平台内部署有网关接入服务以及设备接入服务,所述装置包括:接入模块、透传模块以及调用模块。
接入模块,用于通过所述网关接入服务所提供的远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;
透传模块,用于通过所述网关接入服务将所述接口调用请求透传到所述设备接入服务;
调用模块,用于通过所述设备接入服务按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用;
其中,所述描述文档用于记录与各个接口对应的调用信息填充规则。
结合第二方面实施例,在一种可能的实施方式中,在所述接口调用平台内部署有设备接口开发包ODM-SDK,所述调用模块,用于通过调用所述设备接口开发包ODM-SDK的对外接口,查找到与所述接口调用信息对应的待调用接口并进行调用。
结合第二方面实施例,在一种可能的实施方式中,在所述接口调用平台内部署有多个所述设备接入服务,所述接口调用请求包括所述待调用接口所对应的设备标识,所述透传模块,用于将所述接口调用请求透传至与所述设备标识对应的设备接入服务。
结合第二方面实施例,在一种可能的实施方式中,所述装置还包括反馈模块,用于通过所述设备接入服务接收由所述待调用接口根据本次调用所返回的接口调用结果,并根据所述接口调用结果生成接口调用反馈;
所述透传模块,还用于通过所述设备接入服务将所述接口调用反馈透传至所述网关接入服务;
所述反馈模块,还用于通过所述网关接入服务将所述接口调用反馈发送至接口调用方。
结合第二方面实施例,在一种可能的实施方式中,所述反馈模块,具体用于根据所述描述文档中所记载的与所述待调用接口对应的结果信息填充规则,将所述接口调用结果所包括的信息填充到空数据串中,得到所述接口调用反馈,所述接口调用反馈包括该填充后的数据串。
结合第二方面实施例,在一种可能的实施方式中,所述描述文档保存在所述设备接入服务内。
结合第二方面实施例,在一种可能的实施方式中,所述接入模块,用于通过所述远程调用接口接收多个并发的接口调用请求。
结合第二方面实施例,在一种可能的实施方式中,所述远程调用接口的数量为一个。
结合第二方面实施例,在一种可能的实施方式中,所述数据串为json串。
第三方面,本申请实施例还提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第五方面,本申请实施例还提供一种接口调用平台,在所述接口调用平台内部署有网关接入服务以及设备接入服务;
所述网关接入服务,用于提供远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;以及,
用于将所述接口调用请求透传到所述设备接入服务;
所述设备接入服务,用于按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用;
其中,所述描述文档用于记录与各个接口对应的调用信息填充规则。
结合第五方面实施例,在一种可能的实施方式中,所述设备接入服务,还用于接收由所述待调用接口根据本次调用所返回的接口调用结果,并根据所述接口调用结果生成接口调用反馈;
所述设备接入服务,还用于将所述接口调用反馈透传至所述网关接入服务;
所述网关接入服务,还用于将所述接口调用反馈发送至接口调用方。
第六方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出本申请实施例提供的一种接口调用平台的示意图。
图2示出本申请实施例提供的一种接口调用方法的流程图。
图3示出本申请实施例提供的一种接口调用装置的结构框图。
图4示出本申请实施例提供的一种电子设备的结构示意图。
图标:100-电子设备;110-处理器;120-存储器;200-接口调用平台;210-网关接入服务;220-设备接入服务;230-数据管理服务;240-设备接口开发包;250-命令管理服务;300-接口调用方;310-用户界面层;320-业务后台服务层;400-接口提供方;500-接口调用装置;510-接入模块;520-透传模块;530-调用模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
此外,针对现有技术中的接口调用方案所存在的缺陷(当接口信息产生变动时,接口调用平台需要修改大量内容,工作量过大)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该被认定为是申请人对本申请做出的贡献。
为了解决上述问题,本申请实施例提供一种接口调用方法、平台、电子设备及计算机存储介质,可以减少接口接入平台在面对新增接口或者原有接口变动的情况时所需要修改的内容的工作量。
该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。
首先,本申请实施例提供一种接口接入平台,用于分别与接口调用方以及接口提供方通信连接,以使得接口调用方可以对接口提供方所提供的接口进行调用,进而使用与该接口相应的功能。
请参照图1,在接口调用平台200内可以部署有网关接入服务(Http-Api-Server)210以及设备接入服务(Proxy)220。
其中,网关接入服务210为接口调用平台200提供对外的全量C方式接口,即远程调用接口,以便接口调用平台200通过网关接入服务210所提供的远程调用接口接入接口调用方300发起的接入接口调用请求。
设备接入服务220用于接入接口提供方400所提供的接口。
当然,在一些实施方式中,在接口调用平台200内还可以部署有其他服务,例如图1的虚线框中的数据管理服务(Master)230、设备接口开发包(ODM-SDK)240、命令管理服务250等。
其中,数据管理服务230用于对接口调用平台200内的数据进行管理,以及对负载进行调度。
设备接口开发包(ODM-SDK)240为接入接口提供方400的开发包,可以提供标准C接口,且设备接口开发包240一般与设备接入服务220部署在同一层,以便设备接入服务220通过调用设备接口开发包240来与接入接口提供方400进行命令交互,进而调用接入接口提供方400所提供的接口。
命令管理服务250用于管理接口调用平台200内的命令和流,且一般与网关接入服务210部署在同一层。
此外,在一些实施方式中,命令管理服务250可以封装成SDK((IoT-SDK)),以便供其他设备直接调用该服务。
当然,可以理解,上述各个服务层只是示例性的,并不对在接口调用平台200内所部署的具体服务造成限定,可以理解,在一些实施方式中,在接口调用平台200内所部署的服务可以更多或者更少。
例如,在一些实施方式中,可以将接口调用平台200的网关接入服务210部署在接口调用方300所包括的业务后台服务层(Biz)320内。
接口提供方400可以对外提供多种不同功能,且一般而言,一种功能与一个接口相对应,以便其他设备(例如接口调用方300)可以通过调用接口的方式对接口提供方400所提供的功能进行调用。
例如在接口提供方400为网络智能摄像机时,网络智能摄像机可以对其他设备提供与设置网络智能摄像机的时间相对应的接口,以便接口调用方300可以通过调用该接口,对网络智能摄像机的时间进行设置。
接口调用方300一般包括用户界面层(Web)310以及业务后台服务层(Biz)320。
其中,在用户界面层310内可以展示出与接口提供方400所提供的接口服务对应的显示区。当用户针对用户界面层310中的一些显示区进行操作时,可以触发相应的接口调用需求,并向业务后台服务层320发起命令请求。
值得指出的是,用户界面层310与业务后台服务层320这两者之间一般采用标准的http协议进行交互,当然,在特殊情况下,也可以采用其他传输协议,例如tcp协议。
业务后台服务层320用于处理上层(例如用户界面层310)的命令请求,从而获取到命令请求中所携带的与待调用接口相对应的接口调用信息,例如接口名称、接口的数据类型、接口的参数列表等相关信息。后续,业务后台服务层320调用与待调用接口相对应的调用信息填充规则,并按照该调用信息填充规则,将与待调用接口相对应的接口调用信息填充到空数据串内,形成数据串,并以该数据串作为接口调用请求request的body中的一部分,生成接口调用请求request,以便后续基于该接口调用请求request与接口调用平台200进行交互,从而实现接口调用。
当然,在接口调用请求request的body中还可以包括其他信息,例如待调用接口所在的设备的设备标识等。
其中,本申请所涉及到的数据串是由后台工作人员预先定义的一种数据结构体,且在该数据结构体内包括多个不同的字段。其中,当数据串中的各个字段均未被填充信息而呈现出空字段状态时,该数据串即为空数据串。
值得指出的是,在接口调用平台200响应接口调用方300发起的接口调用请求request,并向接口提供方400调用接口时,网关接入服务210是接口调用平台200的最上层服务,设备接入服务220是接口调用平台200的最下层服务。
其中,在接口调用平台200内所部署的其中任意一种服务中预先保存有描述文档,在该描述文档记录有与各个接口(由接口提供方400所提供)对应的接口调用信息填充规则。其中,该描述文档作为公共文档,可以供接口调用平台200、接口提供方400以及接口调用方300内所部署的任一服务进行调用。
在这种前提下,接口调用方300在响应用户的接口调用需求时,便可以按照前文所介绍的调用上述描述文档,确定出与待调用接口对应的调用信息填充规则。然后按照与待调用接口对应的调用信息填充规则,将获取到的与待调用接口对应的接口调用信息(由接口调用方300提供)填充到空数据串中形成数据串,以及生成包括数据串的接口调用请求request传输至接口调用平台200。
接口调用平台200通过网关接入服务210所提供的远程调用接口接收到该接口调用请求request后,将该接口调用请求request透传至设备接入服务220。
当然,在网关接入服务210将接口调用请求request透传至设备接入服务220的过程中,若在接口调用平台200内还部署有其他服务,那么其他服务也会获取到该接口调用请求request,且其他服务也会将该接口调用请求request继续向下进行透传,直至该接口调用请求request被透传至设备接入服务220。
设备接入服务220在获取到透传过来的接口调用请求request后,可以调用描述文档所记载的与待调用接口对应的调用信息填充规则,对接口调用请求request中的数据串进行解析,从而得到待调用接口的接口调用信息,进而根据接口调用信息,对接口提供方400所提供的接口中与接口调用信息所匹配的待调用接口进行调用。
当然,在一些实施方式中,接口提供方400所提供的有些接口在被调用后,会根据本次调用返回接口调用结果,例如返回的接口调用结果可以包括用于表征本次接口调用是否成功的true/false,和/或包括待调用接口回传的信息值。
在这种实施方式下,设备接入服务220,还用于接收接口提供方400的被调接口所返回的接口调用结果。
当然,在这种实施方式下,在描述文档中也相应的记载有与各个接口对应的结果信息填充规则。可以按照与接口对应的结果信息填充规则,将接口(由接口提供方400所提供)所返回的接口调用结果所包括的信息填充到空数据串中,得到填充后的数据串。
设备接入服务220在获取到接口调用结果后,可以调用上述描述文档,获取到与待调用接口对应的结果信息填充规则,并按照该结果信息填充规则所规定的方式,将获取到的接口调用结果填充到空数据串中,得到填充后的数据串。后续,设备接入服务220将该填充后的数据串作为接口调用反馈response的body的一部分,生成接口调用反馈response,以便后续基于该接口调用反馈response与其他服务进行交互。
当然,在接口调用反馈response的body中还可以包括其他信息,例如待调用接口所在的设备的设备标识等。
设备接入服务220在生成接口调用反馈response后,将接口调用反馈response透传至网关接入服务210,以便网关接入服务210将接口调用反馈response发送至接口调用方300。
当然,与上文类似的,在设备接入服务220将接口调用反馈response透传至网关接入服务210的过程中,若在接口调用平台200内还部署有其他服务,那么其他服务也会获取到该接口调用反馈response,且其他服务也会将该接口调用反馈response向上进行透传,直至该接口调用反馈response被透传至网关接入服务210。
当接口提供方400所提供的接口信息发生变动(例如新增接口或者修改原有接口)时,为了保证接口调用方300能够正常使用接口调用功能,接口调用平台200也相应的需要做出调整。
从本申请实施例所提供的接口调用的机制可以看出,当原有接口信息发生变动时,只需要同步更新描述文档,即可保证接口调用功能的正常使用。也就是说,在本申请实施例中,当原有接口信息发生变动时,对于接口调用平台200而言,需要进行修改的是用于保存描述文档那一层的服务以及与接口提供方400进行对接的设备接入服务220(设备接入服务220主要是修改变动接口的SDK),而其他用于进行信息透传的服务层则无需进行修改,极大的减少了接口调用平台200所需要修改的工作量,也减少了后续调试工作所需要耗费的时间。
在一些实施方式中,可以通过设备接入服务220来保存描述文档,那么当原有接口信息发生变动时,对于接口调用平台200而言,需要进行修改的只有设备接入服务220,而其他服务均无需变动,进一步减少了接口调用平台200所需要修改的工作量以及后续调试工作所需要耗费的时间。
下面将结合图2,对应用于上述接口调用平台200的接口调用方法进行介绍。该方法可以包括以下步骤。
步骤S110:通过所述网关接入服务所提供的远程调用接口接收接口调用请求。
其中,在接口调用请求内包括用待调用接口的接口调用信息对空数据串进行填充后所得到的数据串。
前文提及,接口调用方300在响应用户的接口调用需求时,可以调用作为公共信息的描述文档,以及照描述文档所记载的与待调用接口对应的调用信息填充规则,将获取到的与待调用接口对应的接口调用信息填充到空数据串中形成数据串,并生成包括数据串的接口调用请求request传输至接口调用平台200。
其中,该数据串所采用的格式由描述文档所决定,例如在一些实施方式中,描述文档统一规定采用数据量少、可读性高的json串。当然,在一些实施方式中,也可以采用其他格式的数据串,例如XML格式、EXCEL格式等。
在本申请实施例中,网关接入服务210对外提供全量C方式接口,即远程调用接口。网关接入服务210可通过该远程调用接口接收上层服务(例如图1中所示的业务后台服务层320)所发送的接口调用请求request。
在本申请实施例中,网关接入服务210可以通过命令管理服务250所提供的命令接口功能来对外提供全量C方式接口。
在一些实施方式中,由于http协议的使用范围更为广泛,因此业务后台服务层320并未直接调用接口调用平台200的命令管理服务250,而是可以通过在命令管理服务250外封装一层http的形式,使得网关接入服务210与业务后台服务层320之间通过http协议进行交互。
在一些实施方式中,在接口调用平台200内可以部署一个或多个上述远程调用接口。针对每个远程调用接口而言,可以同时响应不同的接口调用请求。也就是说,网关接入服务210可以通过一个远程调用接口接收多个并发的接口调用请求request。
步骤S120:通过所述网关接入服务将所述接口调用请求透传到所述设备接入服务。
网关接入服务210在接入接口调用请求request后,不会对接口调用请求request进行解析,而是直接将接口调用请求request向下层服务进行透传,以使得接口调用请求request被透传至设备接入服务220。
当然,在接口调用请求request被透传至设备接入服务220的过程中,若在接口调用平台200内还部署有其他服务(例如Master),那么其他服务也会获取到该接口调用请求request,且其他服务也会将该接口调用请求request向下进行透传,直至该接口调用请求request被透传至设备接入服务220。
当然,值得指出的是,在透传过程中,可能会涉及到协议的转换,例如网关接入服务210与业务后台服务层320之间通过http协议进行交互,那么接口调用请求request在这两层服务之间,是基于http request的形式在进行传输;而网关接入服务210与Master之间是基于tcp协议进行交互,那么接口调用请求request在这两层服务之间,是基于tcprequest的形式在进行传输。
其中,协议转换的过程,是将http request的数据字段(即包括数据串的body)取出,再放入tcp request的数据字段。其他内容根据当前所使用的传输协议进行适应性调整。
前文提及,在接口调用请求request的body中还可以包括待调用接口所在的设备的设备标识(例如设备ID),在这种实施方式下,在接口调用平台200内可以部署有多个设备接入服务220,当将接口调用请求request透传到设备接入服务220时,可以根据接口调用请求request中所包括的设备标识,将接口调用请求request透传至与设备标识对应的设备接入服务220,从而起到分流的作用。
步骤S130:通过所述设备接入服务按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用。
设备接入服务220接收到接口调用请求request之后,可以调用描述文档中的与待调用接口对应的调用信息填充规则,对接口调用请求request中所携带的数据串进行解析,从而得到与待调用接口对应的接口调用信息,并基于该接口调用信息分析出与待调用接口相关的信息,例如与待调用接口对应的设备接口开发包(ODM-SDK)的接口函数名称、参数等,以便根据与待调用接口相关的信息对待调用接口进行调用。
在一些实施方式中,在接口调用平台200内部署有设备接口开发包(ODM-SDK)240。在这种实施方式中,设备接入服务220通过调用设备接口开发包(ODM-SDK)240的对外接口,查找到与接口调用信息对应的待调用接口并进行调用。
在另一些实施方式中,设备接口开发包(ODM-SDK)240也可以部署在接口提供方400内。
至于设备接口开发包(ODM-SDK)240与接口提供方400内部之间如何进行交互,此为现有技术,本申请不再进行赘述。
在一些实施方式中,接口提供方400所提供的接口在被调用后,还可以根据本次调用返回接口调用结果。此时,设备接入服务220还可以接收待调用接口所返回的接口调用结果。
当然,在这种实施方式下,在描述文档中也相应的记载有与各个接口对应的结果信息填充规则。设备接入服务220在接收到接口调用结果后,可以调用上述描述文档,获取到与待调用接口对应的结果信息填充规则,并按照该结果信息填充规则所规定的方式,将接收到的接口调用结果填充到空数据串中,并生成包括填充后的数据串的接口调用反馈response。
后续,按照上述透传接口调用请求request的逆顺序,设备接入服务220将接口调用反馈response透传至网关接入服务210,并通过网关接入服务210将接口调用反馈response发送至接口调用方300。
当然,与上文类似的,在设备接入服务220将接口调用反馈response透传至网关接入服务210的过程中,若在接口调用平台200内还部署有其他服务(例如Master),那么其他服务也会获取到该接口调用反馈response,且其他服务也会将该接口调用反馈response向上进行透传,直至该接口调用反馈response被透传至网关接入服务210,由网关接入服务210将接口调用反馈response返回给接口调用方300。
当然,值得指出的是,在透传接口调用反馈response的过程中,可能会涉及到协议的转换。该协议转换的过程与上文类似,此处不再赘述。
从上述接口调用的过程可以看出,当接口提供方400所提供的接口信息发生变动(可能是由于新增接口导致,也可能是由于原有接口被修改导致)时,对于接口调用平台200而言,其内只进行信息透传的服务层无需变更,而需要适应性做出修改的只有与接口提供方400所提供的接口直接关联的设备接入服务220以及提供描述文档的服务层,因此,极大的减少了接口调用平台200所需要修改的复杂度以及工作量,也减少了后续调试工作所需要耗费的时间,提高工作效率。
此外,在一些实施方式中,还可以把描述文档保存在设备接入服务220内,那么当原有接口信息发生变动时,对于接口调用平台200而言,需要进行修改的只有设备接入服务220,而其他服务均无需变动,进一步减少了接口调用平台200所需要修改的工作量以及后续调试工作所需要耗费的时间。
如图3所示,本申请实施例还提供一种接口调用装置500,应用于接口调用平台,在所述接口调用平台内部署有网关接入服务以及设备接入服务,接口调用装置500可以包括:接入模块510、透传模块520以及调用模块530。
接入模块510,用于通过所述网关接入服务所提供的远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;
透传模块520,用于通过所述网关接入服务将所述接口调用请求透传到所述设备接入服务;
调用模块530,用于通过所述设备接入服务按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用;
其中,所述描述文档用于记录与各个接口对应的调用信息填充规则。
在一种可能的实施方式中,在所述接口调用平台内部署有设备接口开发包ODM-SDK,所述调用模块530,用于通过调用所述设备接口开发包ODM-SDK的对外接口,查找到与所述接口调用信息对应的待调用接口并进行调用。
在一种可能的实施方式中,在所述接口调用平台内部署有多个所述设备接入服务,所述接口调用请求包括所述待调用接口所对应的设备标识,所述透传模块520,用于将所述接口调用请求透传至与所述设备标识对应的设备接入服务。
在一种可能的实施方式中,所述装置还包括反馈模块,用于通过所述设备接入服务接收由所述待调用接口根据本次调用所返回的接口调用结果,并根据所述接口调用结果生成接口调用反馈;
所述透传模块520,还用于通过所述设备接入服务将所述接口调用反馈透传至所述网关接入服务;
所述反馈模块,还用于通过所述网关接入服务将所述接口调用反馈发送至接口调用方。
在一种可能的实施方式中,所述反馈模块,具体用于根据所述描述文档中所记载的与所述待调用接口对应的结果信息填充规则,将所述接口调用结果所包括的信息填充到空数据串中,得到所述接口调用反馈,所述接口调用反馈包括该填充后的数据串。
在一种可能的实施方式中,所述描述文档保存在所述设备接入服务内。
在一种可能的实施方式中,所述接入模块510,用于通过所述远程调用接口接收多个并发的接口调用请求。
在一种可能的实施方式中,所述远程调用接口的数量为一个。
在一种可能的实施方式中,所述数据串为json串。
本申请实施例所提供的接口调用装置500,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
此外,本申请实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的接口调用方法。
此外,本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如上述的接口调用方法。
此外,请参照图4,本申请实施例还提供一种用于实现本申请实施例的接口调用方法的电子设备100。上文所提及的接口调用平台200可以安装在电子设备100上。
可选的,电子设备100,可以是,但不限于个人电脑(Personalcomputer,PC)、平板电脑、移动上网设备(Mobile Internet Device,MID)、个人数字助理、服务器等设备。其中,服务器可以是,但不限于网络服务器、数据库服务器、云端服务器等。
其中,电子设备100可以包括:处理器110、存储器120。
应当注意,图4所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100也可以具有其他组件和结构。
处理器110、存储器120以及其他可能出现于电子设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器120用于存储程序,例如存储有前文出现的接口调用方法对应的程序或者前文出现的接口调用装置。可选的,当存储器120内存储有接口调用装置时,接口调用装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
可选的,接口调用装置所包括软件功能模块也可以固化在电子设备100的操作系统(operating system,OS)中。
处理器110用于执行存储器120中存储的可执行模块,例如接口调用装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:通过所述网关接入服务所提供的远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;通过所述网关接入服务将所述接口调用请求透传到所述设备接入服务;通过所述设备接入服务按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用;其中,所述描述文档用于记录与各个接口对应的调用信息填充规则。
当然,本申请任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
综上所述,本发明实施例提出的接口调用方法、平台、电子设备及计算机存储介质,当需要调用接口时,通过所述网关接入服务所提供的远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;通过所述网关接入服务将所述接口调用请求透传到所述设备接入服务;通过所述设备接入服务按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用。
从上述接口调用的过程可以看出,当接口提供方所提供的接口信息发生变动(可能是由于新增接口导致,也可能是由于原有接口被修改导致)时,对于接口调用平台而言,其内只进行信息透传的服务层无需变更,而需要适应性做出修改的只有与接口提供方所提供的接口直接关联的设备接入服务以及提供描述文档的服务层,因此,极大的减少了接口接入平台所需要修改的复杂度以及工作量,也减少了后续调试工作所需要耗费的时间,提高工作效率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (13)

1.一种接口调用方法,其特征在于,应用于接口调用平台,在所述接口调用平台内部署有网关接入服务以及设备接入服务,所述方法包括:
通过所述网关接入服务所提供的远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;
通过所述网关接入服务将所述接口调用请求透传到所述设备接入服务;
通过所述设备接入服务按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用;
其中,所述描述文档用于记录与各个接口对应的调用信息填充规则。
2.根据权利要求1所述的方法,其特征在于,在所述接口调用平台内部署有设备接口开发包ODM-SDK,所述根据解析得到的所述接口调用信息对所述待调用接口进行调用,包括:
通过调用所述设备接口开发包ODM-SDK的对外接口,查找到与所述接口调用信息对应的待调用接口并进行调用。
3.根据权利要求1或2所述的方法,其特征在于,在所述接口调用平台内部署有多个所述设备接入服务,所述接口调用请求包括所述待调用接口所对应的设备标识,所述将所述接口调用请求透传到所述设备接入服务,包括:
将所述接口调用请求透传至与所述设备标识对应的设备接入服务。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
通过所述设备接入服务接收由所述待调用接口根据本次调用所返回的接口调用结果,并根据所述接口调用结果生成接口调用反馈;
通过所述设备接入服务将所述接口调用反馈透传至所述网关接入服务;
通过所述网关接入服务将所述接口调用反馈发送至接口调用方。
5.根据权利要求4所述的方法,其特征在于,所述根据所述接口调用结果生成接口调用反馈,包括:
根据所述描述文档中所记载的与所述待调用接口对应的结果信息填充规则,将所述接口调用结果所包括的信息填充到空数据串中,得到所述接口调用反馈,所述接口调用反馈包括该填充后的数据串。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述描述文档保存在所述设备接入服务内。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述通过所述网关接入服务所提供的远程调用接口接收接口调用请求,包括:
通过所述远程调用接口接收多个并发的接口调用请求。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述远程调用接口的数量为一个。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述数据串为json串。
10.一种接口调用平台,其特征在于,在所述接口调用平台内部署有网关接入服务以及设备接入服务;
所述网关接入服务,用于提供远程调用接口接收接口调用请求,所述接口调用请求内包括字符串,所述字符串是将待调用接口的接口调用信息按照描述文档所记载的与所述待调用接口对应的调用信息填充规则对空数据串进行填充后得到;以及
用于将所述接口调用请求透传到所述设备接入服务;
所述设备接入服务,用于按照与所述待调用接口对应的调用信息填充规则,对所述数据串进行解析,并根据解析得到的所述接口调用信息对所述待调用接口进行调用;
其中,所述描述文档用于记录与各个接口对应的调用信息填充规则。
11.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器用于存储程序;
所述处理器调用存储于所述存储器中的程序,以执行如权利要求1-9中任一项所述的方法。
12.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-9中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1-9中任一项所述的方法。
CN202111138753.5A 2021-09-27 2021-09-27 接口调用方法、平台、电子设备及计算机存储介质 Active CN114051058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111138753.5A CN114051058B (zh) 2021-09-27 2021-09-27 接口调用方法、平台、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111138753.5A CN114051058B (zh) 2021-09-27 2021-09-27 接口调用方法、平台、电子设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN114051058A true CN114051058A (zh) 2022-02-15
CN114051058B CN114051058B (zh) 2024-03-26

Family

ID=80204909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111138753.5A Active CN114051058B (zh) 2021-09-27 2021-09-27 接口调用方法、平台、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN114051058B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016814A1 (en) * 2000-08-07 2002-02-07 International Business Machines Corporation Method, system, and program for invoking stored procedures and accessing stored procedure data
US20040221017A1 (en) * 2003-04-30 2004-11-04 International Business Machines Corporation Dynamic generator for fast-client static proxy from service interface definition document
US20150317156A1 (en) * 2014-05-01 2015-11-05 Ca, Inc. Systems and Methods for Automated Generation of Interactive Documentation Based on Web Application Description Language Files
WO2017101727A1 (zh) * 2015-12-18 2017-06-22 阿里巴巴集团控股有限公司 调用应用编程接口的方法和系统
CN109246092A (zh) * 2018-08-22 2019-01-18 北京旷视科技有限公司 接口管理方法、装置、系统、计算机可读存储介质
CN110995873A (zh) * 2019-12-27 2020-04-10 美的集团股份有限公司 网关服务业务接口发现方法、系统、电子设备及存储介质
CN111176859A (zh) * 2019-11-26 2020-05-19 腾讯云计算(北京)有限责任公司 服务的调用方法、装置及电子设备
CN111988171A (zh) * 2020-08-12 2020-11-24 北京大学 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及系统
CN111984228A (zh) * 2020-07-09 2020-11-24 招联消费金融有限公司 一种接口文档的处理方法、装置、计算机设备和存储介质
CN112866177A (zh) * 2019-11-26 2021-05-28 浙江大搜车软件技术有限公司 处理服务调用请求的方法、装置、存储介质及计算机设备
CN113238817A (zh) * 2021-05-20 2021-08-10 上海销氪信息科技有限公司 一种接口透传方法、装置、电子设备和存储介质
CN113381866A (zh) * 2020-02-25 2021-09-10 北京同邦卓益科技有限公司 基于网关的服务调用方法、装置、设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016814A1 (en) * 2000-08-07 2002-02-07 International Business Machines Corporation Method, system, and program for invoking stored procedures and accessing stored procedure data
US20040221017A1 (en) * 2003-04-30 2004-11-04 International Business Machines Corporation Dynamic generator for fast-client static proxy from service interface definition document
US20150317156A1 (en) * 2014-05-01 2015-11-05 Ca, Inc. Systems and Methods for Automated Generation of Interactive Documentation Based on Web Application Description Language Files
WO2017101727A1 (zh) * 2015-12-18 2017-06-22 阿里巴巴集团控股有限公司 调用应用编程接口的方法和系统
CN109246092A (zh) * 2018-08-22 2019-01-18 北京旷视科技有限公司 接口管理方法、装置、系统、计算机可读存储介质
CN111176859A (zh) * 2019-11-26 2020-05-19 腾讯云计算(北京)有限责任公司 服务的调用方法、装置及电子设备
CN112866177A (zh) * 2019-11-26 2021-05-28 浙江大搜车软件技术有限公司 处理服务调用请求的方法、装置、存储介质及计算机设备
CN110995873A (zh) * 2019-12-27 2020-04-10 美的集团股份有限公司 网关服务业务接口发现方法、系统、电子设备及存储介质
CN113381866A (zh) * 2020-02-25 2021-09-10 北京同邦卓益科技有限公司 基于网关的服务调用方法、装置、设备及存储介质
CN111984228A (zh) * 2020-07-09 2020-11-24 招联消费金融有限公司 一种接口文档的处理方法、装置、计算机设备和存储介质
CN111988171A (zh) * 2020-08-12 2020-11-24 北京大学 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及系统
CN113238817A (zh) * 2021-05-20 2021-08-10 上海销氪信息科技有限公司 一种接口透传方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN114051058B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
US7756905B2 (en) System and method for building mixed mode execution environment for component applications
CA2556862C (en) System and method for communicating asynchronously with web services using message set definitions
US8065411B2 (en) System monitor for networks of nodes
US8056091B2 (en) Systems and methods for using application services
US7920852B2 (en) Compression of data transmitted between server and mobile device
US8495594B2 (en) Method and system for providing a componentized resource adapter architecture
CN101553812A (zh) 动态设备简档接口
CN108038796B (zh) 基于c++的gis服务运行方法、存储介质
KR100880536B1 (ko) 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템
CN100596139C (zh) 使用元数据定义映射来构建组件应用程序的系统和方法
CN102117203A (zh) 一种基于Struts框架的信息管理系统
Hsu Extending UML to model Web 2.0‐based context‐aware applications
CN111736835A (zh) 一种表单处理的方法、装置及存储介质
US12019647B2 (en) Accessing application services from forms
CN112698930B (zh) 一种获取服务器标识的方法、装置、设备及介质
KR20050094372A (ko) 멀티미디어 콘텐츠 서비스 시스템과 방법 및 그 기록매체
CN114051058B (zh) 接口调用方法、平台、电子设备及计算机存储介质
CN116527554A (zh) 基于服务网格的监测系统、方法、设备及存储介质
US11240312B2 (en) Apparatus and method of providing IoT resource information
CN103886526A (zh) 一种用于居家养老健康服务系统的资源整合系统及方法
CN113918245A (zh) 一种数据调用方法、装置、设备及计算机可读存储介质
CN106603637B (zh) 一种异构网格化管理平台间的数据交换方法及系统
KR101270746B1 (ko) 웹 서비스 중개 장치 및 방법
US8918451B2 (en) System and method for providing service component architecture (SCA) data transformation
CA2637585A1 (en) Interprocess communication at a mobile device

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