基于开放的应用程序编程接口的数据推送方法和装置的制造方法

文档序号:9814162阅读:303来源:国知局
基于开放的应用程序编程接口的数据推送方法和装置的制造方法
【技术领域】
[0001]本申请涉及互联网领域,特别涉及一种基于开放的应用程序编程接口的数据推送方法和装置。
【背景技术】
[0002]在互联网时代,可以把网站的某些服务封装成一系列计算机易识别的应用程序编程接口(API)开放出去,供第三方开发者使用,这种API就叫做Open API。而提供Open API的平台称为开放平台。Open API的调用通过互联网以超文本传输协议(HTTP-Hypertexttransfer protocol)进行传输,客户端每调用一次Open API,就可以向服务器提交一次请求,服务器收到请求处理后返回结果给客户端。基于开放平台业务的不断发展,围绕开放平台进行开发的开发者越来越多,对获取数据和传输数据的要求也越来越高,尤其对大数据的实时传输和共享有更高的诉求,并且要求通过授权机制,使数据通过开放平台可以安全快速的在多个客户端之间流转。
[0003]现有的基于开放平台的数据推送方法是,通过客户端(即调用方)组装请求信息并调用Open API,客户端可以通过此调用建立起和服务器之间的连接并向服务器端发起请求,服务器对请求信息处理后将结果返回给客户端。
[0004]但是发明人在研究过程中发现,每次Open API调用中,受限于HTTP协议的限制,客户端携带和服务器返回的数据量都有限,数据推送量比较小,所以当面对需要获取大量数据或者上传大量数据的时候,不得不多次调用Open API已达到目的。因此,现有技术在大数据推送的应用上效率极低,而且短时间内大量的调用会对服务器造成很大的压力,影响服务器的性能。

【发明内容】

[0005]本申请所要解决的技术问题是提供基于开放的应用程序编程接口的数据推送方法,用以尽量解决现有技术中由于每次Open API调用中的数据推送量太小而导致在大数据推送时效率低下的问题,从而也尽量避免短时间内对Open API的大量调用,尽量降低服务器的压力,也尽量提升服务器的性能。
[0006]本申请还提供了基于开放的应用程序编程接口的数据推送装置及服务器,用以保证上述方法在实际中的实现及应用。
[0007]为了解决上述问题,本申请公开了一种基于开放的应用程序编程接口的数据推送方法,包括:
[0008]客户端注册流程和数据推送流程,
[0009]所述客户端注册流程包括:
[0010]响应于各个提供数据客户端发送的注册请求,对应保存所述各个提供数据客户端的第一身份信息和第一权限信息;所述第一身份信息用于唯一标识一个提供数据客户端,所述第一权限信息用于表示提供数据客户端可调用的开放的应用程序编程接口;[0011 ] 所述数据推送流程包括:
[0012]响应于当前提供数据客户端发起的、当前开放的应用程序编程接口的调用请求,对所述当前提供数据客户端的当前第一身份信息和当前第一权限信息进行鉴权;
[0013]如果鉴权通过,则建立与所述当前提供数据客户端之间的长连接;
[0014]在所述长连接上接收所述当前提供数据客户端推送的目标数据。
[0015]本申请还公开了另外一种基于开放的应用程序编程接口的数据推送方法,包括:客户端订阅流程和数据推送流程,
[0016]所述客户端订阅流程包括:
[0017]响应于各个订阅数据客户端发送的订阅请求,对所述订阅数据客户端的各个第二身份信息和第二权限信息进行鉴权;所述第二身份信息用于唯一标识订阅数据客户端,所述第二权限信息用于表示订阅数据客户端所订阅数据的订阅类型;
[0018]如果鉴权通过,则建立与所述订阅数据客户端之间的长连接;
[0019]所述数据推送流程包括:
[0020]判断当前是否接收到所述订阅类型的目标数据,如果是,则在所述长连接上向所述订阅数据客户端推送所述订阅类型的目标数据。
[0021]本申请公开了基于开放的应用程序编程接口的数据推送装置,包括:
[0022]注册响应模块,用于响应于各个提供数据客户端发送的注册请求,对应保存所述各个提供数据客户端的第一身份信息和第一权限信息;所述第一身份信息用于唯一标识一个提供数据客户端,所述第一权限信息用于表示提供数据客户端可调用的开放的应用程序编程接口 ;
[0023]第一鉴权模块,用于响应于当前提供数据客户端发起的、当前开放的应用程序编程接口的调用请求,对所述当前提供数据客户端的当前第一身份信息和当前第一权限信息进行鉴权;
[0024]第一建立长连接模块,用于在所述第一鉴权模块的结果通过的情况下,建立与当前提供数据客户端之间的长连接;
[0025]接收模块,用于在所述长连接上接收所述当前提供数据客户端推送的目标数据。
[0026]本申请还公开了另外一种基于开放的应用程序编程接口的数据推送装置,包括:
[0027]第二鉴权模块,响应于各个订阅数据客户端发送的订阅请求,对所述订阅数据客户端的各个第二身份信息和第二权限信息进行鉴权;所述第二身份信息用于唯一标识订阅数据客户端,所述第二权限信息用于表示订阅数据客户端所订阅数据的订阅类型;
[0028]第二建立长连接模块,用于在第二鉴权模块鉴权通过的情况下,建立与所述订阅数据客户端之间的长连接;
[0029]第二判断模块,用于判断当前是否接收到所述订阅类型的目标数据;
[0030]第二数据推送模块,用于在所述第二判断模块的结果为是的情况下,在所述长连接上向所述订阅数据客户端推送所述订阅类型的目标数据。
[0031]本申请还公开了服务器,包括:前述的任一项基于开放的应用程序编程接口的数据推送装置。
[0032]与现有技术相比,本申请包括以下优点:
[0033]在本申请实施例中,服务器通过建立与客户端之间的长连接,而长连接的维持时间较长,例如可以达到24小时,因此可以实现一次对Open API的一次调用从而多次在建立的长连接推送数据的目的,与现有技术相比,这样每一次调用所能推送的数据量就更大,从而可以尽量避免短时间内对Open API的大量调用,并在大数据推送时提高推送效率。而由于客户端与服务器之间的交互少了,自然也就降低了服务器的压力,从而提升服务器的性倉泛。
[0034]当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
【附图说明】
[0035]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036]图1是本申请的基于开放的应用程序编程接口的数据推送方法实施例1的流程图;
[0037]图2是本申请的方法实施例的应用场景的示意图;
[0038]图3是本申请的基于开放的应用程序编程接口的数据推送方法实施例2的流程图;
[0039]图4为本申请的基于开放的应用程序编程接口的数据推送装置实施例1的结构框图;
[0040]图5为本申请的基于开放的应用程序编程接口的数据推送装置实施例2的结构框图。
【具体实施方式】
[0041]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
[0043]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1