云存储总体设计方案文档格式.docx
《云存储总体设计方案文档格式.docx》由会员分享,可在线阅读,更多相关《云存储总体设计方案文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
序号
版本号
修订内容
修订人
修订日期
A
V1.00.000
初稿
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
1.目的
云存储设计方案用来存储RCU-U(车云平台)终端设备所采集的数据,以及对采集数据简
单的查询功能,是对软件及测试概要设计和详细设计的约束。
2.适用范围
对于此设计方案设计多方面的内容,使用范围:
软件代表、测试代表、设计代表
3.定义
缩略语
英文
中文描述
Hadoop
Apache基金会下面的一个开源项目,这个项目包含很多子项目
Zookeeper
Hadoop子项目之一,大型分布式系统的可靠协调系统
HBase
Hadoop子项目之一,分布式的、面向列的开源数据库
HDFS
HadoopDistributedFileSystem
是一个分布式文件系统。
HDFS有着高容错性
(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上
VIN
VehicleIdentificationNumber
车辆识别码
UBI
Usage-BasedInsuranee
基于驾驶行为的保险
GPS
GlobalPositionSystem
全球定位系统
GSM
GlobalSystemforMobileCommunication
全球移动通讯系统
GIS
GeographyInformationSystem
地理信息系统
GPRS
GeneralPacketRadioService)
通用分组无线服务
3G
3rd-generation
第三代移动通信技术
G-Sensor
Gravity-sensor
重力传感器
GYRO
Gyroscope
陀螺仪
4.系统总体部分
4.1系统概述
4.1.1名称、型号、版本、保密代号
此项目为云存储,简称LaunchCloud,云存储,版本V1.00.000。
4.1.2版本描述
4.1.3云存储主要是设计一个存储亿级记录的分布式云存储系统,整个系统大
致包含2大部分:
(1)云存储:
RCU-终端采集行驶数据的存储,RCU-终端部分分析后的数据存储,MapReduc分析后的结果存储。
(2)云存储门户网站:
设备管理,用户管理,用户操作日志记录,第三方应用的API(预留)。
该系统存储的数据主要是为以后的业务应用(如:
UBI、汽车租赁等)提供原
始的数据,以及提供大数据分析的技术扩展
4.2系统功能、性能
4.2.1功能特性
4.2.1.1云存储功能有以下几个方面
系统部分:
1.使用业内比较成熟的,开源的Hadoop+Zookeepe叶Hbas云存储来存储汽车原始的行驶记录,
2.设备资料,用户资料等亿级以下的数据使用开源的数据库mysql来存储
3.基于Linux操作系统
具体业务部分:
1.GP信息存储
2.G-SENSOR(速/减速)信息存储
3.陀螺仪信息存储
4.速度信息存储
5.发动机转速信息存储
6.安全带指示信息存储
7.气囊信息存储
8•胎压信息存储
9.里程计信息存储
10.车门信息存储
11.油耗信息存储
12.点火信息存储
13.转向信息存储
14.远程诊断信息存储
15.超速信息存储
16.急刹信息存储
17.急加速信息存储
18.旅程行驶距离信息存储
19.碰撞事故信息存储
20.意外事故信息存储
21.用户操作日志记录存储
22.设备信息存储
23.用户信息存储
24.用户汽车阀值存储(电子栏栅,超速阀值,各种数据采集的频度等)
25.软件下载
26.系统日志
27.第三方应用的API(预留)
4.3系统总体结构
4.4.1云存储系统方框图
4.4.1.1云存储功能性系统方框图
陀
速
发
安
气
胎
里
车
油
占
八、、
转
-
螺
度
动
全
囊
压
程
门
耗
火
向
S
仪
信
机
带
计
息
指
存
示
储
信息存储
远
超
急
旅
碰
意
刹
加
撞
外
诊
行
事
断
驶
故
距
离信息存储
Hbase集群
Zookeeper集群
Hadoop集群
Linux服务器集群
441.2RCU-U物理性系统方框图
设
用
软
备
户
件
汽
下
载
阀
值
Nginx主备热切换
动/静分离
负载均衡
Tomcat集群
数据高速缓存
Mysql开源数据库
441.3对应关系
云存储层:
GPS信息存储、G-SENSORQ速/减速)信息存储、陀螺仪信息存储、速度信息存储、发动机转速信息存储、安全带指示信息存储、气囊信息存储、胎压信息存储、里程计信息存储、车门信息存储、油耗信息存储、点火信息存储、转向信息存储、远程诊断信息存储、超速信息存储、急刹信息存储、急加速信息存储、旅程行驶距离信息存储、碰撞事故信息存储、意外事故信息存储、用户操作日志记录存储
云存储门户网站:
设备信息存储、用户信息存储、用户汽车阀值存储(电子栏栅,
超速阀值,各种数据采集的频度等)、软件下载、系统日志、第三方应用的API(预留)
4.4.2可测性设计的整体结构描述:
测试过程一般按3个步骤进行,即单元测试、组装(集成)测试,系统测试,为了支持这些测试在下面的软件设计中作了如下考虑:
软件模块以及内部子模块的对外接口标准化,整个软件流程系统化,以支持单元测试中的模块接口测试、出错处理测试,并使测试用例测试,同时使集成测试方便容易;
软件模块内部采用清晰明了的判断分支结构。
以方便白盒方式的路径测试;
软件模块保证可理解性。
使用有意义的数据名和函数名,充分的注释。
以方便测试用例的生成、以及走查等软件评审。
在关键的地方增加loGb息,以方
便出问题的时候知道问题出在哪里。
4.4关键技术
1.高可靠性
云存储底层的HDFS是一个分布式文件系统。
HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。
而
且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序
2.高扩展性
Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
假如想扩展云存储系统中的存储容量,运算能力,直接水平添加机器,修改配置即可实现,上层程序不需要做任何修改。
云存储门户网站前端采用高性能的nginx服务器做负载均衡,动静分离,静态资源缓存,经典的master-slave热备切换,不间断提供服务;
We集群层同样也可
以按照集群的负担情况动态添加物理机器;
数据缓存层是提供快速响应的重要保障;
数据库Mysql存储层可以随着访问量的增大,按照业务垂直切分
3.高效性
Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
基本上系统的关键点上都采用分布式部署,当系统访问量增大时,可以通过添加服务器来持续保证整个集群的高效性。
4.高容错性
Hadoop能够自动保存数据的多个副本,并且能够智能地将失败的任务重新分配。
基本上系统的关键点上都采用分布式部署,即使有部分服务器可能因为网络、硬盘、cpu、主板等物理损坏,也不会导致整个集群不可用
4.5系统配置
4.5.1硬件配置(比较节省的配置)
5台服务器(1台[server1]:
24G射存+2TB硬盘[7200RPM],其他4台:
8G射存+2TB硬盘[7200RPM]),其他千兆交换机把这5台服务器连接起来
4.5.2软件配置
Linux操作系统、Nginx软件、Tomcat、HadoopZookeeper、HbaseMysql
4.5.3具体部署
server1:
NameNode+DataNode+HRegion
server2:
DataNode+Zookeeper+HMaster+HRegion
server3:
NameNodeSecondary+DataNode+HMasterSlave+Zookeeper+HRegion
server4:
DataNode+Zookeeper+HRegion+NginxSlave+Tomcat+MysqlSlaveserver5:
DataNode+HRegion+NginxMaster+Tomcat+MysqlMaster
4.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软件开发平台
Linux开源稳定高性能的开源服务器操作系统;
Hadoop是大数据存