[发明专利]数据报表导出方法、服务器及计算机可读存储介质在审
申请号: | 201711234418.9 | 申请日: | 2017-11-30 |
公开(公告)号: | CN108009142A | 公开(公告)日: | 2018-05-08 |
发明(设计)人: | 王高亮 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F17/24 | 分类号: | G06F17/24;G06F17/30 |
代理公司: | 深圳市凯达知识产权事务所 44256 | 代理人: | 刘大弯;沈荣彬 |
地址: | 518057 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 报表 导出 方法 服务器 计算机 可读 存储 介质 | ||
本发明公开了一种数据报表导出方法,该方法包括:每次从待导出的数据中读取m条数据,同时将总计数器c加1;为所述m条数据分配一个队列q(i);将所述m条数据写入所述队列q(i)进行处理,并将所述队列q(i)对应的队列计数器n加1;读取所述队列q(i)中处理后的数据,并写入数据报表。本发明实施例还公开了一种服务器和计算机可读存储介质。由此,能够使用多个队列协调处理,减少阻塞时间和内存空间占用。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据报表导出方法、服务器及计算机可读存储介质。
背景技术
Web系统在导出数据到数据报表(Excel)时,传统方式使用读取数据、处理数据、写入报表的流水线流程,在每一步操作时可能都需要等待前一步操作处理完毕。当需要大量数据(例如大于10万条,且列数比较多)时,很可能由于导出时间过久而让用户产生不好的体验。例如,在处理数据和写入报表时读取数据阻塞,在读取数据时处理数据和写入报表阻塞,会浪费较多时间。另外,在读取数据时I/O处于空闲状态,在写入报表时CPU处于空闲状态,也会造成资源浪费。
发明内容
本发明的主要目的在于提出一种数据报表导出方法及对应的服务器,旨在解决在导出至数据报表的数据量比较大时,速率较慢的问题。
为实现上述目的,本发明提供的一种数据报表导出方法,该方法包括步骤:
每次从待导出的数据中读取m条数据,同时将总计数器c加1;
为所述m条数据分配一个队列q(i);
将所述m条数据写入所述队列q(i)进行处理,并将所述队列q(i)对应的队列计数器n加1;及
读取所述队列q(i)中处理后的数据,并写入数据报表。
可选地,该方法在所述从待导出的数据中读取m条数据的步骤之前还包括步骤:
根据需要导出的数据量设置队列个数N。
可选地,针对每个所述队列q(i),所述读取所述队列q(i)中处理后的数据,并写入数据报表的步骤并发进行。
可选地,所述为所述m条数据分配一个队列q(i)的步骤包括:
根据预设指针和所述队列的个数N,计算所分配的队列编号i,将所述m条数据分配至N个队列中的一个,其中,所述预设指针为i=c%N。
可选地,在所述读取所述队列q(i)中处理后的数据,并写入数据报表的步骤中:
针对所述队列q(i)中的m条数据,从所述数据报表的第index行开始写入,其中index=N(n-1)*m+i*m。
可选地,所述根据需要导出的数据量设置队列个数N的步骤包括:
设置一个或多个数据量阈值;
根据所述数据量阈值得到多个数据量区间;
针对每个数据量区间,设置对应的队列个数N;
判断所述需要导出的数据量所处的数据量区间,从而得到对应的队列个数N。
此外,为实现上述目的,本发明还提出一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据报表导出程序,所述数据报表导出程序被所述处理器执行时实现如下步骤:
每次从待导出的数据中读取m条数据,同时将总计数器c加1;
为所述m条数据分配一个队列q(i);
将所述m条数据写入所述队列q(i)进行处理,并将所述队列q(i)对应的队列计数器n加1;及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711234418.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种图像调整的方法和装置
- 下一篇:一种复合纸的上胶机构
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置