问题描述
早上一到公司,接到运维部门同事报的一个高优先级问题工单,描述如下:
“报销单号关联单子的审批记录没有了,但财务已做帐,导致相关审批人员需要重新审批。”
在正规大型互联网,数据丢失可算是严重级别为最高级0的问题了吧。
分析原因
这种问题从产品上线6个月前到现在都没出现过,突然出现了,肯定是什么原因导致的。
事出一定有原因,找出原因是重中之重。数据丢失铁定是由于在代码中有删除数据的行为。
于是优先锁定所有有删除操作的地方,由于整个项目仓储层是Dapper来实现的,所以通过表关键词全局搜索,根据肉眼逐条排查包含Delete的语句的方法,记录下来作为嫌疑对象。于是从200多个搜索结果中,得到一组7个方法的嫌疑清单,接下来分两手行动。
主线1.日志中查找出蛛丝马迹。看是否是在某种特殊情况下, 用户非常规操作造成。由于系统有记录所有操作的日志功能,但数据量无疑是巨大的,可以以时间为主线,根据单号,主键,嫌疑方法等关键词来过滤记录。
主线2. 逐个代码审查删除逻辑前后上下文的相关代码,看是否存在漏洞造成误删的情况。
经过几小时的排查,得到的结果令人沮丧。
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26