CN104580095A - 一种获取api资源的方法及装置 - Google Patents
一种获取api资源的方法及装置 Download PDFInfo
- Publication number
- CN104580095A CN104580095A CN201310498652.8A CN201310498652A CN104580095A CN 104580095 A CN104580095 A CN 104580095A CN 201310498652 A CN201310498652 A CN 201310498652A CN 104580095 A CN104580095 A CN 104580095A
- Authority
- CN
- China
- Prior art keywords
- api
- api resource
- message
- terminal
- request message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种获取API资源的方法及装置,用以解决终端无法获取API资源,以及获取API资源成本高的问题。方法为,接收到预设时长范围内的各个终端发送的API资源请求消息后,根据所有终端发送的API资源请求消息生成API请求包,并将该API请求包发送至API服务器。采用本发明技术方案,将所有终端发送的API资源请求消息整合为一个API请求包,基于该API请求包发送一次API资源请求,仅占用一次API调用次数即可获取多个终端发送的API资源请求消息对应的API资源响应消息,从而避免了API资源快速消耗,有效节约了API资源以及成本。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种获取API资源的方法及装置。
背景技术
随着通信技术的飞速发展,越来越多的用户通过终端获取免费的API(Application Programming Interface;应用程序编程接口)资源(如在线地图资源等),其中,终端通常通过登录集成有API资源的运营商页面,该运营商通过上述API资源的提供商获取API资源。
由于集成有不同API资源的任意一个运营商对应的免费API调用次数不同,因此,当运营商所服务的用户数目庞大时,大量的API资源请求将导致该运营商对应的免费API资源被快速消耗完毕,此时,当仍存在用户请求获取上述API资源时,运营商将需要通过付费方式获取非免费API资源,从而增加了成本。
例如,在用户通过终端登录集成Map A工具的运营商页面查找运营商网点、wifi热点、合作伙伴等位置信息时,上述提供Map A工具的公司对该MapA提供的免费API调用次数规定了上限API调用次数,每天每个API的上限调用次数为N次。参阅图1所示,终端获取Map A对应的API资源的流程为:
步骤100:终端接收用户指示,登录运营商A的页面,并切换至Map A对应的功能页面。
步骤110:终端根据用户的指示,向运营商A的服务器发送API资源请求消息。
步骤120:运营商A的服务器接收到该API资源请求消息后,将该API资源请求消息发送至Map A对应的服务器。
步骤130:Map A对应的服务器接收到上述API资源请求消息后,查询本地存储的当前时刻运营商A的可用API资源调用次数,若该可用API资源调用次数不为零,则将该可用API资源调用次数减一后,更新可用API资源调用次数,并返回API资源响应消息;若该可用API资源调用次数为零,则运营商A需要向Map A对应的服务器付费,当Map A对应的服务器确认付费成功后,返回API资源响应消息。
其中,若运营商A当天在上述API资源请求消息之前未发起任意一API资源请求消息,则上述可用API资源调用次数即为上限调用次数。
步骤140:运营商A将上述API资源响应消息转发至终端。
步骤150:终端根据上述API资源响应消息,在本地呈现Map A调用结果。
通常,当可用API资源调用次数为零,且运营商A不对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资源请求消息数量未达到预设消息数量门限值,且获取的可用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资源调用次数,以及所述低优先级请求包中每一条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资源请求消息数量达到预设消息数量门限值,或者,所述可用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资源请求消息生成API请求包,并将该API请求包发送至API服务器。采用本发明技术方案,将所有终端发送的API资源请求消息整合为一个API请求包,基于该API请求包发送一次API资源请求,仅占用一次API调用次数即可获取多个终端发送的API资源请求消息对应的API资源响应消息,从而避免了API资源快速消耗,有效节约了API资源以及成本。
附图说明
图1为现有技术中终端获取API资源的流程图;
图2为本发明实施例中API资源获取系统架构示意图;
图3为本发明实施例中获取API资源的流程图;
图4为本发明实施例中获取API资源示意图一;
图5为本发明实施例中获取API资源示意图二;
图6为本发明实施例中API资源获取系统中各个设备之间的信息交互示意图;
图7为本发明实施例中获取API资源装置结构示意图;
图8为本发明实施例中获取API资源设备结构示意图。
具体实施方式
为了解决目前在终端请求API资源的过程中,存在当已用API调用次数达到上限API调用次数时,终端无法获取API资源,以及获取API资源成本高的问题。本发明实施例中,接收到预设时长范围内的各个终端发送的API资源请求消息后,根据所有终端发送的API资源请求消息生成API请求包,并将该API请求包发送至API服务器。采用本发明技术方案,将所有终端发送的API资源请求消息整合为一个API请求包,基于该API请求包发送一次API资源请求,仅占用一次API调用次数即可获取多个终端发送的API资源请求消息对应的API资源响应消息,从而避免了API资源快速消耗,有效节约了API资源以及成本。
参阅图2所示为本发明实施例中API资源获取系统架构示意图,其中,终端通过第一服务器(运营商服务器),与第二服务器(API服务器)进行信息交互,获取API资源。
参阅图3所示,本发明实施例中,获取API资源的详细流程为:
步骤300:接收在预设时长范围内各个终端发送的API资源请求消息。
本发明实施例中,第一服务器接收各个终端发送的API资源请求消息,在延迟预设时长后,获取该预设时长范围内各个终端发送的API资源请求消息数量。可选的,第一服务器接收各个终端发送的API资源请求消息,根据所有API资源请求消息生成API资源请求消息队列,当预设时长到达后,将上述API资源请求消息队列中的API资源请求消息进行合并,生成一个合并请求包。其中,上述预设时长为微时延,可选的,该预设时长为500毫秒。
进一步的,第一服务器获取第二服务器统计的可用API资源调用次数;或者,第一服务器在本地设置计数器,由该计数器统计可用API资源调用次数。可选的,在第一服务器本地预设计数器的初始数据为上限调用次数,当第一服务器根据终端发送的API资源请求消息,并接收到第二服务器发送的API资源响应消息后,指示上述计数器更新保存的数据,即将本地保存的数据进行减一处理,第一服务器获取上述计数器保存的更新后的数据,该更新后的数据即为可用API资源调用次数。可选的,第一服务器获取可用API资源百分比,该可用API资源百分比由可用API资源调用次数与上限API资源调用次数之比确定。
步骤310:根据上述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包。
本发明实施例中,当上述API资源请求消息数量未达到预设消息数量门限值,且该可用API资源调用次数大于预设可用API资源调用次数门限值时,将上述预设时长范围内各个终端发送的API资源请求消息进行合并,生成API请求包。或者,当上述API资源请求消息数量未达到预设消息数量门限值,且该可用API资源百分比大于预设可用API资源百分比门限值时,将上述预设时长范围内各个终端发送的API资源请求消息进行合并,生成API请求包。
当采用上述可选的技术方案,在上述预设时长到达后,即将上述API资源请求消息队列中的API资源请求消息进行合并生成一个合并请求包时,将该合并请求包作为API请求包,即基于各个终端发送的API资源请求消息创建一次API资源请求。其中,上述预设消息数量门限值由网络质量参数决定,即该预设消息数量门限值为保证网络不产生堵塞的能够传输的最大消息数量,可选的,该预设消息数量门限值为500,若网络质量情况优良,该预设消息数量门限值可选择大于500的数值;预设可用API资源调用次数门限值为由用户预先设置的值,该值可以为上限API调用次数,如700次,也可以为可用API调用次数占上限API调用次数的百分比,如30%。
进一步的,当上述API资源请求消息数量达到预设消息数量门限值,或者,上述可用API资源调用次数小于预设可用API资源调用次数门限值时,根据上述各个终端发送的API资源请求消息,分别获取每一个终端的性能参数,并根据每一个终端的性能参数,将上述性能参数达到预设参数门限值的所有终端对应的API资源请求消息,生成高优先级请求包。其中,上述终端的性能参数包括该终端的月消费额,该终端使用的业务类型等级,该终端的使用年限等。
当采用上述可选的技术方案,在上述预设时长到达后,即将上述API资源请求消息队列中的API资源请求消息进行合并生成一个合并请求包,当该合并请求包中包含的API资源请求消息数量达到预设消息数量门限值,或者,上述可用API资源调用次数小于预设可用API资源调用次数门限值时,将上述合并请求包进行拆分,并将该合并请求包中各个API资源请求消息对应的终端进行等级划分,将高优先级终端发送的API资源请求消息进行合并,生成高优先级请求包。
步骤320:将上述API请求包发送至第二服务器,并接收该第二服务器发送的API资源响应消息。
本发明实施例中,当API资源请求消息数量未达到预设消息数量门限值,且可用API资源调用次数大于预设可用API资源调用次数门限值时,将生成的API请求包发送至第二服务器,以及接收第二服务器发送的API资源响应消息。采用上述技术方案,可以将未达到预设消息数量门限值的多条API资源请求消息(可选的,该多条API资源请求消息的数目最大值为500)合并为一个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资源调用次数A;并且,第一服务器分别根据低优先级请求包中的每一条API资源请求消息获取相应的终端标识,并基于每一个终端标识获取每一个终端的性能参数,其中,若任意一个终端的性能参数Bi仅包括该任意一个终端的账户使用年限b1、账户类型级别b2、账户消费等级b3等参数,则Bi=b1’*b1+b2’*b2+b3’*b3,b1’为账户使用年限的权重系数,b2’为账户类型级别的权重系数,b3’为账户消费等级的权重系数;获取每一个终端的性能参数后,对所有终端的性能参数采用求取平均值的方法获取低优先级请求包中所有终端的平均性能参数B;基于上述当前时刻可用API资源调用次数A以及所有终端的平均性能参数B,采用加权系数求和的方式获取低优先级请求包的发送参数,即C=a*A+b*B,C为低优先级请求包的发送参数,a为可用API资源调用次数的权重系数,b为所有终端的平均性能参数的权重系数。
采用上述技术方案,在高优先级请求包发送完毕后,综合考虑API资源剩余情况,以及低优先级请求包中每一条API资源请求消息分别对应的终端的性能参数,决定是否向第二服务器发送低优先级请求包,在可用API资源调用次数充足的情况下,尽量保证低优先级终端获取API资源。
参阅图4所示,各个终端向第一服务器发送API资源请求消息,第一服务器的逻辑控制单元根据预设时长范围内API资源请求消息数量,以及可用API资源调用次数对上述API资源请求消息进行处理。
步骤330:根据API请求包中包含的API资源请求消息所对应的终端,对上述API资源响应消息进行拆分,将拆分后生成的API资源响应子消息发送至相应的终端。
参阅图5所示,第一服务器接收到第二服务器发送的API资源响应消息后,根据API请求包中包含的API资源请求消息所对应的终端,对该API资源响应消息进行拆分,生成API资源响应子消息;将上述API资源响应子消息发送至上述请求包中每一条API资源请求消息分别对应的终端。
其中,当将高优先级请求包发送至第二服务器后,接收第二服务器发送的API资源响应消息;根据上述高优先级请求包中包含的API资源请求消息所对应的终端,对上述API资源响应消息进行拆分;将拆分后生成的API资源响应子消息发送至性能参数达到预设参数门限值的相应终端。
当将低优先级请求包发送至第二服务器后,接收第二服务器发送的API资源响应消息;根据低优先级请求包中包含的API资源请求消息所对应的终端,对上述API资源响应消息进行拆分;将拆分后生成的API资源响应子消息发送至性能参数未达到预设参数门限值的相应终端。
采用上述技术方案,将多条API资源请求消息合并为一次API资源请求,仅向第二服务器发送一次API资源请求,即可获取所有客户端的API资源,从而有效节约了API资源,以及避免了由于API资源消耗完毕而造成的成本提高问题。
基于上述技术方案,参阅图6所示,将预设时长范围内的API资源请求消息进行合并,生成一个合并请求包为例,终端、第一服务器,以及第二服务器之间的信息交互过程为:
步骤601:终端向第一服务器发送API资源请求消息。
步骤602:第一服务器向终端返回通信成功消息。
本发明实施例中,上述API资源获取系统采用非阻塞式机制,第一服务器向终端返回通信成功消息,以减少终端的等待时间。
步骤603:第一服务器进行延时处理。
本发明实施例中,在延时预设时长后,获取预设时长范围内各个终端发送的API资源请求消息。
步骤604:第一服务器将上述获取预设时长范围内各个终端发送的API资源请求消息进行合并,在本地生成一个合并请求包。
本发明实施例中,第一服务器根据上述合并请求包,创建一次新的API资源请求。
步骤605:第一服务器获取当前的网络质量参数,并根据网络质量参数获取预设消息数量门限值。
步骤606:第一服务器判断上述合并请求包中的API资源请求消息数量是否达到上述预设消息数量门限值,以及第一服务器比较当前时刻可用API资源调用次数与预设可用API资源调用次数门限值的大小。
步骤6061:当上述API资源请求消息数量未达到预设消息数量门限值,且该可用API资源调用次数大于预设可用API资源调用次数门限值时,第一服务器将上述合并请求包发送至第二服务器。
步骤6062:当上述API资源请求消息数量达到预设消息数量门限值,或者,上述可用API资源调用次数小于预设可用API资源调用次数门限值时,第一服务器将上述合并请求包进行拆分,并根据每一个终端的性能参数,将上述性能参数达到预设参数门限值的所有终端对应的API资源请求消息,生成高优先级请求包,将该高优先级请求包发送至第二服务器。
步骤6063:当上述API资源请求消息数量达到预设消息数量门限值,或者,上述可用API资源调用次数小于预设可用API资源调用次数门限值时,第一服务器将上述合并请求包进行拆分,并根据每一个终端的性能参数,将上述性能参数未达到预设参数门限值的所有终端对应的API资源请求消息,生成低优先级请求包。
步骤60631:若低优先级请求包的发送参数达到预设发送参数门限值,则第一服务器将该低优先级请求包发送至第二服务器。
步骤60632:若低优先级请求包对应的发送参数未达到预设发送参数门限值,则第一服务器将该低优先级请求包丢弃,向终端发送提醒消息。
步骤607:第一服务器接收第二服务器发送的API资源响应消息。
步骤608:第一服务器对该API资源响应消息进行拆分,生成API资源响应子消息。
步骤609:第一服务器将上述API资源响应子消息分别发送至相应的各个终端。
基于上述技术方案,参阅图7所示,本发明还提供一种API资源获取装置,包括第一接收单元70,生成单元71,第一发送单元72,第二接收单元73,拆分单元74,以及第二发送单元75,其中:
第一接收单元70,用于接收在预设时长范围内各个终端发送的应用程序编程接口API资源请求消息,并将所述API资源请求消息发送至生成单元71;
生成单元71,用于接收所述第一接收单元70发送的API资源请求消息,并根据所述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包;
第一发送单元72,用于获取所述生成单元71生成的所述API请求包,将所述API请求包发送至API服务器;
第二接收单元73,用于接收所述API服务器发送的API资源响应消息,并将所述API资源响应消息发送至拆分单元74;
拆分单元74,用于接收所述第二接收单元73发送的API资源响应消息,根据所述API请求包中包含的所述API资源请求消息所对应的终端,对所述API资源响应消息进行拆分获取API资源响应子消息,并将所述API资源响应子消息发送至第二发送单元75;
第二发送单元75,用于接收所述拆分单元74发送的API资源响应子消息,并将所述API资源响应子消息发送至相应的所述终端。
进一步的,所述装置还包括判定单元76,用于:根据所述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包之前,判定所述API资源请求消息数量未达到预设消息数量门限值,且获取的可用API资源调用次数大于预设可用API资源调用次数门限值。
所述装置还包括处理单元77,用于:当判定所述API资源请求消息数量达到预设消息数量门限值,或者,所述可用API资源调用次数小于预设可用API调用次数门限值时,根据所述各个终端发送的API资源请求消息,分别获取每一个所述终端的性能参数,并根据所述性能参数达到预设参数门限值的所有终端对应的API资源请求消息,生成高优先级请求包;将所述高优先级请求包发送至所述API服务器,并接收所述API服务器发送的API资源响应消息;根据所述高优先级请求包中包含的API资源请求消息所对应的终端,对所述API资源响应消息进行拆分;将拆分后生成的API资源响应子消息发送至性能参数达到预设参数门限值的相应终端。
基于上述技术方案,参阅图8所示,本发明提供一种获取API资源的装置,包括收发器80,存储器81,以及处理器82,其中:
收发器80,用于接收在预设时长范围内各个终端发送的应用程序编程接口API资源请求消息,并将所述API资源请求消息发送至处理器82;
存储器81,用于存储应用程序;
处理器82,用于调用存储器81中的应用程序,执行如下操作:接收收发器80发送的API资源请求消息,并根据所述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包;
其中,收发器80,还用于获取所述生成单元生成的所述API请求包,将所述API请求包发送至API服务器;以及接收所述API服务器发送的API资源响应消息,并将所述API资源响应消息发送至处理器82;
处理器82,还用于接收收发器80发送的API资源响应消息,根据所述API请求包中包含的所述API资源请求消息所对应的终端,对所述API资源响应消息进行拆分获取API资源响应子消息,并将所述API资源响应子消息发送至收发器80;
收发器80,还用于接收处理器82发送的API资源响应子消息,并将所述API资源响应子消息发送至相应的所述终端。
处理器82,还用于:根据所述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包之前,判定所述API资源请求消息数量未达到预设消息数量门限值,且获取的可用API资源调用次数大于预设可用API资源调用次数门限值。
处理器82,还用于:当判定所述API资源请求消息数量达到预设消息数量门限值,或者,所述可用API资源调用次数小于预设可用API调用次数门限值时,根据所述各个终端发送的API资源请求消息,分别获取每一个所述终端的性能参数,并根据所述性能参数达到预设参数门限值的所有终端对应的API资源请求消息,生成高优先级请求包;将所述高优先级请求包发送至收发器80;以及根据所述高优先级请求包中包含的API资源请求消息所对应的终端,对API服务器发送的API资源响应消息进行拆分;将拆分后生成的API资源响应子消息发送至收发器80;
收发器80,还用于:接收处理器82发送的高优先级请求包,并将该高优先级请求包发送至所述API服务器,并接收所述API服务器发送的API资源响应消息;将处理器82拆分后生成的API资源响应子消息发送至性能参数达到预设参数门限值的相应终端。
处理器82,还用于:当判定所述API资源请求消息数量达到预设消息数量门限值,或者,所述可用API资源调用次数小于预设可用API调用次数门限值时,获取所述性能参数未达到预设参数门限值的所有终端对应的API资源请求消息;根据所述性能参数未达到预设参数门限值的所有终端对应的API资源请求消息,生成低优先级请求包;将所述高优先级请求包发送至API服务器之后,获取所述低优先级请求包对应的发送参数;若所述发送参数达到预设发送参数门限值,则将所述低优先级请求包发送至收发器80;以及根据所述低优先级请求包中包含的API资源请求消息所对应的终端,对API服务器发送的API资源响应消息进行拆分;将拆分后生成的API资源响应子消息发送至收发器80;
收发器80,还用于接收处理器82发送的低优先级请求包,并将该低优先级请求包发送至所述API服务器,并接收所述API服务器发送的API资源响应消息;将处理器82拆分后生成的API资源响应子消息发送至性能参数未达到预设参数门限值的相应终端。
处理器80,具体用于:获取当前时刻的可用API资源调用次数;对所述当前时刻的可用API资源调用次数,以及所述低优先级请求包中每一条API资源请求消息分别对应的终端的性能参数进行加权求和,获取所述低优先级请求包对应的发送参数。
综上所述,本发明实施例中,第一服务器接收在预设时长范围内各个终端发送的API资源请求消息;根据该预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包;第一服务器将上述API请求包发送至API服务器,并接收API服务器发送的API资源响应消息;第一服务器根据上述API请求包中包含的所述API资源请求消息所对应的终端,对API资源响应消息进行拆分,将拆分后生成的API资源响应子消息发送至相应的终端。采用本发明技术方案,将所有终端发送的API资源请求消息整合为一个API请求包,基于该API请求包发送一次API资源请求,仅占用一次API调用次数即可获取多个终端发送的API资源请求消息对应的API资源响应消息,从而避免了API资源快速消耗,有效节约了API资源以及成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处
理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种获取API资源的方法,其特征在于,包括:
接收在预设时长范围内各个终端发送的应用程序编程接口API资源请求消息;
根据所述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包;
将所述API请求包发送至API服务器,并接收所述API服务器发送的API资源响应消息;
根据所述API请求包中包含的所述API资源请求消息所对应的终端,对所述API资源响应消息进行拆分,将拆分后生成的API资源响应子消息发送至相应的所述终端。
2.如权利要求1所述的方法,其特征在于,根据所述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包之前,进一步包括:
判定所述API资源请求消息数量未达到预设消息数量门限值,且获取的可用API资源调用次数大于预设可用API资源调用次数门限值。
3.如权利要求2所述的方法,其特征在于,当判定所述API资源请求消息数量达到预设消息数量门限值,或者,所述可用API资源调用次数小于预设可用API调用次数门限值时,进一步包括:
根据所述各个终端发送的API资源请求消息,分别获取每一个所述终端的性能参数,并
根据所述性能参数达到预设参数门限值的所有终端对应的API资源请求消息,生成高优先级请求包;
将所述高优先级请求包发送至所述API服务器,并接收所述API服务器发送的API资源响应消息;
根据所述高优先级请求包中包含的API资源请求消息所对应的终端,对所述API资源响应消息进行拆分;
将拆分后生成的API资源响应子消息发送至性能参数达到预设参数门限值的相应终端。
4.如权利要求2所述的方法,其特征在于,当判定所述API资源请求消息数量达到预设消息数量门限值,或者,所述可用API资源调用次数小于预设可用API调用次数门限值时,进一步包括:
获取所述性能参数未达到预设参数门限值的所有终端对应的API资源请求消息;
根据所述性能参数未达到预设参数门限值的所有终端对应的API资源请求消息,生成低优先级请求包;
将高优先级请求包发送至API服务器之后,获取所述低优先级请求包对应的发送参数;
若所述发送参数达到预设发送参数门限值,则将所述低优先级请求包发送至所述API服务器,并接收所述API服务器发送的API资源响应消息;
根据所述低优先级请求包中包含的API资源请求消息所对应的终端,对所述API资源响应消息进行拆分;
将拆分后生成的API资源响应子消息发送至性能参数未达到预设参数门限值的相应终端。
5.如权利要求4所述的方法,其特征在于,获取所述低优先级请求包对应的发送参数的方法,包括:
获取当前时刻的可用API资源调用次数;
对所述当前时刻的可用API资源调用次数,以及所述低优先级请求包中每一条API资源请求消息分别对应的终端的性能参数进行加权求和,获取所述低优先级请求包对应的发送参数。
6.一种获取API资源的装置,其特征在于,包括:
第一接收单元,用于接收在预设时长范围内各个终端发送的应用程序编程接口API资源请求消息,并将所述API资源请求消息发送至生成单元;
生成单元,用于接收所述第一接收单元发送的API资源请求消息,并根据所述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包;
第一发送单元,用于获取所述生成单元生成的所述API请求包,将所述API请求包发送至API服务器;
第二接收单元,用于接收所述API服务器发送的API资源响应消息,并将所述API资源响应消息发送至拆分单元;
拆分单元,用于接收所述第二接收单元发送的API资源响应消息,根据所述API请求包中包含的所述API资源请求消息所对应的终端,对所述API资源响应消息进行拆分获取API资源响应子消息,并将所述API资源响应子消息发送至第二发送单元;
第二发送单元,用于接收所述拆分单元发送的API资源响应子消息,并将所述API资源响应子消息发送至相应的所述终端。
7.如权利要求6所述的装置,其特征在于,还包括判定单元,用于:
根据所述预设时长范围内各个终端发送的API资源请求消息,生成一个API请求包之前,判定所述API资源请求消息数量未达到预设消息数量门限值,且获取的可用API资源调用次数大于预设可用API资源调用次数门限值。
8.如权利要求7所述的装置,其特征在于,还包括处理单元,用于:
当判定所述API资源请求消息数量达到预设消息数量门限值,或者,所述可用API资源调用次数小于预设可用API调用次数门限值时,根据所述各个终端发送的API资源请求消息,分别获取每一个所述终端的性能参数,并根据所述性能参数达到预设参数门限值的所有终端对应的API资源请求消息,生成高优先级请求包;将所述高优先级请求包发送至所述API服务器,并接收所述API服务器发送的API资源响应消息;根据所述高优先级请求包中包含的API资源请求消息所对应的终端,对所述API资源响应消息进行拆分;将拆分后生成的API资源响应子消息发送至性能参数达到预设参数门限值的相应终端。
9.如权利要求7所述的装置,其特征在于,所述处理单元,进一步用于:
当判定所述API资源请求消息数量达到预设消息数量门限值,或者,所述可用API资源调用次数小于预设可用API调用次数门限值时,获取所述性能参数未达到预设参数门限值的所有终端对应的API资源请求消息;根据所述性能参数未达到预设参数门限值的所有终端对应的API资源请求消息,生成低优先级请求包;将高优先级请求包发送至API服务器之后,获取所述低优先级请求包对应的发送参数;若所述发送参数达到预设发送参数门限值,则将所述低优先级请求包发送至所述API服务器,并接收所述API服务器发送的API资源响应消息;根据所述低优先级请求包中包含的API资源请求消息所对应的终端,对所述API资源响应消息进行拆分;将拆分后生成的API资源响应子消息发送至性能参数未达到预设参数门限值的相应终端。
10.如权利要求9所述的装置,其特征在于,所述处理单元,具体用于:
获取当前时刻的可用API资源调用次数;对所述当前时刻的可用API资源调用次数,以及所述低优先级请求包中每一条API资源请求消息分别对应的终端的性能参数进行加权求和,获取所述低优先级请求包对应的发送参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310498652.8A CN104580095A (zh) | 2013-10-22 | 2013-10-22 | 一种获取api资源的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310498652.8A CN104580095A (zh) | 2013-10-22 | 2013-10-22 | 一种获取api资源的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104580095A true CN104580095A (zh) | 2015-04-29 |
Family
ID=53095295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310498652.8A Pending CN104580095A (zh) | 2013-10-22 | 2013-10-22 | 一种获取api资源的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104580095A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911486A (zh) * | 2017-04-27 | 2017-06-30 | 努比亚技术有限公司 | 一种消息推送处理方法、装置及系统 |
CN107872571A (zh) * | 2017-10-27 | 2018-04-03 | 努比亚技术有限公司 | 接口请求方法、接口请求响应方法、移动终端及服务器 |
CN107920094A (zh) * | 2016-10-08 | 2018-04-17 | 阿里巴巴集团控股有限公司 | 数据获取方法、装置、服务器及网络设备 |
CN108388475A (zh) * | 2018-02-27 | 2018-08-10 | 广州联智信息科技有限公司 | 一种基于终端类型配置api资源的方法及系统 |
US20230342224A1 (en) * | 2022-04-25 | 2023-10-26 | Docusign, Inc. | Enforcing application programming interface limits in a document management system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101819551A (zh) * | 2009-02-27 | 2010-09-01 | 国际商业机器公司 | 记录企业信息系统的服务交互数据的方法和系统 |
CN102164120A (zh) * | 2010-02-18 | 2011-08-24 | 索尼公司 | 信息处理装置、信息处理方法和计算机可读记录介质 |
US20120066608A1 (en) * | 2005-03-16 | 2012-03-15 | Ken Sundermeyer | Control system user interface |
-
2013
- 2013-10-22 CN CN201310498652.8A patent/CN104580095A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120066608A1 (en) * | 2005-03-16 | 2012-03-15 | Ken Sundermeyer | Control system user interface |
CN101819551A (zh) * | 2009-02-27 | 2010-09-01 | 国际商业机器公司 | 记录企业信息系统的服务交互数据的方法和系统 |
CN102164120A (zh) * | 2010-02-18 | 2011-08-24 | 索尼公司 | 信息处理装置、信息处理方法和计算机可读记录介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107920094A (zh) * | 2016-10-08 | 2018-04-17 | 阿里巴巴集团控股有限公司 | 数据获取方法、装置、服务器及网络设备 |
CN107920094B (zh) * | 2016-10-08 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 数据获取方法、装置、服务器及网络设备 |
CN106911486A (zh) * | 2017-04-27 | 2017-06-30 | 努比亚技术有限公司 | 一种消息推送处理方法、装置及系统 |
CN106911486B (zh) * | 2017-04-27 | 2019-11-15 | 努比亚技术有限公司 | 一种消息推送处理方法、装置及系统 |
CN107872571A (zh) * | 2017-10-27 | 2018-04-03 | 努比亚技术有限公司 | 接口请求方法、接口请求响应方法、移动终端及服务器 |
CN108388475A (zh) * | 2018-02-27 | 2018-08-10 | 广州联智信息科技有限公司 | 一种基于终端类型配置api资源的方法及系统 |
CN108388475B (zh) * | 2018-02-27 | 2021-06-29 | 周翠敏 | 一种基于终端类型配置api资源的方法及系统 |
US20230342224A1 (en) * | 2022-04-25 | 2023-10-26 | Docusign, Inc. | Enforcing application programming interface limits in a document management system |
US12033007B2 (en) * | 2022-04-25 | 2024-07-09 | Docusign, Inc. | Enforcing application programming interface limits in a document management system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102638417B (zh) | 信息的通信方法、装置及系统 | |
CN106850589B (zh) | 一种管控云计算终端和云服务器运作的方法 | |
KR20200012981A (ko) | 네트워크 슬라이스 관리 방법, 디바이스 및 컴퓨터 판독 가능 저장 매체 | |
CN110611891B (zh) | 一种短信发送方法及装置 | |
EP3920562A1 (en) | Method and system for performing charging processing on network slice client, and related device | |
CN103715724B (zh) | 充电控制方法和装置 | |
CN104580095A (zh) | 一种获取api资源的方法及装置 | |
CN107979525A (zh) | 一种红包发放方法、设备以及介质 | |
CN105743947B (zh) | 一种资源共享方法及装置 | |
CN105451197A (zh) | 一种通讯信息的发送方法和装置 | |
CN112465615B (zh) | 账单数据的处理方法、装置及系统 | |
CN103400276A (zh) | 一种收货信息处理方法和装置 | |
CN104639646A (zh) | 用于处理用户请求的方法和设备 | |
CN114691349A (zh) | 信息处理方法、装置、设备及存储介质 | |
US20220038871A1 (en) | Charging method, apparatus, and system | |
CN109002249A (zh) | 通过长按手势实现礼物连击的方法、存储介质、设备及系统 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN114691352A (zh) | 信息处理方法、装置、设备及存储介质 | |
CN114301980A (zh) | 容器集群的调度方法、装置、系统及计算机可读介质 | |
CN108900314A (zh) | 一种网络加速服务的请求数计费方法和装置 | |
CN105635124A (zh) | 流量控制方法和装置 | |
CN108076443B (zh) | 一种在线计费系统中流量的分配方法及在线计费系统 | |
CN111512594A (zh) | 虚拟网络功能管理 | |
CN108282752B (zh) | 宽带集群系统中群组回呼的方法、系统、装置及存储介质 | |
CN106209665A (zh) | 一种实现负荷分担的方法、接口机、业务处理机及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |