一种基于API网关的数据调用的方法和API网关技术

技术编号:27006081 阅读:13 留言:0更新日期:2021-01-08 17:08
本说明书实施例提供了一种基于API网关的数据调用的方法和API网关。根据实施例的方法,数据提供方可以将自身拥有的部分数据进行共享,需要调用数据的数据调用方可以针对所要调用的目标API可以发送对应的数据调用申请,然后由API网关将该数据调用申请发送给数据提供方,这样数据提供方即可返回对应的目标数据。为了提高数据传输过程的安全性,可对目标数据进行变形,然后将变形后的目标数据提供给数据调用方。最后再将用于描述数据调用方获取数据过程的记录信息上传至区块链,以便各方查证。

【技术实现步骤摘要】
一种基于API网关的数据调用的方法和API网关
本说明书一个或多个实施例涉及计算机
,尤其涉及一种基于API网关的数据调用的方法和API网关。
技术介绍
数据提供方将自身的部分数据进行共享,便于不同的数据调用方利用该数据开展不同的业务。目前,数据提供方在向数据调用方提供数据时,通常会将数据进行预处理,以提高数据传输过程的安全性。但是,当数据调用方数量较多时,数据提供方需要进行大量重复性的预处理工作,从而增加数据提供方提供数据时的工作量。
技术实现思路
本说明书一个或多个实施例描述了一种基于API网关的数据调用的方法和API网关,能够降低数据提供方提供数据时的工作量。根据第一方面,提供了一种基于API网关的数据调用的方法,包括:接收来自数据调用方的数据调用申请;确定所述数据调用申请对应的目标应用程序接口API;将所述数据调用申请通过所述目标API,发送给提供所述目标API的目标数据提供方;当接收到来自该目标数据提供方针对所述数据调用申请的目标数据时,对所述目标数据进行变形;将变形后的所述目标数据发送给该数据调用方;以及生成用于描述该数据调用方获取所述目标数据过程的记录信息,并将所述记录信息上传至区块链中。在一个实施例中,其中,在所述接收来自数据调用方的数据调用申请之前,进一步包括:接收来自数据调用方的接口调用申请;确定区块链上是否存储有所述接口调用申请对应的目标API的信息;若存在,则根据所述接口调用申请,确定该数据调用方是否能够调用所述目标API;若是,则生成该数据调用方调用所述目标API时所使用的授权信息;以及将所述授权信息发送给该数据调用方;在所述将所述数据调用申请通过所述目标API,发送给提供所述目标API的目标数据提供方之前,进一步包括:确定所述数据调用申请中的授权信息是否与生成的该数据调用方所对应的授权信息相同;若是,则确定该数据调用方的身份验证通过,并继续执行将所述数据调用申请通过所述目标API发送给提供所述目标API的目标数据提供方。在一个实施例中,其中,所述根据所述接口调用申请,确定该数据调用方是否能够调用所述目标API,包括:确定所述区块链上是否存储有针对所述目标API的审批信息,其中,所述审批信息由该目标数据提供方制定;若所述区块链上存储有所述审批信息,将所述接口调用申请发送给所述审批信息中的至少一个数据审批方,以通过各所述数据审批方按照所述调用申请中的审批流程确定该数据调用方是否能够调用所述目标API;若所述区块链上未存储所述审批信息,将所述接口调用申请发送给该目标数据提供方,以通过该目标数据提供方确定该数据调用方是否能够调用所述目标API;当接收到针对所述接口调用申请的审批结果时,若所述审批结果表征该数据调用方该能够调用所述目标API,则执行所述生成该数据调用方调用所述目标API时所使用的授权信息。在一个实施例中,其中,在所述将变形后的所述目标数据发送给该数据调用方之前,进一步包括:确定是否与该数据调用方位于同一局域网内;若位于同一局域网内,则所述对所述目标数据进行变形,包括:对所述目标数据进行数据脱敏处理。在一个实施例中,其中,在所述对所述目标数据进行变形之前进一步包括:确定是否与该数据调用方位于同一局域网内;若未位于同一局域网内,则所述对所述目标数据进行变形,包括:利用预先封装的软件开发工具包SDK根据所述目标数据,生成用于描述所述目标数据的属性的描述信息;所述将变形后的所述目标数据发送给该数据调用方,包括:将所述描述信息和所述SDK发送给该数据调用方,以使该数据调用方调用安装后的所述SDK对所述描述信息进行解密和数据脱敏处理,得到数据脱敏后的所述目标数据。根据第二方面,提供了一种API网关,包括:调用处理模块,配置为接收来自数据调用方的数据调用申请;确定所述数据调用申请对应的目标应用程序接口API;将所述数据调用申请通过所述目标API,发送给提供所述目标API的目标数据提供方;数据处理模块,配置为当所述调用处理模块接收到来自该目标数据提供方针对所述数据调用申请的目标数据时,对所述目标数据进行变形;所述调用处理模块,配置为将所述数据处理模块变形后的所述目标数据发送给该数据调用方;数据上链模块,配置为生成用于描述该数据调用方获取所述目标数据过程的记录信息,并将所述记录信息上传至区块链中。在一个实施例中,其中,所述调用处理模块,包括:申请接收单元,配置为接收来自数据调用方的接口调用申请;授权处理单元,配置为确定区块链上是否存储有所述接口调用申请对应的目标API的信息;若存在,则根据所述接口调用申请,确定该数据调用方是否能够调用所述目标API;若是,则生成该数据调用方调用所述目标API时所使用的授权信息;将所述授权信息发送给该数据调用方;所述数据处理模块,配置为确定所述数据调用申请中的授权信息是否与生成的该数据调用方所对应的授权信息相同;若是,则确定该数据调用方的身份验证通过,并触发所述调用处理模块继续执行将所述数据调用申请通过所述目标API发送给提供所述目标API的目标数据提供方。在一个实施例中,其中,所述授权处理单元,包括:上链信息确定子单元,配置为确定所述区块链上是否存储有针对所述目标API的审批信息,其中,所述审批信息由该目标数据提供方制定;审批信息传输子单元,配置为若所述区块链上存储有所述审批信息,将所述接口调用申请发送给所述审批信息中的至少一个数据审批方,以通过各所述数据审批方按照所述调用申请中的审批流程确定该数据调用方是否能够调用所述目标API;若所述区块链上未存储所述审批信息,将所述接口调用申请发送给该目标数据提供方,以通过该目标数据提供方确定该数据调用方是否能够调用所述目标API;审批结果处理子单元,配置为当接收到针对所述接口调用申请的审批结果时,若所述审批结果表征该数据调用方该能够调用所述目标API,则执行所述生成该数据调用方调用所述目标API时所使用的授权信息。在一个实施例中,其中,所述数据处理模块,配置为确定是否与该数据调用方位于同一局域网内;对所述目标数据进行数据脱敏处理。在一个实施例中,其中,所述数据处理模块,配置为确定是否与该数据调用方位于同一局域网内;若未位于同一局域网内,利用预先封装的软件开发工具包SDK根据所述目标数据,生成用于描述所述目标数据的属性的描述信息;将所述描述信息和所述SDK发送给该数据调用方,以使该数据调用方调用安装后的所述SDK对所述描述信息进行解密和数据脱敏处理,得到数据脱敏后的所述目标数据。根据说明书实施例提供的方法和设备,数据调用方若基于需求想调用某些数据时,可向API网关发送针对所要调用的数据对应的数据调用申请,以由API网关来确定该数据调用方所要调用的目标API以及提供该目标API的目标本文档来自技高网...

【技术保护点】
1.一种基于API网关的数据调用的方法,包括:/n接收来自数据调用方的数据调用申请;/n确定所述数据调用申请对应的目标应用程序接口API;/n将所述数据调用申请通过所述目标API,发送给提供所述目标API的目标数据提供方;/n当接收到来自该目标数据提供方针对所述数据调用申请的目标数据时,对所述目标数据进行变形;/n将变形后的所述目标数据发送给该数据调用方;以及/n生成用于描述该数据调用方获取所述目标数据过程的记录信息,并将所述记录信息上传至区块链中。/n

【技术特征摘要】
1.一种基于API网关的数据调用的方法,包括:
接收来自数据调用方的数据调用申请;
确定所述数据调用申请对应的目标应用程序接口API;
将所述数据调用申请通过所述目标API,发送给提供所述目标API的目标数据提供方;
当接收到来自该目标数据提供方针对所述数据调用申请的目标数据时,对所述目标数据进行变形;
将变形后的所述目标数据发送给该数据调用方;以及
生成用于描述该数据调用方获取所述目标数据过程的记录信息,并将所述记录信息上传至区块链中。


2.根据权利要求1所述的方法,其中,在所述接收来自数据调用方的数据调用申请之前,进一步包括:
接收来自数据调用方的接口调用申请;
确定区块链上是否存储有所述接口调用申请对应的目标API的信息;
若存在,则根据所述接口调用申请,确定该数据调用方是否能够调用所述目标API;
若是,则生成该数据调用方调用所述目标API时所使用的授权信息;以及
将所述授权信息发送给该数据调用方;
在所述将所述数据调用申请通过所述目标API,发送给提供所述目标API的目标数据提供方之前,进一步包括:
确定所述数据调用申请中的授权信息是否与生成的该数据调用方所对应的授权信息相同;
若是,则确定该数据调用方的身份验证通过,并继续执行将所述数据调用申请通过所述目标API发送给提供所述目标API的目标数据提供方。


3.根据权利要求2所述的方法,其中,所述根据所述接口调用申请,确定该数据调用方是否能够调用所述目标API,包括:
确定所述区块链上是否存储有针对所述目标API的审批信息,其中,所述审批信息由该目标数据提供方制定;
若所述区块链上存储有所述审批信息,将所述接口调用申请发送给所述审批信息中的至少一个数据审批方,以通过各所述数据审批方按照所述接口调用申请中的审批流程确定该数据调用方是否能够调用所述目标API;
若所述区块链上未存储所述审批信息,将所述接口调用申请发送给该目标数据提供方,以通过该目标数据提供方确定该数据调用方是否能够调用所述目标API;
当接收到针对所述接口调用申请的审批结果时,若所述审批结果表征该数据调用方能够调用所述目标API,则执行所述生成该数据调用方调用所述目标API时所使用的授权信息。


4.根据权利要求1至3中任一所述的方法,其中,在所述将变形后的所述目标数据发送给该数据调用方之前,进一步包括:确定所述API网关是否与该数据调用方位于同一局域网内;若位于同一局域网内,则所述对所述目标数据进行变形,包括:
对所述目标数据进行数据脱敏处理。


5.根据权利要求1至3中任一所述的方法,其中,在所述对所述目标数据进行变形之前进一步包括:确定所述API网关是否与该数据调用方位于同一局域网内;若未位于同一局域网内,则所述对所述目标数据进行变形,包括:
利用预先封装的软件开发工具包SDK根据所述目标数据,生成用于描述所述目标数据的属性的描述信息;
所述将变形后的所述目标数据发送给该数据调用方,包括:
将所述描述信息和所述SDK发送给该数据调用方,以使该数据调用方调用安装后的所...

【专利技术属性】
技术研发人员:全方磊郑金伟其他发明人请求不公开姓名
申请(专利权)人:蚂蚁智信杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1