数据导出方法、装置、电子设备、存储介质及程序产品制造方法及图纸

技术编号:36023948 阅读:12 留言:0更新日期:2022-12-21 10:21
本申请涉及数据处理技术领域,提供一种数据导出方法、装置、电子设备、存储介质及程序产品,该方法包括:接收数据导出请求,并基于数据导出请求获取导出数据的任务量;对任务量进行处理,得到至少一个线程所需处理的任务量,并调用至少一个线程查询对应任务量的导出数据;获取至少一个线程对应的编号信息,并基于编号信息依次获取至少一个线程查询到的导出数据,得到查询结果;查找数据导出求对应的业务功能,利用业务功能对查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于下载链接地址进行数据导出。这样,可以提高导出数据的灵活性,且当导出数据量较大时,利用多线程导出,提高导出效率。提高导出效率。提高导出效率。

【技术实现步骤摘要】
数据导出方法、装置、电子设备、存储介质及程序产品


[0001]本申请涉及数据处理
,尤其涉及一种数据导出方法、装置、电子设备、存储介质及程序产品。

技术介绍

[0002]随着大数据的日益发展,在业务系统中经常会有导出数据的场景,如将数据批量导出到Excel中,方便数据的传递以及再次整理和使用。
[0003]现有技术中,将数据库中数据导出到Excel通常采用根据查询条件从数据库读取数据,然后使用poi包依次操作行列设置单元格数据的方式进行数据的导出。
[0004]但是,上述方式导出数据的灵活性较差,且当导出数据量较大时,获取数据的消耗时间较长,导出效率低。

技术实现思路

[0005]本申请提供一种数据导出方法、装置、电子设备、存储介质及程序产品,可以提高导出数据的灵活性,且当导出数据量较大时,利用多线程导出,提高导出效率。
[0006]第一方面,本申请提供一种数据导出方法,所述方法包括:
[0007]接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量;
[0008]对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据;
[0009]获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序;
[0010]查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。
[0011]可选的,对所述任务量进行处理,得到至少一个线程所需处理的任务量,包括:
[0012]获取预设数量值,利用所述任务量除以所述预设数量值并进行向上取整处理,得到需要调用的线程数量以及至少一个线程所需处理的任务量。
[0013]可选的,调用所述至少一个线程查询对应任务量的导出数据,包括:
[0014]判断所述线程数量是否大于预设阈值;
[0015]若否,则采用单线程的方式依次查询对应任务量的导出数据;
[0016]若是,则采用多线程的方式异步查询对应任务量的导出数据。
[0017]可选的,利用所述业务功能对所述查询结果进行封装,包括:
[0018]基于所述业务功能获取所述查询结果对应的模型结构,所述模型结构包括:导出数据对应的表头信息、表格信息以及表格样式信息;
[0019]基于所述模型结构将所述查询结果进行封装。
[0020]可选的,基于所述模型结构将所述查询结果进行封装,包括:
[0021]获取所述查询结果中单元格的文本名称和样式;
[0022]将所述模型结构与所述查询结果进行匹配,并基于所述文本名称和样式将所述查询结果写入所述模型结构。
[0023]可选的,将封装后的查询结果上传到服务器,包括:
[0024]获取导出数据的表头信息,并提取所述表头信息中的关键字;
[0025]利用所述关键字检验所述封装后的查询结果是否正确;
[0026]若是,则将封装后的查询结果上传到服务器;
[0027]若否,则终止数据导出,并向客户端反馈报警信息,以提示用户数据导出异常。
[0028]可选的,所述方法还包括:
[0029]基于所述数据导出请求获取导出数据的标识信息,所述标识信息用于标识导出数据的导出接口;
[0030]每隔预设时间,基于所述标识信息查询所述导出数据的导出状态;
[0031]若所述导出状态为导出成功,则向客户端反馈下载链接地址以及提示信息,用于提示用户基于所述下载链接地址进行数据导出;
[0032]若所述导出状态为导出失败,则获取导出数据对应的失败原因,并向客户端反馈所述失败原因,用于提示用户导出数据失败;
[0033]若所述导出状态为正在导出,则继续查询所述导出数据的导出状态。
[0034]第二方面,本申请提供一种数据导出装置,所述装置包括:
[0035]接收模块,用于接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量;
[0036]处理模块,用于对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据;
[0037]获取模块,用于获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序;
[0038]封装模块,用于查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。
[0039]第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
[0040]所述存储器存储计算机执行指令;
[0041]所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
[0042]第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的方法。
[0043]第五方面,本申请提供一种计算机程序产品,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如第一方面任一项所述的方法。
[0044]综上所述,本申请提供一种数据导出方法、装置、电子设备、存储介质及程序产品,可以通过接收数据导出请求,并基于数据导出请求获取导出数据的任务量;进一步的,对导出数据的任务量进行处理,得到至少一个线程所需处理的任务量,并调用至少一个线程查询对应任务量的导出数据;进一步的,获取至少一个线程对应的编号信息,并基于编号信息依次获取至少一个线程查询到的导出数据,得到查询结果;进而查找数据导出求对应的业务功能,利用业务功能对查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,这样,客户端便可以基于下载链接地址进行数据导出,其中,编号信息用于标记线程查询导出数据时对应的顺序,通过分顺序获取整体数据,且保持顺序的一致性,提高了数据导出的灵活性,利用业务功能对查询结果进行封装,用于数据导出,在数据导出量较大时,可以采用多线程处理,提高处理效率。
附图说明
[0045]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0046]图1为本申请实施例提供的一种应用场景示意图;
[0047]图2为本申请实施例提供的一种数据导出方法的流程示意图;
[0048]图3为本申请实施例提供的一种模型结构的结构示意图;
[0049]图4为本申请实施例提供的一种具体的数据导出方法的流程示意图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据导出方法,其特征在于,所述方法包括:接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量;对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据;获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序;查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。2.根据权利要求1所述的方法,其特征在于,对所述任务量进行处理,得到至少一个线程所需处理的任务量,包括:获取预设数量值,利用所述任务量除以所述预设数量值并进行向上取整处理,得到需要调用的线程数量以及至少一个线程所需处理的任务量。3.根据权利要求2所述的方法,其特征在于,调用所述至少一个线程查询对应任务量的导出数据,包括:判断所述线程数量是否大于预设阈值;若否,则采用单线程的方式依次查询对应任务量的导出数据;若是,则采用多线程的方式异步查询对应任务量的导出数据。4.根据权利要求1所述的方法,其特征在于,利用所述业务功能对所述查询结果进行封装,包括:基于所述业务功能获取所述查询结果对应的模型结构,所述模型结构包括:导出数据对应的表头信息、表格信息以及表格样式信息;基于所述模型结构将所述查询结果进行封装。5.根据权利要求4所述的方法,其特征在于,基于所述模型结构将所述查询结果进行封装,包括:获取所述查询结果中单元格的文本名称和样式;将所述模型结构与所述查询结果进行匹配,并基于所述文本名称和样式将所述查询结果写入所述模型结构。6.根据权利要求1所述的方法,其特征在于,将封装后的查询结果上传到服务器,包括:获取导出数据的表头信息,并提取所述表头信息中的关键字;利用所述关键字检验所述封装后的查询结果是否正确;若是,则将封装后的查询结果上传到服务器;若否,则终止数据导出,并向客户端反馈报警信息,...

【专利技术属性】
技术研发人员:白雪峰杨光刘哲生李崇靳贞珍周亚飞张超伟
申请(专利权)人:中国石油天然气集团有限公司
类型:发明
国别省市:

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

1