软件开发设计的第三维度:时间

  1. 第三维度的产生

虽然我们生活在一个三维的世界中,但我们更习惯分析一些二维的数据,就像我们处理各种表格,由行和列组成,一个“平面”的数据,涉及的操作一般会是“筛选、排序和累计求和”等。

如果我们把一个个“平面”的表格,用“时间”串成一个串儿,那我们就得到另外一个维度。时间,就是我们分析数据的第三个维度。

https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1548734846999&di=218e77f5e3271fd70ffc518a8293b1d5&imgtype=0&src=http%3A%2F%2Fimg.redocn.com%2Fsheying%2F20151201%2Fshupianchuanzhashupian_5458816.jpg

图 1‑1  薯片串

2.有关“时间”

在需求调研阶段,通常不会太关注对于用户时间标记的需求。用户这方面的需求会描述为,历史数据查询,操作行为要有记录备查,数据可以进行回溯等等。而在功能设计阶段中,我们会设计出“数据按时间查询”,这里的数据却不会是同一数据的不同版本,而是一组按时间序列存储的数据。而“时间”的真正意义在于基于“时间轴”去呈现同一份/种类数据。

往往我们不去基于时间维度去设计开发,在一个项目中,系统产生数据着眼点在当前时间,不会去想运行一个月后、一年后系统的样子。在做系统运行价值评价时,我们才想到应该把过往数据进行存储和备份,而在数据对比分析时,数据时间标记属性开始变得必不可少。我们在系统中有两类数据,一类是生产的数据,一类是系统的各类基础数据。

实时数据(业务数据),天生具有“时间标记”,使用者关注数据的实时性,通过“时间标记”去测算数据是否及时到达。对于“实时数据”,需要两个位置存储,一个位置存储的是当前最新数据,用最新的数据去更新,另一个位置存储的是一个带有时间序列特性的历史数据。两个位置存储的数据,分别做不同的应用。最新数据,用于显示当前最新的状态;历史数据,用于分析数据在一段时间内的情况,计算最大值、最小值及平均值等。

系统基础数据,更新频率明显小于实时数据,而且对于这部分数据的生命周期不太容易被关注,用户不会对这部分数据“感冒”,就像是“脱敏”一样。但对于支撑系统业务的核心数据,数据的生命周期也十分重要。通过对核心数据的分析,我们可以了解到整个系统的业务走向,已经将来的业务趋势。比如,各年度的会员数据,一个监测对象的属性在各个时间的情况记录等。

3.时间标记的应用

“时间”存储可以存储为string、Int、DataTime、Timestamp等类型。在实时系统中,使用数值类型存储时间,对于获取最新的数据的查询,效率将大大提升。

3.1证据

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。时间戳使区块链上每一笔数据都具有时间标记。简单来说,时间戳证明了区块链上什么时候发生了什么事情,且任何人无法篡改。时间戳在区块链中扮演公证人的角色,而且比传统的公证制度更为可信。因为运用了时间戳,区块链技术也适合用于知识产权保护等领域。

简单应用,我们会将系统操作行为记录下来,什么时间、什么人、做了什么操作。有了“时间”属性的存在,才能能够找到一系列“操作行为”的相关性及影响。前提便是,我们需要保证记录具有一定的权威性。

3.2时间轴

图 3.2‑1  基于时间线的大事件

3.2.1历史变迁

时间在变,而空间具有一定的稳定性。同一地理位置,基于时间轴的数据变化。比如,某地的人口数据、时间标记的卫星图片,可以在时间轴上进行呈现叠加。

图 3.2‑2  同一位置上基于时间的数据

3.2.2数据分析

系统建设的价值,需要通过系统产生的数据去进行评价。系统在运行过程中各个阶段的数据,可做纵向对比分析,发现哪些指标在提升、哪些指标在下降。某种类型的数据可以用来和其他厂家的系统进行横向对比,发现优势和劣势。

分析需要的数据,需要在设计阶段就去考虑。针对分析的需要去设计记录内容和存储的方式。日志系统,记录系统的运行和使用情况,是面向运维的,正常、错误和警告状等状态下触发。

在具有“台账”概念的系统中,通常会将“年份”作为一份台账的时间标记。所有业务都是基于当年的“台账”进行的,“台账”中数据的新增、变更和销账操作有着严格的流程。基于历年的“台账”数据中,还需要有一个“统一标识码”,只有这样我们才会,查询到同一数据在不同“台账”中是什么样的。“统一标识码”,在一个数据的生命周期中不会变化;同时在整个系统也是唯一的,不会被回收,不会被重新启用。有了“统一标识码”和时间的组合,我们很多分析就有了材料。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值