[发明专利]业务数据插入数据库方法、装置、计算机设备及存储介质在审
申请号: | 201710686770.X | 申请日: | 2017-08-11 |
公开(公告)号: | CN109388636A | 公开(公告)日: | 2019-02-26 |
发明(设计)人: | 谭正;陈乐君;王凡;唐堂 | 申请(专利权)人: | 中国移动通信集团重庆有限公司;中国移动通信集团公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/2457;G06F16/25;G06F16/28 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 彭琼 |
地址: | 401121*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务数据 主键 数据库 计算机设备 存储介质 索引树 排序 计算机技术领域 索引叶子节点 数据库语法 结构查询 数据加载 数据移动 叶子节点 拼接 语句 保存 分裂 更新 | ||
本发明提供了业务数据插入数据库的方法、装置、计算机设备及存储介质,属于计算机技术领域,本发明的技术方案为:对业务数据进行主键识别,获取业务数据的主键值。将业务数据依据主键值进行排序。将排序后的业务数据依据数据库语法,拼接得到结构查询语句SQL数据。将SQL数据插入到数据库中,并且将插入的业务数据对应的主键值保存到数据库对应的主键索引树的空余叶子节点中。通过以上技术方案,本发明能够解决主键索引树在更新时所产生的索引叶子节点的分裂和数据移动问题,从根本上提高插入效率,提升数据加载速度。
技术领域
本发明属于计算机技术领域,具体涉及一种业务数据插入数据库的方法、装置、计算机设备以及计算机可读存储介质。
背景技术
在互联网公司、电信运营商、银行等大型IT支撑系统中,经常会根据业务的需求对大批量数据排重。以重庆移动为例,每日GPRS话单量高达3亿条,在将话单入库的过程中,由于为了校验话单唯一性,避免重复处理相同的话单,因此在其中一个字段上建立主键,数据库会自动在主键字段上建立唯一索引,索引是对数据库表中一列或多列的值进行排序的一种结构,在对表插入数据过程中需要对主键索引进行维护,从而导致插入效率较低。
为提升系统吞吐量,目前主要有以下两种解决办法:
解决办法一:采用分批提交,通过控制每次提交的数据量减少操作数据库的次数,提高性能。该方法减少了提交时与数据库的交互次数,从而减少了由于频繁提交产生的在线日志物理写等待。但是由于数据每次插入的时候,主键索引树要随着索引列的变化进行同步更新,而索引叶子节点对应是有序值序列,因此索引树更新时,叶子节点就会进行分裂,而在新插入的值为随机值时,即处于某个叶子节点的中间值,该索引叶子块将根据此中间值分裂成两个块,从而两个块都为半满的结构,因此每次插入都会伴随索引叶子块的分裂及数据移动。因此通过该解决办法一虽然减少了操作数据库的次数,但是在每次数据插入时都要进行索引分裂,因此占用较多存储空间,吞吐量不高,从而无法提高数据加载速度。
解决办法二:是通过业务规则将主键表修改为分区表,减少每个分区数据的数量,打乱数据分布,再通过并行的方式插入。由于该方法将主键修改为范围分区,从而将维护全表的索引更改为维护单个分区的索引,即减少了索引树的大小,减少了插入数据时索引寻址时间。但是一方面由于业务规则限定,此类表不一定能修改为按范围进行分区,即使按照主键修改为范围分区,一定时间内所有数据可能无法按照预想进入不同的分区,而仍然进入同一个分区,还是会出现上述大量索引叶子块的分裂及数据移动,索引争用严重。
综上所述,无论是解决办法一还是解决办法二,均无法解决主键索引树在更新时所产生的索引叶子块的分裂和数据移动问题,因此无法从根本上提高插入效率和提升数据加载速度。
发明内容
有鉴于此,本发明提供了一种业务数据插入数据库的方法、装置、计算机设备及存储介质,能够解决主键索引树在更新时所产生的索引叶子节点的分裂和数据移动问题,从根本上提高插入效率,提升数据加载速度。
基于上述目的,本发明的技术方案为:
一方面,本发明实施例提供了一种业务数据插入数据库的方法,其特征在于,包括:
对业务数据进行主键识别,获取业务数据的主键值。
将业务数据依据主键值进行排序。
将排序后的业务数据依据数据库语法,拼接得到结构查询语句SQL数据。
将SQL数据插入到数据库中,并且将插入的业务数据对应的主键值保存到数据库对应的主键索引树的空余叶子节点中。
在第一方面的一个或多个实施例中,业务数据插入数据库的方法还包括:
将业务数据分组得到多个数据组。
将多个数据组中的每个数据组中的业务数据依据主键值进行排序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团重庆有限公司;中国移动通信集团公司,未经中国移动通信集团重庆有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710686770.X/2.html,转载请声明来源钻瓜专利网。