云存储总体设计方案.docx
- 文档编号:7690352
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:16
- 大小:41.31KB
云存储总体设计方案.docx
《云存储总体设计方案.docx》由会员分享,可在线阅读,更多相关《云存储总体设计方案.docx(16页珍藏版)》请在冰豆网上搜索。
云存储总体设计方案
云存储总体设计方案
编号:
10HOM21020002
拟稿
审核
批准
签名
覃永才
日期
2013-09-09
1.目的4
2.适用范围4
3.定义4
4.系统总体部分5
4.1系统概述5
4.2系统功能、性能5
4.3系统总体结构6
4.4关键技术8
4.5系统配置9
4.6夕卜包、外购子系统规格9
4.7产品升级10
4.8用户支持(可选)10
4.9可靠性规格10
5.软件设计10
5.1功能设计10
6.测试系统设计14
6.1单元测试设计14
6.2集成测试设计14
6.3系统测试设计14
修订履历
序号
版本号
修订内容
修订人
修订日期
A
V1.00.000
初稿
覃永才
2013-09-09
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
1.目的
云存储设计方案用来存储RCU-U(车云平台)终端设备所采集的数据,以及对采集数据简单的查询功能,是对软件及测试概要设计和详细设计的约束。
2.适用范围
对于此设计方案设计多方面的内容,使用范围:
软件代表、测试代表、设计代表。
3.定义
缩略语
英文
中文描述
Hadoop
Hadoop
Apache基金会下面的一个开源项目,这个项目包含很多子项目
Zookeeper
Zookeeper
Hadoop子项目之一,大型分布式系统的可靠协调系统
HBase
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云存储功能性系统方框图
G
G
陀
速
发
安
气
胎
里
车
油
占
八、、
转
远
超
急
急
旅
碰
意
P
-
螺
度
动
全
囊
压
程
门
耗
火
向
程
速
刹
加
程
撞
外
S
S
仪
信
机
带
信
信
计
信
信
信
信
诊
信
信
速
行
事
事
信
E
信
息
转
指
息
息
信
息
息
息
息
断
息
息
信
驶
故
故
息
N
息
存
速
示
存
存
息
存
存
存
存
信
存
存
息
距
信
信
存
储
S
O
R
信息存储
存
储
储
信息存储
信息存储
储
储
存
储
储
储
储
储
息
存
储
储
储
存
储
离信息存储
息
存
储
息
存
储
Hbase集群
用户操作日志记录存储
设
用
用
软
备
户
户
件
信
信
汽
下
息
息
车
载
存
存
阀
储
储
值
存
储
第
方
应用
A
P
I
Zookeeper集群
Hadoop集群
Linux服务器集群
441.2RCU-U物理性系统方框图
云存储门户网站
通讯集群
I
Nginx-Master/负载均衡/动静分离
云存储集群层
HBase-Slave*.HBase-Master
Nginx主备热切换
动/静分离
负载均衡
Tomcat集群
数据高速缓存
Mysql开源数据库
Nginx-Slave
Web集群层
WebServer-n
数据缓存层-1
WebServer-2
数据缓存层-2
WebServer-1
NameNode-Secondary
HRegion-1
Zookeeper-1
NameNode
数据缓存层-n
HRegion-n
Zookeeper-n
HRegion-2
Zookeeper-2
Mysql-Slave
Mysql-Master
Datanode-1
Datanode-2
Datanode-n
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是大数据存储分析的事实上的标准,开源免费,目前仍然在快速的发展;Nginx是一个高性能的HTT和反向代理服务器,同样是免费开源的;Mysql是目前最流行的开源免费数据库
5.3.3软件系统描述
I软件系统结构描述、总体软件框图
II功能实现原理
通讯集群通过云存储系统提供的API接口把RCU-[采集的实时业务的数据插入到HBase;云存储门户采用经典的MV三层结构,有时改变其中的一层就能满足应用的改变。
一个应用的业
务流程或者业务规则的改变只需改动MV(的模型层,它实现了显示模块与功能模块的分离。
提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。
控制
层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,
控制层可以说是包含了用户请求权限的概念。
最后,它还有利于软件工程化管理。
由于不
同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产
生管理程序代码。
根据用户的请求,决定是从数据库获取数据还是从Hbase集群获取数据或者2者都有。
III模块规格、设计描述
在各功能模块中需要注意有关数据精度的优化,达到提高网络传输速度,减少云存储的存
储空间,方便以后根据第三方业务快速的数据分析。
表1:
详细功能模块说明
序号
模块名称
说明
1
公共工具模块
整个系统的字符处理,数值转换,获取日期等
2
GP信息存储模块
根据可能的业务需求来设置Hbase的RowKey提高海量数据的检索速度,保存的数据可以在地图上重现行驶轨迹,基本参数有:
RCU-的SN经纬度、海拔、时间、精度等。
3
G-SENSOR加速/减
速)信息存储
基本参数有:
RCU-U勺SN当前具体的加速/减
速数字、采集时间、系统时间等。
4
陀螺仪信息存储模块
基本参数有:
水平面角度,垂直面角度、米集时间、系统时间等。
5
速度信息存储模块
基本参数有:
速度、采集时间、系统时间等。
6
发动机转速信息存
储模块
基本参数有:
发动机转速、米集时间、系统时间等。
7
安全带指示信息存
储模块
基本参数有:
主驾驶安全带指示、米集时间、系统时间等。
8
气囊信息存储模块
基本参数有:
气囊状态、米集时间、系统时间等。
9
胎压信息存储模块
基本参数有:
胎压数据、采集时间、系统时间等。
10
里程计信息存储模
块
基本参数有:
里程数据、采集时间、系统时间等。
11
车门信息存储模块
基本参数有:
车门状态数据、采集时间、系统时间等。
12
油耗信息存储模块
基本参数有:
油耗数据、采集时间、系统时间等。
13
点火信息存储模块
基本参数有:
点火数据、采集时间、系统时间等。
14
转向信息存储模块
基本参数有:
转向数据、采集时间、系统时间等。
15
远程诊断信息存储
模块
存储RCU-1终端诊断后,自动把诊断结果上传,基本参数有:
远程诊断结果、采集时间、系统时间等。
16
超速信息存储模块
存储RCU-U终端根据用户所设定的阀值,来判断当前是否超速,如果超速,就上传超速信息,基本参数有:
速度阀值、当前速度、采集时间、系统时间等。
17
急刹信息存储模块
存储RCU-U终端根据用户所设定的阀值,来判断当前是否急刹,如果急刹,就上传急刹信息,基本参数有:
急刹阀值、当前速度、采集时间、系统时间等。
18
急加速信息存储模块
存储RCU-U终端根据用户所设定的阀值,来判断当前是否急加速,如果急加速,就上传急加速信息,基本参数有:
急加速阀值、当前速度、采集时间、系统时间等。
19
旅程行驶距离信息
存储模块
RCU-L终端在一个旅程结束的时候,上传该旅程的数据。
20
碰撞事故信息存储
模块
RCU-1终端判断是否是碰撞,然后上传碰撞事故信息。
21
意外事故信息存储
模块
RCU-U终端判断是否是意外事故,然后上传意外事故信息。
22
用户操作日志记录
存储
记录云存储门户中用户更新数据的操作
23
设备信息模块
记录汽车与RCU-U终端的对应关系
24
用户信息模块
包括用户的注册,登录验证,修改密码,找回密码,注册设备,修改设备对应关系
25
用户汽车阀值存储
(电子栏栅,超速阀值,各种数据米集的频度等)模块
用户汽车阀值记录的修改,查询
26
软件下载模块
软件版本的记录,上传软件包
27
第三方应用的
API(预留)
可以参考目前新浪微博开放API、腾迅微博开放
API的设计思路
IV软件模块可测性设计规格
需要提供软件各模块的单元测试和集成测试用例。
满足自动化测试要求。
提供给后台详细的测试数据和结果。
6.测试系统设计
测试系统设计应满足产品的要求。
6.1单元测试设计
单元测试是研发设计人员对板级软硬件各模块进行健壮性测试。
各软件设计人员应对各自负责的模块进行功能和性能测试,包含正常测试和异常测试。
充分保证产品底层最基础的部件的设计质量。
软件单元测试报告应由对应的研发设计人员完成提交和组织评审,以及进行缺陷早期处理和完善。
测试人员对各单元测试进行独立测试和验证,提交相应文档。
云存储具体模块内容请见前面表格。
6.2集成测试设计
集成测试是在单元测试的基础上对模块之间,板级间组成的子系统进行健壮性测试。
由研发设计人员和测试人员各自完成。
验证模块间的功能和性能,验证单元测试的未知缺陷。
研发设计人员完成自
测,缺陷处理。
测试人员完成测试,验证和提交相应报告,跟踪缺陷处理。
云存储需要测试的主要部分有:
通讯集群与HBaseMaster数据库间的通讯,采集下来的各种数据是否已经正确保存到对应的表中,云存储门户网站是否能够快速查询到采集的数据等。
6.3系统测试设计
系统测试在集成测试完成后,对产品的整体测试。
覆盖产品所有需求。
这部分由测试人员完成。
系统测试还应包含,可靠性测试,环境试验等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储 总体 设计方案
![提示](https://static.bdocx.com/images/bang_tan.gif)