一种基于SPI可扩展机制的API实时采集方法技术

技术编号:38767665 阅读:12 留言:0更新日期:2023-09-10 10:40
本发明专利技术公开了一种基于SPI可扩展机制的API实时采集方法,为统一平台采集API接口,提供了一种准实时性和数据一致性极好的解决方案。它参考Java SPI的机制,在流程中统一定义出SPI接口和扩展点,然后由各个接口的提供方实现SPI接口。整个接入过程中,数据只保留在接口的提供方上,不存在数据冗余的问题。而在后续各场景的展示逻辑中,按需调用SPI接口,统一返回给前端展示,提供了更好的数据实时性和数据一致性。据一致性。据一致性。

【技术实现步骤摘要】
一种基于SPI可扩展机制的API实时采集方法


[0001]本专利技术涉及一种采集方法,更具体的说是涉及一种基于SPI可扩展机制的API实时采集方法。

技术介绍

[0002]能力中心作为企业数字化过程中管理和提供API接口的中央化平台,它提供了统一的API目录和文档,使开发人员能够更轻松地发现、了解和使用API。开发人员无需重复编写和实现相同的功能,而是可以直接使用现有的API,从而节省开发时间和精力,如图1中所示:
[0003]研发人员在权限中心提供出接口1.0,同时在应用启动的之时,系统会直接调用能力中心提供的注册接口,将完整的接口定义写入到能力中心的数据库中。后续三方的使用者在查看接口信息时,能力中心直接返回数据库中的数据,进行展示。接口更新的策略,类似。
[0004]在实际的研发过程中,多次发现收集上来的API存在接口遗漏、接口更新不及时等问题,使用方无法充分利用新的功能或无法适应变化的需求,导致了开发进度的延迟和困惑。
[0005]上述问题的根本原因,是接口的定义数据,为了能够统一的在能力中心进行展示,会将接口数据同步(冗余)到能力中心的应用中。当该接口定义发生变更时,就需要同时修改两个存储的数据,才能够保证接口信息的一致性。但又因为两个存储的物理介质,往往是跨进程、跨机器的,同时修改就可能因为人为遗漏、更新失败、网络抖动等原因失败,导致接口出现不一致,如图2所示:
[0006]企业平台的权限模块1.0版本中提供了一个基于用户ID的查询接口,接口使用上开发者可以通过传入用户的ID查询到详细的用户信息。
[0007]接口发布之后,有外部的三方应用程序依赖于该API来实现用户的登录和查询,该应用程序在发布时与企业平台的API版本1.0进行了集成。
[0008]在后续的产品迭代中,权限模块提供出2.0版本,将上述接口调整为基于用户名的查询接口。
[0009]但版本发布之后,应用启动的过程中,因为网络抖动导致同步更新能力中心的接口定义和文档失败
[0010]此时,三方应用从能力中心获取到的还是1.0版本的接口定义,但实际上运行的已经是2.0版本。这就导致后续应用程序的存量和增量业务报错,业务无法继续流转。

技术实现思路

[0011]针对现有技术存在的不足,本专利技术的目的在于提供一种提供出更准确、更实时的接口定义,快速传达更新和变更的信息的基于SPI可扩展机制的API实时采集方法。
[0012]为实现上述目的,本专利技术提供了如下技术方案:一种基于SPI可扩展机制的API实
时采集方法,包括如下步骤:
[0013]步骤一,研发人员终端发送新增基于用户ID的查询接口1.0的消息至权限中心;步骤二,权限中心在接受到新增基于用户ID的查询接口1.0的消息后将接口1.0持久化,然后反馈新增成功消息至研发人员终端;
[0014]步骤三,使用终端发送接口查看消息至能力中心,能力中心在接受到消息后,向权限中心发送接口查询消息,权限中心在接受到接口查询消息后,进行查询步骤,之后返回接口1.0消息至能力中心,进而通过能力中心反馈至使用终端;
[0015]步骤四,研发人员终端发送更新基于用户ID的查询接口2.0的消息至权限中心;
[0016]步骤五,权限中心在接受到新增基于用户ID的查询接口2.0的消息后将接口2.0持久化,然后反馈更新成功消息至研发人员终端;
[0017]步骤六,使用终端发送接口查看消息至能力中心,能力中心在接受到消息后,向权限中心发送接口查询消息,权限中心在接受到接口查询消息后,进行查询步骤,之后返回接口2.0消息至能力中心,进而通过能力中心反馈至使用终端。作为本专利技术的进一步改进,所述步骤三和步骤六中的查询步骤具体包括:
[0018]步骤三一,当权限中心接受到接口查询消息后,进行参数合法性校验,以对输入参数进行验证和检查的过程,包含数据类型检查、空值检查;
[0019]步骤三二,进行业务校验,判断参数是否满足业务规则;
[0020]步骤三三,进行查询参数组装,将外部参数转换成内部可以识别的对象;
[0021]步骤三四,执行查询逻辑,以传入转换后的参数,调用的底层函数,执行查询逻辑;
[0022]步骤三五,进行查询结果适配,获取到底层返回的数据,针对本次匹配本次页面的需求,进行适配;
[0023]步骤三六,将处理后的结果值返回能力中心。
[0024]作为本专利技术的进一步改进,所述步骤三四中执行查询逻辑具体步骤为将节点定义成可扩展节点,同时定义出SPI接口。
[0025]作为本专利技术的进一步改进,所述将节点定义成可扩展节点,同时定义出SPI接口的具体步骤为,通过公共接口的ApiInfoPi服务获取当前分组及子分组信息,包括api信息,然后通过带ApiDTO页面的类别根据api唯一标识查询api详情,并在定义完成之后,将SPI接口封装进SDK中,同时提供给各个需要接入的业务方,各业务方在引入该SDK后,实现对应SPI接口的detail方法,并且在应用启动之初,使用终端将自己的应用标记和调用参数信息注册到能力中心。
[0026]作为本专利技术的进一步改进,所述信息注册请求中,附带的参数包括服务名称、服务域和服务类型,其中,服务名称为模型API,服务领域为isc

tddm

service:38800,服务类型为tddm。
[0027]本专利技术的有益效果,通过步骤一至步骤六的设置,便可以使得操作的新增、更新、读取,最终都会落到权限中心的存储上,即整体体系中,接口的定义只会保留一份。不存在数据冗余,也就不会存在数据一致性的问题了。
附图说明
[0028]图1为现有技术中的API的采集流程示意图;
[0029]图2为现有无法流转的流程示意图;
[0030]图3为本专利技术的采集方法的流程示意图;
[0031]图4为查询API详情的接口内部逻辑示意图;
[0032]图5为各业务方在引入该SDK后,实现对应SPI接口的detail方法的示意图;
[0033]图6为使用终端在应用启动之初进行注册的示意图;
[0034]图7为查询调用的流程示意图。
具体实施方式
[0035]下面将结合附图所给出的实施例对本专利技术做进一步的详述。
[0036]术语解释:
[0037]API(应用程序编程接口)
[0038]是一组定义了软件组件或系统之间交互的规则和协议。API允许不同的软件应用程序之间相互通信和交换数据,以实现特定的功能或服务。
[0039]能力中心
[0040]用于管理和提供API接口的中央化平台或服务。它为开发人员、合作伙伴或第三方应用程序提供了集中的访问点,以便他们可以查找、调用和使用不同的API。JavaSPI(服务提供者接口)
[0041]是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SPI可扩展机制的API实时采集方法,其特征在于:包括如下步骤:步骤一,研发人员终端发送新增基于用户ID的查询接口1.0的消息至权限中心;步骤二,权限中心在接受到新增基于用户ID的查询接口1.0的消息后将接口1.0持久化,然后反馈新增成功消息至研发人员终端;步骤三,使用终端发送接口查看消息至能力中心,能力中心在接受到消息后,向权限中心发送接口查询消息,权限中心在接受到接口查询消息后,进行查询步骤,之后返回接口1.0消息至能力中心,进而通过能力中心反馈至使用终端;步骤四,研发人员终端发送更新基于用户ID的查询接口2.0的消息至权限中心;步骤五,权限中心在接受到新增基于用户ID的查询接口2.0的消息后将接口2.0持久化,然后反馈更新成功消息至研发人员终端;步骤六,使用终端发送接口查看消息至能力中心,能力中心在接受到消息后,向权限中心发送接口查询消息,权限中心在接受到接口查询消息后,进行查询步骤,之后返回接口2.0消息至能力中心,进而通过能力中心反馈至使用终端。2.根据权利要求1所述的基于SPI可扩展机制的API实时采集方法,其特征在于:所述步骤三和步骤六中的查询步骤具体包括:步骤三一,当权限中心接受到接口查询消息后,进行参数合法性校验,以对输入参数进行验证和检查的过程,包含数据类型检查、空值检查;步骤三二,进行业务校验,判断参数是否满足业务规则;步骤三三,进行查询参数组装,将外部...

【专利技术属性】
技术研发人员:王轩宋杨秦钢
申请(专利权)人:杭州指令集智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1