数据导出方法和装置制造方法及图纸

技术编号:21850860 阅读:25 留言:0更新日期:2019-08-14 00:23
本申请实施例公开了数据导出方法和装置。该方法的一具体实施方式包括:接收用户终端发送的包括待导出内容标识的数据导出请求;分批次获取待导出内容标识对应的数据并将每一次获取到的数据加载到内存中,对每一次加载到内存中的数据进行划分得到第一数目个数据块,将第一数目个数据块分别存储到第一数目个目标文件中,将第一数目个数据块从内存中删除;向用户终端发送用于表征数据导出结束的信息。该实施方式可以达到只需分配少量内存就能导出海量数据的目的。

Data Exporting Method and Device

【技术实现步骤摘要】
数据导出方法和装置
本申请实施例涉及计算机
,具体涉及互联网
,尤其涉及数据导出方法和装置。
技术介绍
随着互联网技术的发展,互联网用户数量正在不断增长。在很多网页应用中,数据通常无法一次性加载并呈现在页面中,在线浏览海量数据往往无法得到良好的用户体验。如果能够一次性地获取全部数据,并将数据导入文件并保存在本地进行浏览分析是一种很好的方式。目前绝大多数应用系统都提供了数据导出功能,目前常用的导出方案适用于数据量较小的情况,针对超大数据量的文件导出,依然存在着诸多技术上的难点。
技术实现思路
本申请实施例提出了数据导出方法和装置。第一方面,本申请实施例提供了一种数据导出方法,包括:接收用户终端发送的包括待导出内容标识的数据导出请求;分批次获取待导出内容标识对应的数据并将每一次获取到的数据加载到内存中,对每一次加载到内存中的数据进行划分得到第一数目个数据块,将第一数目个数据块分别存储到第一数目个目标文件中,将第一数目个数据块从内存中删除;向用户终端发送用于表征数据导出结束的信息。在一些实施例中,分批次获取待导出内容标识对应的数据并将每一次获取到的数据加载到内存中,对每一次加载到内存中的数据进行划分得到第一数目个数据块,将第一数目个数据块分别存储到第一数目个目标文件中,将第一数目个数据块从内存中删除,包括:从待导出内容标识对应的数据中获取部分数据,执行如下存储步骤:将部分数据加载到内存中,对加载到内存中的部分数据进行划分得到第一数目个数据块,将第一数目个数据块分别存储到第一数目个目标文件中,将第一数目个数据块从内存中删除;确定待导出内容标识对应的数据是否存在未加载数据部分;响应于确定出存在未加载数据部分,从未加载数据部分中获取部分数据,继续执行存储步骤。在一些实施例中,在分批次获取待导出内容标识对应的数据并将每一次获取到的数据加载到内存中之前,该方法还包括:新建空的待存储数据队列;以及将部分数据加载到内存中,对加载到内存中的部分数据进行划分得到第一数目个数据块,将第一数目个数据块分别存储到第一数目个目标文件中,将第一数目个数据块从内存中删除,包括:将部分数据插入待存储数据队列中;从待存储数据队列的队头开始,对待存储数据队列中的数据进行划分得到第二数目个数据块,并将第二数目个数据块分别存储到第二数目个目标文件中,其中,第二数目为待存储数据队列中数据的数据量与数据量阈值的商,第二数目个数据块中的每个数据块包括数据量阈值个数据;将第二数目个数据块从待存储数据队列中删除。在一些实施例中,存储步骤还包括:响应于确定出不存在未加载数据部分,确定待存储数据队列中是否存在数据;响应于确定出待存储数据队列中存在数据,将待存储数据队列中的数据存储到未存储数据的目标文件中。在一些实施例中,在向用户终端发送用于表征数据导出结束的信息之后,该方法还包括:响应于接收到用户终端针对第一数目个目标文件的下载请求,向用户终端发送第一数目个目标文件。第二方面,本申请实施例提供了一种数据导出装置,包括:接收单元,配置用于接收用户终端发送的包括待导出内容标识的数据导出请求;存储单元,配置用于分批次获取待导出内容标识对应的数据并将每一次获取到的数据加载到内存中,对每一次加载到内存中的数据进行划分得到第一数目个数据块,将第一数目个数据块分别存储到第一数目个目标文件中,将第一数目个数据块从内存中删除;第一发送单元,配置用于向用户终端发送用于表征数据导出结束的信息。在一些实施例中,存储单元,包括:存储模块,配置用于从待导出内容标识对应的数据中获取部分数据,驱动以下子模块执行如下存储步骤:第一存储子模块,将部分数据加载到内存中,对加载到内存中的部分数据进行划分得到第一数目个数据块,将第一数目个数据块分别存储到第一数目个目标文件中,将第一数目个数据块从内存中删除;第一确定子模块,确定待导出内容标识对应的数据是否存在未加载数据部分;反馈模块,配置用于响应于确定出存在未加载数据部分,从未加载数据部分中获取部分数据,继续执行存储步骤。在一些实施例中,该装置还包括:建立单元,配置用于新建空的待存储数据队列;以及第一存储子模块进一步配置用于:将部分数据插入待存储数据队列中;从待存储数据队列的队头开始,对待存储数据队列中的数据进行划分得到第二数目个数据块,并将第二数目个数据块分别存储到第二数目个目标文件中,其中,第二数目为待存储数据队列中数据的数据量与数据量阈值的商,第二数目个数据块中的每个数据块包括数据量阈值个数据;将第二数目个数据块从待存储数据队列中删除。在一些实施例中,存储模块还包括:第二确定子模块,配置用于响应于确定出不存在未加载数据部分,确定待存储数据队列中是否存在数据;第二存储子模块,配置用于响应于确定出待存储数据队列中存在数据,将待存储数据队列中的数据存储到未存储数据的目标文件中。在一些实施例中,该装置还包括:第二发送单元,配置用于响应于接收到用户终端针对第一数目个目标文件的下载请求,向用户终端发送第一数目个目标文件。第三方面,本申请实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得上述一个或多个处理器实现本申请提供的数据导出方法。第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请提供的数据导出方法。本申请提供的数据导出方法和装置,通过接收用户终端发送的包括待导出内容标识的数据导出请求,之后分批次获取上述待导出内容标识对应的数据并将每一次获取到的数据加载到内存中,对每一次加载到内存中的数据进行划分得到第一数目个数据块,将上述第一数目个数据块分别存储到第一数目个目标文件中,将第一数目个数据块从内存中删除,而后向上述用户终端发送用于表征数据导出结束的信息,从而通过这种边加载数据边将数据写入文件中的数据导出方法,可以达到只需分配少量内存就能导出海量数据的目的。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构图;图2是根据本申请的数据导出方法的一个实施例的流程图;图3是根据本申请的数据导出方法的又一个实施例的流程图;图4A-图4D是根据本申请的数据导出方法的数据导出过程的示意图;图5是根据本申请的数据导出装置的一个实施例的结构示意图;图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的数据导出方法或数据导出装置的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型本文档来自技高网...

【技术保护点】
1.一种数据导出方法,包括:接收用户终端发送的包括待导出内容标识的数据导出请求;分批次获取所述待导出内容标识对应的数据并将每一次获取到的数据加载到内存中,对每一次加载到内存中的数据进行划分得到第一数目个数据块,将所述第一数目个数据块分别存储到第一数目个目标文件中,将所述第一数目个数据块从所述内存中删除;向所述用户终端发送用于表征数据导出结束的信息。

【技术特征摘要】
1.一种数据导出方法,包括:接收用户终端发送的包括待导出内容标识的数据导出请求;分批次获取所述待导出内容标识对应的数据并将每一次获取到的数据加载到内存中,对每一次加载到内存中的数据进行划分得到第一数目个数据块,将所述第一数目个数据块分别存储到第一数目个目标文件中,将所述第一数目个数据块从所述内存中删除;向所述用户终端发送用于表征数据导出结束的信息。2.根据权利要求1所述的方法,其中,所述分批次获取所述待导出内容标识对应的数据并将每一次获取到的数据加载到内存中,对每一次加载到内存中的数据进行划分得到第一数目个数据块,将所述第一数目个数据块分别存储到第一数目个目标文件中,将所述第一数目个数据块从所述内存中删除,包括:从所述待导出内容标识对应的数据中获取部分数据,执行如下存储步骤:将部分数据加载到内存中,对加载到内存中的部分数据进行划分得到第一数目个数据块,将所述第一数目个数据块分别存储到第一数目个目标文件中,将所述第一数目个数据块从所述内存中删除;确定所述待导出内容标识对应的数据是否存在未加载数据部分;响应于确定出存在未加载数据部分,从所述未加载数据部分中获取部分数据,继续执行所述存储步骤。3.根据权利要求2所述的方法,其中,在所述分批次获取所述待导出内容标识对应的数据并将每一次获取到的数据加载到内存中之前,所述方法还包括:新建空的待存储数据队列;以及所述将部分数据加载到内存中,对加载到内存中的部分数据进行划分得到第一数目个数据块,将所述第一数目个数据块分别存储到第一数目个目标文件中,将所述第一数目个数据块从所述内存中删除,包括:将部分数据插入所述待存储数据队列中;从所述待存储数据队列的队头开始,对所述待存储数据队列中的数据进行划分得到第二数目个数据块,并将所述第二数目个数据块分别存储到第二数目个目标文件中,其中,所述第二数目为所述待存储数据队列中数据的数据量与所述数据量阈值的商,所述第二数目个数据块中的每个数据块包括所述数据量阈值个数据;将所述第二数目个数据块从所述待存储数据队列中删除。4.根据权利要求3所述的方法,其中,所述存储步骤还包括:响应于确定出不存在未加载数据部分,确定所述待存储数据队列中是否存在数据;响应于确定出所述待存储数据队列中存在数据,将所述待存储数据队列中的数据存储到未存储数据的目标文件中。5.根据权利要求1-4之一所述的方法,其中,在所述向所述用户终端发送用于表征数据导出结束的信息之后,所述方法还包括:响应于接收到所述用户终端针对所述第一数目个目标文件的下载请求,向所述用户终端发送所述第一数目个目标文件。6.一种数据导出...

【专利技术属性】
技术研发人员:付佳
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1