先看一设备需求,用于验证计费模型是否有变化,如题:
这里涉及的就是 “计费模型编号”,业务需求就是价格变化了,编号应该也变更,常用的实现方法:
1,如果通过版本控制,要增加至少版本控制列,修改数据时版本+1
2,通过监测更新时间字段实现
3,使用数据库触发器
我们还可以换一种思路,借鉴md5的做法,直接对变更的数据进行hash提取特征,这不是更简单,更有保障。
以下是实现方法:
/**
* 计算hash值
* @param rule 数据对象
* @return
*/
public static byte[] hashByte(ChargeRule rule) {
int hashCode = rule.hashCode()%256;
ByteBuffer buffer = ByteBuffer.allocate(2);
buffer.putShort((short) hashCode );
byte[] r=buffer.array();
return r;
}