|循环类业务处理的「增、删、改、查」
在处理很多业务时 , 有时会碰到“循环”这种特殊业务处理 。 例如:一个循环任务 , IOS上的日历循环计划 , 工作日闹钟等等 。 本文从四个方面对循环业务展开介绍 , 希望对你有用 。
本文插图
这里就来剖析下 , 『循环』事务的相关业务逻辑处理方案 。
本文阐述的『循环 』等同于『重复』 。
一、循环实际需求
部分业务在实际使用时 , 想要实现定期重复的场景 。
例如 , 用户制定了一个每周二的提醒事项 , 或者是想建一个每周六健身的计划清单 , 每隔两月的1号缴纳电费等费用 。
这些需求都是『场景固定 , 时间循环往复』 。
二、循环是什么
百科对其的定义是:事物周而复始地运动或变化 。
具体上要结合业务点 , 例如循环计划、重复提醒 。 其目的就是为了让一个周期性的事务 , 能够在仅做一次的情况下 , 在定好规则后 , 可以按周期出现 。
三、循环规则
一个完整循环的周期=开始点+周期+结束 。
开始点通常是某一个具体的日期 。
常见的循环周期的方式主要包括:日、周、月、年 , 有的产品还出现了『艾宾浩斯』周期 。
叠加了结束的循环周期 , 也就限定了此循环周期的时间长度 。
本文插图
不同的周期 , 所产生的具体规则细节不同 。
例如:以『周』为周期的话 , 需要指定是周几 , 具体可见下表 。
本文插图
X是循环开始点;Y标识所选次数;Z为截止日期 。
清楚了循环的本质 , 接着就是要结合业务 , 处理业务的循环数据 。
四、处理循环的数据
任何信息化事务的主要操作类型无非是『增、删、改、查』四类 。
1. 『增』:双向处理
循环数据应该少占用资源空间 , 所以用时间换空间 。 每次循环事务的展示 , 都是动态组织的结果 。 若是用空间换时间可能带来影响:空间消耗大;实际查询效率也不高 。
可以想象一下 , 若是每次设置一个循环 , 就根据循环规则创建一条数据 , 假若设置了个每天循环的计划 , 光一个月的话都可能多达30条 。 这还仅是此业务的一条循环方案 , 要是多条呢?所以当业务具备『循环』时 , 业务的数据应该还是独自保留的 , 仅是和循环子表建立关联 。
在新增数据时 , 就进行双向处理:在循环表上记录着循环的规则内容 , 而业务表则记录业务数据主体 。
本文插图
2. 『查』:虚实结合
由于循环业务的数据是分开处理的 , 采用的是【时间换空间】的方式 。 所以在展示循环业务的时候 , 查询的原则是:程序化组织 , 逻辑上判定 , 展示页优化 。
【|循环类业务处理的「增、删、改、查」】程序化组织:利用程序去向两个表读取数据 , 然后虚拟化出来相关的循环点 。 虚拟化是指根据循环规则判断某日是否该有数据展示 , 若有 , 则根据业务表组织出一条虚拟数据 。
例如:在1月1号制定了每天循环的事务 , 在2号这天查看时 , 也能看到此条事务数据 , 但实际上这条数据是通过程序拼装出来的 。
逻辑上判定:除了依靠程序拼装点 , 还需逻辑检验比对 , 虚拟化的点是否有实例化过 。 (实例化见下文)
展示页优化:简单来说 , 就是用户在客户端查看时 , 是看不出和那些真实的业务数据的差别 , 看起来以及使用起来都感觉在操作实际存在的数据 。
推荐阅读
- 寒武纪|寒武纪上市首日股价飘红 陈天石“高光时刻”背后业绩增长乏力 业务僵局难解
- 台积电|华为无奈!Mate40系列或采用双处理器方案
- 拉勾|拉勾CEO许单单:开展猎头、教育新业务,两年内再造两个“拉勾”
- 台式机|华为新款台式机曝光:仍搭载鲲鹏 920 处理器、外形设计简洁
- 新机发布|华为Mate 40或采用双处理器方案:国行麒麟1020+第三方芯片
- 台积电|史无前例华为Mate40将搭载双处理器:花粉这次真心难办了!
- |百元级5G手机救星 联发科年底推出6nn工艺天玑400处理器
- 英特尔,AMD|苹果首颗自研处理器不挤牙膏:Intel/AMD要难受了?
- 新机发布|华为Mate40真机渲染图全球首曝光!将推双处理器版本:国内用户有福了
- 英特尔|苹果首颗自研处理器不挤牙膏:Intel/AMD要难受了?
