System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及一种大数据量的数据导出方法、装置、电子设备及存储介质。
技术介绍
1、内存溢出(out of memory,简称oom)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存,此时程序就运行不了,系统会提示内存溢出。由于应用系统服务器的内存资源有限,当用户从系统中导出业务数据供线下统计分析时,可能因为数据量过大产生内存溢出,甚至导致系统崩溃。
2、因此,如何有效防止因数据量过大导致内存溢出,是当下亟需解决的技术问题。
技术实现思路
1、本专利技术提供一种大数据量的数据导出方法、装置、电子设备及存储介质,用以解决现有技术中上述存在的缺陷,实现对大数据量的数据进行分步导出,提高数据的导出效率,维护系统的安全稳定运行。
2、本专利技术提供一种大数据量的数据导出方法,应用于服务器,包括:
3、获取业务数据的总记录数量,并读取已存储的记录数阈值,所述记录数阈值用于确定单次查询的数据数量;
4、在所述总记录数量大于所述记录数阈值的情况下,确定所述业务数据需要执行分步查询,获取所述分步查询的分步查询次数、单次查询起始行号以及查询步长;
5、基于所述分步查询次数,单次查询起始行号以及查询步长查询所述分步查询次数对应的第一记录数据;
6、将所述记录数据写入第一待导出文件中,直至所述业务数据的各分步查询次数的记录数据查询完毕,导出所述第一待导出文件。
>7、根据本专利技术提供的一种大数据量的数据导出方法,所述方法还包括:
8、在所述总记录数量小于或等于所述记录数阈值的情况下,确定所述业务数据需要执行一次性查询,获取一次性查询的第二记录数据,将所述第二记录数据写入第二待导出文件中,导出所述第二待导出文件。
9、根据本专利技术提供的一种大数据量的数据导出方法,所述分步查询次数和单次查询起始行号是通过以下步骤确定的:
10、将所述总记录数量除以所述记录数阈值并向上取整,得到所述分步查询次数;
11、在所述分步查询次数中确定当前查询次序,基于所述当前查询次序和所述记录数阈值确定所述单次查询起始行号。
12、根据本专利技术提供的一种大数据量的数据导出方法,所述查询步长是通过以下步骤确定的:
13、确定所述当前查询次序为最后一次查询,基于所述最后一次查询和记录数阈值确定已查询数据量;
14、将所述总记录数量减去所述已查询数据量,得到所述查询步长;
15、或,
16、在所述分步查询次数中确定当前查询次序不为所述最后一次查询,将所述记录数阈值作为所述查询步长。
17、根据本专利技术提供的一种大数据量的数据导出方法,所述获取业务数据的总记录数量,并读取记录数阈值之前,还包括:
18、基于所述服务器的内存大小进行初始参数配置,生成用于维护单次查询的数量的所述记录数阈值。
19、本专利技术还提供一种大数据量的数据导出装置,应用于服务器,包括:
20、获取模块,用于获取业务数据的总记录数量,并读取已存储的记录数阈值,所述记录数阈值用于确定单次查询的数据数量;
21、分步模块,用于在所述总记录数量大于所述记录数阈值的情况下,确定所述业务数据需要执行分步查询,获取所述分步查询的分步查询次数、单次查询起始行号以及查询步长;
22、数据查询模块,用于基于所述分步查询次数、单次查询起始行号以及查询步长查询所述分步查询次数对应的第一记录数据;
23、导出模块,用于将所述第一记录数据写入第一待导出文件中,直至所述业务数据的各分步查询次数的记录数据查询完毕,导出所述第一待导出文件。
24、根据本专利技术提供的一种大数据量的数据导出装置,所述装置还包括:
25、一次性查询模块,用于在所述总记录数量小于或等于所述记录数阈值的情况下,确定所述业务数据需要执行一次性查询,获取一次性查询的第二记录数据,将所述第二记录数据写入第二待导出文件中,导出所述第二待导出文件。
26、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述大数据量的数据导出方法。
27、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述大数据量的数据导出方法。
28、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述大数据量的数据导出方法。
29、本专利技术提供的大数据量的数据导出方法、装置、电子设备及存储介质,通过获取业务数据的总记录数量,并读取记录数阈值,记录数阈值用于确定单次查询的数量;在总记录数量大于记录数阈值的情况下,确定业务数据需要执行分步查询,获取分步查询的分步查询次数,单次查询起始行号以及查询步长;基于分步查询次数、单次查询起始行号以及查询步长查询分步查询次数对应的第一记录数据;将第一记录数据写入第一待导出文件中,直至业务数据的各分步查询次数的数据查询完毕,导出第一待导出文件。本专利技术通过对大数据量的业务数据进行分步查询,能够有效规避业务数据因数据量太大造成内存溢出或系统崩溃的异常情况,提高业务数据的导出效率,维护系统的安全稳定运行。
本文档来自技高网...【技术保护点】
1.一种大数据量的数据导出方法,其特征在于,应用于服务器包括:
2.根据权利要求1所述的大数据量的数据导出方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的大数据量的数据导出方法,其特征在于,所述分步查询次数和单次查询起始行号是通过以下步骤确定的:
4.根据权利要求3所述的大数据量的数据导出方法,其特征在于,所述查询步长是通过以下步骤确定的:
5.根据权利要求3所述的大数据量的数据导出方法,其特征在于,所述获取业务数据的总记录数量,并读取记录数阈值之前,还包括:
6.一种大数据量的数据导出装置,其特征在于,应用于服务器,包括:
7.根据权利要求6所述的大数据量的数据导出装置,其特征在于,所述装置还包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述大数据量的数据导出方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述大数据量的数据导出方法。
...【技术特征摘要】
1.一种大数据量的数据导出方法,其特征在于,应用于服务器包括:
2.根据权利要求1所述的大数据量的数据导出方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的大数据量的数据导出方法,其特征在于,所述分步查询次数和单次查询起始行号是通过以下步骤确定的:
4.根据权利要求3所述的大数据量的数据导出方法,其特征在于,所述查询步长是通过以下步骤确定的:
5.根据权利要求3所述的大数据量的数据导出方法,其特征在于,所述获取业务数据的总记录数量,并读取记录数阈值之前,还包括:
6.一种大数据量的数据导出装置,其特征在于,应用于服务器,包括:...
【专利技术属性】
技术研发人员:胡飞跃,
申请(专利权)人:中银金融科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。