掌桥专利:专业的专利平台
掌桥专利
首页

接口信息管理方法、装置、设备及存储介质

文献发布时间:2023-06-19 12:22:51


接口信息管理方法、装置、设备及存储介质

技术领域

本申请涉及计算机技术,尤其涉及一种接口信息管理方法、装置、设备及存储介质。

背景技术

微服务是面向服务的体系结构,将应用程序构成为松散耦合的服务。

在企业级微服务架构中,业务模块细粒度划分、服务数量的大幅增加,导致服务的应用程序接口(Application Programming Interface,API)的信息发布存在多源、异构、更新快、应用边界模糊等特点,且API的描述信息分布在各个服务中。在该情形下,接口信息需求方通过查询微服务架构下的接口描述文档网址和询问具体注意事项的方式获取指定服务的API的描述信息的效率较低,需耗费较高的沟通成本。

因此,接口需求方获取微服务中服务的接口信息的效率有待提高。

发明内容

本申请提供一种接口信息管理方法、装置、设备及存储介质,用以使得接口需求方低成本、快速获取微服务中服务的接口信息。

第一方面,本申请提供一种接口信息管理方法,应用于接口信息管理平台,所述接口信息管理方法包括:

在接收到用户通过接口信息管理界面输入的接口需求之后,根据接口信息接收要求,从至少一个接口信息提供方获取接口信息;

根据接口信息处理要求,对所述接口信息进行相应处理;

根据接口信息输出方式,向接口信息需求方发送处理后的接口信息;

其中,所述接口需求包括所述接口信息接收要求、所述接口信息处理要求和所述接口信息输出方式,所述对所述接口信息进行相应处理包括将所述接口信息转换为目标数据格式。

在一种可能的实现方式中,所述接口信息接收要求包括接口信息的数据源选择范围、接口信息的访问方式、接口信息所属接口的接口类型、接口信息的数据格式以及接口信息的解析方式,所述根据接口信息接收要求,从至少一个接口信息提供方获取接口信息,包括:

根据所述数据源选择范围,确定所述至少一个接口信息提供方;

按照所述接口信息接收要求中的访问方式、接口类型和数据格式,获取所述至少一个接口信息提供方提供的接口信息;

根据所述接口信息接收要求中的数据格式和解析要求,对获取的接口信息进行解析处理,得到解析处理后的接口信息。

在一种可能的实现方式中,所述接口信息处理要求包括数据处理范围和第一处理参数,所述根据接口信息处理要求,对所述接口信息进行相应处理,包括:

按照所述数据处理范围,在所述接口信息中确定待处理的接口信息;

根据所述第一处理参数,将所述待处理的接口信息的格式转换为所述目标数据格式,所述第一处理参数包括所述目标数据格式。

在一种可能的实现方式中,所述接口信息处理要求还包括第一处理组件要求,所述根据接口信息处理要求,对所述接口信息进行相应处理,还包括:

通过符合所述第一处理组件要求的第三方组件,处理所述待处理的接口信息。

在一种可能的实现方式中,所述接口信息处理要求还包括数据处理触发条件,所述按照所述数据处理范围,在所述接口信息中确定待处理的接口信息,包括:

在所述数据处理触发条件被触发时,在所述接口信息中按照所述数据处理范围确定待处理的接口信息,其中,所述数据处理触发条件包括数据处理频率。

在一种可能的实现方式中,所述根据接口信息处理要求,对所述接口信息进行相应处理,还包括:

将转换为所述目标数据格式的接口信息存储至数据库。

在一种可能的实现方式中,所述接口信息输出方式包括数据输出范围、第二处理参数以及输出对象,所述根据接口信息输出方式,向接口信息需求方发送处理后的接口信息,包括:

根据所述数据输出范围,在处理后的接口信息中确定待输出的接口信息;

根据所述第二处理参数,将所述待输出的接口信息的格式转换为所述接口信息需求方要求的数据格式;

向所述输出对象输出格式转换后的接口信息。

在一种可能的实现方式中,所述根据所述第二处理参数,将所述待输出的接口信息的格式转换为所述接口信息需求方要求的数据格式之前,所述接口信息管理方法还包括:

若所述待输出的接口信息为多渠道输出,则根据所述待输出的接口信息的输出渠道数量,对所述待输出的接口信息进行数据复制;

其中,所述多渠道输出包括所述接口信息需求方要求的数据格式为多个和/或所述输出对象为多个。

在一种可能的实现方式中,所述接口信息输出方式还包括第二处理组件要求,所述根据接口信息输出方式,向接口信息需求方发送处理后的接口信息,还包括:

通过符合所述第二处理组件要求的第三方组件,处理所述待输出的接口信息。

在一种可能的实现方式中,所述接口信息管理方法还包括:

对所述接口信息的获取阶段、处理阶段和/或输出阶段进行监控,和/或,对所述接口信息所属接口的状态进行监控,和/或,对所述接口信息管理平台中调用的第三方组件的状态进行监控,得到监控信息;

输出所述监控信息,和/或,根据所述监控信息输出预警消息。

在一种可能的实现方式中,所述接口信息管理方法还包括:

对接口信息的获取情况进行统计,得到统计信息;

输出所述统计信息;

其中,所述统计信息包括如下至少一种:接口信息的获取次数、接口信息获取的失败比率、接口信息所属接口的更新次数。

第二方面,本申请提供一种接口信息管理装置,应用于接口信息管理平台,所述接口信息管理装置包括:

接收模块,用于在接收到用户通过接口信息管理界面输入的接口需求之后,根据接口信息接收要求,从至少一个接口信息提供方获取接口信息;

处理模块,用于根据接口信息处理要求,对所述接口信息进行相应处理;

输出模块,用于根据接口信息输出方式,向接口信息需求方发送处理后的接口信息;

其中,所述接口需求包括所述接口信息接收要求、所述接口信息处理要求和所述接口信息输出方式,所述对所述接口信息进行相应处理包括将所述接口信息转换为目标数据格式。

第四方面,本申请的实施例提供一种电子设备,包括:

存储器和处理器;

所述存储器用于存储程序指令;

所述处理器用于调用所述存储器中的程序指令执行如上述第一方面、或者第一方面的任一可能的实现方式所述的接口信息管理方法。

第五方面,本申请的实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时,实现如上述第一方面、或者第一方面的任一可能的实现方式所述的接口信息管理方法。

第六方面,本申请的实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面、或者第一方面的任一可能的实现方式所述的接口信息管理方法。

本申请提供的接口信息管理方法、装置、设备及存储介质中,一方面,接口信息管理平台可根据用户配置的接口需求,采集一个或多个接口信息提供方的接口信息,对接口信息进行格式转换,向接口信息需求方提供符合接口信息接收要求、接口信息处理要求和接口信息输出方式的接口信息,提高了接口信息需求方获取符合自身需求的接口信息(尤其是微服务中的接口信息)的便捷性和效率;另一方面,该接口信息管理平台与接口信息提供方、接口信息需求方都不存在耦合问题,可作为中间件独立部署,便于复用。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的场景示意图;

图2为本申请的一实施例提供的接口信息管理方法的流程示意图;

图3为本申请的一实施例提供的接口信息管理平台的架构示意图;

图4为本申请的一实施例提供的接口信息管理装置的结构示意图;

图5为本申请的一实施例提供的一种电子设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

微服务架构的特点决定了业务模块的细粒度划分和接口数量的大幅增加,这给接口信息需求方寻找特定的接口信息带来困难。尤其是在企业微服务架构中,给企业带来很高的沟通成本:为了解某个微服务架构下的API描述情况(例如,API是否有用、API如何使用),接口信息需求方需要找到微服务架构下的接口描述文档网址和询问具体注意事项,征得服务发布方的同意后方可对该接口进行调起、测试、发布上线等操作。在跨部门、跨团队协作的情况下,需要在微服务架构中寻找特定的接口信息,其难度可想而知。

因此,如何解决API语义级别的信息(后续称为接口信息)归集、处理和决策,以提高微服务架构中接口信息的获取效率和便捷性,是企业内部或者更大范围的团队协同所面临的挑战之一。目前,微服务架构的典型场景下已具备服务注册机制和发现机制,但尚未实现接口信息归集、处理和决策。

以下对典型应用场景进行分析。

典型应用场景之一:Spring Cloud微服务架构。在该微服务架构中,通过API网关实现集群向外提供接口的转发,通过注册中心实现集群内部的服务发现。然而,在SpringCloud微服务架构中存在多个不足之处:

1)侧重于接口的转发、熔断、限流等调用层面的实现的API网关不适宜承担集群内全部接口信息的归集、发布这类应用级任务。

2)注册中心可以通过列表方式枚举集群中可访问的服务,但注册中心仅对集群内部可见,能够检索到的服务也仅为内部的、在注册中心注册过的服务,在没有开通转发路由的情况下无法向集群外部提供接口信息检索,而且该注册方式下接口无法按照应用进行分组,无法直观地查看相应的应用。

3)小规模的微服务研发团队的共享接口协作比如集成showdoc(开源的接口管理工具,使用Sqlite数据库、php部署)等工具来整合各个微服务的接口信息。然而,一方面,微服务的接口信息收集插件的集成有一定的要求,比如各个微服务都必须集成swagger(用于生成、描述、调用和可视化RESTful风格的Web服务,定义了一个标准、和语言无关的接口,无须访问源码、文档或网络流量监测就可以发现和理解服务的能力)才能统一纳入协作工具进行展示,该方式是对应用架构的侵入,引入了与业务无关的架构设计;另一方面,不同的开发团队的技术栈、接口描述工具、接口管理工具存在差异,导致不同团队查询彼此服务集群的接口信息的方式千差万别,影响协作效率。

4)针对大规模的开发团队,在没有集中式的接口管理/发布平台的情况下,难以实现各个模块或者说微服务之间的接口的快速查看、集中检索等。

另一典型应用场景:基于istio的服务网格(Service Mesh)。其中,istio提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动;服务网格负责服务之间的网络调用、限流、熔断和监控,类比于应用程序无须关心TCP/IP这一层,使用服务网格无须关心服务间的通讯和协作。在服务网格中,各节点采用边车模式(Sidecar,单节点、多容器的应用设计形式,以额外的容器扩展或增强主容器,这个额外的容器被称为sidecar容器)提供服务,服务之间的流量(访问频次)在控制平面的调节下流动。

在基于istio的服务网格中,熔断器、超时、重试等较低级别的应用程序网络有service mesh层完成,该类接口访问被称为东西流量;与集群边界接口(集群向外提供的接口服务)调用有逻辑交叉且涉及访问控制列表(Access Control List,ACL)、速率限制、配额和策略执行等问题的调用,由接口管理层的istio网关(istio gateway)定义,逻辑上表现为上下流动,实际上由service mesh层实施,该类接口访问被称为南北流量。

在基于istio的服务网格中,针对服务间的接口调用,虽然服务间的接口调用通过服务网格屏蔽了底层过程,但逻辑上的调用都是以客户端了解接口的标识、含义和是否符合业务需求为前提,接口的标识、含义和是否符合业务需求这些信息的获得是建立在业务逻辑的基础上的,需要提供给研发团队进行识别和判断,服务间的接口调用并不能简单归纳为东西流量或者南北流量,实际上可能是东西流量和南北流量的交错存在。因此,即便在istio构建的服务网络环境下,接口的更高级语义(如文档、用户注册/访问、生命周期管理、开发人员接口计划等)仍需要由接口管理平台完成,接口信息的归纳和发布仍需要用户自行构建相应逻辑,而无法通过接口注册、发现机制完成接口语义层级的信息发布和统一检索等高级操作。

综上,微服务架构下,尤其是企业级微服务架构下,接口信息存在多元、异构、更新快、应用边界模糊等特点,接口信息分布在各个服务中难以检索利用,这与云上自动化的服务发现机制形成反差,导致接口信息提供方与接口信息需求方的脱节,进而导致跨团队、跨部门协作的沟通成本较高。接口管理层面上的接口信息归集及后续处理成为微服务治理的关键之一,接口信息得到良好的处理和发布,有利于基于接口的团队协作的高效运转。

为实现对微服务的接口信息的良好管理及后续处理,提高微服务的接口信息的获取效率和便捷性,本申请实施例提供了一种应用于接口信息管理平台的接口信息管理方法。在该方法中,接口信息管理平台可灵活配置接口需求,根据接口需求,收集一个或多个接口信息提供方的接口信息,提供给接口信息需求方,提高了接口信息获取的效率和便捷性。

除此之外,本申请实施例中的接口信息管理平台具有以下优点:1)可作为中间件,消除与特定的接口管理平台的耦合问题便于复用;2)支持独立部署,配置在生产环境可用于生产环境中接口信息的归集、分析,发布在开发测试环境、互联网环境,可以配置web服务成为大规模协同开发的接口信息检索平台;3)便于维护和更新。

本申请提供的接口信息管理方法,可以适用于图1所示的应用场景。如图1所示,该应用场景中包括接口信息管理平台101、接口信息提供方102和接口信息需求方103,接口信息管理平台101分别与接口信息提供方102、接口信息需求方103进行通信。其中,相对接口信息管理平台101而言,接口信息提供方102和接口信息需求方103均为外部系统。

接口信息提供方102可为向接口信息管理平台101在线提供接口访问信息的服务或者提供离线接口描述的系统,尤其地,接口信息提供方102可为微服务架构的系统。其中,图1以接口信息提供方102为云服务、服务器为例。接口信息管理平台101可以主动获取接口信息提供方102的接口信息,接口信息提供方102也可以主动向接口信息管理平台101发送接口信息。

接口信息需求方103为进接口信息管理平台101的接口信息输出对象,接口信息需求方103可向接口信息管理平台103请求获取接口信息,在接收到接口信息管理平台101输出接口信息后,接口信息需求方103可对接口信息进行后续处理。接口信息需求方103可为服务器、数据库等,其中,图1以终端、服务器为例。

可选的,应用场景还包括系统管理员104,系统管理员104可在接口信息管理平台101上进行信息配置、查看、监控和/或统计等。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图2为本申请的一实施例提供的接口信息管理方法的流程示意图,应用于接口信息管理平台。如图2所示,接口信息管理方法包括:

S201、在接收到用户通过接口信息管理界面输入的接口需求之后,根据接口信息接收要求,从至少一个接口信息提供方获取接口信息。

其中,接口需求包括接口信息接收要求、接口信息处理要求、接口信息输出方式。接口信息接收要求为用户对接口信息管理平台从接口信息提供方获取接口信息的要求,可包括对接口信息提供方的要求、对接口的要求和/或对获取接口信息的方式的要求等。接口信息处理要求为用户对接口信息管理平台对接口信息进行处理的要求,用户可以根据自身业务需求配置接口信息处理要求。接口信息输出方式为用户对接口信息管理平台输出接口信息的要求,可包括对输出对象的要求、输出格式的要求等。用户可以为接口信息管理平台的管理人员,也可以为接口信息需求方,或者说接口信息消费方。

具体的,用户可在接口信息管理平台的接口信息管理界面输入接口需求,例如,在接口信息管理界面通过勾选、文字输入等方式输入接口需求。在接收到用户通过接口信息管理界面输入的接口需求之后,从接口需求中获取接口信息接收要求,按照接口信息接收要求,从至少一个接口信息提供方获取接口信息,从而使得接口信息的获取符合用户需要。

可选的,接口信息管理界面可为全球广域网(World Wide Web,web)界面。进一步的,接口信息管理界面为采用HTML5(构建Web内容的一种语言描述方式)实现的web界面。

S202、根据接口信息处理要求,对接口信息进行相应处理。

具体的,从接口需求中获取接口信息处理要求,按照接口信息处理要求,对接口信息进行相应处理。考虑到来自不同的接口信息提供方的接口信息的数据格式可能不同,比如,有些接口信息提供方的接口信息格式为可扩展标记语言(Extensible MarkupLanguage,XML)格式,有些接口信息提供方的接口信息格式为超文本标记语言(Hyper TextMarkup Language,HTML)格式,因此,在对接口信息进行相应处理中,可对接口信息进行格式转换,将接口信息转换为目标数据格式。从而,针对接收的不同格式的接口信息,通过格式转换为统一的数据格式,提高接口信息的管理效果。

可选的,目标数据格式为JSON(JavaScript Object Notation,JS对象简谱),JSON是一种轻量级的数据交换格式,是独立于编程语言的文本格式,可用于存储和表述数据。从而,通过将来自不同数据接口提供方的接口信息统一转换为JSON格式,利用JSON的上述特性,提高接口信息的管理效果。

S203、根据接口信息输出方式向接口信息需求方发送处理后的接口信息。

具体的,从接口需求中获取接口信息输出方式,按照接口输出方式,对按照接口信息处理要求处理后的接口信息进行处理和输出,使得输出的接口信息符合接口需求中的接口输出方式,符合用户需求。

本申请实施例中,在接口信息管理平台的接口信息管理界面,用户可通过配置接口需求的方式设定接口信息接收要求、接口信息处理要求、接口信息输出方式,接口信息管理平台按照这些要求,收集至少一个接口信息提供方的接口信息,将数据格式可能不同的接口信息转换为统一的目标数据格式,再为接口信息需求方提供符合接口信息输出方式的接口信息。从而,用户通过配置灵活、独立的接口信息管理平台,借助接口信息管理平台即可获取来自不同系统的、符合需求的接口信息,提高了接口信息的获取效率和便捷性。

后续,对接口信息的接收、处理和输出进行分别描述。

(一)关于接口信息接收过程:

在一些实施例中,接口信息接收要求包括接口信息的数据源选择范围、接口信息的访问方式、接口信息所属接口的接口类型、接口信息的数据格式以及接口信息的解析方式。从而,在接口信息管理平台上,可配置多方面的接口信息接收要求,提高接口信息接收要求配置的灵活性和全面性,为接口信息需求方提供更贴合其需求、更准确的接口信息。

基于接口信息接收要求包括接口信息的数据源选择范围、接口信息的访问方式、接口信息所属接口的接口类型、接口信息的数据格式以及接口信息的解析方式,S201的一种可能的实现方式包括:从数据源选择范围,确定至少一个接口信息提供方;按照接口信息接收要求中的访问方式、接口类型和数据格式,获取至少一个接口信息提供方提供的接口信息;根据接口信息接收要求中的数据格式和解析要求,对获取的接口信息进行解析处理,获得解析处理后的接口信息。从而,接口信息管理平台按照指定的访问方式,获取指定接口信息提供方的、指定接口类型、指定数据格式的接口信息。

其中,接口信息的数据源选择范围可包括接口信息提供方的系统信息,例如微服务架构的系统信息。接口信息提供方的系统信息可包括如下一项或多项:接口信息提供方的访问地址(例如网址、IP地址)、接口信息提供方的访问端口、接口信息提供方的交互协议。接口信息的访问方式可包括在线访问方式和/或离线访问方式。接口信息的接口类型是指接口信息所属接口的类型,例如即时通讯类型、文件传输类型。接口信息的数据格式即来自接口信息提供方的接口信息的原数据格式,例如,XML、HTML。接口信息的解析方式包括采用的解析工具、解析工具的解析参数和解析工具的目标参数,可通过不同的解析工具实现对不同的接口信息提供方的接口信息的获取和解析,从而支持接口信息管理平台能够对接不同的接口信息提供方。

具体的,接口信息管理平台按照数据源选择范围中接口信息提供方的系统信息,确定至少一个接口信息提供方,也即确定需要从哪些接口信息提供方获取接口信息。若接口信息要求中接口信息的访问方式为在线访问,则可以在线获取接口信息提供方的接口信息(例如通过在线http接口、在线webservice接口实现在线访问),若接口信息的访问方式为离线方式,则可以根据离线文件解析配置,确定具体的离线方式,例如离线文件上传。接着,按照访问方式,获取所属接口符合接口信息接收要求中的接口类型且数据类型符合接口信息接收要求中的数据类型的接口信息。

在获得接口信息后,由于不同接口信息提供方的接口信息的数据格式可能不同,可通过相应的解析工具以及采用解析工具的解析参数,对获得的接口信息进行解析,从获得的接口信息中解析得到用户需要的目标参数。例如,从接口信息中解析出与接口信息所属接口相关的属性信息,比如接口的ID、名称、类型、访问约束(私有、限定还是公开)、性能参数(并发、最大访问许可)、可用性标记(接口是否可用)等等。其中,用户可根据自身的业务需求,按需选择解析工具,并配置解析工具的解析参数和解析目标参数。

可选的,解析工具可采用第三方组件,因此,在获取接收信息的过程中,可调用不同的第三方组件对不同的接口信息提供方的接口信息进行解析。

可选的,可在接收到用户触发的接口信息获取任务后,从至少一个接口信息提供方获取接口信息;或者,可将接口信息的获取设置为定时任务,检测到当前时间为任务执行时间时,从至少一个接口信息提供方获取接口信息。

(二)关于接口信息处理过程

在一些实施例中,接口信息处理要求包括数据处理范围和第一处理参数。其中,数据处理范围是处理的接口信息范围,可通过配置数据处理范围,指示对从接口信息提供方获取的接口信息的全部数据或者指定部分数据进行处理。第一处理参数包括目标数据格式,可通过配置第一处理参数,指示将接口信息从原数据格式转换为目标数据格式。从而,在接口信息管理平台上,可通过配置数据处理范围和第一处理参数,对指定范围内的接口信息进行指定的处理操作,为接口信息需求方提供可灵活配置的、全面的接口信息处理。此外,通过指定数据处理范围也可以实现接口信息的分批处理。

基于接口处理要求包括数据处理范围和第一处理参数,S202的一种可能的实现方式包括:按照数据处理范围,在接口信息中确定待处理的接口信息;按照第一处理参数,将待处理的接口信息的格式转换为目标数据格式。从而,在接口信息的处理过程中,将指定范围内的接口信息(尤其是不同来源的接口信息)转换为统一的目标数据格式,提高接口信息的管理效果。

可选的,数据处理范围中可包括接口标识。从接口信息中获取数据处理范围中的接口标识所对应接口的接口信息,将获取的接口信息确定为待处理的接口信息。例如,在接口信息的接收阶段,分别获得了接口a1、接口a2、接口a3、接口a4的接口信息,若数据处理范围内包括接口a1和接口a3,则接口a1的接口信息和接口a3的接口信息为待处理的接口信息。

在按照第一处理参数,将待处理的接口信息的格式转换为目标数据格式时,例如,目标数据格式为JSON,则将待处理的接口信息的格式转换为JSON。

在一些实施例中,除数据处理范围、第一处理参数之外,接口信息处理要求还包括第一处理组件要求。其中,第一处理组件要求用于指示接口信息处理阶段所采用的第三方组件。此时,根据接口信息处理要求,对接口信息进行相应处理的过程,还包括:通过符合第一处理组件要求的第三方组件,处理待处理的接口信息。从而,可以根据实际需求,选择用于接口信息处理的第三方组件,提高接口信息处理效果,尤其是针对不同的接口信息提供方的接口信息,可调用不同的第三方组件,将不同的接口信息转换为同一数据格式,实现接口信息管理平台对不同的接口信息提供方的接口信息的处理。

在一些实施例中,除数据处理范围、第一处理参数、第一处理组件要求之外,接口信息处理要求还包括数据处理触发条件。在数据处理触发条件被触发时,按照数据处理范围,在接口信息中确定待处理的接口信息,对待处理的接口信息进行处理。从而,用户可在接口信息管理平台配置数据触发条件,规定在数据触发条件被满足时进行接口信息的处理。

可选的,数据触发条件包括数据处理频率,按照数据处理频率进行接口信息的处理。比如,每分钟进行一次接口信息处理。

在一些实施例中,在将接口信息的格式转换为目标数据格式后,接口信息的处理过程还包括:将转换为目标数据格式的接口信息存储至数据库,实现接口信息的持久化。在用户再次请求接口信息时,可检查数据库中是否存在用户所请求的接口信息,若存在则从数据库中获取该接口信息。

可选的,接口信息处理要求还包括是否对接口信息进行持久化。若接口信息处理要求中配置了对接口信息进行持久化,则在接口信息的格式转换为目标数据格式后,将目标数据格式的接口信息存储至数据库中,否则无需对目标数据格式的接口信息进行存储。从而,用户可根据自身需求配置是否对接口信息进行持久化,提高了接口信息管理平台配置的灵活性和全面性。

(三)关于接口信息输出过程

在一些实施例中,接口信息输出方式包括数据输出范围、第二处理参数以及输出对象。其中,数据输出范围为接口信息集合,在接口信息集合中包括待输出的接口信息,第二处理参数为对待输出的接口信息进行处理所采用的参数,输出对象为待输出的接口信息的接收对象。从而,可在接口信息管理平台,配置接口信息的输出数据范围、处理方式、输出对象,实现对接口信息输出的多方面配置,使得接口信息需求方获得自身需要的接口信息。

可选的,第二处理参数包括接口信息需求方要求的数据格式,第二处理参数中接口信息需求方要求的数据格式可为一个或多个。

基于接口信息输出方式包括数据输出范围、第二处理参数以及输出对象,第二处理参数包括接口信息需求方要求的数据格式,S203的一种可能的实现方式包括:根据数据输出范围,在处理后的接口信息中确定待输出的接口信息;根据第二处理参数,将待输出的接口信息的格式转换为接口信息需求方要求的数据格式;向输出对象输出格式转换后的接口信息。从而,充分考虑到不同接口信息需求方对接口信息的格式要求不同,接口信息管理平台不仅可以为接口信息需求方提供接口信息,更是为接口信息需求方提供符合接口信息需求方的数据格式要求的接口信息。

可选的,第二处理参数还可以包括用于接口信息检索的相关参数。当用户需要对接口信息进行检索时,可在接口信息管理平台上配置用于接口信息检索的相关参数,例如一些检索关键字、检索算法等。此时,在接口信息的输出阶段,可根据第二处理参数,在待输出的接口信息中进行信息检索。从而,为接口信息需求方提供接口信息检索服务。除接口信息检索外,在接口信息的输出阶段还可以提供其他服务,在此不一一举例描述。

可选的,输出对象包括如下一种或多种:与接口信息管理平台对接的系统、数据库、文件集。从而,向外部系统、数据库、文件集提供接口信息。

在一些实施例中,除数据输出范围、第二处理参数、输出对象之外,接口信息输出方式还包括第二处理组件要求。其中,第二处理组件要求用于指示接口信息输出阶段所采用的第三方组件。此时,根据接口信息输出方式,向接口信息需求方发送处理后的接口信息的过程,还包括:通过符合第二处理组件要求的第三方组件,处理待输出的接口信息。即在接口信息输出阶段,调用符合第二处理组件要求的第三方组件,将待输出的接口信息输入至第三方组件进行处理。从而,用户可以根据业务需求,选择用于接口信息输出阶段的第三方组件,以得到满足自身业务需求的接口信息。例如,若用户存在接口信息的检索需求,则可以选择用于接口信息检索的第三方组件。

在一些实施例中,根据第二处理参数,将待输出的接口信息的格式转换为接口信息需求方要求的数据格式之前,接口信息管理方法还包括:若待输出的接口信息为多渠道输出,则根据待输出的接口信息的输出渠道数量,对待输出的接口信息进行数据复制;其中,多渠道输出包括接口信息需求方要求的数据格式为多个和/或输出对象为多个。从而,可以为不同的输出对象提供内容相同的接口信息,或者为同一输出对象提供数据格式不同且内容相同的接口信息,或者,为不同的输出对象提供数据格式不同且内容相同的接口信息,通过管道的方式处理接口信息,实现相同接口信息的多渠道输出。

具体的,若在接口信息输出方式中配置有多渠道输出接口信息,则确定待输出的接口信息为多渠道输出。根据接口信息输出方式中配置的接口信息需求方要求的数据格式的数量和/或输出对象的数量,确定接口信息的输出渠道数量,按照输出渠道数量,对待输出的接口信息进行数据复制。在根据各个输出渠道的要求,对复制后的接口信息进行处理。

例如,接口信息需求方即需要XML格式的接口信息、又需要表格格式的接口信息,又需要图片格式的接口信息,则可以对复制后的多份接口信息分布进行不同的格式转换,得到XML格式、表格格式、图片格式的接口信息,输出给接口信息需求方。又如,接口信息需求方即需要接口信息提供方A的所有接口信息,又需要在该接口信息提供方A的接口信息中筛选出即时通讯接口的接口信息,又需要对接口信息提供方A的接口信息与接口信息提供方B的接口信息进行对比,则可以在复制后的多份接口信息中执行以下操作:获取接口信息提供方A的所有接口信息;查询接口信息提供方A的即时通讯接口的接口信息;获取接口信息提供方A的所有接口信息和接口信息提供方B的所有接口信息,并生成比较结果(例如相同类型接口的属性比较)。

综上,一方面,接口信息管理平台将自身与接口信息提供方的对接逻辑(包括将接口信息提供方的接口信息转换为统一的目标数据格式)和自身与接口信息需求方的对接逻辑(包括数据赋值、数据格式转换等)纳入到自身内部处理,使得与接口信息管理平台对接的接口信息提供方、接口信息需求方等服务端无需再集成或者开发对接组件,扩大了接口信息管理平台的适用范围,提高了接口信息管理平台的部署灵活性、便捷性。另一方面,接口信息管理平台通过管道模式实现数据流处理,在数据流处理中,获取用户指定的接口信息提供方的接口信息,并向用户指定的接口信息需求方提供接口信息,实现接口信息的动态转换和输出,提高了接口信息需求方获取接口信息的效率、便捷性和实时性。又一方面,接口信息管理平台不限于将接口信息提供方提供的接口信息直接提供给接口信息需求方,还可以向接口信息需求方提供接口信息的处理业务,例如,接口信息的检索、比较等。

(四)除接口信息接收、处理和输出之外,接口信息管理平台还可以进行信息监控和统计。具体如下所述。

在一些实施例中,接口信息管理平台可对接口信息的获取阶段、处理阶段和/或输出阶段进行监控,和/或,对接口信息所属接口的状态进行监控,和/或,对接口信息管理平台中调用的第三方组件的状态进行监控,得到监控信息;输出监控信息,和/或,根据监控信息输出预警消息。从而,对接口信息的获取、接口信息的处理、接口信息的输出、接口状态、第三方组件状态等一个或多个方面进行追踪,例如通过日志的方式进行追踪,还可在该一个或多个方面出现异常时及时预警。

其中,对接口信息的获取阶段、处理阶段和/或输出阶段进行监控,例如监控接口信息是否获取成功、已获取到哪些接口信息提供方的接口信息、正在对哪些接口信息进行格式转换、正在对哪些接口信息进行检索等;对接口信息所属接口的状态进行监控,例如,监控接口是否更新、是否可用等;对第三方组件的状态进行监控,例如,监控第三方组件是否更新、是否可用等。

可选的,在接口信息管理平台的监控界面显示监控信息和预警信息。

在一些实施例中,接口信息管理平台对接口信息的获取情况进行统计,得到统计信息,在得到统计信息后,可输出统计信息。其中,统计信息包括如下至少一种:接口信息的获取次数、接口信息获取的失败比率、接口信息所属接口的更新次数。从而,通过数据统计的方式反映接口信息的获取情况,进而反馈更多信息,例如哪些接口信息的热度更高(即用户获取次数更多)。

图3为本申请的一实施例提供的接口信息管理平台的架构示意图,其中,接口信息管理平台可采用微服务架构设计。如图3所示,接口信息管理平台包括配置模块、接收模块、处理模块和输出模块,在功能上主要包括接口信息收集(即前述实施例中接口信息的接收)、接口信息加工(即前述实施例中接口信息的处理)、接口信息发送(即前述实施例中接口信息的输出)和配置中心(即前述实施例中接口需求的配置)。具体如下:

配置模块,用于对接口信息管理平台的核心模块的参数进行管理和设定。核心模块包括接收模块、处理模块、输出模块和配置模块自身。

接收模块,用于在配置模块的指导下拉取来自不同的数据源(即接口信息提供方)的各类接口信息。

处理模块,用于在配置模块的指导下对来自数据源的原始接口信息(即原始数据格式下的接口信息)进行处理,处理过程包括模式转换。

输出模块,用于在配置模块的指导下将接口信息从内部格式(即前述实施例中的目标数据格式)转换为目标格式(即前述实施例中接口信息需求方要求的数据格式),并输出给指定目标(即前述实施例中的输出对象)。

在一些实施例中,配置模块对多个核心模块的配置如下:

接收模块的配置范式为:系统信息+访问方式+接口类型+数据格式+解析模块+解析参数+解析目标参数。其中,系统信息、访问方式、接口类型、数据格式、解析模块、解析参数、解析目标参数可参照前述实施例中接口信息接收要求中各项内容的描述,不再赘述。

处理模块的配置范式为:接口模块组+数据预处理参数+处理组件选择+本地数据库存储+更新频次(或者触发条件)。其中,接口模块组、数据预处理参数、处理组件选择、本地数据库存储、更新频次分别相当于前述实施例中接口信息处理要求中的数据处理范围、第一处理参数、第一处理组件要求、是否对接口信息进行持久化、数据触发条件,不再赘述。

输出模块的配置范式为:接口数据集合+预处理参数+处理组件选择+对接系统/数据库/文件集参数。其中,接口数据集合、预处理参数、处理组件选择、对接系统/数据库/文件集参数分别相当于前述实施例中接口信息输出方式中的数据输出范围、第二处理参数、第二处理组件要求、输出对象,不再赘述。

在一些实施例中,对配置模块自身进行配置可包括在配置模块上增加一些配置可选项或者删除一些配置可选项。例如,在接口信息管理平台的接口信息管理界面上,增加可供选择的接口信息提供方。

在一些实施例中,如图3所示,接口信息管理平台还包括如下一项或多项:监控模块、数据库、统计模块。其中,监控模块用于对接口信息管理平台的各个模块的状态、接口状态、组件状态、预警信息进行展示。数据库用于存储接口信息,实现接口信息的持久化。如图3所示,处理模块可将处理后的接口信息存储在数据库中,也可以从数据库中读取接口信息进行处理,输出模块也可以从数据库中获取接口信息进行输出。统计模块用于统计接口信息的获取次数、接口信息获取的失败比率、接口信息所属接口的更新次数等。如图3所示,统计模块可以访问数据库,比如将统计数据写入数据库,或者从接口信息中获取与接口信息相关的数据进行统计。

在一些实施例中,接收模块、处理模块、输出模块的具体功能如下:

接收模块的功能可包括:1、支持接口信息提供方的在线方式或者离线方式接入,例如支持在线http、webservice或离线文件等方式接入;2、在配置模块的约束下,即在接收模块的配置范式的约束下,从指定系统范围、以指定的数据格式拉取指定接口类型的接口信息;3、调用解析模块(例如调用处理模块集成的解析模块),接收各种数据格式的接口信息;4、接收各个模块、接口、第三方组件的异常情况并上报给监控模块,写入系统日志。

处理模块的功能可包括:1、模块化集成解析模块和第三方组件,其中,解析模块可提供给接收模块,用于解析不同数据格式的接口信息,第三方组件可以提供给处理模块自身和输出模块,用于格式转换等接口信息的处理操作;2、在配置模块的约束下,即在处理模块的配置范式的约束下,将接口信息转换为统一格式;3、如设置了对接口信息进行持久化,则将格式转换后的接口信息存储至数据库中;4、还可为接收模块、输出模块提供格式转换服务。

输出模块的功能可包括:1、在配置模块的约束下,即在输出模块的配置范式的约束下,将接口数据转换为接口信息需求方的数据格式并输出。2、按照管道的方式处理接口信息,实现接口信息的多渠道输出。

在一些实施例中,如图3所示,接口信息提供方可通过在线接口(例如在线http接口)、云上服务、离线描述等方式向接口信息管理平台提供接口信息;接口信息管理平台可向服务器(例如web服务器)、下游系统、接口化存储(数据库)、离线文件等接口信息需求方提供接口信息。

综上,本申请实施例中,接口信息管理平台采用模块化方式实现接口信息接收、处理、输出、以及监控和统计的功能,且通过集成第三方组件的方式,实现接口信息的处理,从而可适配各种自建的解析模块和/或第三方工具对接口信息进行处理,并可通过配置模块配置适配关系,具备良好的扩展性。

图4为本申请的一实施例提供的接口信息管理装置的结构示意图,接口信息管理装置应用接口信息管理平台。如图4所示,接口信息管理装置包括:

接收模块401,用于在接收到用户通过接口信息管理界面输入的接口需求之后,根据接口信息接收要求,从至少一个接口信息提供方获取接口信息;

处理模块402,用于根据接口信息处理要求,对接口信息进行相应处理;

输出模块403,用于根据接口信息输出方式,向接口信息需求方发送处理后的接口信息。

其中,接口需求包括接口信息接收要求、接口信息处理要求和接口信息输出方式,对接口信息进行相应处理包括将接口信息转换为目标数据格式。

在一种可能的实现方式中,接口信息接收要求包括接口信息的数据源选择范围、接口信息的访问方式、接口信息所属接口的接口类型、接口信息的数据格式以及接口信息的解析方式,接收模块401具体用于:根据数据源选择范围,确定至少一个接口信息提供方;按照接口信息接收要求中的访问方式、接口类型和数据格式,获取至少一个接口信息提供方提供的接口信息;根据接口信息接收要求中的数据格式和解析要求,对获取的接口信息进行解析处理,得到解析处理后的接口信息。

在一种可能的实现方式中,接口信息处理要求包括数据处理范围和第一处理参数,处理模块402具体用于:按照数据处理范围,在接口信息中确定待处理的接口信息;根据第一处理参数,将待处理的接口信息的格式转换为目标数据格式,第一处理参数包括目标数据格式。

在一种可能的实现方式中,接口信息处理要求还包括第一处理组件要求,处理模块402具体用于:通过符合第一处理组件要求的第三方组件,处理待处理的接口信息。

在一种可能的实现方式中,接口信息处理要求还包括数据处理触发条件,处理模块402具体用于:在数据处理触发条件被触发时,在接口信息中按照数据处理范围确定待处理的接口信息,其中,数据处理触发条件包括数据处理频率。

在一种可能的实现方式中,处理模块402具体用于:将转换为目标数据格式的接口信息存储至数据库。

在一种可能的实现方式中,接口信息输出方式包括数据输出范围、第二处理参数以及输出对象,输出模块403具体用于:根据数据输出范围,在处理后的接口信息中确定待输出的接口信息;根据第二处理参数,将待输出的接口信息的格式转换为接口信息需求方要求的数据格式;向输出对象输出格式转换后的接口信息。

在一种可能的实现方式中,输出模块403还用于:若待输出的接口信息为多渠道输出,则根据待输出的接口信息的输出渠道数量,对待输出的接口信息进行数据复制;其中,多渠道输出包括接口信息需求方要求的数据格式为多个和/或输出对象为多个。

在一种可能的实现方式中,接口信息输出方式还包括第二处理组件要求,输出模块403还用于:通过符合第二处理组件要求的第三方组件,处理待输出的接口信息。

在一种可能的实现方式中,接口信息管理装置还包括:

监控模块404,用于对接口信息的获取阶段、处理阶段和/或输出阶段进行监控,和/或,对接口信息所属接口的状态进行监控,和/或,对接口信息管理平台中调用的第三方组件的状态进行监控,得到监控信息;输出监控信息,和/或,根据监控信息输出预警消息。

在一种可能的实现方式中,接口信息管理装置还包括:

统计模块405,用于对接口信息的获取情况进行统计,得到统计信息;输出统计信息;其中,统计信息包括如下至少一种:接口信息的获取次数、接口信息获取的失败比率、接口信息所属接口的更新次数。

图4提供的接口信息管理装置,可以执行上述相应方法实施例,其实现原理和技术效果类似,在此不再赘述。

图5为本申请的一实施例提供的一种电子设备的结构示意图。例如,接口信息管理装置500可以被提供为服务器或终端。参照图5,接口信息管理装置500包括处理组件501,其进一步包括一个或多个处理器,以及由存储器502所代表的存储器资源,用于存储可由处理组件501的执行的指令,例如应用程序。存储器502中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件501被配置为执行指令,以执行上述任一实施例的接口信息管理装置。

接口信息管理装置500还可以包括一个电源组件503被配置为执行接口信息管理装置500的电源管理,一个有线或无线网络接口504被配置为将接口信息管理装置500连接到网络,和一个输入输出(I/O)接口505。接口信息管理装置500可以操作基于存储在存储器502的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器502,上述指令可由接口信息管理装置500的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本申请的一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述任一实施例的接口信息管理方法。

本申请的一实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,至少一个处理器可以从所述存储介质中读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述任一实施例的接口信息管理方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

相关技术
  • 接口信息管理方法、装置、设备及存储介质
  • 接口管理方法、接口管理装置、接口管理设备及存储介质
技术分类

06120113270359