[发明专利]一种基于多进程的数据加载方法及装置在审
申请号: | 202110584111.1 | 申请日: | 2021-05-27 |
公开(公告)号: | CN113448841A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 杨飞 | 申请(专利权)人: | 工银科技有限公司;中国工商银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/22;G06F16/2455 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 董骁毅;叶明川 |
地址: | 100029 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 进程 数据 加载 方法 装置 | ||
本发明提供了一种基于多进程的数据加载方法及装置,可以应用于金融领域,方法包括:根据预先构建的SQL语句解析获取的数据文件;对解析后的数据文件中的数据进行清洗并插入测试表中;通过调用数据库驱动的批量执行函数对测试表中的数据进行批量加载。本申请提供的方法不仅可以节约人力成本,还可以节约软件采购成本,同时极大地提升数据库运维效率,采用本方法的数据导入效率约为商业软件的数百倍,实现了通过廉价手段提升数据加载效率的功能。
技术领域
本申请属于数据库运用技术领域,具体地讲,涉及一种基于多进程的数据加载方法及装置。
背景技术
在系统运行过程中,存在以下几种场景需要将生产数据导入测试环境:
场景1:客户反馈系统扣费异常,存在重复扣费的问题,此类问题也可归类为系统异常,存在Bug。
场景2:核心系统版本升级,此类问题可归类为新功能上线。
以上两种场景均需要将数据从生产环境的数据库中导出并加载到测试环境的数据库中,系统开发人员在测试环境上,基于生产数据进行系统的异常修复及新功能上线前的验证。
目前有两种方案可帮助开发人员将数据导入到测试环境。
方案1:DBA通过数据库导出工具,将数据以某种特定的格式导出,并将导出的文件,再通过数据库专有的工具由DBA导入到测试环境。
方案2:现有的运维工具中已包含数据导出功能,该功能支持开发人员将生产数据以CSV格式导出到文件。由于数据库导入工具的专业性要求较高,开发人员通常不具备使用该工具的能力。
方案1仅能在数据库是Oracle时,才能保证导入效率,因为Oracle数据库支持多线程功能。但MySQL数据库不支持多线程导入,所以在数据量较大时,性能较差。并且,在生产系统较多的情况下,DBA的效率将成为瓶颈,仅能支持部分开发人员的数据导入请求。
方案2这种情况下,开发人员可以通过商业软件Navicat Premium、PLSQLDeveloper将CSV格式的数据自助导入测试环境,基于此方案,DBA将不再是瓶颈,但商业软件采购成本非常高,并且在数据量较高时,此方案的效率极低,甚至当数据量超过一定数量以后,无法完成数据的导入操作。
发明内容
基于背景技术的内容,本申请提供了一种基于多进程的数据加载方法及装置,以至少解决因数据库不支持多线程导入而导致的在大数据量情况下数据加载缓慢的问题。
根据本申请的第一个方面,提供了一种基于多进程的数据加载方法,包括:
根据预先构建的SQL语句解析获取的数据文件;
对解析后的数据文件中的数据进行清洗并插入测试表中;
通过调用数据库驱动的批量执行函数对测试表中的数据进行批量加载。
在一实施例中,根据预先构建的SQL语句解析获取的数据文件,包括:
对SQL语句进行共享池检查;
如果共享池检查结果中存在已经解析的SQL语句,则对数据文件进行软解析;
如果共享池检查结果中不存在已经解析的SQL语句,则对数据文件进行硬解析。
在一实施例中,对SQL语句进行共享池检查,包括:
获取SQL语句的哈希值;
从共享池中搜索是否已经存在哈希值。
在一实施例中,对解析后的数据文件中的数据进行清洗并插入测试表中,包括:
创建测试表,测试表中包含若干字段;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于工银科技有限公司;中国工商银行股份有限公司,未经工银科技有限公司;中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110584111.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置