会员注册 | 登录 | 微信快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

MongoDB存储服务设计方案MongoDB存储服务设计方案 -- 20 元

宽屏显示 收藏 分享

页面加载中... ... 广告 0 秒后退出

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

1储服务设计方案1.需求分析客车平台和货运平台现有需求1实时数据文件存储类a.实时轨迹数据传统文件方式存储,一条轨迹150B,每天上报8640次,一天大约为1M轨迹文件格式说明偏移经度偏移纬度间度正北方向夹角车辆状态报警编码经度纬度海拔里程累计油耗发动机运行总时长引擎转速(发动机转速)位置基本信息状态位报区域/线路报警冷却液温度蓄电池电压瞬时油耗行驶记录仪速度机油压力大气压力发动机扭矩百分比车辆信号状态系统时间\r\n特点数据频率高,数据量大。b.实时报警数据传统文件方式存储,一条报警100B,每天上报8640次,一天大约为800K报警文件格式说明报警编码偏移经度偏移纬度经度纬度间度正北方向夹角累计油耗里程报区域/线路报警海拔系统时间\r\n特点数据频率高,数据量大。2c.驾驶行为事件传统文件方式存储,一条驾驶行为事件100B,每天上报不固定,根据实际生产环境观察,平均每天最大300K特点数据频率不高,数据量小。d.发动机负荷率传统文件方式存储,一条发动机负荷率200B,每天上报360次,一天大约为80K特点数据频率不高,数据量小。e.拍照数据,图片文件,每天上报数据量不定特点数据频率不高,数据量小。f.盲区补传轨迹文件轨迹文件统计最大数,这里不做统计g.盲区补传报警文件报警文件统计最大数,这里不做统计2实时数据传统数据库存储类A.存储非法轨迹位置B.更新车辆最后位置C.存储、更新车辆上下线D.存储、更新车辆报警A.更新车辆最后位置B.存储、更新车辆报警3)操作指令传统数据库类A.存储、更新下行指令,建议放在,用存放。B.存储车辆多媒体事件C.存储车辆多媒体信息D.存储车辆注册,建议放在据库中。E.存储车辆鉴权,建议放在据库中,同步到供鉴权服务用。F.存储车辆注销,建议放在据库中。G.存储车辆事件报告3H.存储车辆信息点播,建议放在据库中。I.存储车辆电子运单,建议放在据库中。J.存储车辆驾驶员信息,建议放在据库中,同步到止二次访问数据库。K.存储车辆行驶记录仪信息,建议放在据库中。L.存储、更新车辆调度信息,建议放在据库中。M.更新车辆照片信息N.更新终端参数信息O.更新路线信息,建议放在据库中。P.更新电子围栏,建议放在据库中。Q.存储、更新终端参数设置,建议放在据库中。R.更新终端版本号,建议放在据库中。S.存储多媒体数据检索T.存储上行透传信息U.存储数据压缩透传V.更新提问应答储A.存储、更新下行指令,建议废弃替代。B.存储车辆多媒体信息,,建议废弃替代。4)历史数据查询统计类A.轨迹回放条件始时间、接收时间)、B.区域查车(当前区域内车辆)条件车辆类型、车辆速度、是否报警C.区域协查(历史区域内车辆)条件D.历史报警条件类型、状态、时间现有平台存储服务上存在问题1)盲区补传数据分离问题2)跨多天历史轨迹查询的问题43)报警数据和4)区域查车、区域协查的准确性和计算效率问题5)报警数据、个大规模数据并行计算技术,源于务来进行统计分析6)拍照数据问题(统一管理,方便访问)7)业务流程、数据流程合理性问题8)设计质量问题,如下3|165694816606456724140420020120312/172641|165694236606454524141519920120312/1726429)集群、负载均衡问题10)高可用性问题在线扩容、故障转移11)运营监控问题(存储实例监控)52.方案设计存储服务方案设计目标利用并发)存储和相关的查询统计业务(如历史轨迹查询),并解决存储服务的长期运营的高可用性问题。具体包括A.解决并发写、高速查询、高速统计分析)B.解决并发写、高速查询、统计分析)C.解决司机驾驶行为数据存储问题(高并发写、高速查询、统计分析)D.解决拍照数据存储问题(高并发写、自动发布、高速查询)E.解决区域查车、区域协查等运算量大的业务统计问题F.解决存储服务高可用性问题如负载均衡、线性扩容、故障转移、灾备恢复、服务监控等最终目标简化现有平台业务流程,减少故障节点,提高存储服务的高可用性。存储方案设计细则时数据存储设计针对储服务提供C/C客户端接口,供通信系统调用,可以直接把调用者无需关系提供析和组装包,支持C/C、便平台各层面来使用。针对们把时数据格式定义为标准定义如下1)6详见附件1和附件2相关定义。2)司机驾驶行为数据司机驾驶行为现有平台的数据格式驾驶行为类型|起始位置纬度起始位置经度起始位置高度起始位置速度起始位置方向起始位置时间|结束位置纬度结束位置经度结束位置高度结束位置速度结束位置方向结束位置时间。具体数据样例3|165694816606456724140420020120312/172641|165694236606454524141519920120312/172642。3)发动机负荷率数据格式无固定格式(具体数据{311,20122,}车辆编号(时间戳(负荷数据(拍照数据存储设计性,用来存储大文件,如图片文件和视频文件。7由通信平台产生的有效拍照图片,可以连同属性信息(如车机间戳、图片问路径(一起直接存储在便前端应用查询。{311,20122,,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000}车辆编号(时间戳(文件名(发布路径(图片数据(史数据查询设计时数据查询和历史数据查询。为解决海量设计时考虑从3各方面来设计和优化1)创建数据索引可在设计之初就设计好索引,也可在运营期间来对数据的索引进行调整,建议在采用前者。针对历史轨迹数据的查询需求条件车机止时间,可以对段创建索引,来提高针对报警查询查询需求起止时间和报警状态,可以对段、段创建索引。82)数据读写分离和负载均衡设计在们采用多服务器集群,读写分离的部署架构,即通过部署多个写服务和多个读服务,来解决据存储的效率和服务可靠性、可扩展性问题。3)内存数据查询的效率,也采用了内存机制,把大量的热点数据放在内存中,来提高数据查询的命中率,我们可以利用这个特性来满足车辆位置查询的需求。4)提供查询车辆最新位置信息,查询条件为车辆体实现主要是通过可提供口,供上层应用调用。注此处与实时服务的功能有些重复,建议由实时服务来统一提供。提供查询每辆车的历史轨迹数据,查询条件为车辆始时间、结束时间。返回集应包含去除除可提供口,供上层应用调用。注查询返回的数据集结果尽量简洁,针对每类业务要求的访问,不必要的信息要剔除掉,减少网络压力、提高查询效率。c.报警数据查询据统计设计1)快照功能提供查询某个区域内、某段时间、都有哪些车辆,查询条件为。提供查询某个区域内、某段时间、都有哪些类型的报警车辆。2)报警统计可以按报警类别来统计某个时间段内都有哪些报警车辆。9可以统计某辆车在某段时间内的报警次数统计,可按总计、按报警类别来统计。拍照数据发布和查询设计通过以直接把存储在用层调用。在具体应用中的业务流程如下方案说明A.解决图片文件储存储分布的问题,可以利用片数据、视频数据等都存储在一起,方便管理和维护B.解决图片文件便利访问的问题,如文件的属性,文件的存储,文件的访问路径都作为一条记录存储在便上层应用获取C.解决图片高效访问的问题,如利用发访问的问题,利用存服务来解决二次访问储服务业务流程框架设计10/C接口、别为通讯层、服务层和应用层提供存储服务。3.方案部署架构设计存储服务(署架构规划设计为保证高可用性(高并发、高可扩展性、高稳定性),我们采用了署架构,这是一种可以水平扩展的模式,在数据量很大时特给力,实际大规模应用一般会采用这种架构去构建储系统。下图所示11架构图说明A.分片分别在3台服务器见上图行一个见上图。B.副本集分别在3台服务器(见上图运行一个(称为,其中12C.2台服务器,每台服务器(见上图运行一个为2个作用是D.3台服务器,每台服务器(见上图运行一个程,用于客户端连接。E.线性扩展可以同时增加2台服务器(见上图其一个作为分片,另一个作为分片的副本和路由。备注说明1)例用于存储实际的数据块,实际生产环境中一个色可由几台服务器组个一个担,防止主机单点故障。2)储分片集群的的元数据,其中包括在每个例的基本信息和块信息。每个配置服务器所有块的元数据的副本。通过两次提交来确保在配置服务器信息与块数据的一致性。3)以被看作是一个数据和请求分发的中心,使单一的例组成互相关联的集群。当接收客户端请求,据由到相应的例可能是一组处理并返回结果。程没有持久状态,在动时和配置服务器建立连接并获取状态,当配置服务器发生任何变化时,会将之传播到每个程。存储服务(据分片规划设计1)什么叫分片以及分片的作用数据分割以及在不同机器存储数据的过程称之为分片。通过在多台机器上分割数据,使得数据库系统能存储更多的数据,和处理更多的负载,在此过程中不需要更多更强大的机器。是文档。这些分档可以分布于很多的样每个举个例子,思考一下。当你从集合选择一个装分片时,并使用割数据。这个假设你有一个联系人的集合。如果我们选择姓作为么一个分片可以存储姓以一个分片可以存储姓以13最后一个分片存储姓以你添加和删除分片时,重新做数据的负载,这样每个分片会获取一定量的流量和实际量的数据。所以在决定什么开始分片呢考虑一下几个因素目前的机器的磁盘什么时候用完希望比单一的理速度更快希望在内存中保留更多的数据以改善性能存储服务(例部署规划设计由于本方案是规划用4到6台服务器,多个6个例、2个3各例)实例同时运行在这些服务器上,所以在部署前需要先规划好服务器的例的名称、实例的分布(在那台服务器上)、实例的端口等,然后再实施。本方案的主机务名及端口网)网)70170000网)网)70180000网)网)70170000网)网)70180000网)网)701714网)网)70180000存储服务(务器硬件、网络和操作系统规划设计1)服务器硬件规划要求服务器内存至少16G,32G标配,越大越好。硬盘存储空间1T以上,非式,越大越好。注不建议用磁盘阵列。服务器少4核以上,标配8核,核越多越好网卡千兆网卡,双网卡2)网络规划要求务器集群在一个独立的网段内。集群服务器用千兆交换机连接。3)操作系统4位企业版操作系统,支持中文字符编码。A.关闭文件系统/分区的项对应的分区项后面添加1/12目前该配置已经集成到启动脚本中。5536553655365536vm不要使用大内存页选项)内存页参考。件系统的选择用预分配的大文件来存储数据,我们推荐核版本网络上对及表现持怀疑度,而强力推荐.线程堆栈的尺寸默认的线程堆栈尺寸为10M,调整为1M,已经集成在启动脚本中。本规划设计版本号4位。注偶数的版本是稳定版,奇数是开发版,例如,头的是稳定版等,头的开发版(。存储服务(营监控规划设计164.方案实施实施步骤1)方案设计2)方案评审3)设计验证4)结论评估5)上线实施方案整体实施计划17附件1存储服务表(构设计1.)结构定义表名作用用于存储车机实时上传供前端应用查询和统计。具体表结构信息如下所示编号字段名称中文对照别名字段类型是否索引备注1辆整数是2间B整数是不包含时区3度C整数是偏移后的4度D整数是偏移后的5度E整数6向F整数7拔高度G整数8辆状态G整数9警编码H报警编码子集合1紧急报警数2超速报警数3疲劳驾驶数4预警数5导航模块故障数6导航系统天线未接数7导航天线短路数8终端主电源欠压数9终端主电源掉电数10终端显示屏故障数11语音模块故障数12摄像头故障数13当天累计驾驶超时数14超时停车数15进出区域数16进出路线数17路线行驶时间不数18足/过长18路线偏移报警数19车辆速度传感器故障数20车辆油量异常数21车辆被盗数22车辆非法点火数23车辆非法位移数24碰撞侧翻报警数25严重故障数26制动气压报警数27油压报警数28水位低报警数29制动蹄片磨损报警数30空滤堵塞报警数31缓速器高温报警信号数32仓温报警信号数33机滤堵塞信号数34燃油堵塞信号数35机油温度报警信号数36燃油警告数37空档滑行告警数38超长怠速告警数39怠速空调告警数40发动机超转告警数41急加速报警数42急减速报警数43门开报警数44冷却液温度过高报警数45蓄电池电压报警数46障告警数47关键点报警数10度I整数原始经度11度J整数原始纬度12程L整数13计油耗M整数14动机运行时长N整数15擎转速O整数16置状态位P整数1917域/线路报警Q字符串18却液温度R整数19电池电压S整数20时油耗T整数21录仪速度U整数22油压力V整数23气压力W整数24动机扭矩百分比X整数25辆信号状态Y整数26统时间Z整数建议为节省时数据的存储空间,我们建议采用英文首字符缩写方式来定义每个字段的名称,当然也可以用a、b、c、d来表示每个字段的名称,这样的好处是节省存储空间,缺点是可读性差,但可以通过相关查询接口函数还原数据项可读性差的问题。2.)结构定义表名作用用于车辆报警事件信息的集合(表),包括报警位置、报警时间、报警附加信息、报警处理信息等。具体表结构信息如下所示编号字段名称中文对照别名字段类型是否索引备注1警整数是2辆整数是3牌号C字符串是4班司机编号D整数5警开始时间数是6度(起始位置)数偏移后的7度(起始位置)数偏移后的8度(起始位置)数9向(起始位置)数10拔(起始位置)数2011程(起始位置)数12计油耗(起始位置)数13警结束时间数是14度(结束位置)数偏移后的15度(结束位置)数偏移后的16度(结束位置)数17向(结束位置)数18拔(结束位置)数19程(结束位置)数20计油耗(结束位置)数21警类型编码M整数详见报警编码对照表22警源N整数1车载终端,2企业监控平台,3政府监管平台,9其它23本状态数24展状态数25警附加信息(开始位置符串26警附加信息(结束位置)符串27警时间/系统时间Q整数建议和系统时间合并28警处理状态R整数是处理0不作处理1将来处理2处理完毕29警处理人S整数30警处理时间T整数是31办状态U整数0未督办;1内部督办;2监管平台督办建议为节省车辆报警数据的存储空间,我们建议采用英文首字符缩写方式来定义每个字段的名称,当然也可以用a、b、c、d来表示每个字段的名称,这样的好处是节省存储空间,缺点是可读性差,但可以通过相关查询接口函数还原数据项可读性差的问题。21注(1)报警类型编码对照表,如下表所示报警类型报警编号紧急报警0超速报警1疲劳驾驶2预警3导航模块故障4导航系统天线未接5导航天线短路6终端主电源欠压7终端主电源掉电8终端显示屏故障9语音模块故障10摄像头故障11当天累计驾驶超时18超时停车19进出区域20进出路线21路线行驶时间不足/过长22路线偏移报警23车辆速度传感器故障24车辆油量异常25车辆被盗26车辆非法点火27车辆非法位移28碰撞侧翻报警29严重故障32制动气压报警33油压报警34水位低报警35制动蹄片磨损报警36空滤堵塞报警37缓速器高温报警信号38仓温报警信号39机滤堵塞信号40燃油堵塞信号41机油温度报警信号42燃油警告43空档滑行告警44超长怠速告警4522怠速空调告警46发动机超转告警47急加速报警48急减速报警49门开报警50冷却液温度过高报警51蓄电池电压报警5253关键点报警220(2)报警附加信息编码定义式位置类型|区域或路段型0无特定位置1圆型区域2矩形区域3多边形区域4路段当类型为0时,无区域路段报警附加信息类型,格式位置类型|区域或线路向类型0无特定位置1圆型区域2矩形区域3多边形区域4路线方向0进,1出时间不足/过长,格式路段段行驶时间|结果结果0不足,1过长3.司机驾驶行为事件存储集合(表)结构定义表名作用用于存储司机驾驶行为数据的表。具体表结构信息如下所示编号字段名称中文对照别名字段类型是否索引备注1辆整数是2驶行为类型B整数是详见下表3间(起始位置)C整数是不包含时区4度(起始位置)D整数偏移后的5度(起始位置)E整数偏移后的6度(起始位置)F整数7拔(起始位置)G整数8向(起始位置)H整数9间(结束位置)I整数是不包含时区2310度(结束位置)J整数偏移后的11度(结束位置)K整数偏移后的12度(结束位置)L整数13拔高度(结束位置)M整数14向(结束位置)N整数15统时间O整数注驾驶行为类型定义驾驶行为类型行为编号加热器工作1空调工作2发动机超转3过长怠速4超经济区运行5空档滑行6怠速空调7二档起步8档位不当9超速10疲劳驾驶114.发动机负荷率存储集合(表)结构定义表名作用用于存储车辆的发动机负荷率数据的集合(表)。具体表结构信息如下所示编号字段名称中文对照别名字段类型是否索引备注1辆整数是2间C整数是不包含时区3荷数据D字符串5.拍照数据存储集合(表)结构定义表名24作用用于存储车辆的拍照图片数据的集合(表)。具体表结构信息如下所示编号字段名称中文对照别名字段类型是否索引备注1辆整数是2照时间B整数是不包含时区3件名C字符串4布地址D字符串5片E二进制对象6.上下行指令数据集合结构定义表名作用用于存储车辆的拍照图片数据的集合(表)。具体表结构信息如下所示附件2存储服务(外接口统一定义存储服务的对外统一接口分为3大类更新类接口、查询接口和统计类接口。由于写操作接口跟通信服务紧密相关,所以优先提供C类型的接口。25查询和统计接口跟上层服务和应用紧密相关,所以提供型的接口和口,这里优先提供口。新类接口1)A.时数据插入操作接口注客户端驱动的据的基本对象。具体格式定义如下{A1175,//车辆B2012246//C69838489,//经度D23946431,//纬度E59,//速度F234,//方向G1225,//海拔高度{//车辆状态子类(嵌套)//紧急报警//超速报警//疲劳驾驶//预警//导航模块故障//导航系统天线未接//导航天线短路//终端主电源欠压//终端主电源掉电//终端显示屏故障//语音模块故障//摄像头故障//当天累计驾驶超时//超时停车//进出区域//进出路线//路线行驶时间不足/过长26//路线偏移报警//车辆速度传感器故障//车辆油量异常//车辆被盗//车辆非法点火//车辆非法位移//碰撞侧翻报警//严重故障//制动气压报警//油压报警//水位低报警//制动蹄片磨损报警//空滤堵塞报警//缓速器高温报警信号//仓温报警信号//机滤堵塞信号//燃油堵塞信号//机油温度报警信号//燃油警告//空档滑行告警//超长怠速告警//怠速空调告警//发动机超转告警//急加速报警//急减速报警//门开报警//冷却液温度过高报警//蓄电池电压报警////关键点报警}H395454,//经度I1393444,//纬度J1243544,//海拔高度K235679087,//里程L2,//位置基本信息状态位M区域、进,//区域/线路报警N55,//行驶记录仪速度O2,//车辆信号状态P2012246,//系统时间{//线数据子类(嵌套)135,//累计油耗135,//发动机运行总时长135,//引擎转速27135,//冷却液温度135,//蓄电池电压135,//瞬时油耗135,//机油压力135,//大气压力135,//发动机扭矩百分比}}2)车辆报警数据更新接口数的声明类型为具体格式定义如下{A1175,//车辆B京,//车牌号码C3376,//当班司机编号{//报警开始位置信息(子类)2012246//报警开始时间(间)69838489,//经度23946431,//纬度59,//速度234,//方向1225,//海拔高度234,//里程1225,//油耗}{//报警结束位置信息(子类)2012246//报警结束时间(间)69838489,//经度23946431,//纬度59,//速度234,//方向1225,//海拔高度234,//里程281225,//油耗}395454,//报警类型编码(索引)E2012246,//系统时间F1,//报警源G1243544,//基本状态H235679087,//扩展状态{//报警附加信息子集开始位置附加信息//开始位置结束位置附加信息//结束位置}I2,//报警处理状态J李四,//报警处理人K2012246,//报警处理时间L2,//报警督办状态}B.车辆报警数据更新接口注为保证存储服务的性能,强烈建议每条车辆报警数据一次性写入,所以3)司机驾驶行为数据写入接口A.司机驾驶行为数据插入操作接口C数的声明类型为具体格式定义如下{A7,//驾驶行为类型{//开始位置信息(子类)2012246//开始位置时间(间)69838489,//经度23946431,//纬度2959,//速度234,//方向1225,//海拔高度}{//结束位置信息(子类)2012246//结束位置时间(间)69838489,//经度23946431,//纬度59,//速度234,//方向1225,//海拔高度}E2012246,//系统时间}4)发动机负荷率数据写入接口A.发动机负荷率数据插入操作接口C数的声明类型为具体格式定义如下{A7,//车辆B2012246,//系统时间C43279843798237482974324234,//发动机负荷率数据}5)
编号:20170330004717782    大小:764.50KB    格式:DOC    上传时间:2017-04-01
  【编辑】
20
关 键 词:
MongoDB 存储 服务 设计方案
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

当前资源信息

4.0
 
(2人评价)
浏览:77次
dustinblog上传于2017-04-01

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

相关资源

相关资源

相关搜索

MongoDB   存储   服务   设计方案  
关于我们 - 网站声明 - 网站地图 - 友情链接 - 网站客服客服 - 联系我们
[email protected] 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5