跳至内容

拾光小记

批量轨迹存储压缩算法

业务背景 如果我们在某些场景中,需要存储和查询批量轨迹点(查询历史轨迹)。比如,一个小件员过去几天的经纬度坐标数据。如果app采集小件员轨迹的频率是1个/1秒。那么一天如果工作8小时,一天一个小件员的轨迹量是86060 = 28800个轨迹点。我们通常的做法是将小件员的实时位置信息采集存储到 …

轨迹点范围召回

实际场景 假如我们开发了一款APP,用户数量很大,APP定时会采集上报海量的轨迹点。这时,如果我们需要查询给定经纬度POI指定范围的用户信息列表。这就可以用到本文的范围查找了。 技术难点 1. 轨迹点是海量数据 2. 用户的轨迹点实时更新 解决方案 方案一: 1. 使用geohash算法将地球切分 …

锁·可重入锁

锁 每一个java对象都有一个监视器,通过监视器,当有线程获进入到对象的特殊区域时,其他线程就不可以继续进入这个区域。其他线程会进入一个等待区,当特殊区域的线程消费完毕,等待线程中的某个线程可以进入特殊区域。 一个简单的锁demo //定义锁对象 class Lock{ //是否锁定标识 …