数据有效性和缓存(草稿)
1 规则绑定和解绑 (数据有效性)
在规则引擎中,规则的绑定和解绑涉及到数据的一致性和缓存的更新。
1.1 解绑生效(含无需审批和审批通过) (数据有效性)
无需审批的删除业务主数据等同于解绑,因为接入规范要求业务通过rpc通知规则中心。 移除规则ID+业务类型 -> 业务ID,绑定的业务涉及需要审批类型则执行下面的数据整理工作。
- 已审批通过:缓存和数据库都不管。
- 已通过有修改(含删除):直接丢弃数据库修改,数据库改为已生效,缓存不管。
- 未生效: (另一种逻辑是:未生效的全改为已生效,然后写入数据库和缓存)
- 移除数据库,含子表。
- 删除规则,需删除规则关联mac/地区/渠道/mac资源绑定,缓存只需删除规则缓存就行。理论上规则主表未生效,关联的子表不可能生效。
- 删除mac资源,需删除mac资源关联mac,理论上mac资源未生效,关联的子表不可能生效。需要关联到绑定的规则,异常规则和mac的关系。
1.2 绑定生效 (数据有效性)
规则ID+业务类型 -> 业务ID变更,添加业务ID元素 或者删除整个规则ID+业务类型。 如涉及审批类型,则执行下面的数据整理工作。但是不涉及绑定表本身的任何东西。
- 已审批通过:缓存和数据库都不管。
- 已通过有修改:修改数据库和缓存,含规则主表草稿(如有)。
- 未生效:数据库和缓存均是已生效。
- 已通过有删除:删除数据库,删除缓存。
- 移除数据库,含子表。
- 删除规则,需删除规则关联mac/地区/渠道/mac资源绑定,缓存只需删除规则缓存就行。理论上规则主表未生效,关联的子表不可能生效。
- 删除mac资源,需删除mac资源关联mac,理论上mac资源未生效,关联的子表不可能生效。需要关联到绑定的规则,异常规则和mac的关系。
1.3 绑定和解绑未生效 (数据有效性)
均只把规则和业务关联表状态进行修改。
2 规则主表相关操作 (数据有效性)
- 新增、修改、删除、添加子表关联数据。
- 总体规则:涉及到需要审批的都只是做标识,所以不需要更新缓存。
- 删除主表:同步关联mac/地区/渠道/mac资源绑定。但是缓存只清理规则主表的就行。
- 新增主表但不带关联业务:直接新增,无需关心缓存。
- 新增 主表但带关联业务:直接新增数据,增加规则缓存和规则ID到业务ID的缓存,亦可不加规则主表缓存。
- 特殊处理新增和删除地区,需要删除或者更新规则缓存。
- 特殊处理:绑定和解绑mac资源,需要同步更新 mac-ruleId 缓存。
3 mac资源表操作 (数据有效性)
- 新增、修改、删除
- 总体规则:涉及到需要审批的都只是做标识,所以不需要更新缓存。
- 删除主表:同步删除关联mac,需要同步更新 mac-ruleId 缓存。
- 删除或者新增mac: 需要同步更新 mac-ruleId 缓存。