(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210401408.4
(22)申请日 2022.04.18
(65)同一申请的已公布的文献号
申请公布号 CN 114510490 A
(43)申请公布日 2022.05.17
(73)专利权人 北京宝兰 德软件股份有限公司
地址 100020 北京市朝阳区东 三环北路19
号
(72)发明人 易存道
(74)专利代理 机构 北京路浩知识产权代理有限
公司 11002
专利代理师 孟省
(51)Int.Cl.
G06F 16/22(2019.01)
G06F 16/23(2019.01)G06F 16/2455(2019.01)
G06F 16/25(2019.01)
G06F 16/27(2019.01)
(56)对比文件
CN 104050276 A,2014.09.17
WO 201913 0289 A1,2019.07.04
US 2008104133 A1,2008.05.01
US 20102 23297 A1,2010.09.02
九师兄.Cl ickHouse最佳实战之分布 表写入
流程分析. 《CS DN clickhouse》 .2021,
审查员 郭燕
(54)发明名称
提升数据库数据插 入性能的方法和装置
(57)摘要
本发明提供一种提升数据库数据插入性能
的方法和装置。 其中, 该方法应用于客户端, 包
括: 响应于向数据库中的分布式表插入数据, 将
所插入数据及其指定的分布式表名保存于缓存
中, 并基于所指定的分布式表名, 将所插入数据
与所述缓存中指定相同分布式表名的数据合并;
判断缓存中指定分布式表名的数据量是否达到
预先设定的数据量阈值, 并判断定时器是否达到
预先设定的时间阈值; 若缓存中指定分布式表名
的数据量达到预先设定的数据量阈值, 或者定时
器达到预先设定的时间阈值, 将缓存中指定分布
式表名的数据插入数据库。 本发 明可以减少数据
库对高并发的处理, 提高数据插入的效率, 节省
数据插入对 数据库的资源消耗, 提升数据库数据
插入的性能。
权利要求书2页 说明书12页 附图5页
CN 114510490 B
2022.08.02
CN 114510490 B
1.一种提升数据库数据插 入性能的方法, 其特 征在于, 应用于客户端, 包括:
响应于向数据库中的分布式表插 入数据, 判断缓存中是否存在map数据结构;
若缓存中存在map数据结构, 则基于所插入数据指定的分布式表名, 判断所述缓存中的
所述map数据结构中是否存在相同分布式表名的key值;
若缓存中不存在map数据结构, 则在所述缓存中创建所述map数据结构, 将所插入数据
指定的分布式表名作为key值, 所插入 数据作为对应的valu e值, 在所述map数据结构中创建
key‑value对, 并启动定时器开始计时;
若所述缓存中的map数据结构中存在相同分布式表名的key值, 则将所插入数据与所述
map数据结构中所述相同分布式表名的key值对应的value值 合并;
若所述缓存中的map数据结构中不存在相同分布式表名的key值, 则将所插入数据指定
的分布式表名作为key值, 所插入 数据作为对应的value值, 在所述map数据结构中创建key ‑
value对;
判断所述缓存中指定分布式表名的数据量是否达到预先设定的数据量阈值, 并判断定
时器是否达到预先设定的时间阈值; 其中, 所述定时器是在所述缓存中存入第一个指定分
布式表名的数据时开始计时;
若所述缓存中指定分布式表名的数据量达到预先设定的数据量阈值, 或者定时器达到
预先设定的时间阈值, 将所述缓存中指定分布式表名的数据插 入所述数据库。
2.根据权利要求1所述的提升数据库 数据插入性能的方法, 其特征在于, 将所述缓存中
指定分布式表名的数据插 入所述数据库之后, 还 包括:
删除所述缓存中插入所述数据库的指定分布式表名的数据, 并停止所述定时器将所述
定时器清零。
3.根据权利要求2所述的提升数据库 数据插入性能的方法, 其特征在于, 删除所述缓存
中插入所述数据库的指定分布式表名的数据, 并停止所述定时器将所述定时器清零之前,
还包括:
响应于接收到所述数据库反馈的数据插入成功的信息, 生成记录数据插入成功的日
志。
4.根据权利要求2所述的提升数据库 数据插入性能的方法, 其特征在于, 删除所述缓存
中插入所述数据库的指定分布式表名的数据, 并停止所述定时器将所述定时器清零之前,
还包括:
响应于接收到所述数据库反馈的数据插入失败的信 息, 判断数据插入失败的次数是否
达到预先设置的次数阈值;
若数据插 入失败的次数达 到预先设置的次数阈值, 则生成记录数据插 入失败的日志;
若数据插入失败的未达到预先设置的次数阈值, 则将所述缓存中指定分布式表名的数
据插入所述数据库。
5.一种提升数据库数据插 入性能的装置, 其特 征在于, 应用于客户端, 包括:
第二判断单元, 用响应于向数据库中的分布式表插入数据, 判断缓存中是否存在map数
据结构;
第一判断单元, 还用于根据所述第二判断单元的判断结果, 若缓存中存在map数据结
构, 则基于所插入数据指 定的分布式表名, 判断所述 缓存中的所述map数据结构中是否存在权 利 要 求 书 1/2 页
2
CN 114510490 B
2相同分布式表名的key值;
第二存储单元, 用于根据所述第二判断单元的判断结果, 若缓存中不存在map数据结
构, 则在所述 缓存中创建所述map数据结构, 将所插入 数据指定的分布式表名作为key值, 所
插入数据作为对应的value值, 在所述map数据结构中创建key ‑value对, 并启动定时器开始
计时;
第一存储单元, 用于根据所述第一判断单元的判断结果, 若所述缓存中的map数据 结构
中存在相同分布式表名的key值, 则将所插入 数据与所述map数据结构中所述相同分布式表
名的key值对应的value值 合并;
所述第二存储单元, 还用于根据 所述第一判断单元的判断结果, 若所述缓存中的map数
据结构中不存在相同分布式表名的key值, 则将所插入数据指定的分布式表名作为key值,
所插入数据作为对应的value值, 在所述map数据结构中创建key ‑value对;
第一判断模块, 用于判断所述缓存中指定分布式表名的数据量是否达到预先设定的数
据量阈值, 并判断定时器是否达到预先设定的时间阈值; 其中, 所述定时器是在所述缓存中
存入第一个指定分布式表名的数据时开始计时;
插入模块, 用于根据所述第一判断模块的判断结果, 若所述缓存中指定分布式表名的
数据量达到预先设定的数据量阈值, 或者定时器达到预先设定的时间阈值, 将所述缓存中
指定分布式表名的数据插 入所述数据库。
6.一种电子设备, 包括存储器、 处理器及存储在所述存储器上并可在所述处理器上运
行的计算机程序, 其特征在于, 所述处理器执行所述程序时实现如权利要求1至4任一项所
述升数据库数据插 入性能的方法的步骤。
7.一种非暂态计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机
程序被处理器执行时实现如权利要求1至4任一项所述升数据库数据插入性能的方法的步
骤。权 利 要 求 书 2/2 页
3
CN 114510490 B
3
专利 提升数据库数据插入性能的方法和装置
文档预览
中文文档
20 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共20页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-24 00:46:28上传分享