条件回档
1. 功能介绍
条件回档,也称模糊条件回档,实际也是一种记录级别的回档,业务无需停服。需要用户用C++代码编写回档过滤条件逻辑,编译成SO,提单时上传,供数据过滤使用。拉取这些要回档表的冷备文件和Ulog在指定机器构造数据,构造完后离线遍历数据文件根据插件SO过滤出满足条件的记录,先从线上删掉这些记录,再将回档构造好的导入到线上。
2. 使用场景
适用于业务不知道要回档记录的KEY信息,只能提供简单的过滤条件的情况,满足条件的记录会被筛选出来进行回档,业务无需停服。
3. 使用指导
提单前先准备好要回档的集群、业务、游戏区(可多选)、表(可多选)、回档表的SO文件、回档时间这些信息,准备好构造回档数据的第三方机器。
在TcaplusDB Console找到条件回档的提单入口,将前面准备信息选入提单
提单后根据弹窗指引跳转到回档事务页面,确认无误的话点击事务执行。
事务的第一个步会先下载这些表所有的冷备文件和Ulog文件到指定的第三方机器,进行数据构造,完成后,事务会自动挂起等待用户确认是否继续,继续的话会先删除线上符合条件的记录,再将构造的数据中符合条件的记录导入到线上(具体逻辑见本文4.1章节)。
4. 注意事项
4.1. 模糊条件回档的回档时间和停服时间要求。
假设回档时间是T1,停服时间是T2(可以为空), 要求T2>=T1。
如果不指定T2:
直接把T1时刻符合条件的记录的值覆盖到线上;
“模糊条件”是以T1时刻是否满足条件来判断的。
如果指定T2:
先把T2时刻符合条件的记录从线上删除;
再把T2时刻符合条件的记录用该记录T1时刻的值覆盖到线上;
“模糊条件”是以T2时刻是否满足条件来判断的。
对于List表,相同Key下的多个元素,只要有一个元素符合模糊条件,即认为匹配,整个List记录的所有元素都被回档。