这样一个需求
某公司,通过自动化,来记录员工每天的考勤,及员工在公司中的行走情况。
员工美经过一个办公室,都会收集到其信息。 数据格式:员工ID、时间、办公室ID
数据信息通过硬件自动采集,每3-5秒钟至少发送一次数据。这一环节不做更多介绍。
在进入公司的时候,先后经过两个门,依次为A,B,这里是有先后书序的。上班,先A,后B,下班先B后A。
进入后一个办公室的时间,即为离开前一个办公室的时间。
办公室的ID是唯一的。
规定:A:1,B:2,工厂里面的是2,3,4
最终收集到杂乱无章的数据,如工人甲,1,1,1,2,2,3,3,3,3,3,4,4..,5,5 ,2,2,1,1
这样这名工人就完成了进入工厂,到办公室,离开工厂。
现需要统计 进入工厂的时间:第一次进入A的时间,第一次进入B的时间。
对于每一个办公室,进入时间与离开时间
离开工厂的时间。
假设,将数据存储在数据库中,应如何实现。数据量比较大,每天至少是20万以上。
进入工厂的数据在表A中,表A有3个字段,员工(a)、记录仪ID(b),时间(c)。
办公室的数据在表B中,结构同表A。
A、B是原始数据表,C、D则是对应的分析之后的数据。
在任何地方,数据量的多少也是不确定的。
这样的需求如何实现?方式一定很多,如只通过数据库脚本,当然还可以通过程序来对数据进行分析。
对应的分析方法,比较简单,那就是对数据进行比较。但数据量较大,而且需要实时处理,3分钟为一周期。
处理周期不应大于3秒(假设从表A、B中选出并排序耗时<1秒)。
欢迎大家发表一下自己的思路,重要的是使用的什么算法。