产品开发总结

1、在线检测流程及开发

1.1 计算代码需要具备的功能

  1. 验证数据是否是有效数据
  2. 验证数据的完整性
  3. 是否会出现重复数据
  4. 计算要有实时性,即关即停,即开即算,能够最大程度减小停机对系统的影响

1.2 日志系统需要具备的功能

  1. 能够帮助开发人员对数据和计算过程起到非常有效的监控作用
  2. 禁止在代码中使用print打印,所有想要知道的信息都由日志打印(防止出现print打印数据和日志粘连在一起,提高日志分析难度)

1.3 整体代码需要具备的条件

  1. 代码需要具有较高性能,
  2. 能够考虑到一些地方出错可能性,在代码上得到体现
  3. 配置和代码分开,便于以后修改配置;
  4. 异常问题需要考虑到

2、 存在的难点以及解决办法

2.2 解决办法

2.2.1 假设所有数据都能够做到正确无误

那么用字典做缓存,这样就可以用所有办法来对某指标进行检测了

2.2.2 如果数据存在失误
2.2.2.1 数据库中的数据有缺失

缺失存在两种情况

  1. 一种是某个时刻没有采样到
  2. 一种是采样时间发生了偏移
2.2.2.2 数据库中的数据有重复

针对重复数据如何处理

2.2.2.3 数据库中的数据有null值
2.2.2.4 kafka来的数据顺序存在混乱问题

顺序存在问题,
第一个,如何检测到顺序混乱
第二个,如何解决顺序混乱

2.2.2.5 kafka来的数据存在null值情况

如果出现null值,就写入日志中,并且提高告警级别

2.2.2.6 用什么数据结构来存储历史数据

总结

其实开发确实和编程非常像

  1. 要想清楚处理流程;
  2. 要把会遇见的一些问题给想到,并且能够想到办法去解决它们,有时候想不出来解决办法,就多想几遍;
  3. 分模块编程,没有必要考虑到其他模块是不是没有准备好,也不要指望其他模块能够给出一个标准的数据格式,对于数据复杂状态的了解程度,是数据处理模块应该去做的事情,只是这个过程,确实需要一段时间;
    4、编程规范要做好,不要自己写的程序,自己都不乐意看;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值