Http应用程序接口调用方法与装置制造方法

文档序号:6489309阅读:273来源:国知局
Http应用程序接口调用方法与装置制造方法
【专利摘要】本发明实施例公开了一种HTTP应用程序接口调用方法与装置。其中,该方法包括根据业务需求和系统性能需求确定各开放平台中的应用程序接口API的调用分发机制;接收客户端发起的API调用请求;判断所请求的API调用所采用的机制;在所请求的API采用代理方式调用的情况下,由API调度分发系统作为代理服务器向客户端提供所请求的结果;在所请求的API采用HTTP重定向方式调用的情况下,向客户端反馈重定向信息,以使客户端根据获取的重定向信息直接从目标开放平台获取请求结果。本发明实施例不仅兼顾了开发者对于开放平台的开发需求,而且也满足了运营商对于开放平台的运营和性能需求。
【专利说明】HTTP应用程序接口调用方法与装置
【技术领域】
[0001]本发明涉及互联网综合平台领域,特别地,涉及一种HTTP应用程序接口调用方法
与装置。
【背景技术】
[0002]目前,互联网公司普遍将自身的核心服务以HTTP(HypertextTransfer Protocol,超文本传输协议)API (Application ProgramInterface,应用程序接口)的方式开放出来,供外界的合作伙伴和开发者调用,进而通过这种方式拓展自身业务能力的应用范围。这种API开放的管理平台称之为开放平台。随着越来越多的开放平台被架设,开发者如需集成多家开放平台的能力,则需按照不同的流程和步骤接入多家开放平台,同时还要适应各个开放平台中不同风格的API接口,给开发者带来了巨大的不便。

【发明内容】

[0003]本发明实施例要解决的一个技术问题是提供一种HTTP应用程序接口调用方法与装置,不仅能够为开发者提供统一风格的API接口,而且还可以满足业务和系统性能的需求。
[0004]本发明实施例提供了一种HTTP应用程序接口调用方法,包括根据业务需求和系统性能需求确定各开放平台中的应用程序接口 API的调用分发机制,调用分发机制包括代理方式和HTTP重定向方式;接收客户端发起的API调用请求;判断所请求的API调用所采用的机制;在所请求的API采用代理方式调用的情况下,由API调度分发系统作为代理服务器向客户端提供所请求的结果;在所请求的API采用HTTP重定向方式调用的情况下,向客户端反馈重定向信息,以使客户端根据获取的重定向信息直接从目标开放平台获取请求结果O
[0005]可选地,该方法还包括预先按照设定方式封装各开放平台中的API ;将封装后的各开放平台中的API注册到API调度分发系统。
[0006]可选地,根据业务需求和系统性能需求确定各开放平台中的应用程序接口 API的调用分发机制的步骤包括根据对各开放平台中的API的管控力度确定是否采用代理方式;根据对各开放平台中的API的调用效率的要求确定是否采用HTTP重定向方式。
[0007]可选地,由API调度分发系统作为代理服务器向客户端提供所请求的结果的步骤包括根据API调用请求属性向目标开放平台发送代理请求;目标开放平台向API调度分发系统返回请求结果;API调度分发系统将请求结果转发给客户端。
[0008]可选地,客户端根据获取的重定向信息直接从目标开放平台获取请求结果的步骤包括根据API调用请求属性进行系统重定向,并将重定向信息发送至客户端;客户端根据重定向信息直接向目标开放平台发起API调用请求;目标开放平台将请求结果返回给客户端。
[0009]本发明实施例还提供了一种HTTP应用程序接口调用装置,包括调用分发机制确定单元,用于根据业务需求和系统性能需求确定各开放平台中的应用程序接口 API的调用分发机制,调用分发机制包括代理方式和HTTP重定向方式;调用请求接收单元,用于接收客户端发起的API调用请求;调用分发机制判断单元,用于判断所请求的API调用所采用的机制;代理方式处理单元,用于在所请求的API采用代理方式调用的情况下,将HTTP应用程序接口调用装置作为代理服务器向客户端提供所请求的结果;重定向方式处理单元,用于在所请求的API采用HTTP重定向方式调用的情况下,向客户端反馈重定向信息,以使客户端根据获取的重定向信息直接从目标开放平台获取请求结果。
[0010]可选地,该装置还包括API封装单元,用于预先按照设定方式封装各开放平台中的API ;API注册单元,用于将封装后的各开放平台中的API注册到API调度分发系统。
[0011]可选地,调用分发机制确定单元根据对各开放平台中的API的管控力度确定是否采用代理方式,并根据对各开放平台中的API的调用效率的要求确定是否采用HTTP重定向方式。
[0012]可选地,代理方式处理单元包括代理请求发送子单元,用于根据API调用请求属性向目标开放平台发送代理请求;请求结果接收子单元,用于接收目标开放平台发送的请求结果;请求结果发送子单元,用于将请求结果转发给客户端。
[0013]本发明实施例提供的HTTP应用程序接口调用方法与装置,可以通过HTTP重定向和代理(proxy)两种方式对各开放平台中的API进行调用,进而使得运营商可以根据业务需求和系统性能需求灵活地对各API进行系统配置,此外,API的调用者无需关心系统内部对API的调用方式。由此可见,本发明实施例不仅兼顾了开发者对于开放平台的开发需求,而且也满足了运营商对于开放平台的运营和性能需求。
【专利附图】

【附图说明】
[0014]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分。在附图中:
[0015]图1是本发明HTTP应用程序接口调用方法的一个实施例的流程示意图。
[0016]图2是本发明HTTP应用程序接口调用方法的另一实施例的流程示意图。
[0017]图3是本发明重定向方式的API调用示意图。
[0018]图4是本发明代理方式的API调用示意图。
[0019]图5是本发明HTTP应用程序接口调用装置的一个实施例的结构示意图。
[0020]图6是本发明HTTP应用程序接口调用装置的另一实施例的结构示意图。
[0021]图7是本发明HTTP应用程序接口调用装置的又一实施例的结构示意图。
【具体实施方式】
[0022]下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。
[0023]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0024]本发明下述实施例通过API调度分发系统(又称为HTTP应用程序接口调用装置)对各开放平台中的API进行集中管理与调度,开发者在调用API的时候只需要访问本系统,本系统将根据调用的API注册信息自动分发至各开放平台,其中,API注册信息指该API在本系统注册时提供的API自身相关信息,如API名称、API URL (UniversalResourceLocator,统一资源定位器)、API功能描述、API性能描述等。通过API注册信息,运营商可以确定该API的调用方式。同时对于不同类别的API还可以提供不同类型的调用分发机制,以保证系统管理方对于API的调用效率和API的管控力度。对于管控力度要求高的API采取proxy方式,对于调用效率要求高的API采取HTTP重定向方式。
[0025]图1是本发明HTTP应用程序接口调用方法的一个实施例的流程示意图。
[0026]如图1所示,该实施例可以包括以下步骤:
[0027]S102,根据业务需求和系统性能需求确定各开放平台中的应用程序接口 API的调用分发机制,调用分发机制可以包括但不限于代理方式和HTTP重定向方式,由于代理方式下的所有请求都要经过平台,而重定向方式是由系统重定向后由调用方和提供方直接对接,因此,代理方式对于API的管理较为严格,重定向方式对位API的管理较为宽松,进而可以根据业务需求和系统性能确定采用哪种方式;
[0028]S104,接收客户端发起的API调用请求;
[0029]S106,判断所请求的API调用所采用的机制;
[0030]S108,在所请求的API采用代理方式调用的情况下,由API调度分发系统作为代理服务器向客户端提供所请求的结果;
[0031]S110,在所请求的API采用HTTP重定向方式调用的情况下,向客户端反馈重定向信息,以使客户端根据获取的重定向信息直接从目标开放平台获取请求结果。
[0032]该实施例可以通过HTTP重定向和proxy两种方式对各开放平台中的API进行调用,进而使得运营商可以根据业务需求和系统性能需求灵活地对各API进行系统配置,此夕卜,API的调用者无需关心系统内部对API的调用方式,即API的调用方式对开发者不可见。由此可见,本发明实施例不仅兼顾了开发者对于开放平台的开发需求,而且也满足了运营商对于开放平台的运营和性能需求。
[0033]图2是本发明HTTP应用程序接口调用方法的另一实施例的流程示意图。
[0034]如图2所示,该实施例可以包括以下步骤:
[0035]S202,预先按照设定方式封装各开放平台中的API ;
[0036]S204,将封装后的各开放平台中的API注册到API调度分发系统;
[0037]步骤S206-S214 与步骤 S102-S110 相同。
[0038]例如,可以首先制定一套标准的完全基于HTTP协议的接口方式,例如,REST(Representational State Transfer,表述性状态转移)风格的HTTP API,其他开放平台的API均按照此方式封装并在本系统中进行注册,通过此方式,开发者仅需要熟悉一套通用标准的API调用方式即可使用本系统提供的多家开放平台的API。
[0039]在该实施例中,各开放平台均按照设定的统一格式对各开放平台中的API进行封装,使得API调用者可以方便地按照相同的流程和步骤调用多家开放平台,为调用者提供了很大的便利性。
[0040]进一步地,步骤S102可以通过以下具体方式来实现:根据对各开放平台中的API的管控力度确定是否采用代理方式;根据对各开放平台中的API的调用效率的要求确定是否采用HTTP重定向方式。[0041]例如,对于管控力度要求高的API可以采用代理方式,对于调用效率要求高的API可以采用HTTP重定向方式,如果对这两者均没有限制,则可以采用任一种调用方式。
[0042]其中,涉及到用户敏感信息、支付类接口等安全性要求较高的接口都属于管控力度要求较高的API,此类接口通过代理方式可以提升数据在传输过称中的安全性。在代理方式下,由于所有请求都由系统作为代理服务器进行转发,即所有请求都会经过系统处理,因此资源消耗较大。在保证安全性和管控力度之外,可能会受到系统处理能力的限制,因此调用效率将会降低。
[0043]进一步地,步骤S108中的代理方式可以通过如下方式实现:根据API调用请求属性向目标开放平台发送代理请求;目标开放平台向API调度分发系统返回请求结果;API调度分发系统将请求结果转发给客户端。
[0044]步骤SllO中的重定向方式可以通过如下方式实现:根据API调用请求属性进行系统重定向,并将重定向信息发送至客户端;客户端根据重定向信息直接向目标开放平台发起API调用请求;目标开放平台将请求结果返回给客户端。
[0045]其中,API调用请求属性包括在进行API注册时提供的API提供方、API名称、API用途以及API作用。
[0046]在进行API注册时,可以根据上述调用请求属性确定是采用代理请求方式还是采用重定向方式。例如,某些API的调用涉及敏感信息、或者为支付类接口等安全性要求较高的接口,可以将对该类接口的调用设置为代理方式。
[0047]需要指出的是,在API调用过程中,还可以实时调整调用方式。例如,当某些API被调用的频率较高,可以将其从代理模式调整为重定向模式,以降低对API调度分发系统的影响。
[0048]当采用重定向方式时,可以采用HTTP 307 (Temporary Redirect)方式,对于每一次调用请求,本系统都将视为一次完整的请求转发。重定向后开发者都是与目标开放平台直接进行交互,不经由API调度分发系统,因此重定向方式对系统性能消耗相对较小。因此,如对系统性能方面要求较高时,则可以采用重定向方式。如需将性能消耗降至最低,则可以将API调用请求属性中的缓冲是否使能的开关设置为使能,在设定的系统缓冲期内,如果客户端多次访问目标开放平台,则在第一次获得目标开放平台的重定向信息后无需再次经过API调度分发系统而可以直接访问目标开放平台。
[0049]接下来,再通过一个具体实例对HTTP应用程序接口调用方法进行说明。
[0050]对于API的接口规范,与本发明实施例相关的参数为cacheable,其类型为字符串,默认取值为true,该参数仅用于重定向方式。当cacheable为true时,API调度分发系统重定向响应将包括HTTP缓冲首部,在缓冲有效期内,应用可使用本地缓存的重定向响应直接访问各开放平台侧接口,而无需API调度分发系统介入调用请求过程;当cacheable为false时,将强制API调度分发系统重定向响应不包括HTTP缓冲首部,应用的每次请求均将由经API调度分发系统重定向至实际的各开放平台侧调用接口。
[0051]换句话说,当cacheable参数设定为true时,系统将按照设定的缓存时间对调用请求进行缓存。缓存期内的接口调用将不经过系统重定向,由客户端直接向目标开放平台发起请求。当cacheable参数设定为false时,则每次客户端的请求都将经过系统重定向。
[0052]举例说明,如果某开发者短时间内调用同一 API 1000次,则将该参数设置为true,这样在缓冲期内每次对该接口的调用将直接访问目标开放平台,不再经过API调度分发系统。当开发者需要确保每次请求都无误的重定向至目标开放平台时,则将该参数设置为false,这样每次请求都由API调度分发系统根据API注册信息重定向至正确的地址。
[0053]图3是本发明重定向方式的API调用示意图。
[0054]如图3所示,该重定向方式的流程如下:
[0055]S302,客户端向API调度分发系统发起API调用请求;
[0056]S304,API调度分发系统根据该API的请求属性进行系统重定向,并将重定向信息发送至客户端,其中,该重定向信息主要指该接口的真实URL ;
[0057]S306,客户端根据重定向信息向目标开放平台发起API调用请求;
[0058]S308,目标开放平台向客户端返回请求结果。
[0059]图4是本发明代理方式的API调用示意图。
[0060]如图4所示,该代理方式的流程如下:
[0061]S402,客户端向API调度分发系统发起API调用请求;
[0062]S404, API调度分发系统根据该API的请求属性向目标开放平台发起代理请求;
[0063]S406,目标开放平台向API调度分发系统返回请求结果;
[0064]S408, API调度分发系统向客户端返回请求结果。
[0065]本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
[0066]图5是本发明HTTP应用程序接口调用装置的一个实施例的结构示意图。
[0067]如图5所示,该实施例中的装置50可以包括调用分发机制确定单元502、调用请求接收单元504、调用分发机制判断单元506、代理方式处理单元508和重定向方式处理单元510。
[0068]其中,调用分发机制确定单元502根据业务需求和系统性能需求确定各开放平台中的应用程序接口 API的调用分发机制,调用分发机制包括代理方式和HTTP重定向方式;调用请求接收单元504接收客户端发起的API调用请求;调用分发机制判断单元506判断所请求的API调用所采用的机制;在所请求的API采用代理方式调用的情况下,代理方式处理单元508将HTTP应用程序接口调用装置作为代理服务器向客户端提供所请求的结果;在所请求的API采用HTTP重定向方式调用的情况下,重定向方式处理单元510向客户端反馈重定向信息,以使客户端根据获取的重定向信息直接从目标开放平台获取请求结果。
[0069]该实施例能够对于调用频次较高且管控力度较低、或可能对系统造成负载过重的API采取HTTP 307重定向的调用方式,而对于需对API调用进行诸如参数解析、计费和调用统计等高级控制的API采用代理方式进行调用,以确保对API调用的控制。可见,该实施例可以灵活地配置API的调用方式,一方面保证开发者可以正确地使用不同类型的HTTPAPI,另一方面,还可以充分利用硬件资源,实现以较小的资源消耗完成海量API调用的分发。
[0070]图6是本发明HTTP应用程序接口调用装置的另一实施例的结构示意图。
[0071]如图6所示,与图5中的实施例相比,该实施例中的装置60还包括API封装单元602和API注册单元604。[0072]其中,API封装单元602预先按照设定方式封装各开放平台中的API ;API注册单元604将封装后的各开放平台中的API注册到API调度分发系统。
[0073]该实施例能够通过API注册的方式对多个开放平台的API进行集中管理。
[0074]进一步地,调用分发机制确定单元根据对各开放平台中的API的管控力度确定是否采用代理方式,并根据对各开放平台中的API的调用效率的要求确定是否采用HTTP重定向方式。
[0075]图7是本发明HTTP应用程序接口调用装置的又一实施例的结构示意图。
[0076]如图7所示,与图5中的实施例相比,该实施例中的装置70中的代理方式处理单元702可以包括代理请求发送子单元702a、请求结果接收子单元702b和请求结果发送子单元 702c。
[0077]其中,代理请求发送子单元702a根据API调用请求属性向目标开放平台发送代理请求;请求结果接收子单元702b接收目标开放平台发送的请求结果;请求结果发送子单元702c将请求结果转发给客户端。
[0078]本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
[0079]本发明的上述实施例可以灵活地对API的调用方式进行配置,根据API的业务特点和性能特点加以区分,以保证系统的负载均衡,并满足开发者和其他开放平台的业务需求。
[0080]虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
【权利要求】
1.一种HTTP应用程序接口调用方法,其特征在于,包括: 根据业务需求和系统性能需求确定各开放平台中的应用程序接口 API的调用分发机制,所述调用分发机制包括代理方式和HTTP重定向方式; 接收客户端发起的API调用请求; 判断所请求的API调用所采用的机制; 在所请求的API采用代理方式调用的情况下,由API调度分发系统作为代理服务器向所述客户端提供所请求的结果; 在所请求的API采用HTTP重定向方式调用的情况下,向所述客户端反馈重定向信息,以使所述客户端根据获取的重定向信息直接从目标开放平台获取请求结果。
2.根据权利要求1所述的HTTP应用程序接口调用方法,其特征在于,所述方法还包括: 预先按照设定方式封装各开放平台中的API ; 将封装后的各开放平台中的API注册到所述API调度分发系统。
3.根据权利要求1所述的HTTP应用程序接口调用方法,其特征在于,所述根据业务需求和系统性能需求确定各开放平台中的应用程序接口 API的调用分发机制的步骤包括: 根据对各开放平台中的API的管控力度确定是否采用代理方式; 根据对各开放平台中的API的调用效率的要求确定是否采用HTTP重定向方式。
4.根据权利要求1所述的HTTP应用程序接口调用方法,其特征在于,由所述API调度分发系统作为代理服务器向所述客户端提供所请求的结果的步骤包括: 根据所述API调用请求属性向目标开放平台发送代理请求; 所述目标开放平台向所述API调度分发系统返回请求结果; 所述API调度分发系统将请求结果转发给所述客户端。
5.根据权利要求1所述的HTTP应用程序接口调用方法,其特征在于,所述客户端根据获取的重定向信息直接从目标开放平台获取请求结果的步骤包括: 根据所述API调用请求属性进行系统重定向,并将重定向信息发送至所述客户端; 所述客户端根据所述重定向信息直接向目标开放平台发起所述API调用请求; 所述目标开放平台将请求结果返回给所述客户端。
6.一种HTTP应用程序接口调用装置,其特征在于,包括: 调用分发机制确定单元,用于根据业务需求和系统性能需求确定各开放平台中的应用程序接口 API的调用分发机制,所述调用分发机制包括代理方式和HTTP重定向方式; 调用请求接收单元,用于接收客户端发起的API调用请求; 调用分发机制判断单元,用于判断所请求的API调用所采用的机制; 代理方式处理单元,用于在所请求的API采用代理方式调用的情况下,将所述HTTP应用程序接口调用装置作为代理服务器向所述客户端提供所请求的结果; 重定向方式处理单元,用于在所请求的API采用HTTP重定向方式调用的情况下,向所述客户端反馈重定向信息,以使所述客户端根据获取的重定向信息直接从目标开放平台获取请求结果。
7.根据权利要求6所述的HTTP应用程序接口调用装置,其特征在于,所述装置还包括:API封装单元,用于预先按照设定方式封装各开放平台中的API ; API注册单元,用于将封装后的各开放平台中的API注册到所述API调度分发系统。
8.根据权利要求6所述的HTTP应用程序接口调用装置,其特征在于,所述调用分发机制确定单元根据对各开放平台中的API的管控力度确定是否采用代理方式,并根据对各开放平台中的API的调用效率的要求确定是否采用HTTP重定向方式。
9.根据权利要求6所述的HTTP应用程序接口调用装置,其特征在于,所述代理方式处理单元包括: 代理请求发送子单元,用于根据所述API调用请求属性向目标开放平台发送代理请求; 请求结果接收子单元,用于接收所述目标开放平台发送的请求结果; 请求结果发 送子单元,用于将请求结果转发给所述客户端。
【文档编号】G06F9/44GK103699367SQ201210365760
【公开日】2014年4月2日 申请日期:2012年9月27日 优先权日:2012年9月27日
【发明者】王大中, 曹敏, 陆音, 张正风, 钱逸群 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1