[发明专利]多线程报告下载方法和装置有效
申请号: | 201310697624.9 | 申请日: | 2013-12-18 |
公开(公告)号: | CN103647837B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 裴向宇;田传钊;何建新 | 申请(专利权)人: | 北京博雅立方科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京品源专利代理有限公司11332 | 代理人: | 胡彬 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 报告 下载 方法 装置 | ||
技术领域
本发明实施例涉及计算机数据处理技术,尤其涉及一种多线程报告下载方法和装置。
背景技术
随着互联网的迅速发展,数据的存储逐渐从终端向云端进行转移。博客、相册、网盘、大容量邮箱等业务的发展使得在云端存储的用户数据规模越来越大。一般来说,终端用户可以通过API(Application Programming Interface,应用编程接口)接口来管理云端服务器(API服务器)中的云资源。
在现有技术中,当对应于多个账户或设备的多个客户端需要同时对API服务器中存储的多个资源进行下载时,例如下载报告,则每个客户端需要和API服务器进行一次整体的交互才能将所需的报告下载下来。在整体的交互过程中包含了如下的逻辑步骤:
申请占用一个线程资源,在此线程发送下载数据报告请求到API服务器并获得一个唯一报告ID(Identity,身份标识号码);
通过唯一报告ID再次向API服务器发出报告状态查询请求;
如果API服务器返回的报告状态为正在处理,则等待一定时间,然后重新向API服务器发出报告状态查询请求;如果API服务器返回的报告状态为处理完毕,则下载相应的报告。
不同的客户端或不同的下载请求均需要占用一个线程来完成下载过程。
现有技术存在的主要缺陷是,API服务器处理报告需要一定的时间,当一个客户端通过唯一报告ID向API服务器发出报告状态查询请求时,API服务器可能并没有完成对该报告的处理过程,因此每个客户端都要等待一定的时间才能从API服务器上下载相应的报告,所以当多个客户端需要同时对API服务器中存储的多个报告进行下载时,由于线程数量有限,所以往往导致下载极为缓慢。
发明内容
有鉴于此,本发明提供一种多线程报告下载方法和装置,以提高多客户端占用多线程下载资源的速度。
第一方面,本发明实施例提供了一种多线程报告下载方法,包括:
在第一阶段线程中,向服务器发送下载数据报告请求,以指示所述服务器处理待下载的报告;
在第一阶段线程中,接收服务器根据所述下载数据报告请求返回的所述报告的报告标识,释放所述第一阶段线程;
如果发生设定的等待触发条件,则在第二阶段线程中,根据所述报告标识向服务器发送报告状态查询请求;
在所述第二阶段线程中,如果所述服务器返回报告状态为处理完毕,则从所述服务器下载所述报告。
第二方面,本发明实施例提供了一种多线程报告下载装置,包括:
下载请求发送单元,用于在第一阶段线程中,向服务器发送下载数据报告请求,以指示所述服务器处理待下载的报告;
报告标识接收单元,用于在第一阶段线程中,接收服务器根据所述下载数据报告请求返回的所述报告的报告标识,释放所述第一阶段线程;
查询请求发送单元,用于如果发生设定的等待触发条件,则在第二阶段线程中,根据所述报告标识向服务器发送报告状态查询请求;
报告下载单元,用于在所述第二阶段线程中,如果所述服务器返回报告状态为处理完毕,则从所述服务器下载所述报告。
本发明实施例将各客户端的报告下载线程分为两个阶段线程进行异步处理,在第一阶段线程中,客户端仅向服务器发送下载数据报告请求,接收服务器根据所述下载数据报告请求返回的所述报告的报告标识,不会向服务器发送报告状态查询请求,在第一阶段线程的时间内,服务器会根据下载数据报告请求,处理一部分的报告;在第二阶段线程中,如果发生设定的等待触发条件,客户端根据所述报告标识向服务器发送报告状态查询请求,此时,一部分报告已经被服务器处理完成,发送该部分报告的客户端可以直接下载报告而无需等待,大大减少了客户端在下载报告过程中的空等待时间,提高了线程资源的利用率,也提高了多线程下载的速度。
附图说明
图1是本发明第一实施例的一种多线程报告下载方法的流程图;
图2是本发明第二实施例的一种多线程报告下载方法的流程图;
图3是本发明第三实施例的一种多线程报告下载装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
第一实施例
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京博雅立方科技有限公司,未经北京博雅立方科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310697624.9/2.html,转载请声明来源钻瓜专利网。