海量数据分布式存储系统技术领域
本发明涉及数据存储技术领域,特别是涉及一种海量数据分布式存储系统。
背景技术
为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗
余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。另外,云计算系
统需要同时满足大量用户的需求,并行地为大量用户提供服务。因此,云计算的数据存储
技术必须具有高吞吐率和高传输率的特点。
在实际工作中,对海量数据进行处理是一项艰巨而复杂的任务,其原因有以下几个方
面:
一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每
条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚
至过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,
什么情况都可能存在,例如,数据中某处格式出了问题,尤其在程序处理时,前面还能正
常处理,突然到了某个地方问题出现了,程序终止了。
二、软硬件要求高,系统资源占用率高。对海量的数据进行处理,除了好的方法,最
重要的就是合理使用工具,合理分配系统资源。一般情况,如果处理的数据过TB级,小
型机是要考虑的,普通的机子如果有好的方法可以考虑,不过也必须加大CPU和内存,就
象面对着千军万马,光有勇气没有一兵一卒是很难取胜的。
三、要求很高的处理方法和技巧。好的处理方法是一位工程师长期工作经验的积累,
也是个人的经验的总结。没有通用的处理方法,但有通用的原理和规则。
因此亟需一种海量数据分布式存储系统来解决上述问题。
发明内容
本发明所要解决的技术问题是提供一种海量数据分布式存储系统,能够为云计算系统
提供运行的基础。
本发明解决其技术问题所采用的技术方案是:提供一种海量数据分布式存储系统,包
括大数据存储模块和小数据存储模块,所述大数据存储模块针对车载智能终端所上传的大
数据进行存储和管理;所述小数据存储模块针对车载智能终端所上传的小数据进行存储和
管理。
所述大数据存储模块由索引数据节点和数据节点组成,文件的元数据存储在所述索引
数据节点,数据分散存储在不同的数据节点上。
所述大数据存储模块中每一份数据都有其副本数据,主数据和副本数据之间通过分布
式日志系统保证一致性。
所述小数据存储模块采用存储虚拟化技术将存储硬件、存储软件和存储管理进行有机
整合,形成一个支持虚拟化的可扩展的曙光云存储;所述存储软件采用虚拟化技术将存储
节点构成存储池。
所述的海量数据分布式存储系统还包括灾备存储模块,所述灾备存储模块用于对存储
的车辆日常关键数据进行容灾备份。
所述海量数据分布式存储系统采用时空数据库技术与海量数据分布式存储相结合的
方式对物流信息进行有效管理。
所述时空数据库技术基于车辆管理时空数据模型,所述时空数据模型包括数据接入及
预处理模块、数据库组织模块和数据库查询模块;所述数据接入及预处理模块采用mmap
内存文件映射技术,将磁盘文件直接映射到内存,并且构建内存索引,建立基于哈希映射
的缓存技术实现数据接入,选择MapReduce的并行计算模型实现针对海量轨迹数据的并行
轨迹数据插值以及轨迹数据压缩算法实现数据预处理;所述数据库组织模块将用于计算的
路网拓扑数据与用于描述的路网几何数据分离表达,并分别在垂直方向分层抽象,在水平
方向区域划分,构建多尺度路网数据模型;所述数据库查询模块利用R树及变形树、GRID
文件、四叉树和X树实现移动目标在三维空间中的空间索引方式建立。
所述海量数据分布式存储系统采用的数据库由业务基础数据库、空间数据库、索引数
据库、专题数据库和元数据库组成;所述业务基础数据库,用来保存采集到的原始数据,
并且不可修改;所述空间数据库,用于存储本项目的空间数据,统一为应用提供空间数据
服务;所述索引数据库,在当需要查找相关数据时,根据索引能够在快速寻找到需要的数
据;所述专题数据库,用于读取所述业务基础数据根据相关要求进行分析所得到的专题成
果数据;所述元数据库,用于存储描述数据库的信息。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:
本发明利用大数据存储模块存储车载智能终端所上传的大数据,利用小数据存储模块存储
车载智能终端所上传的小数据,在处理大数据时通过分布式日志系统保证数据的一致性,
在处理小数据时采用存储虚拟化技术进行有机整合使每个用户的数据互相独立,从而为云
计算系统提供运行的基础。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而
不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人
员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定
的范围。
本发明的实施方式涉及一种海量数据分布式存储系统,包括大数据存储模块和小数据
存储模块,所述大数据存储模块针对车载智能终端所上传的大数据进行存储和管理;所述
小数据存储模块针对车载智能终端所上传的小数据进行存储和管理。该分布式存储系统提
供海量数据的存储与管理服务,是云计算系统运行的基础。
大数据存储模块是针对车载智能终端所上传的大数据进行存储和管理的模块,如运输
车辆报警之后的关键音视频数据等,其数据量较大,则可以用此存储模块进行存储。
该模块主要由索引数据节点和数据节点组成,一般文件的元数据存储在索引数据节
点,而数据则分散存储在不同的数据节点上。在该模块中,每一份数据都有其副本数据,
主数据和副本数据之间通过分布式日志系统保证它们之间的一致性。平时只有主数据提供
访问,当主数据所在节点失效后,访问自动切换到副本数据上。
小数据存储模块是针对车载智能终端所上传的小数据进行存储和管理的模块,如运输
车辆的位置信息和车辆传感信息,其数据通常较小,则可以用此存储模块进行存储。
该模块采用存储虚拟化技术将存储硬件、存储软件和存储管理进行有机整合,形成了
一个支持虚拟化的可扩展的曙光云存储,并提供统一的管理平台,简化系统管理员工作。
通过存储管理软件,采用虚拟化技术众多存储节点构成存储池,可以支持超过10,000个虚
拟卷,这些虚拟卷可以分配给不同的用户使用,用户可以共用这些硬件,但没法存取其他
用户的数据,每个用户的数据是互相独立的。
所述的海量数据分布式存储系统还包括灾备存储模块,所述灾备存储模块用于对存储
的车辆日常关键数据进行容灾备份。在灾难发生时,灾备存储模块可以用备份数据对车辆
日常关键数据进行恢复。
海量数据存储与管理技术能够提供一个稳定的共享存储和分析系统,实现对海量数据
的存储与管理,每一个数据节点都有两个备份节点,当该数据节点出现问题时,可以根据
预先设置好的策略使用备份机,从而提高数据的可靠性,保证平台的服务质量。
在物流环境下,对海量信息进行高效、可靠的组织、处理、传输和存储,是解决海量
信息的协同性和可生存性问题的基础。海量的物流数据和信息均是时空相关的,因此,对
时空数据进行有效的组织并建立索引,能够极大的提升整个系统的性能和实时性。为此,
需要采用时空数据库技术与海量数据分布式存储相结合的方式,对物流信息进行有效管
理。
时空数据库技术是计算机科学的新兴领域,用于处理海量的具有时态和空间属性的数
据。物流信息数据中的时空相关数据直接存入时空数据库,建立时空数据模型,采用一种
信息分离混合索引算法用于索引与车辆相关的时空信息,该算法中采用了改进的哈希表,
用于索引车辆的静态信息、动态历史时空信息、当前及未来时空信息。同一车辆连续时刻
的信息使用双向链表进行链接。物流信息中的其他事件信息的存储方式则采用分布式文件
存储结合空间数据库技术的方式。事件信息以文件形式存储在分布式文件系统中,每个事
件增加位置信息和时间戳,数据库对文件位置、时间、位置等信息进行索引,以提高时空
相关数据索引和查询的性能。具体如下:
城市车辆综合状态数据的接入及其预处理可以通过时空数据模型中的数据接入及预
处理模块实现,其能够提供高质量主动交通安全预警信息服务的保障。在车辆综合状态采
集数据接收方面,采用mmap内存文件映射技术,将磁盘文件直接映射到内存,并且可以
将内存中的数据直接保存到磁盘,加快文件读写速度。构建内存索引,建立基于哈希映射
的缓存技术方案,通过采用缓存技术尽量减少磁盘的访问次数,提高处理性能及响应速度。
利用分布式缓存服务器集群的构建及主缓存服务器节点与备份缓存服务器节点之间缓存
数据的协同和共享方式,提高服务器缓存中轨迹数据的高可靠性,满足实时性的需求,加
快信息访问速度。利用目标优化算法、代价图算法等实现分布式环境中最优缓存部署。在
AMQP(高级消息队列协议)的标准之上,构建高性能,健壮可伸缩的消息队列解决方案,
增加应用程序之间的可扩展性,减少磁盘和内存空间占用。在车辆综合状态数据实时数据
预处理方面,选择主流的MapReduce的并行计算模型实现针对海量轨迹数据的并行轨迹数
据插值以及轨迹数据压缩算法等。MapReduce计算编程模型主要由Map与Reduce两部分
操作组成,与其他并行计算模型(MPI)相比,简化了在集群上的海量数据并行处理过程,
计划采用扩展性,经济性比较好的Hadoop的作为MapReduce实现方式,Hadoop主要由两
个重要部分构成:分布式文件系统(HDFS)与MapReduce编程模型,支持上万个处理节
点的扩展,可以快速完成TB级别车辆轨迹数据的处理,构建海量移动车辆轨迹数据分布
式预处理平台。通过NoSQL存储方案与传统数据库存储相结合的数据存储方式,克服传
统关系型数据库表结构在设计初期确定,后期不便于修改困难以及文件存储方式没有快速
索引方式、文件大小方案不易于设定的缺点。
数据库组织模块将用于计算的路网拓扑数据与用于描述的路网几何数据分离表达,并
分别于垂直方向分层抽象,于水平方向区域划分,构建多尺度路网数据模型。拓扑数据以
车行道为基本建模单元,并实现与车道、路段、道路等的关联查找。模型的构建以车行道
为中心来描述网络拓扑连通关系,不需要存储附加的转向表,有效减少数据冗余,提高网
络分析的效率。建立线性参照与地理参照之间转换关系,扩充多维线性参考模型MDLRS
中非空间域特征与空间域特征之间的空间基准转换,实现移动车辆的空间位置与路网线性
位置的快速配准,以及不同参照基准线性位置之间的相互转换,支撑交通事故、道路施工、
移动车辆等事件信息与下垫路网的集成。依据MDLRS中的时间存储方式、时间参考方法、
时间关系和时间历史的描述,增强移动车辆数据和几何、拓扑复杂的路网数据在时间维上
的管理。从时间、空间、移动车辆等不同角度建立多层次的索引结构,实现移动车辆的多
类型快速检索,并最终形成考虑线性特征、地理几何特征以及时态特征的、移动车辆与路
网数据结合的时空一体化数据模型。
时空数据模型中的数据库查询模块是为实现海量移动车辆的动态管理与查询的,其利
用R树及变形树(R+树、R*树等),GRID文件,四叉树、X树等实现在移动目标在三维
空间中的空间索引方式的建立。对移动车辆时空轨迹索引的重建与更新策略,随着时间的
推移,移动对象的动态属性会不断变化,索引重建可以提供查询效率与空间利用率。在高
效时空索引结构之上,对移动车辆轨迹数据进行邻近查询,首先通过Voronoi图对搜索空
间进行划分,接着深度优先遍历空间索引数据结构来查找与距离给定点最近的移动目标。
为实现移动目标范围查询,可查询在某个时段在给定区域内的所有对象。基于上述时空一
体化建模方法,建立海量移动车辆数据库,实现海量移动车辆数据和多尺度路网的高效管
理与多模式快速检索和匹配。
时空资源调度和智能预测是物流运输过程中面临的最重要的问题之一。车辆作业过程
中,希望及时获取预设路线中的交通资源情况,以进行最佳路线和时间规划的决策,因此
可通过多源异构交通信息实时融合技术实现。
交通信息的融合处理包括多源异构交通信息自身的融合以及与路网的匹配两方面。其
具体包括以下几方面:第一,对于道路拥堵状态和车流密度信息的提取和地图匹配,主要
依赖作为浮动车的出租车、私家车和公交车实时传输的轨迹数据。首先对GPS浮动车数据
进行特征分析与预处理,剔除无效的GPS数据,包括时间无效数据、空间无效数据、重复
记录数据、空车且停车数据等;然后综合考虑车辆的整体轨迹特征,导航地图的拓扑网络
结构信息,引入卡尔曼滤波,模糊理论以及神经网络的方法来提高地图匹配的精度。先通
过粗匹配找到轨迹中点的最近的道路以及道路节点,接着根据道路信息及节点信息对轨迹
进行分段,并对分段进行是否匹配正确进行判断,再将利用主曲线算法对错误分段进行处
理,完成地图匹配过程。计划在地图匹配过程中,考虑动态交通信息(如车辆限行信息)
及其他交通约束条件对地图匹配过程的影响,并引入分布式集群计算的方式加快地图匹配
的运算速度。完成地图匹配后,综合考虑驾驶员异常驾驶行为、交叉口信号控制机制、车
道划分、样本有效性等多方面因素的影响,结合实际道路特征和历史交通数据,选取合适
的样本GPS轨迹数据,提取具有表征能力的行程时间、平均速度等交通参数。第二,对于
交通事件和交通限制信息的采集和地图匹配,主要依赖交通管理部门实时广播消息的自然
语言处理过程,其主要进行中文自然语言分词和空间语义理解,获取实时交通事件和交通
限制信息,并通过地理信息系统空间分析中的地址匹配方法实现和导航地图的精确匹配。
第三,对于交通气象信息的采集和地图匹配,主要依赖市政部门实时广播和公众通过微博
客平台实时上报的消息,通过自然语言处理和模糊评价方法,对道路交通气象和影响范围、
影响程度进行时空范围定量化,实现和导航地图的实时匹配。
基于时空的资源调度机智能预测技术将获取到的事件信息进行实时处理和集成,建立
关键性能指标模型,从而对数据模型进行分析,结合历史数据,生成智能预测结果,并将
结果以可视化报表的形式显示给用户。
采用海量数据分布式存储系统时,其数据库是整个系统运行的基础,更是各个分系统
间数据共享与服务的技术基础,负责存储环境监测的各个业务数据,包括:车辆信息数据、
驾驶员信息数据、空间数据、车辆行驶数据、用户权限数据、智能分析数据、日志信息数
据、索引数据、趋势预测数据,以及其他的社会经济数据和辅助专题数据。
本方案选用Oracle作为平台的数据库,数据库由业务基础数据库、空间数据库、索引
数据库、专题数据库和元数据库组成。其中:
业务基础数据库,用来保存采集到的原始数据,不可修改,便于加工数据发生错误时
能追踪到相关原始数据,找到错误原因。环境监测原始数据库包含如下信息:车辆信息数
据、车场信息数据、驾驶员信息数据、用户权限数据、日志数据、其他数据。
专题数据库,综合专题数据库的数据分系统读取基础数据根据相关要求进行分析所称
成的专题成果数据,例如:驾驶员信息专题库、车辆行驶信息专题库、车辆状态信息专题
库、运输需求专题库、车辆信息专题库、环境信息专题库、政策法规专题库、预案专题库、
道路状况专题库、其他专题数据库。
索引数据库:是将云平台存储的信息的索引存储如数据库,其主要作用是当需要查找
相关数据时,根据索引数据库中的索引能够在云平台中快速寻找到需要的数据,提高云计
算的效率。
空间数据库:包括空间数据、空间基础地理信息数据、遥感影像数据和环境背景数据。
用于存储本项目的空间数据,统一为应用提供空间数据服务,并与业务关系数据库挂接,
实现业务数据的展现和应用。
元数据库:存储的主要是描述数据库的信息,包括汇集元数据、业务元数据、模型元
数据、指标元数据、空间元数据、管理元数据、非机构化数据源数据、其他元数据等。
针对数据库中数据安全的需求,主要包括数据完整性、数据保密性和数据备份与恢复
三方面。
数据完整性是指系统能够检查系统数据和重要业务数据的完整性,在访问和存储过程
中对于受到破坏的数据进行提示,便于另行处理,能够检测到车辆管理系统的系统数据和
重要业务数据在传输过程与存储过程中完整性是否受到破坏,并在检测到完整性错误时能
采取必要的措施,比如先记录日志,后进行系统操作,以保证数据的完整性。
数据保密性是指系统采用数据传输加密技术,对传输中的数据流加密,以防止通信线
路上的窃听、泄漏、篡改和破坏。数据访问的安全保护主要是通过数据访问的身份认证、
对外业务接口与应用间的加密数据传输、关键数据在数据库中的加密保存等措施来实现
的。其中,数据访问的身份认证是指对数据中心发起的业务数据请求进行认证授权。其功
能包括对IP地址及用户鉴权、身份黑名单检查、可信任接入处理、应用鉴权、对应用使用
业务种类的授权。数据的加密传输是指数据中心与应用间交换的全部信息采用加密方式传
输,双方约定加解密的方式和内容等,以确保数据中心与应用间信息传输的安全性、准确
性、完整性。关键数据的加密保存是指各类防伪信息通过加密后保存于数据库中,数据中
心在读取或保存数据过程中通过内部函数进行明文的加密及密文的解密。通过以上机制,
保证了即使数据库遭到非法访问,也不会导致关键数据的泄漏。车辆管理系统中的涉密数
据主要是基础地理信息数据,该数据由集团公司地理信息系统统一提供,系统在使用过程
中严格按照国家和集团的有关规定进行处理和应用。
数据备份与恢复是指提供异地数据备份与恢复功能,利用通信网络将数据定时批量传
送至备用场地;采用冗余技术设计网络拓扑结构,避免关键节点存在单点故障;提供主要
网络设备、通信线路和数据处理的硬件冗余,保证系统的高可用性。