[发明专利]一种大批量同质数据的批量入库方法在审
申请号: | 202010741725.1 | 申请日: | 2020-07-29 |
公开(公告)号: | CN111858638A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 李诗华;任海军;徐荣华;王文军;罗海强 | 申请(专利权)人: | 上海真兰仪表科技股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23 |
代理公司: | 上海海贝律师事务所 31301 | 代理人: | 宋振宇 |
地址: | 201702 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 大批量 同质 数据 批量 入库 方法 | ||
本发明公开了一种大批量同质数据的批量入库方法,包括如下步骤:S1,针对每张表创建存储线程,并为其建立对应的存库队列,对于所有的需要入库的表准备预编译的插入和更新命令;S2,当收到需要入库的数据时,取出入库数据转换为数据记录实体;S3,将数据记录实体加入对应的存库队列;S4,存储线程从对应的存库队列取出相应的数据记录实体,对其中字段类型进行匹配,加入对应的插入或者删除预编译队列。本发明,利于数据库的预编译、批量提交技术,结合单条提交的传统方案实现数据高效入库的同时保证数据完整性,从而实现大批量同质数据高效、完整入库的问题,降低数据库服务器压力。
技术领域
本发明涉及数据库技术领域,具体为一种大批量同质数据的批量入库方法。
背景技术
对于海量数据入库的场景,因为数据提供者往往是通过不同渠道、不同方式提供数据,而且存在服务端不易控制的高并发情况,因此高效完整的保存数据是大数据平台必须解决的问题。
当需要对数据库进行数据插入、更新或者删除的时候,程序会发送整个SQL语句给数据库处理和执行。数据库处理一个SQL语句,需要完成解析SQL语句、检查语法和语义以及生成代码;一般说来,处理时间要比执行语句所需要的时间长。预编译语句在创建的时候已经是将指定的SQL语句发送给了数据库,完成了解析、检查、编译等工作。因此,当一个SQL语句需要执行多次时,使用预编译语句可以减少处理时间,提高执行效率,这种技术对于海量的同质数据入库场景带来的效率提升是非常客观的。
但单一的批量提交入库对于数据完整度要求高的场景也会存在风险,如果单条数据异常造成无法入库就会本次批量提交的所有数据无法入库,造成数据丢失。
有鉴于此,我们设计并实现了结合预处理、批量提交、单条提交技术,针对大批量同质化数据高效、完整入库的优化方法。
发明内容
本发明的目的在于提供一种大批量同质数据的批量入库方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种大批量同质数据的批量入库方法,包括如下步骤:
S1,针对每张表创建存储线程,并为其建立对应的存库队列,对于所有的需要入库的表准备预编译的插入和更新命令;
S2,当收到需要入库的数据时,取出入库数据转换为数据记录实体;
S3,将数据记录实体加入对应的存库队列;
S4,存储线程从对应的存库队列取出相应的数据记录实体,对其中字段类型进行匹配,加入对应的插入或者删除预编译队列;
S5,预编译队列中数据记录数超过配置值时提交批处理命令,进入步骤S7;
S6,当预编译队列中数据记录数不为0且等待时间大于配置值时提交批处理命令;
S7,提交批处理命令;
S8,判断执行是否成功,如果成功则做存库成功对应的处理;
S9,命令执行失败,则将批量提交的数据记录拆为单条提交;
S10,对于每一条单独提交的数据记录,如果保存成功则做存库成功对应的处理,如果保存失败,则做存库失败对应处理。
与现有技术相比,本发明的有益效果是:
本发明,利于数据库的预编译、批量提交技术,结合单条提交的传统方案实现数据高效入库的同时保证数据完整性,从而实现大批量同质数据高效、完整入库的问题,降低数据库服务器压力。
附图说明
图1是本发明的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海真兰仪表科技股份有限公司,未经上海真兰仪表科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010741725.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置