多数据源交互接口的调用方法及装置与流程

文档序号:11155236阅读:1156来源:国知局
多数据源交互接口的调用方法及装置与制造工艺

本发明涉及互联网通信领域,尤其涉及一种多数据源交互接口的调用处理方法。



背景技术:

在大数据行业,一般数据来源除了自身历史累计下来的用户数据之外,还有相当一部分数据是需要从其他数据提供商获取的。比如从银联、中国金融认证中心获取用户的卡类交易信息,从face++获取人脸识别相关信息,从上海三零获取社保缴纳相关信息,从中国移动获取手机卡使用相关信息等等。外部数据源的使用,一般都是通过调用数据供应商的接口来获得,每一个供应商提供的接口类型不一样、数量也不一样。

对于基础性接口,一般都是经过开发人员封装后,提供出来给客户使用,但是对于客户来说,其有可能在调用接口时,可能就会使用多个基础性接口,而且不同的功能需要的类型或者数量都不一样,比如,用于“查身份”功能,就需要同时调用中国金融认证中心提供的3个接口和银联智策的一个接口;用于“查信用”功能,则就需要同时调用中国金额认证中心提供的一个接口、银联智策的一个接口以及公司自有的数据接口。因此,在封装好很多基础接口的前提下,对于每一个用户的新需求,都需要额外编写代码来将所需接口整合起来,但是当接口数量达到一定程度后,开发和维护的成本开销会很大,同时还会存在重复开发的弊端,造成资源的浪费。另外,在调用接口时,其访问速度也比较低下。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供多数据源交互接口的调用方法,其能够解决现有技术中从多数据源通过接口获取数据时工作人员的开发和维护成本大的技术问题。

本发明的目的之一采用以下技术方案实现:

本发明提供了多数据源交互接口的调用方法,包括:

S1:获取客户端发送的组合接口调用请求;所述组合接口调用请求包括组合接口id和输入参数;

S2:在组合接口配置表中查找所述组合接口id所对应的组合接口,所述组合接口的配置信息包括组合接口配置输入参数和对应的基础接口id;

S3:将所述输入参数与所述组合接口配置输入参数作对比,查看所述输入参数是否完整,若否,则返回客户端或结束流程,若是,则执行S4;

S4:通过基础接口配置表查找每个基础接口id所对应的基础接口并调用处理,得出该组合接口的输出结果并返回给客户端。

优选地,S4具体包括:

当组合接口为同步接口,也即是每个基础接口均为同步的基础接口时,调用每个基础接口并处理得出对应的基础接口的输出参数,然后按照组合接口的输出结果与对应的基础接口的输出参数之间的映射关系,将所有的输出参数转换为组合接口的输出结果,并返回给客户端;所述组合接口的输出结果与对应的基础接口的输出参数之间的映射关系被存储于一组合_基础输出映射表中;

当组合接口为异步接口,也即是存在有一个或一个以上的基础接口为异步的基础接口时,调用每个基础接口并处理,然后生成该组合接口对应的一流水号,将所述流水号返回给客户端。

优选地,所述组合接口为异步接口时,还包括:

当存在有一个或以上的基础接口为同步的基础接口时,调用该同步的基础接口并将其输出参数存储于异步接口表中。

优选地,所述每个基础接口都有对应的配置输入参数,所述的配置输入参数被存储于入参表中;

所述通过基础接口配置表查找每个基础接口id对应的基础接口并调用处理时还具体包括:将所述输入参数根据每个基础接口的配置输入参数转换为对应基础接口的输入参数,然后根据每个基础接口及其输入参数得出基础接口的输出参数,并将所有的输出参数组合转换得到组合接口的输出结果。

为了克服现有技术的不足,本发明的目的之二在于提供多数据源交互接口的调用方法,其能够解决现有技术中。

本发明的目的之二采用以下技术方案实现:

本发明还提供了多数据源交互接口的调用装置,包括:

请求获取模块,用于获取客户端发送的组合接口调用请求;所述组合接口调用请求包括组合接口id和输入参数;

信息获取模块,用于在组合接口配置表中查找所述组合接口id所对应的组合接口,所述组合接口的配置信息包括组合接口配置输入参数和对应的基础接口id;

判断模块,将所述输入参数与所述组合接口配置输入参数作对比,查看所述输入参数是否完整,若否,则返回客户端或结束流程,若是,则执行处理模块;

处理模块,用于通过基础接口配置表查找每个基础接口id对应的基础接口并调用处理,得出该组合接口的输出结果并返回给客户端。

优选地,处理模块的处理过程具体包括:

当组合接口为同步接口,也即是每个基础接口均为同步的基础接口时,调用每个基础接口并处理得出对应的基础接口的输出参数,然后按照组合接口的输出结果与对应的基础接口的输出参数之间的映射关系,将所有的输出参数转换为组合接口的输出结果,并返回给客户端;所述组合接口的输出结果与对应的基础接口的输出参数之间的映射关系被存储于一组合_基础输出映射表中;

当组合接口为异步接口,也即是存在有一个或一个以上的基础接口为异步的基础接口时,调用每个基础接口并处理,然后生成该组合接口对应的一流水号,将所述流水号返回给客户端。

优选地,所述组合接口为异步接口时,还包括:

当存在有一个或以上的基础接口为同步的基础接口时,调用该同步的基础接口并将其输出参数存储于异步接口表中。

优选地,所述每个基础接口都有对应的配置输入参数,所述的配置输入参数被存储于入参表中;

所述通过基础接口配置表查找每个基础接口id对应的基础接口并调用处理时还具体包括:

将所述输入参数根据每个基础接口的配置输入参数转换为对应基础接口的输入参数,然后根据每个基础接口及其输入参数得出基础接口的输出参数,并将所有的输出参数组合转换得到组合接口的输出结果。

相比现有技术,本发明的有益效果在于:通过对封装后的基础接口进行配置实现,从而可使得工作人员可根据自己的需求自行配置所需要功能的组合接口,减少开发工作人员的工作量,方便客户根据自己的需求自行配置添加接口,方便直观;在接口调用的过程中,处理速度非常快。另外,随着接入的数据域和基础接口数量的增加,本发明还具有良好的扩展性。

附图说明

图1为本发明提供的一实施例的方法流程图;

图2为本发明提供的一实施例的模块结构图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

如图1所示,本发明提供了一种多数据源交互接口的调用方法,在用户通过客户端与服务器交互之前,首先工作人员需要对接口进行配置,一般来说接口包括基础接口和组合接口,基础接口是指其能够实现一些基本功能,是经过数据提供商的开发人员进行封装后提供的接口,该基础接口有输入参数和输出参数以及如何将输入参数处理转换为输出参数的方法等。而组合接口是指由多个基础接口组合共同完成一些复杂的功能,在原来的开发模式下,该组合接口也是通过开发人员进行直接开发并封装后供用户使用,但是不同的用户需要的组合接口不同,这就造成不停的开发各种不同的组合接口,甚至会出现大量重复性的工作,而且对于基础解决和组合接口的实现都是存储于数据库上,这样导致后期的维护成本大大增加。而本申请中则采用一种通过配置的方式来实现上述组合接口,因为一般组合接口的实现是需要通过多个基础接口共同完成来实现的,通过配置的方式将一个组合接口与对应的多个基础接口形成映射关系,这样,当调用一个组合接口时,调用对应的基础接口进行处理,然后对所有的基础接口的输出参数进行整合或者转换得到组合接口的输出结果,这样极大节省了开发人员的工作量,减少了大量重复的开发。也即是,当用户需要调用组合接口时,首先对基础接口进行调用处理,然后将输出参数进行转换处理后得到最终的输出结果。

一般来说,基础接口都是普遍存在的,经过开发人员进行打包封装提供给客户使用的。当需要进行复杂的功能时,工作人员通过客户端对组合接口进行配置,首先根据不同的功能定义出不同的组合接口,然后将所有的组合接口都配置于一组合接口配置表中,该组合接口配置表用于存储组合接口的配置信息,每一个组合接口包括组合接口id、组合接口名称、组合接口配置输入参数、对应的基础接口id等等相关的配置信息,并将该组合接口配置表存储于服务器上。另外,基础接口也被配置于一基础接口配置表中,每一个基础接口也包括基础接口id、基础接口名称、基础接口配置输入参数、基础接口输出参数、基础接口的处理方法等等相关信息,这些相关信息可根据具体的需要进行配置即可。另外,还配置对应的入参表和出参表,入参表用于配置基础接口的配置输入参数,其包括配置输入参数的类型、大小等信息;所述出参表用于配置存储基础接口的输出参数,比如输出参数的类型、大小等。另外,工作人员还建立一组合_基础输出映射表,该表用于存储组合接口的输出结果与对应的基础接口输出参数之间的映射关系,比如一个组合接口有三个基础接口,组合接口的输出结果是通过对应的三个基础接口的输出参数组合得到,上述表中就存储了这个组合接口的输出参数与上述三个基础接口的输出参数的一种映射关系,也即是如何通过三个基础接口的输出参数来得到组合接口的输出参数。当调用组合接口时,首先需要对该组合接口中的所有的基础接口调用处理并得出输出参数,然后再将该输出参数转换映射为组合接口的输出参数之后,再返回给客户端。这种配置方法,可根据自身的需求功能自定义组合接口,对于工作人员来说,非常直观方便,相对于原来的直接开发的方式,大大节省了工作人员的工作量,同时,通过查表的方式调用对应的接口,然后再通过对应的接口id直接调用对应的接口,其访问速度更快,而不是像以前那样根据接口的输入参数、输出参数等相关数据在数据库中查找接口(原有的方式中由于接口众多,导致访问速度变慢)。

所述多数据源交互接口的调用方法,包括以下步骤:

S1:获取客户端发送的组合接口调用请求,所述组合接口调用请求包括组合接口id和输入参数。

本步骤中,当用户需要调用某个接口来获取数据时,比如用于“查身份”功能,一般来说需要中国金融认证中心提供的3个基础接口和银联智策提供的1个基础接口来获取数据,在本发明中就将上述4个基础接口组合一个组合接口,来实现上述功能,当用户需要实现该功能时,只需调用对应的组合接口,通过客户端向服务器发送组合接口调用请求,该请求中包含有组合接口id和相应的输入参数。

S2:在组合接口配置表中查找所述组合接口id所对应的组合接口,所述组合接口的配置信息包括组合接口名称、组合接口配置输入参数和对应的基础接口id。该组合接口配置表可以以缓存表的方式存在于服务器,在处理时,访问速度就比较快。

当接收到客户端发送的组合接口调用请求后,首先从该调用请求中获取组合接口id,然后根据该组合接口id从组合接口配置表中获取到组合接口以及其组合接口的配置信息,该组合接口的配置信息可能包括组合接口名称、组合接口配置输入参数以及对应的基础接口id。当然,该步骤中可能还存在找不到该组合接口id,则说明用户的组合接口调用请求有误,返回错误信息告知客户端即可。

S3:将所述输入参数与组合接口配置输入参数作对比,查看所述输入参数是否完整,若否,则返回客户端或者结束流程;若是,则执行S4。

在调用基础接口之前,首先要对输入参数进行判断其完整性,也即是说根据组合接口配置输入参数判断组合接口调用请求中的输入参数是否完整,比如输入参数的类型、大小等是否合法或者完整,若不完整,则说明输入有误,返回错误信息给客户端提示用户;若完整则,继续进行下一步处理。

S4:在基础接口配置表中分别查找每个基础接口id对应的基础接口并调用处理,得出组合接口的输出结果并返回给客户端。

本步骤中,当通过组合接口id找到了该组合接口对应的所有的基础接口id时,需要在基础接口配置表中查找每个基础接口id对应的基础接口,然后对每个基础接口进行调用处理得到对应的输出参数,最后将所有的输出参数组合得到该组合接口的输出结果并返回给客户端。

进一步地,每个基础接口都有其配置信息,包括配置输入参数、输出参数、基础接口的名称等等,其中配置输入参数的信息被存储于一入参表中,比如配置输入参数的类型、大小。当通过基础接口id查找到对应的基础接口时,首先根据每个基础接口的配置输入参数将组合调用请求中的输入参数转换为对应的输入参数,然后再根据每个基础接口及其输入参数得出基础接口的输出参数,最后将所有的输出参数根据组合_基础输出映射表得到该组合接口的输出结果,并将输出结果返回给客户端。其中组合_基础输出映射表用于存储组合接口的输出结果与对应的基础接口的输出参数之间的映射关系。比如,在调用组合接口时,首先调用并处理组合接口对应的所有的基础接口,得到每个基础接口对应的输出参数,然后将这些输出参数根据上述组合_基础输出映射表所存储的映射关系得到组合接口的输出结果。

进一步地,由于接口的类型会存在有同步接口和异步接口,因此,本发明中所涉及到的组合接口也会分别同步接口和异步接口。一般来说一个组合接口会包括有多个基础接口,因此,若当组合接口对应的每个基础接口均为同步接口时,则认为该组合接口为同步接口;若当组合接口对应的基础接口中存在有一个为异步接口,则认为该组合接口为异步接口。因此,S4具体还包括以下步骤:首先判断所述组合接口的类型:

S41:当组合接口为同步接口时,也即是所有的基础接口均为同步的基础接口,则调用每个基础接口并处理得出对应的输出参数,然后将所述输出参数根据所述基础_组合输出映射表转换为组合接口的输出结果,并返回给客户端。

S42:当组合接口为异步接口时,也即是该组合接口所对应的基础接口中存在一个或一个以上的异步接口,还包括:

当所有的基础接口均为异步接口时,则调用所有的基础接口并生成该组合接口对应的一流水号,将所述流水号返回给客户端即可。

当其中有一个基础接口为同步的基础接口,则调用该同步的基础接口,并将其对应的输出参数首先存储于异步接口表中;同时也调用异步的基础接口并生成该组合接口对应的一流水号,将所述流水号返回给客户端。

所述流水号是指服务器返回给客户端的凭证,当组合接口为异步接口时,调用一个组合接口只会给客户端返回一个唯一的一个流水号;该流水号的作用就比如返回给客户一流水号,让客户等待一段时间,再返回输出结果。另外,由于异步的基础接口的存在,可能会导致输出参数不会实时地得出,而同步的基础接口的输出参数能够实时得到,因此当组合接口为异步接口时,首先将同步的基础接口输出参数保存下来,等待其他异步接口的输出参数,以便最后将同步的基础接口的输出参数和异步的基础接口的输出参数进行组合转换得到客户最终所需要的输出结果。

如图2所示,本发明还提供了多数据源交互接口的调用装置,其包括:

请求获取模块,用于获取客户端发送的组合接口调用请求;所述组合接口调用请求包括组合接口id和输入参数;

信息获取模块,用于在组合接口配置表中查找所述组合接口id所对应的组合接口,所述组合接口的配置信息包括组合接口配置输入参数和对应的基础接口id;

判断模块,将所述输入参数与所述组合接口配置输入参数作对比,查看所述输入参数是否完整,若否,则返回客户端或结束流程,若是,则执行处理模块;

处理模块,用于通过基础接口配置表查找每个基础接口id对应的基础接口并调用处理,得出该组合接口的输出结果并返回给客户端。

优选地,处理模块的处理过程具体包括:

当组合接口为同步接口,也即是每个基础接口均为同步的基础接口时,调用每个基础接口并处理得出对应的基础接口的输出参数,然后按照组合接口的输出结果与对应的基础接口的输出参数之间的映射关系,将所有的输出参数转换为组合接口的输出结果,并返回给客户端;所述组合接口的输出结果与对应的基础接口的输出参数之间的映射关系被存储于一组合_基础输出映射表中;

当组合接口为异步接口,也即是存在有一个或一个以上的基础接口为异步的基础接口时,调用每个基础接口并处理,然后生成该组合接口对应的一流水号,将所述流水号返回给客户端。

优选地,所述组合接口为异步接口时,还包括:

当存在有一个或以上的基础接口为同步的基础接口时,调用该同步的基础接口并将其输出参数存储于异步接口表中。

优选地,所述每个基础接口都有对应的配置输入参数,所述的配置输入参数被存储于入参表中;

所述通过基础接口配置表查找每个基础接口id对应的基础接口并调用处理时还具体包括:

将所述输入参数根据每个基础接口的配置输入参数转换为对应基础接口的输入参数,然后根据每个基础接口及其输入参数得出基础接口的输出参数,并将所有的输出参数组合转换得到组合接口的输出结果。

本发明采用对封装后的基础接口进行配置,从而能够使得工作人员根据自己自定义的方式定义出符合自身需求所使用的组合接口,非常直观方便;另外,这种配置方式,在以后接入的数据域和接触接口总数逐渐增加的情况下,相对于现有的直接开发的方式(原来的直接开发的方式存在有大量重复开发的工作),其大大节省了开发人员的工作量,具有良好的可扩展性。

另外,工作人员还给所有的组合接口统一提供一接入url,在用户调用组合接口时,通过http的连接方式将客户端与服务器连接。这样方便对接口进行统一管理,极大方便了计费、日志管理、数据存储等模块。

本发明在接口调用的效率也非常高,比如在一般的8g内存、CPU为3Ghz的服务器上,能够实现100个/秒的应用调用频率;在对多个基础接口的调用处理上采用并行处理,通过读取缓存中的配置来调用接口,极大地提高了接口调用的效率。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1