随笔分类 -  Java与数据迁移脱敏

摘要:做了将近五个月的脱敏,之后又浏览了各大厂商的脱敏产品,终于得出这个结论。 真正的脱敏系统,是让用户使用URL/USER/PSWD就能连上系统,传递sql就能获得结果,如果有敏感列就调用算法进行遮盖,没有敏感列就把数据返回,使用户感觉不到脱敏的存在。系统实现后,对用户来说,是和JDBC连到任何一个数据 阅读全文
posted @ 2022-09-23 17:06 逆火狂飙 阅读(55) 评论(0) 推荐(0) 编辑
摘要:【当前效率】 21字段表(1id+20varchar2/nvarchar2),10字段脱敏,10字段保持,数据量1300万,在来源端和去向端都是Oracle12c以上数据库的情况下,在虚拟机上能在600s-700s内传输完,约2万条每秒,在服务器上能在300-400秒内传输完,约4万条每秒。 【提速 阅读全文
posted @ 2022-07-24 07:06 逆火狂飙 阅读(41) 评论(0) 推荐(0) 编辑
摘要:在笔者一段程序中有这样的代码: final int BATCH_SIZE=10000; final String sql=buildSql(...); try(Connection conn=DbUtil.getConn(); PreparedStatement pstmt=conn.prepare 阅读全文
posted @ 2022-07-22 16:21 逆火狂飙 阅读(1651) 评论(0) 推荐(0) 编辑
摘要:【代码下载地址】 https://files.cnblogs.com/files/heyang78/newcpmgrt_20220714ev.rar?t=1657805048 【前作】 https://www.cnblogs.com/heyang78/p/16410831.html 【图解】 【开发 阅读全文
posted @ 2022-07-14 15:20 逆火狂飙 阅读(38) 评论(2) 推荐(0) 编辑
摘要:在近期从事的数据库表迁移脱敏工作中,我逐渐归纳出两种迁移方式: 一.BlockMigrater:这种模式是一行行读取ResultSet的内容,凑足一万行后向目标库提交,提交完毕后再继续读取,再提交,直到处理完所有数据; 二.UnblockMigrater:这种模式读取时还是一行行读取ResultSe 阅读全文
posted @ 2022-07-11 20:46 逆火狂飙 阅读(114) 评论(1) 推荐(0) 编辑
摘要:在一次表迁移测试中,我遇到了如下异常: Java.sql.SQLException,关闭的ResultSet;findColumn,at oracle.jdbc.driver.InsentiveScrollableResultSet.ensureOpen...... 这个异常字面意思是Results 阅读全文
posted @ 2022-07-05 19:13 逆火狂飙 阅读(674) 评论(0) 推荐(0) 编辑
摘要:迁移脱敏程序的核心之一--迁移部分。 阅读全文
posted @ 2022-06-25 10:07 逆火狂飙 阅读(60) 评论(2) 推荐(0) 编辑
摘要:有效手段: 1.将写操作交给线程;2.LRU缓存;3.判别代码属性化;4.频繁访问的数据结构固定大小; 不见效手段: 1.成员变量本地化;2.循环内变量定义移出。 阅读全文
posted @ 2022-06-17 17:47 逆火狂飙 阅读(65) 评论(1) 推荐(0) 编辑
摘要:原先的做法是在用户触发添加任务/作业时直接启动脱敏线程,这造成两个问题:一是线程运行状态不便控制,二是线程之间争抢连接资源。多了就容易乱。 采用以下方式后,流程清晰可控,每个环节代码不容易交织,可控性高于流放式线程执行。 PS:上图用免费软件draw.io绘制完成,https://www.diagr 阅读全文
posted @ 2022-05-07 17:23 逆火狂飙 阅读(71) 评论(0) 推荐(0) 编辑
摘要:接触数据迁移工作已经有两周时间了,踩过坑趟过路,今天趁上班前的一个多小时总结一下。 【名词】 数据迁移Data Migration:指将from数据库中的某表数据拷贝到to数据库中的某表。 数据脱敏:在数据迁移过程中,将表中敏感字段进行遮挡或加密,脱敏手段有可逆的和不可逆的,不可逆的如MD5摘要算法 阅读全文
posted @ 2022-03-17 07:55 逆火狂飙 阅读(341) 评论(0) 推荐(0) 编辑
摘要:Draft1: { "from":{ "db":{ "driver":"oracle.jdbc.driver.OracleDriver", "name":"luna", "pswd":"1234", "url":"jdbc:oracle:thin:@127.0.0.1:1521:orcl" }, " 阅读全文
posted @ 2022-03-14 09:27 逆火狂飙 阅读(22) 评论(0) 推荐(0) 编辑
摘要:注意以下操作在dos窗口里进行,不是sqlplus。 【单表导出】 命令: exp luna/1234@orcl file=c:\temp\123.dump tables=(test05); 其中luna是用户名,1234是密码,orcl是服务名,test05是表名 执行情况: C:\WINDOWS 阅读全文
posted @ 2022-03-08 15:45 逆火狂飙 阅读(498) 评论(3) 推荐(0) 编辑
摘要:一.【遮盖脱敏方式】 需求:将十位数字遮盖中间四位 实现一:substr方法(不可逆,脱敏前后等长) 代码: select substr('1234567890',1,3)||'****'||substr('1234567890',-3) as masked from dual 效果: 123456 阅读全文
posted @ 2022-03-07 16:37 逆火狂飙 阅读(517) 评论(1) 推荐(0) 编辑

生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示