全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210833683.3 (22)申请日 2022.07.14 (71)申请人 中国银行股份有限公司 地址 100818 北京市西城区复兴门内大街1 号 (72)发明人 苗海柱  (74)专利代理 机构 北京三友知识产权代理有限 公司 11127 专利代理师 李辉 王维宁 (51)Int.Cl. G06F 16/242(2019.01) G06F 16/2455(2019.01) G06F 16/25(2019.01) G06F 16/28(2019.01) G06F 16/16(2019.01)G06F 16/172(2019.01) (54)发明名称 基于JAVA8的数据导出方法及装置 (57)摘要 本发明提供一种基于JAVA8的数据导出方法 及装置, 涉及金融领域。 该基于JAVA8的数据导出 方法包括: 根据数据导出条件生成导出语句集 合; 将导出语句集合声明为JAVA8的并行流, 采用 JAVA8的流式并行方式并行执行导出语句集合中 的各导出语句得到对应的实时导出数据; 当各实 时导出数据对应的实时数据记录数量达到预设 缓存值时, 将实时数据记录写入结果文件。 本发 明可以提高系统的处 理性能, 降低文 件IO操作。 权利要求书1页 说明书8页 附图2页 CN 115185978 A 2022.10.14 CN 115185978 A 1.一种基于JA VA8的数据导出 方法, 其特 征在于, 包括: 根据数据导出 条件生成导出语句集 合; 将所述导出语句集合声明为JAVA8的并行流, 采用JAVA8的流 式并行方式并行执行所述 导出语句集 合中的各导出语句得到对应的实时导出 数据; 当各实时导出数据对应的实时数据记录数量达到预设缓存值 时, 将所述实时数据记录 写入结果文件。 2.根据权利要求1所述的基于JA VA8的数据导出 方法, 其特 征在于, 还 包括: 将各实时导出 数据按照输出文件格式拼接为各实时数据记录 。 3.根据权利要求2所述的基于JA VA8的数据导出 方法, 其特 征在于, 还 包括: 当各实时导出数据均被拼接为各实时数据记录且所述实时数据的数量小于所述预设 缓存值时, 将该实时数据记录写入所述结果文件。 4.根据权利要求1所述的基于JAVA8的数据导出方法, 其特征在于, 根据数据导出条件 生成导出语句集 合包括: 根据数据导出 条件生成多条导出语句; 根据所述多条导出语句组成所述 导出语句集 合。 5.一种基于JA VA8的数据导出装置, 其特 征在于, 包括: 导出语句集 合模块, 用于根据数据导出 条件生成导出语句集 合; 并行模块, 用于将所述导出语句集合声明为JAVA8的并行流, 采用JAVA8的流式并行方 式并行执行所述导出语句集 合中的各导出语句得到对应的实时导出 数据; 数据导出模块, 用于当各实时导出数据对应的实时数据记录数量达到预设缓存值时, 将所述实时数据记录写入结果文件。 6.根据权利要求5所述的基于JA VA8的数据导出装置, 其特 征在于, 还 包括: 拼接模块, 用于将各实时导出 数据按照输出文件格式拼接为各实时数据记录 。 7.根据权利要求6所述的基于JA VA8的数据导出装置, 其特 征在于, 还 包括: 数据写入模块, 用于当各实时导出数据均被拼接为各实时数据记录且所述实时数据的 数量小于所述预设缓存值时, 将该实时数据记录写入所述结果文件。 8.根据权利要求5所述的基于JAVA8的数据导出装置, 其特征在于, 所述导出语句集合 模块包括: 导出语句生成单 元, 用于根据数据导出 条件生成多条导出语句; 导出语句集 合单元, 用于根据所述多条导出语句组成所述 导出语句集 合。 9.一种计算机设备, 包括存储器、 处理器及存储在存储器上并在处理器上运行的计算 机程序, 其特征在于, 所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的 基于JAVA8的数据导出 方法的步骤。 10.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序 被处理器执行时实现权利要求1至4任一项所述的基于JA VA8的数据导出 方法的步骤。 11.一种计算机程序产品, 包括计算机程序/指令, 其特征在于, 所述计算机程序/指令 被处理器执行时实现权利要求1至4任一项所述的基于JA VA8的数据导出 方法的步骤。权 利 要 求 书 1/1 页 2 CN 115185978 A 2基于JAVA8的数据导出方 法及装置 技术领域 [0001]本发明涉及金融领域, 具体地, 涉及一种基于JA VA8的数据导出 方法及装置 。 背景技术 [0002]在银行或支付机构等大型金融机构, 许多时候需要下传交易流水数据, 而每天的 流水数据量都要达到上亿级别, 下传的数据更多的时候需要结合业务场景进行数据加工, 直接使用工具不能灵活满足数据加工需求, 此时往 往需要应用程序来实现数据下传。 [0003]目前一般将需要下传的数据(即数据库查询的结果)使用ResultHandler 方式逐条 加工后, 缓存到目标文件。 这里之所以使用ResultHandler方式, 是因为查询结果数据量很 大, 不能直接读取到系统内存, 否则内存将溢出。 [0004]现有技术虽然采用ResultHandler 方式来生成目标文件, 但本身是单线程处理, 只 能逐条加工数据, 上亿数据量的加工下传一般都需要5个小时以上, 性能比较低; 且数据加 工后直接缓冲到目标文件, 对文件的IO消耗非常高。 发明内容 [0005]本发明实施例的主要目的在于提供一种基于JAVA8的数据导出方法及装置, 以提 高系统的处 理性能, 降低文件IO操作。 [0006]为了实现上述目的, 本发明实施例提供一种基于JA VA8的数据导出 方法, 包括: [0007]根据数据导出 条件生成导出语句集 合; [0008]将导出语句集合声明为JAVA8的并行流, 采用JAVA8的流式并行方式并行执行导出 语句集合中的各导出语句得到对应的实时导出 数据; [0009]当各实时导出数据对应的实时数据记录数量达到预设缓存值时, 将实时数据记录 写入结果文件。 [0010]在其中一种实施例中, 还 包括: [0011]将各实时导出 数据按照输出文件格式拼接为各实时数据记录 。 [0012]在其中一种实施例中, 还 包括: [0013]当各实时导出数据均被拼接为各实时数据记录且实时数据的数量小于预设缓存 值时, 将该实时数据记录写入结果文件。 [0014]在其中一种实施例中, 根据数据导出 条件生成导出语句集 合包括: [0015]根据数据导出 条件生成多条导出语句; [0016]根据多条导出语句组成导出语句集 合。 [0017]本发明实施例还提供一种基于JA VA8的数据导出装置, 包括: [0018]导出语句集 合模块, 用于根据数据导出 条件生成导出语句集 合; [0019]并行模块, 用于将导出语句集合声明为JAVA8的并行流, 采用JAVA8的流式并行方 式并行执行导出语句集 合中的各导出语句得到对应的实时导出 数据; [0020]数据导出模块, 用于当各实时导出数据对应的实时数据记录数量达到预设缓存值说 明 书 1/8 页 3 CN 115185978 A 3

PDF文档 专利 基于JAVA8的数据导出方法及装置

文档预览
中文文档 12 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于JAVA8的数据导出方法及装置 第 1 页 专利 基于JAVA8的数据导出方法及装置 第 2 页 专利 基于JAVA8的数据导出方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 01:01:36上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。