[发明专利]审核执行ClickhouseDDLSQL语义语法的方法及装置在审
申请号: | 202111421013.2 | 申请日: | 2021-11-26 |
公开(公告)号: | CN114282260A | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 陈武;艾杰;贾亚武 | 申请(专利权)人: | 上海鱼尔网络科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
地址: | 201615 上海市松*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 审核 执行 clickhouseddlsql 语义 语法 方法 装置 | ||
本发明公开了一种审核执行Clickhouse DDL SQL语义语法的方法及装置,针对现有的关于Clickhouse的数据安全问题的解决方法在生产环境直接执行Clickhouse DDL SQL实现DDL变更,容易出错的问题,通过Clickhouse元数据获取生产环境业务数据库和业务表结构;读取Clickhouse SQL数据,对SQL数据进行预处理;从Clickhouse SQL数据中解析出数据库名和表名,对Clickhouse SQL数据中的数据库名和表名进行预处理;判断表名是分布式表还是本地表,若是分布式表,则在生产环境获取本地表,并在测试环境建立相应的临时表;在测试环境执行DDL SQL语句;在生产环境中执行DDL SQL语句,删除测试环境的临时表。在测试环境进行预执行,安全高效,可以快速定位发现Clickhouse DDL SQL问题和执行结果,降低SQL异常对生产环境业务的影响,提高数据安全性和稳定性。
技术领域
本发明属于数据安全的技术领域,尤其涉及一种审核执行Clickhouse DDL SQL语义语法的方法及装置。
背景技术
ClickHouse是一个快速的开源OLAP数据库管理系统,面向列,并允许使用SQL查询实时生成分析报告。ClickHouse以其急速处理、硬件效率高、线性可扩展、可容错、功能丰富及高度可靠的特性,应用于各大企业。
但是,在实际应用中,Clickhouse在生产环境直接执行DDL SQL时,因用户提交的DDL SQL不可控,因此可能存在很多危险SQL、SQL语法错误、SQL执行失败等安全隐患。由于Clickhouse在执行DDL SQL时候,缺乏SQL审核和执行,风险不可控。
现有的解决方案是使用Clickhouse命令行工具、Datagrip、Navicate等Clickhouse数据库管理工具,建立Clickhouse数据库连接;执行如下Clickhouse DDL SQL:
CREATE TABLE default.t_user_packet(`id`Int64 COMMENT'唯一主键',
`uid`Int64 COMMENT'用户uid',
`good_id`Int64 COMMENT'物品id',
`biz_id`String COMMENT'uuid',
`source`Int64 COMMENT'获取渠道',
`status`Int64 COMMENT'状态(1待使用2使用中3已使用)',
`expire_time`DateTime COMMENT'到期时间',
`create_time`DateTime COMMENT'创建时间',
`update_time`DateTime COMMENT'更新时间')ENGINE=Distributed('default',
'default',
't_user_packet_local',
rand())
该方法通过在生产环境直接执行Clickhouse DDL SQL实现DDL变更,当生产环境表比较多,表数据量大时,DDL执行错误导致建表失败、误删表或者误删字段,造成的损失无法估量,且DDL SQL执行时缺乏审核检测,执行失败造成的问题定位和回滚的时间成本、人力成本都比较高。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海鱼尔网络科技有限公司,未经上海鱼尔网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111421013.2/2.html,转载请声明来源钻瓜专利网。