[发明专利]一种基于Azure WebJob的应用数据获取方法及装置有效
| 申请号: | 201710706791.3 | 申请日: | 2017-08-17 |
| 公开(公告)号: | CN109408244B | 公开(公告)日: | 2022-04-22 |
| 发明(设计)人: | 林斐 | 申请(专利权)人: | 北京国双科技有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 史翠;王宝筠 |
| 地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 azure webjob 应用 数据 获取 方法 装置 | ||
本发明公开了一种基于Azure WebJob的应用数据获取方法及装置,该方法能够识别出API接口的调用频次限制错误,并通过阻塞线程暂停针对该API接口的HTTP请求任务的执行,从而避免启动Azure WebJob的错误重试机制,进而节省了大量资源。此外,该方法是在遇到调用频次限制后暂停预设时长后再执行相应的API调用任务,无论API接口的调用频次限制是多少次该方法都适用,因此,该方法适用性广。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于Azure WebJob的应用数据获取方法及装置。
背景技术
随着智能移动终端飞速发展,移动终端的应用程序也应运而生,某些应用程序的公共数据具有较大的价值,例如,社交类的应用程序,如微博、QQ,微信等。可以根据这些数据分析人们的态度、喜好、人际关系等等。应用程序一般都提供了应用程序编程接口(Application Programming Interface,API),通过API能够获取上述的公共数据。
Azure WebJob是微软提供的一项云服务,它允许我们在其上运行自己开发的任务程序,并提供了错误重试机制,以及队列触发器(QueueTrigger)来按需触发任务程序的运行。基于Azure WebJob实现应用数据获取的过程大体包括:向任务队列(Queue)中注入任务消息;然后,队列触发器(Queue Trigger)检测到任务队列中有消息后,触发该QueueTrigger所对应的任务方法执行任务;即Queue→Queue Trigger→任务方法,这一流程中的三个部分都是配套对应的。其中,任务方法即自定义的任务程序,用于获取应用公共数据,Queue和Queue Trigger用于为任务方法提供配置参数以及触发任务方法执行。通过多条不同的“Queue→Queue Trigger→任务方法”的链条,可以按需执行不同应用公共数据获取工作。
但是,一般API有调用频次限制,即每个IP地址、每个用户身份标识(UserIdentification,UID)每小时调用API不得超过N次。而且,不同的API接口的具体限制次数不相同。如果API被频繁调用,当超过该API对应的调用频次限制后,API会针对超出调用频次限制之后的调用返回错误;如果调用API的任务接收到该错误并抛出异常,此时,AzureWebJob提供的错误重试机制会生效,并立刻进行重试,但是这种因为超过调用频次限制而导致的错误,不可能通过重试纠正,只是浪费计算资源;而且,同一队列中的下一个任务所调用的还是同一个API,仍然会由于超过调用频次限制而失效。
发明内容
鉴于上述问题,提出了本发明提供了一种基于Azure WebJob的应用程序数据获取方法及装置,以解决超过调用频次限制后,Azure WebJob基于错误重试机制立即重试导致资源浪费的技术问题。
第一方面,本申请提供了一种基于Azure WebJob的应用数据获取方法,其特征在于,包括:
向应用服务器发送调用应用程序编程接口API的超文本传输协议HTTP请求;
接收所述应用服务器返回的响应所述HTTP请求的HTTP返回信息;
当根据所述HTTP返回信息确定当前API调用超过所述API对应的调用频次限制时,产生调用超限异常信息并抛出所述调用超限异常信息;
当检测到所述调用超限异常信息后,将执行所述HTTP请求的当前线程阻塞预设时长;
当所述当前线程的阻塞时长达到所述预设时长后,唤醒所述当前线程。
可选地,所述方法还包括:
当所述当前线程的阻塞时长达到所述预设时长后,复制所述HTTP请求对应的任务消息,并将复制后的任务消息重新添加到任务队列的队尾,以便重新执行所述HTTP请求;
其中,所述复制后的任务消息与HTTP请求对应的任务消息除任务ID之外的其它信息均相同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710706791.3/2.html,转载请声明来源钻瓜专利网。





