云存储总体设计方案(14页).doc

上传人:1595****071 文档编号:35625711 上传时间:2022-08-22 格式:DOC 页数:14 大小:378KB
返回 下载 相关 举报
云存储总体设计方案(14页).doc_第1页
第1页 / 共14页
云存储总体设计方案(14页).doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《云存储总体设计方案(14页).doc》由会员分享,可在线阅读,更多相关《云存储总体设计方案(14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-云存储总体设计方案-第 13 页云存储总体设计方案编号:10 HOM 2102 0002拟稿审核批准签名覃永才日期2013-09-09目 录1.目的42.适用范围43.定义44.系统总体部分5系统概述5系统功能、性能5系统总体结构7关键技术9系统配置10外包、外购子系统规格10产品升级10用户支持(可选)10可靠性规格105.软件设计11功能设计116.测试系统设计15单元测试设计15集成测试设计15系统测试设计15修订履历序号版本号修订内容修订人修订日期AV初稿覃永才2013-09-09BCDEFGHIJKLMNOPQR1. 目的云存储设计方案用来存储RCU-U(车云平台)终端设备所采集的

2、数据,以及对采集数据简单的查询功能,是对软件及测试概要设计和详细设计的约束。2. 适用范围对于此设计方案设计多方面的内容,使用范围:软件代表、测试代表、设计代表。3. 定义缩略语英文中文描述HadoopHadoopApache基金会下面的一个开源项目,这个项目包含很多子项目ZookeeperZookeeperHadoop子项目之一,大型分布式系统的可靠协调系统HBaseHBaseHadoop子项目之一,分布式的、面向列的开源数据库HDFSHadoop Distributed File System是一个分布式文件系统。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署

3、在低廉的(low-cost)硬件上VINVehicle Identification Number车辆识别码UBIUsage-Based Insurance基于驾驶行为的保险GPSGlobal Position System全球定位系统GSMGlobal System for Mobile Communication全球移动通讯系统GISGeography Information System地理信息系统GPRSGeneral Packet Radio Service)通用分组无线服务3G3rd-generation第三代移动通信技术G-SensorGravity-sensor重力传感器GYR

4、OGyroscope陀螺仪4. 系统总体部分4.1 系统概述 4.1.1 名称、型号、版本、保密代号 此项目为云存储,简称LaunchCloud,云存储,版本V0。 4.1.2 版本描述 4.1.3 云存储主要是设计一个存储亿级记录的分布式云存储系统,整个系统 大致包含2大部分:(1)云存储:RCU-U终端采集行驶数据的存储,RCU-U终端部分分析后的数据存储,MapReduce分析后的结果存储。(2)云存储门户网站:设备管理,用户管理,用户操作日志记录,第三方应用的API(预留)。该系统存储的数据主要是为以后的业务应用(如:UBI、汽车租赁等)提供原始的数据,以及提供大数据分析的技术扩展4.

5、2 系统功能、性能4.2.1 功能特性4.2.1.1 云存储功能有以下几个方面系统部分:1. 使用业内比较成熟的,开源的Hadoop+Zookeeper+Hbase云存储来存储汽车原始的行驶记录,2. 设备资料,用户资料等亿级以下的数据使用开源的数据库mysql来存储3. 基于Linux操作系统 具体业务部分:1. GPS信息存储2. G-SENSOR(加速/减速)信息存储3. 陀螺仪信息存储4. 速度信息存储5. 发动机转速信息存储6. 安全带指示信息存储7. 气囊信息存储8. 胎压信息存储9. 里程计信息存储10. 车门信息存储11. 油耗信息存储12. 点火信息存储13. 转向信息存储1

6、4. 远程诊断信息存储15. 超速信息存储16. 急刹信息存储17. 急加速信息存储18. 旅程行驶距离信息存储19. 碰撞事故信息存储20. 意外事故信息存储21. 用户操作日志记录存储22. 设备信息存储23. 用户信息存储24. 用户汽车阀值存储(电子栏栅,超速阀值,各种数据采集的频度等)25. 软件下载26. 系统日志27. 第三方应用的API(预留)4.3 系统总体结构4.4.1 云存储系统方框图4.4.1.1 云存储功能性系统方框图Linux服务器集群Hadoop集群Mysql开源数据库GPS信息存储G-SENSOR信息存储陀螺仪信息存储速度信息存储发动机转速信息存储气囊信息存储安

7、全带指示信息存储胎压信息存储里程计信息存储车门信息存储油耗信息存储点火信息存储远程诊断信息存储转向信息存储超速信息存储急刹信息存储急加速信息存储旅程行驶距离信息存储意外事故信息存储碰撞事故信息存储用户操作日志记录存储设备信息存储用户信息存储用户汽车阀值存储系统日志软件下载Zookeeper集群Hbase集群数据高速缓存Nginx主备热切换动/静分离负载均衡Tomcat集群第三方应用API4.4.1.2 RCU-U物理性系统方框图通讯集群Nginx-Master/负载均衡/动静分离Nginx-SlaveHBase-SlaveHBase- MasterNameNodeNameNode-Second

8、aryHRegion-1Zookeeper-1Datanode-1WebServer-1WebServer-2WebServer-n数据缓存层-1数据缓存层-2数据缓存层-nMysql-MasterMysql-SlaveWeb集群层HRegion-2Zookeeper-2Datanode-2HRegion-nZookeeper-nDatanode-n云存储集群层云存储门户网站4.4.1.3 对应关系云存储层: GPS信息存储、G-SENSOR(加速/减速)信息存储、陀螺仪信息存储、速度信息存储、发动机转速信息存储、安全带指示信息存储、气囊信息存储、胎压信息存储、里程计信息存储、车门信息存储、油

9、耗信息存储、点火信息存储、转向信息存储、远程诊断信息存储、超速信息存储、急刹信息存储、急加速信息存储、旅程行驶距离信息存储、碰撞事故信息存储、意外事故信息存储、用户操作日志记录存储云存储门户网站:设备信息存储、用户信息存储、用户汽车阀值存储(电子栏栅,超速阀值,各种数据采集的频度等)、软件下载、系统日志、第三方应用的API(预留)4.4.2 可测性设计的整体结构描述:测试过程一般按3个步骤进行,即单元测试、组装(集成)测试,系统测试,为了支持这些测试在下面的软件设计中作了如下考虑: 软件模块以及内部子模块的对外接口标准化,整个软件流程系统化,以支持单元测试中的模块接口测试、出错处理测试,并使测

10、试用例测试,同时使集成测试方便容易;软件模块内部采用清晰明了的判断分支结构。以方便白盒方式的路径测试;软件模块保证可理解性。使用有意义的数据名和函数名,充分的注释。以方便测试用例的生成、以及走查等软件评审。在关键的地方增加LOG信息,以方便出问题的时候知道问题出在哪里。4.4 关键技术1. 高可靠性云存储底层的HDFS是一个分布式文件系统。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序2. 高

11、扩展性Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。假如想扩展云存储系统中的存储容量,运算能力,直接水平添加机器,修改配置即可实现,上层程序不需要做任何修改。云存储门户网站前端采用高性能的nginx服务器做负载均衡,动静分离,静态资源缓存,经典的master-slave热备切换,不间断提供服务;Web集群层同样也可以按照集群的负担情况动态添加物理机器;数据缓存层是提供快速响应的重要保障;数据库Mysql存储层可以随着访问量的增大,按照业务垂直切分3. 高效性Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非

12、常快。基本上系统的关键点上都采用分布式部署,当系统访问量增大时,可以通过添加服务器来持续保证整个集群的高效性。4. 高容错性Hadoop能够自动保存数据的多个副本,并且能够智能地将失败的任务重新分配。基本上系统的关键点上都采用分布式部署,即使有部分服务器可能因为网络、硬盘、cpu、主板等物理损坏,也不会导致整个集群不可用4.5 系统配置4.5.1 硬件配置(比较节省的配置)5台服务器(1台server1:24GB内存+2TB硬盘7200 RPM,其他4台:8GB内存+2TB硬盘7200 RPM),其他千兆交换机把这5台服务器连接起来4.5.2 软件配置Linux操作系统、Nginx软件、Tom

13、cat、Hadoop、Zookeeper、Hbase、Mysql4.5.3 具体部署server1: NameNode+DataNode+HRegionserver2: DataNode+Zookeeper+HMaster+HRegionserver3: NameNodeSecondary+DataNode+HMasterSlave+Zookeeper+HRegionserver4: DataNode+Zookeeper+HRegion+NginxSlave+Tomcat+MysqlSlaveserver5: DataNode+HRegion+NginxMaster+Tomcat+MysqlM

14、aster4.6 外包、外购子系统规格 无4.7 产品升级4.7.1 版本升级规格由于整个系统都是运行在我们的服务器上,直接按照升级步骤来升级即可4.7.2 系统可扩充性设计 整个系统都是分成多个小模块,多层架构来开发。方便产品的有效的维护和升级。4.8 用户支持(可选)4.8.1 资料提供可以在存储门户网站明显的位置放使用快速入门,在需要用户填写的表单位置有提示行说明4.8.2 联机帮助暂无要求4.9 可靠性规格无5. 软件设计5.1 功能设计5.3.1 软件基本设计思想 云存储系统要求工作稳定,性能达到相关标准规定。程序架构多层分模块设计,分布式、高可靠、高可用、高扩展架构。5.3.2 软

15、件开发平台Linux开源稳定高性能的开源服务器操作系统;Hadoop是大数据存储分析的事实上的标准,开源免费,目前仍然在快速的发展;Nginx是一个高性能的HTTP和 反向代理服务器,同样是免费开源的;Mysql是目前最流行的开源免费数据库5.3.3 软件系统描述I 软件系统结构描述、总体软件框图通讯集群不同业务插入数据APIHMasterHFileStoreFileMemStoreStoreHRegionHLogHRegionServerHDFSDataNodeDataNodeDataNodeDataNode用户请求Nginx负载均衡/动静分离页面/图片等静态资源缓存Control控制层Vi

16、ew视图层Model模型层数据库存储层是否在缓存?是否II 功能实现原理 通讯集群通过云存储系统提供的API接口把RCU-U采集的实时业务的数据插入到HBase;云存储门户采用经典的MVC三层结构,有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具

17、有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。根据用户的请求,决定是从数据库获取数据还是从Hbase集群获取数据或者2者都有。III 模块规格、设计描述 在各功能模块中需要注意有关数据精度的优化,达到提高网络传输速度,减少云存储的存储空间,方便以后根据第三方业务快速的数据分析。表1:详细功能模块说明序号模块名称说明1公共工具模块整个系统的字符处理,数值转换,获取日期等2GPS信息存储模块根据可能的业务需求来设置Hbase的RowKey,提高海量数据的检索速度,保存的数据可以在地图上重现行驶轨迹,基本参数有:RCU-U的SN、经纬度、海拔、时间、精度等。3G-SENSOR(加速/减

18、速)信息存储基本参数有:RCU-U的SN、当前具体的加速/减速数字、采集时间、系统时间等。4陀螺仪信息存储模块基本参数有:水平面角度,垂直面角度、采集时间、系统时间等。5速度信息存储模块基本参数有:速度、采集时间、系统时间等。6发动机转速信息存储模块基本参数有: 发动机转速、采集时间、系统时间等。7安全带指示信息存储模块基本参数有: 主驾驶安全带指示、采集时间、系统时间等。8气囊信息存储模块基本参数有: 气囊状态、采集时间、系统时间等。9胎压信息存储模块基本参数有: 胎压数据、采集时间、系统时间等。10里程计信息存储模块基本参数有: 里程数据、采集时间、系统时间等。11车门信息存储模块基本参数

19、有: 车门状态数据、采集时间、系统时间等。12油耗信息存储模块基本参数有:油耗数据、采集时间、系统时间等。13点火信息存储模块基本参数有:点火数据、采集时间、系统时间等。14转向信息存储模块基本参数有:转向数据、采集时间、系统时间等。15远程诊断信息存储模块存储RCU-U终端诊断后,自动把诊断结果上传,基本参数有:远程诊断结果、采集时间、系统时间等。16超速信息存储模块存储RCU-U终端根据用户所设定的阀值,来判断当前是否超速,如果超速,就上传超速信息,基本参数有:速度阀值、当前速度、采集时间、系统时间等。17急刹信息存储模块存储RCU-U终端根据用户所设定的阀值,来判断当前是否急刹,如果急刹

20、,就上传急刹信息,基本参数有:急刹阀值、当前速度、采集时间、系统时间等。18急加速信息存储模块存储RCU-U终端根据用户所设定的阀值,来判断当前是否急加速,如果急加速,就上传急加速信息,基本参数有:急加速阀值、当前速度、采集时间、系统时间等。19旅程行驶距离信息存储模块RCU-U终端在一个旅程结束的时候,上传该旅程的数据。20碰撞事故信息存储模块RCU-U终端判断是否是碰撞,然后上传碰撞事故信息。21意外事故信息存储模块RCU-U终端判断是否是意外事故,然后上传意外事故信息。22用户操作日志记录存储记录云存储门户中用户更新数据的操作23设备信息模块记录汽车与RCU-U终端的对应关系24用户信息

21、模块包括用户的注册,登录验证,修改密码,找回密码,注册设备,修改设备对应关系25用户汽车阀值存储(电子栏栅,超速阀值,各种数据采集的频度等)模块用户汽车阀值记录的修改,查询26软件下载模块软件版本的记录,上传软件包27第三方应用的API(预留)可以参考目前新浪微博开放API、腾迅微博开放API的设计思路IV 软件模块可测性设计规格 需要提供软件各模块的单元测试和集成测试用例。满足自动化测试要求。提供给后台详细的测试数据和结果。6. 测试系统设计 测试系统设计应满足产品的要求。6.1 单元测试设计 单元测试是研发设计人员对板级软硬件各模块进行健壮性测试。各软件设计人员应对各自负责的模块进行功能和

22、性能测试,包含正常测试和异常测试。充分保证产品底层最基础的部件的设计质量。软件单元测试报告应由对应的研发设计人员完成提交和组织评审,以及进行缺陷早期处理和完善。 测试人员对各单元测试进行独立测试和验证,提交相应文档。 云存储具体模块内容请见前面表格。6.2 集成测试设计 集成测试是在单元测试的基础上对模块之间,板级间组成的子系统进行健壮性测试。由研发设计人员和测试人员各自完成。验证模块间的功能和性能,验证单元测试的未知缺陷。研发设计人员完成自测,缺陷处理。测试人员完成测试,验证和提交相应报告,跟踪缺陷处理。云存储需要测试的主要部分有:通讯集群与HBaseMaster数据库间的通讯,采集下来的各种数据是否已经正确保存到对应的表中,云存储门户网站是否能够快速查询到采集的数据等。6.3 系统测试设计 系统测试在集成测试完成后,对产品的整体测试。覆盖产品所有需求。这部分由测试人员完成。系统测试还应包含,可靠性测试,环境试验等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁