一种支持多种API协议的数据处理方法及装置与流程

文档序号:14253053阅读:418来源:国知局
一种支持多种API协议的数据处理方法及装置与流程

本发明涉及互联网技术领域,尤其涉及一种支持多种api协议的数据处理方法及装置。



背景技术:

在普通用户开发的过程中,一般都是遵循一种协议规范,例如restgraphql等。如果一个系统要对接多个系统的时候,而别的系统又是在线上运营的业务,改造原有接口协议会导致成本增大。

单一接口协议规范,无法灵活的对接各色各样的协议的接口而获取需要的数据。现有技术存在以下缺陷:

一,单一的协议形式,一旦协议方式需要变更,导致改造方式繁琐,很容易影响原有的业务。

二,各个平台之间的数据依赖,一种协议存在的方式已经不能满足业务的需求和新协议的更新换代。

三,一旦api的交互方式改变,会对api提供方和使用方都造成多余的改造成本。



技术实现要素:

为了解决上述技术问题,本发明提供了一种支持多种api协议的数据处理方法及装置。

本发明提供了一种支持多种api协议的数据处理方法,包括:

接收不同协议格式的源数据,设置支持不同协议的平台间的接口映射关系;

接收来自源平台的api数据请求消息,api数据请求消息中包括用户请求协议类型;

判断此api数据请求消息所请求的数据所在的平台所支持的协议类型与用户请求协议类型不同时,根据映射关系确定目标平台的api接口调用地址,根据api接口调用地址确定目标平台的数据请求接口地址,根据此数据请求接口地址从目标平台获取原始数据,将此原始数据封装为用户请求协议类型后发送至源平台。

进一步地,上述支持多种api协议的数据处理方法还具有以下特点:

设置支持不同协议的平台间的接口标识与接口调用地址的映射关系包括:

判断接口调用地址对应的数据量,在数据量大于预设数据域值时,使用json格式保存映射关系,在数据量小于预设数据域值时,使用xml格式保存映射关系。

进一步地,上述支持多种api协议的数据处理方法还具有以下特点:

方法还包括:确定出目标平台后,判断源平台和目标平台的所属地域和/或所属运营商不同时,在源平台的所属地域和目标平台的所属地域分别寻找一就近节点并接入。

进一步地,上述支持多种api协议的数据处理方法还具有以下特点:

方法还包括:确定出目标平台后,判断源平台和目标平台的所属地域相同但所属运营商不同时,在所属地域的不同运营商覆盖区域内分别寻找一就近节点并接入。

进一步地,上述支持多种api协议的数据处理方法还具有以下特点:

接口标识包括api标识、协议类型、请求的数据类;

接口调用地址包括ip地址、协议类型、api标识、协议类型、请求的数据类。

本发明提供了一种支持多种api协议的数据处理装置,包括:

映射关系确定模块,用于接收不同协议格式的源数据,设置支持不同协议的平台间的接口映射关系;

接收模块,用于接收来自源平台的api数据请求消息,api数据请求消息中包括用户请求协议类型;

判断模块,用于此api数据请求消息所请求的数据所在的平台所支持的协议类型与用户请求协议类型是否相同;

转换模块,用于在判断模块确定api数据请求消息所请求的数据所在的平台所支持的协议类型与用户请求协议类型不同时,根据映射关系确定目标平台的api接口调用地址,根据api接口调用地址确定目标平台的数据请求接口地址;

数据获取模块,用于使用数据请求接口地址从目标平台获取原始数据;

发送模块,用于将此原始数据封装为用户请求协议类型后发送至源平台。

进一步地,上述支持多种api协议的数据处理装置还具有以下特点:

映射关系确定模块,用于使用以下方法设置支持不同协议的平台间的接口标识与接口调用地址的映射关系:判断接口调用地址对应的数据量,在数据量大于预设数据域值时,使用json格式保存映射关系,在数据量小于预设数据域值时,使用xml格式保存映射关系。

进一步地,上述支持多种api协议的数据处理装置还具有以下特点:

方法还包括转发模块,用于判断源平台和目标平台的所属地域和/或所属运营商不同时,在源平台的所属地域和目标平台的所属地域分别寻找一就近节点并接入。

进一步地,上述支持多种api协议的数据处理装置还具有以下特点:

方法还包括转发模块,判断源平台和目标平台的所属地域相同但所属运营商不同时,在所属地域的不同运营商覆盖区域内分别寻找一就近节点并接入。

进一步地,上述支持多种api协议的数据处理装置还具有以下特点:

接口标识包括api标识、协议类型、请求的数据类;

接口调用地址包括ip地址、协议类型、api标识、协议类型、请求的数据类。

本发明可以同时对接不同协议下的数据提供方的数据,灵活的获取数据提供方的数据,并将不同协议下的数据转换、封装成用户请求协议格式下的数据输出给用户,使用户可以集成多种api交互协议,在不改造已有的接口的形式下,对接多个平台的数据。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是实施例中支持多种api协议的数据处理方法的流程图;

图2是实施例中支持多种api协议的数据处理装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1是实施例中支持多种api协议的数据处理方法的流程图;此方法包括:

步骤1,接收不同协议格式的源数据,设置支持不同协议的平台间的接口标识与接口调用地址的映射关系;

步骤2,接收来自源平台的api数据请求消息,api数据请求消息中包括用户请求协议类型;

步骤3,判断此api数据请求消息所请求的数据所在的平台所支持的协议类型与用户请求协议类型不同时,根据映射关系确定目标平台的api接口调用地址,根据api接口调用地址确定目标平台的数据请求接口地址,根据此数据请求接口地址从目标平台获取原始数据,将此原始数据封装为用户请求协议类型后发送至源平台。

其中,

步骤1中,接口标识包括api标识、协议类型、请求的数据类。接口调用地址包括ip地址、协议类型、api标识、协议类型、请求的数据类。

举例如下:

处理设备中保存有新平台至旧平台1的接口映射关系。

此映射关系中包括api1/graphql/user以及对应的apirestapi2/rest/username。

从新平台接收到api数据请求消息,api数据请求消息中包括用户请求协议类型,api数据请求消息包括api1/graphql/username;其中api是指用户需调用的接口,graphql指用户请求协议类型,username是指请求的数据类。

判断此api数据请求消息所请求的数据所在的平台为旧平台1,此旧平台1所支持的协议类型为rest协议,与用户请求协议类型即graphql不同。

根据映射关系确定目标平台的api接口调用地址为ip1restapi2/rest/username,根据此api接口地址确定旧平台1的数据请求接口地址(此地址为http协议格式),根据此数据请求接口地址从旧平台1获取原始数据,将此原始数据封装为graphql协议类型后发送至新平台。

步骤1中设置支持不同协议的平台间的接口标识与接口调用地址的映射关系包括:判断接口调用地址对应的数据量,在数据量大于预设数据域值时,使用json格式(使用key/value的形式)保存映射关系,在数据量小于预设数据域值时,使用xml格式保存映射关系。

本方法还包括:确定出目标平台后,判断源平台和目标平台的所属地域和/或所属运营商不同时,在源平台的所属地域和目标平台的所属地域分别寻找一就近节点并接入。或者,确定出目标平台后,判断源平台和目标平台的所属地域相同但所属运营商不同时,在所属地域的不同运营商覆盖区域内分别寻找一就近节点并接入。

本方法中的协议类型包括restful协议、graphql协议。

图2是实施例中支持多种api协议的数据处理装置的结构图,此装置包括:

映射关系确定模块,用于接收不同协议格式的源数据,设置支持不同协议的平台间的接口映射关系;

接收模块,用于接收来自源平台的api数据请求消息,api数据请求消息中包括用户请求协议类型;

判断模块,用于此api数据请求消息所请求的数据所在的平台所支持的协议类型与用户请求协议类型是否相同;

转换模块,用于在判断模块确定api数据请求消息所请求的数据所在的平台所支持的协议类型与用户请求协议类型不同时,根据映射关系确定目标平台的api接口调用地址,根据api接口调用地址确定目标平台的数据请求接口地址;

数据获取模块,用于使用数据请求接口地址从目标平台获取原始数据;

发送模块,用于将此原始数据封装为用户请求协议类型后发送至源平台。

其中,

接口标识包括api标识、协议类型、请求的数据类;接口调用地址包括ip地址、协议类型、api标识、协议类型、请求的数据类。

映射关系确定模块,用于使用以下方法设置支持不同协议的平台间的接口标识与接口调用地址的映射关系:判断接口调用地址对应的数据量,在数据量大于预设数据域值时,使用json格式保存映射关系,在数据量小于预设数据域值时,使用xml格式保存映射关系。

本装置包括转发模块,用于判断源平台和目标平台的所属地域和/或所属运营商不同时,在源平台的所属地域和目标平台的所属地域分别寻找一就近节点并接入;或者,用于判断源平台和目标平台的所属地域相同但所属运营商不同时,在所属地域的不同运营商覆盖区域内分别寻找一就近节点并接入。

本发明可以同时对接不同协议下的数据提供方的数据,灵活的获取数据提供方的数据,并将不同协议下的数据转换、封装成用户请求协议格式下的数据输出给用户,使用户可以集成多种api交互协议,在不改造已有的接口的形式下,对接多个平台的数据。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

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