一种api服务器处理大数据的运算方法及其系统的制作方法

文档序号:9690960阅读:1048来源:国知局
一种api服务器处理大数据的运算方法及其系统的制作方法
【技术领域】
[0001]本发明涉及信息技术领域,尤其涉及的是一种API服务器处理大数据的运算方法及其系统。
【背景技术】
[0002]传统API (Applicat1n Programming Interface,即应用程序编程接口)服务器处理API请求包含三个操作:接收请求、业务逻辑运算、返回结果。这三个操作都是在同一个API,即同一个http请求中完成的。决定请求响应速度的主要因素就是业务逻辑运算耗时。
[0003]随着大数据时代的到来,服务器承载的运算量越来越大,业务逻辑运算耗时也越来越长。要减少业务逻辑运算耗时,必须通过并行的方式进行业务逻辑运算,但创建、调度、管理线程是一项复杂而且容易出错的工作,所以往往需要借助像Storm这样的分布式并行计算框架。
[0004]一般的做法是将API服务器业务逻辑运算抽离出来,放到Storm (分布式实时计算系统,也即是Twitter开源的一个分布式的实时计算系统)中,API服务器通过DRPC(Distribute Remote Procedure Call Protocol,即分布式远程过程调用协议)的方式提交请求到Storm,然后等待请求返回。当Client请求量较小的时候,通过Storm并行计算能力能减少业务逻辑运算耗时。但是Storm运算能力是有限的,当客户端并发请求数增大的时候,API服务器对Storm的DRPC并发请求数也会增大,当它超过Storm的运算能力时,Storm就会让DPRC请求进入队列排队,从而后面的DPRC请求的响应时间就会变长。API服务器的连接线程会被DRPC请求阻塞起来,无法处理新的请求,很快当连接线程池耗尽的时候,API服务器就会不可用,这对客户端来说是不友好的。
[0005]因此,现有技术还有待于改进和发展。

【发明内容】

[0006]本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种API服务器处理大数据的运算方法及其系统,可有效解决现有技术中API服务器在处理大数据时存在的高延迟、低吞吐量的缺陷。
[0007]本发明解决技术问题所采用的技术方案如下:
一种API服务器处理大数据的运算方法,其中,所述方法包括步骤:
A、客户端接收用户的操作指令,向API服务器发送请求数据;
B、所述API服务器接收所述请求数据,并将所述请求数据发送至消息队列集群缓冲,所述消息队列集群再将所述请求数据发送至分布式实时计算系统集群;
C、所述分布式实时计算系统集群对所述请求数据进行业务逻辑运算,并将得到的运算结果发送至数据库存储;
D、当客户端接收到用户的结果获取指令时,向API服务器发送所述结果获取指令,所述API服务器据所述结果获取指令在数据库中查询所述运算结果并返回至客户端。
[0008]所述API服务器处理大数据的运算方法,其中,所述步骤B具体包括:
B1、所述API服务器接收所述数据请求,并生成一与所述请求数据相对应的请求数据身份标识;
B2、所述API将所述请求数据身份标识发送至客户端,并将所述请求数据及所述请求数据身份标识发送至消息队列集群缓冲;
B3、所述消息队列集群接收所述请求数据及所述请求数据身份标识,并将所述请求数据发送至分布式实时计算系统集群。
[0009]所述API服务器处理大数据的运算方法,其中,所述数据库为Redis数据库。
[0010]所述API服务器处理大数据的运算方法,其中,所述步骤D具体包括:
D1、当客户端接收到用户的结果获取指令时,将所述请求数据身份标识发送至API服务器;
D2、所述API服务器接收所述请求数据身份标识,并根据所述请求数据身份标识在所述数据库中查询对应的运算结果;
D3、当查询到所述运算结果时,则将所述运算结果发送至客户端。
[0011]所述API服务器处理大数据的运算方法,其中,所述步骤D3之后还包括:
D4、当未查询到所述运算结果时,所述客户端再次发出结果获取指令,并返回执行步骤
D1
[0012]一种API服务器处理大数据的运算系统,其中,包括:
请求发送模块,用于客户端接收用户的操作指令,向API服务器发送请求数据;
缓存及发送模块,用于所述API服务器接收所述请求数据,并将所述请求数据发送至消息队列集群缓冲,所述消息队列集群再将所述请求数据发送至分布式实时计算系统集群;
运算及存储模块,用于所述分布式实时计算系统集群对所述请求数据进行业务逻辑运算,并将得到的运算结果发送至数据库存储;
结果获取模块,用于当客户端接收到用户的结果获取指令时,所述API服务器在数据库中查询所述运算结果并返回至客户端。
[0013]所述API服务器处理大数据的运算系统,其中,所述缓存及发送模块具体包括: 标识生成单元,用于所述API服务器接收所述数据请求,并生成一与所述请求数据相对应的请求数据身份标识;
数据及标识发送单元,用于所述API将所述请求数据身份标识发送至客户端,并将所述请求数据及所述请求数据身份标识发送至消息队列集群缓冲;
缓存数据发送单元,用于所述消息队列集群接收所述请求数据及所述请求数据身份标识,并将所述请求数据发送至分布式实时计算系统集群。
[0014]所述API服务器处理大数据的运算系统,其中,所述数据库为Redis数据库。
[0015]所述API服务器处理大数据的运算系统,其中,所述结果获取模块具体包括: 标识发送单元,用于当客户端接收到用户的结果获取指令时,将所述请求数据身份标识发送至API服务器;
结果查询单元,用于所述API服务器接收所述请求数据身份标识,并根据所述请求数据身份标识在所述数据库中查询对应的运算结果;
结果反馈单元,用于当查询到所述运算结果时,则将所述运算结果发送至客户端。
[0016]所述API服务器处理大数据的运算系统,其中,所述结果获取模块还包括:
重复查询单元,用于当未查询到所述运算结果时,所述客户端再次发出结果获取指令,
并将所述请求数据身份标识再次发送至API服务器。
[0017]本发明所提供的一种API服务器处理大数据的运算方法及其系统,方法包括:客户端接收用户的操作指令,向API服务器发送请求数据;所述API服务器接收所述请求数据,并将所述请求数据发送至消息队列集群缓冲,所述消息队列集群再将所述请求数据发送至分布式实时计算系统集群;所述分布式实时计算系统集群对所述请求数据进行业务逻辑运算,并将得到的运算结果发送至数据库存储;当客户端接收到用户的结果获取指令时,向API服务器发送所述结果获取指令,所述API服务器据所述结果获取指令在数据库中查询所述运算结果并返回至客户端。本发明提供了一种低延迟、高性能、易扩展的两步式API服务器实现方法,避免了 API服务器在处理大数据时出现的高延迟、低吞吐量的问题。
【附图说明】
[0018]图1是本发明所述API服务器处理大数据的运算方法的较佳实施例的流程图。
[0019]图2是本发明所述API服务器处理大数据的运算方法中缓存及发送请求数据的具体流程图。
[0020]图3是本发明所述API服务器处理大数据的运算方法中运算结果获取的具体流程图。
[0021]图4是本发明所述API服务器处理大数据的运算系统的较佳实施例的结构框图。
[0022]图5是本发明所述API服务器处理大数据的运算系统的结构示意图。
【具体实施方式】
[0023]为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]请参见图1,图1是本发明所述API服务器处理大数据的运算方法较佳实施例的流程图。如图1所示,所述API服务器处理大数据的运算方法,包括以下步骤:
步骤S100、客户端接收用户的操作指令,向API服务器发送
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1