标签: COE, 复盘

如下为2014/11月份的邮件。

丁总,如下为摇钱树标的交易订单号重复事故的发生及处理过程。COE(Correction Of Error)是我们在JD研发部时使用的一种事故&问题处理反馈方式。

事故描述

11月6日下午业务部门在进行回款操作时,反映存在两个用户购买的标的,但是单号相同

事故症状

徐夫明查看通过数据库统计订单,发现在有34笔这样的交易,只有17个单号,即每2笔交易共用1个单号。

产生的影响

连连支付在支付成功后会回调我们系统,然后我们的系统会根据订单号更新订单为已支付。因此,当某2笔交易共用一个单号时,当其中一笔完成支付,会同时更新这2笔交易为已支付。

处理过程描述

-11月6日10:00 业务部门反映存在两个用户购买的标的,但是单号相同

-11月6日11:00 徐夫明查看通过数据库统计订单,发现在10月17日、18日、21日、22日的交易中,存在34笔这样的订单,只有17个单号,即每2笔交易共用1个单号。单笔交易均为100元。

-11月6日13:00 徐夫明发现问题,订单表订单号不是主键,同时,当时的订单号生成规则是以精确到秒时间格式命名,导致同一秒发生的交易的订单号重复。(此生成规则在10月22日已经变更为日期+5位随机数的方式)

-11月6日17:00 业务部门对用户承诺,会对这34笔交易逐一回款。

-11月6日20:00 张国战更正订单表表结构,撤销自增的标识列主键,将订单号设为主键。

-11月7日10:00 张国战、徐夫明更改影响到的程序,包括PC端和无线端的交易、后台订单管理等模块,并做测试。

-11月10日19:00 准备上线。

后续工作

任务名称

任务概述

负责人

完成时间

完成情况

数据库梳理

对现有数据库设计进行系统梳理,对于不合理的设计,给予改正。

张国战

11月17日

在进行

加强代码的Review工作

对于提交的代码进行严格的代码review,确保提交代码的质量以保证生产

张国战、徐夫明、王栋

 

以后会陆续执行

 

【后记】这就是我们常说的“复盘”。复盘,围棋术语,也称“复局”,指对局结束后,双方旗手把刚才的对局再复演一遍,这样可以有效地加深对这盘对弈的印象,也可以找出双方攻守的漏洞,是提高自己水平的好方法。联想集团的管理中也引进了复盘这种方法,并作为联想的三大方法论之一。当一个人精通复盘之后,他对于自己的工作就会有深刻的认识和体悟,具有一种惊人的直觉。就可以从纷繁复杂的现象中一眼抓住关键所在,找出解决问题的方法和路径。

分享一种系统事故&问题处理反馈方式(COE)的更多相关文章

  1. 分享:Oracle 系统变量函数用法说明

    在Oracle数据库中,Oracle系统变量函数是经常会使用到的函数,分享下Oracle系统变量函数的用法. Oracle函数多种多样,系统变量函数就是其中之一,介绍三种最常见的系统变量函数. Ora ...

  2. 分享5种风格的 jQuery 分页效果【附代码】

    jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示      源码下载 各个 ...

  3. Microsoft SQLServer有四种系统数据库

    Microsoft SQLServer有四种系统数据库: 1.master数据库 master数据库记录SQLServer系统的所有系统级别信息.它记录所有的登录帐户和系统配置设置.master数据库 ...

  4. mssql sqlserver 下文分享一种新颖的字符串截取方法

    原文地址:http://www.maomao365.com/?p=7307 摘要:    以前分割字符串时,都使用类似split函数的方式处理,下文分享一种对有规律的字符串的分隔方式,    即:1. ...

  5. 几种系统下查看FC HBA卡信息的方法

    几种系统下查看FC HBA卡信息的方法 目  录 几种系统下查看FC HBA卡信息的方法 FC HBA卡概述 Windows系统下查看FC HBA卡的信息 Linux系统下查看FC HBA卡的信息 U ...

  6. Vue微信自定义分享时安卓系统config:ok,ios系统config:invalid signature签名错误,或者安卓和ios二次分享时均config:ok但是分享无效的解决办法

    简述需求:要求指定页面可以进行微信自定义分享(自定义标题,描述,图片,链接),剩下的页面隐藏所有基础接口.二次分享依然可以正常使用,切换至其他页面也可以正常进行自定义分享. 这两天在做微信自定义分享的 ...

  7. Androidstudio实现一个简易的加法器——分享两种方法实现(日常作业练习)

    Androidstudio实现一个简易的加法器——分享两种方法实现(日常作业练习)                                                           ...

  8. 讨论两种Redis中Token的存储方式

    摘要:本文讨论一个问题:存储token时,token与对应用户id谁来作为key? 问题起源问题起源于要给公司的后台管理系统添加权限管理,选用的是开源框架shiro,而原本系统上是采用token做了登 ...

  9. 三种POST和GET的提交方式

    向服务器提交数据有两种方式,post和get.两者的区别主要有三点,安全性.长度限制.数据结构.其中get请求安全性相比较而言较差,数据长度受浏览器地址栏限制,没有方法体.两种都是较为重要的数据提交方 ...

随机推荐

  1. [No0000154]详解为什么32位系统只能用4G内存.

    既然是详解, 就从最基础的讲起了. 或者1来存储数据的, 所以Bit实际上可以看成存放1个二进制数字的1个位置.也就是说bit只有2种值, 0 或者 1, 所以1个bit能存放1个布尔类型的值(boo ...

  2. [No000013E]用VSCode写python的正确姿势

    最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引.用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markd ...

  3. netstat -s TCP连接失败 相关统计 解释

    针对问题:TCP连接失败 分析:netstat -s输出中和连接失败相关的参数 202270382 invalid SYN cookies received --- 三次握手ack包,syncooki ...

  4. wpf中通过ObjectDataProvider实现文本框的双向数据绑定(ps:适用于在文本框比较多的时候使用)

    前端代码: 也页面的xaml中引入ObjectDataProvider: <Window.Resources> <ResourceDictionary> <ObjectD ...

  5. 【Java】一台服务器配置多个Tomcat

    需求缘由 最近接收了一个新的工具业务:ipublish发布系统,刚接手这个业务的时候,发现每次发布新的代码 需要到群里告知大家,我要停服务几分钟,准备更新代码啦.这尼玛 哪个公司都不敢这么牛逼的和用户 ...

  6. LeetCode 937 Reorder Log Files 解题报告

    题目要求 You have an array of logs.  Each log is a space delimited string of words. For each log, the fi ...

  7. LeetCode 852 Peak Index in a Mountain Array 解题报告

    题目要求 Let's call an array A a mountain if the following properties hold: A.length >= 3 There exist ...

  8. java 大数据运算 BigInteger BigDecimal

    package cn.sasa.demo5; import java.math.BigDecimal; import java.math.BigInteger; public class BigDat ...

  9. mysql大表更新sql的优化策略(转)

    看了该文章之后,很受启发,mysql在update时,一般也是先select.但注意,在Read Committed隔离级别下,如果没有使用索引,并不会锁住整个表, 还是只锁住满足查询条件的记录而已. ...

  10. mmu裸机程序

    硬件平台:JZ2440 init.c     -->  初始化sdram,创建页表 leds.c   -->  使用init.c初始化的VA地址控制led start.s  -->  ...