定位系统优化

这样一个需求

某公司,通过自动化,来记录员工每天的考勤,及员工在公司中的行走情况。分3个班次,每班次大概1000人。

员工每经过一个办公室,都会收集到其信息。 数据格式:员工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的时间。

对于每一个办公室,进入时间与离开时间

离开工厂的时间。

最终:分析出员工的考勤(上下班)、在公司的轨迹线路,最新位置。时间延迟不能超过2分钟。监控室会实时查看相关数据。数据是通过TCP接收的。

阶段一:

将数据原始存储到数据库中,然后通过代理运行分析,将分析后的结果存储到数据库中。

临时数据在10-20万,结果数据在200、300万时已有些吃力。每分析一次最长需要10秒左右。

此方法也是经过了数次调整。

阶段二

数据分析过程不在数据库中处理,而在SOCKET中进行处理。数据库不做分析,只做插入、读取操作。

对于频繁读取的数据,也是存储的SOCKET中。如即时位置。

自行设计了一套(UDP)协议,读取最新数据。

工作量增加了很多,但是处理过程起来非常快!需要将数据库数据与UDP读取到的数据进行合并。

阶段三

如果数据量巨大,将使用redis+mongodb。




转载于:https://my.oschina.net/u/147591/blog/30350

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值