NoSQL轨道系列——记某真实项目中轨迹显示查询效用优化方案二(日志情势)

小说版权由作者李晓晖和和讯共有,若转载请于分明处标明出处:http://www.cnblogs.com/naaoveGIS/

1.    方案目的

       该方案需要满意以下几点:

       协助人口当天轨道神速拿到(查询)。

       协理轨迹高并发读、写(实际项目中轨迹高并发读情形很少)。

       保证所有(历史)轨迹数据的完整性、不丢掉。

2.方案探讨详细描述

2.1支撑轨迹急迅查询——轨迹日志文件方案

      
海量数据迅速存储、查询,这么些场景我是相比吻合NoSQL数据库运用的,然则考虑到该方案执行的难度(对工程实践、维护、研发成本),仅仅为了化解轨迹而使用该方案不是一个最好的选料。

      
这里,我们引用日志的定义。设想将每道奇生的轨迹以日记文本格局来储存,定义好日志的积存规则,那么大家的轨迹查询将转移成轨迹日志文件的检索和分析,磁盘检索的功用将大大提升。

       该方案涉及到的中坚问题便是,轨迹日志的囤积规则。

2.2支撑轨迹高并发读、写——轨迹日志存储规则定义

       针对每一天生成的轨迹建立一个以日期命名的文本夹,应该是足以肯定的。

      
可是,在日期文件夹中,是针对每个时刻建立一个轨道文件,仍旧针对每个人建立一个日记文件则是急需我们更是琢磨的。

2.2.1分时节记录优缺点探讨

       优点:

      
a.文件数量少,最多24个,假使保持住每个时刻的日记文件连续,写入操作高并发补助会很好。

      
b.针对以时日段查询、并且不分人士得到具有轨道的情景,相当适用,适合GPS厂家的急需。

       缺点:

      
a.咱们的选择情况更多的是询问单个人员当天的享有轨道,假诺按照这多少个规则,那么轨迹查询得遍历24个文件,还得解析各文件获取相应人员的轨迹。

2.2.2分人记录优缺点啄磨

       优点:

      
a.很符合我们的业务场景,每一遍单人单天轨迹查询时,只需要遵从轨道存储规则就足以拿走到该人士的对应轨迹文件。

      
b.针对前者轨迹突显工作,可以将轨道文件视做静态资源而开展静态伺服,前端直接访问解析。

      
c.针对后台进行轨迹分析,由于该文件大小很小,加载进入后台举办剖析也尚无IO瓶颈。

       缺点:

      
a.由于人手一般会相比多,假设分人存储,尽管有1000个人,那么等于有1000个日志文件。高频率对1000个公文分别举办写入操作,可能出现IO瓶颈。

2.2.3条条框框总括

       经过认真剖析,依旧拔取分天分人平整,原因有以下几点:

       a.符合我们的作业场景运用。

       b.针对高并发读有很大优势。

      
c.尽管理论上其有日记文件多、高并发写的劣势。可是这两点都得以展开制止。

      
日志文件多的问题:由于日记本身只是做笔录使用,可以再制定一个定时清理的天职,比如一个月清理一遍,那么即便1000个人,一个月3W个日志分布在30个日志文件夹,不是不可以承受的。

      
高并发写的题目:尽管大家确定手机报告时间是5S,手机也并不是一个实时写入的过程,而是还有一个批量上传的参数。所以其更或者是两秒钟或者更久批量上传一次数据,那么我们后台读取文件、写入批量内容、关闭该公文,对IO的碰撞会大大缩减。并且,由于是例外文件的操作,排队等候一个文件操作的题材也会大大压缩。

 

2.3历史轨迹数据安全性、完整性——历史轨迹表用作备份

      
针对我们事先的历史轨迹表,应该继承保留。日志文件本身的安全性是不够的,尽管出现误删除等题材,轨迹数据将很容易丢失。

       所以历史轨迹表仍然保存,定期做数据备份迁移。

3.针对实时轨道存储的表达

      
如今的实时轨迹存储逻辑为,手机端批量上传GPS时,将该人士离上传时间以来的GPS点保存(saveorupdate)至tc_patrol_state表中。

       该事情逻辑在三个已有档次中尚无察觉性能瓶颈,可以保留。

4.品种中原本逻辑关系调整的一些

       a.手机端上报轨迹,增添对轨道日志文件的操作。

       b.GIS端的前段轨迹显示、后台轨迹音讯挖掘,做相应修改。

       c.MIS端假设有跟轨迹表相关联的作业,需要做对应修改。

 

                        
—–欢迎转载,但保留版权,请于显明处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                           
要是你认为本文确实帮忙了您,可以微信扫一扫,举行小额的打赏和鼓励,谢谢
^_^

                                      NoSQL 1

网站地图xml地图