郑州智慧交通云平台解决方案.doc
下载文档
上传人:地**
编号:1202487
2024-09-20
115页
15.94MB
该文档所属资源包:
智慧交通平台及系统解决方案合集
1、郑州智能交通云平台智能交通项目解决方案书目录1.智能交通总体设计51.1系统设计概述51.2系统总体架构51.3系统设计目标51.3系统设计原则62.前端视频卡口系统72.1、系统概述72.2、方案叙述92.2.1、设计目标92.3、方案设计102.3.1 技术路线102.3.1.1成像器件:高清200万 CCD摄像机102.3.1.2车辆检测:高清动态跟踪视频检测102.3.1.3测速方式:视频测速112.3.1.4数据处理单元:嵌入式DSP系统112.3.1.5补光方式:LED补光灯防眩频闪灯112.3.1.6存储传输:硬盘存储、光纤传输112.3.1.7中心系统:B/S架构(WEB)122、2.3.2、系统架构122.3.3图像采集前端122.3.3.1、数据处理单元132.3.3.2、网络传输142.3.3.3、中心管理142.3.4、方案实施142.4技术原理162.5主要功能模块172.5.1 车辆捕获172.5.2速度检测182.5.3 车牌识别182.5.4高清录像182.5.5 自动截取车牌192.5.6黑名单自动比对报警192.5.7智能补光192.5.8前端卡点存储192.5.9自动校时192.5.10数据自动上传202.5.11数据检索、流量统计202.5.12本地存储,循环覆盖202.5.13设施安全保障202.5.14运行状态监测202.5.15数据库性能23、02.5.16开放的系统集成接口212.5.17、违章记录图片防篡改模块212.6、系统特点及优势222.6.1、系统特点222.6.2、系统优势223、后台云处理平台223.1数据处理云平台系统总体设计13.1.1云计算系统设计方案概述13.1.1.1系统基本功能13.1.1.2主要设计思想和设计目标、设计原则13.1.1.3智慧交通云平台的云计算解决方案23.1.1.4系统的主要技术特点23.1.2系统总体构架33.1.2.1系统基本组成与构架33.1.2.2系统功能构架43.1.2.3系统总体构架与功能模块73.1.3系统基本功能与处理方案93.1.3.1交管数据入库功能与处理方案93.4、1.3.2数据存储功能与处理方案113.1.3.3查询分析功能与处理方案123.1.4系统互联与管理133.1.4.1组网方案133.1.4.2网络管理153.1.4.3系统安全163.1.5系统可靠性与扩展性173.1.5.1系统可靠性173.1.5.2系统扩展性193.1.6系统设计性能203.1.6.1交管数据流量处理能力203.1.6.2数据存储能力213.1.6.3查询分析计算性能223.1.7定制化开发方案223.2系统设计实施与关键技术方法253.2.1系统软硬件平台253.2.2数据处理流程253.2.3数据存储子系统273.2.3.1海量数据分布式数据存储构架273.2.3.5、2适应应用需求的混合存储策略293.2.3.3分布式云存储数据存储303.2.3.4数据立方数据存储333.2.3.5Database数据存储353.2.3.6数据存储的可靠性373.2.3.7数据压缩383.2.4数据查询与统计分析子系统403.2.4.1数据查询与统计分析系统基本构架403.2.4.2实时监控403.2.4.3查询统计433.2.4.4布控管理463.2.4.5黑名单管理483.2.4.6红名单管理483.2.4.7特种车管理493.2.4.8配置管理493.2.4.9扩展功能533.2.5基于云方案的交管数据查询索引与查询优化技术543.2.5.1基于分布式数据库的交管数6、据查询索引处理方案543.2.6交管数据处理集群的可靠性与负载均衡设计552.2.6.1负载均衡处理机的单点失效容错处理552.2.6.2查询处理机的单点失效容错处理593.2.7计算与存储集群的可靠性与负载均衡设计602.2.7.1计算与存储集群Master单点失效容错处理602.2.7.2计算与存储集群的负载均衡处理672.2.7.3分布式云存储的可靠性设计692.2.7.3数据立方可靠性设计71各节点功能说明72具体流程722.2.7.4MapReduce计算可靠性设计733.2.8查询统计计算可靠性与负载均衡设计753.2.8.1基于Zookeeper的单点失效和负载均衡设计753.27、.9系统安全性设计773.2.9.1安全保障体系框架773.2.9.2云计算平台的多级信任保护793.2.9.3基于多级信任保护的访问控制833.2.9.4云平台安全审计863.2.9.5云计算综合安全网关891. 智能交通总体设计1.1系统设计概述该系统是按照全省公安机关信息化建设总体规划,结合郑州市交通智能化信息化发展。为实现对重点车辆的自动比对和动态管控、对异常车辆行踪的自动研判预警、对特定车辆行车轨迹的自动生成、对重要节点道路交通信息的远程再现、对基层单位和执勤民警的勤务实施管理等建设目标,为交通管理、治安管控、侦查破案、巡逻防范、反恐处突,等各项公安工作提供服务保障。1.2系统总体架8、构1.3系统设计目标 采用视频摄像机抓拍技术和利用大量性价比高的计算机,建立云计算平台,能够对流量超过10000条/s的原始交通监控数据流进行实时处理,提供实时监控、报警监控、车辆轨迹与回放、电子地图、报警管理、布控管理、设备管理、事件检测报警、流量统计和分析等多种业务支持。系统具有可动态可伸缩性、高度容错性和响应实时性,达到较之传统方案有一个数据量级的性能价格比提升,更好的支持郑州市交通智能化和信息化提供支持。1.3系统设计原则在系统设计中,我们遵循以下设计原则:1、先进性:在系统设计和设备选型方面,在考虑系统的实用性前提下,采用国际上先进的视频图像算法与数字通讯技术,确保系统在国内的领先地9、位,使系统具有完备的功能,并且易于升级换代,在保证其先进性的前提下具有较长的使用周期。2、可行性:系统与用户及上级管理部门的需求和管理制度相适应;与用户在建设规模方面的实际情况相吻合。3、可靠性:系统采用与平台分离的设计方案,确保视频监控平台软件与自动智能分析系统能够长期稳定、可靠安全地运行。4可扩展性:系统功能充分满足实际需求,如果用户需要接入更多处理单元,或者更多功能,可以方便地实现。 5.与实际应用环境相结合本项目是既是先进技术应用示范项目,又是工程实施型项目。把握技术正确 和先进性是前提,但是前瞻性技术实施必须在云计算平台的实际应用环境和实际监控流量的基础上进行,必须结合云计算平台的实10、际情况进行研究和开发,只有与实际应用环境相结合才有实际应用价值。6.借鉴国外先进技术与自主创新相结合在云计算平台用于超大规模数据处理方面,国内外几乎是在一个起跑线上;但在关键技术研究及既往的技术积累方面,国外一些大公司有着明显的优势。同时,智慧交通云平台所将要面对的交通监控数据流高达10000条/s,是一个世界级的云计算应用。我们将积极学习借鉴国外先进的云计算技术,同时与自主创新相结合,形成功能强大、性能卓越的能够满足实际应用环境需求的云计算数据处理和分析平台。2. 前端视频卡口系统2.1、系统概述随着全国公路交通建设的快速发展和机动车辆的普及,与道路和机动车辆相关的刑事和治安案件逐年上升,特11、别是经由城际公路网进行的肇事逃逸、盗抢机动车辆、车辆走私等更是日益猖獗,这不仅给社会治安造成了极大的威胁,同时也破坏了安定团结的政治局面,因而引起了国家有关部委的高度重视,平安大道计划也应运而生。但这类以其大范围、流动性和快速性为特点的刑事案件给公安部门的侦察工作增加了难度,也提出了更高的要求。公路车辆智能监测记录系统(又称号牌自动识别监测记录系统或公路治安卡口系统,简称治安卡口系统),是智能交通系统的一个重要的组成部分。卡口系统利用先进的视频、通讯、微机控制、网络、图像处理、信息处理等技术实现对监控路面的车辆通过时间、地点、车速、行驶方向、号牌号码、号牌颜色、车辆图像等车辆信息进行自动采集和12、处理,并通过动态布控和车牌自动识别技术对被盗抢、肇事逃逸、作案嫌疑车辆以及超速等违章行为进行自动实时的本地或异地报警,而且可通过对运行车辆的构成、流量分布、违章情况进行常年不间断的记录与分析,为交通规划、交通管理、道路养护部门提供重要的基础和运行数据。公路车辆智能监测记录系统作为智能交通的一个重要组成部分,主要应用于城市治安卡口、城市重要路段路面监控、高速公路路面监控,实现道路安全管理的智能化和自动化。公路车辆智能监测记录系统安装在高速公路的路段上可以对车辆进行实时监控、轨迹跟踪,实现不停车收费,与测速雷达或者称重装置配合使用,能够完成超速、超载治理;公路车辆智能监测记录系统安装在城市的进出的13、交通要道上,可以对通行的车辆的车牌号、行驶方向、路经时间等各种参数自动记录,同时采集保存车辆图像,送入后端数据库,随时掌握城市各出入口的车辆流量及状态,还能进行车辆动态布控,对超速、逆行等违章车辆以及被盗抢、肇事逃逸、作案嫌疑车辆实时报警,而且还可以监测到被盗车辆或罪犯所乘车辆进出城市时间以及行经路线状况,为快速侦破案件提供科学、有效的依据。该系统不仅能够抓拍高清晰的车牌图像还能够抓拍高清晰的车辆全景图图像和司乘人员面部图像,为交管部门和公安部门加强管理提供了丰富的信息,同时该系统的识别率和抓拍率均高于基于普通摄像机的卡口系统。该系统可应用于高速公路、道路特定场所入收费站、城市出入口或治安检查14、站等治安卡口及重点治安地段,对所有通过该监控路面的机动车辆进行全天候实时采集和处理。该系统可自动识别过往车辆的车牌号码和车牌颜色等车牌特征,自动核对黑、白、红名单库,验证车辆的合法性,自动报警,并可对路口情况进行监控和管理,如出入车辆统计和监控,极大地提高了车辆管理的自动化和智能化程度。车辆检测部分,目前国内有地感线圈检测和视频检测两种方式。地感线圈是需要在车道上切割环行线槽,然后埋设感应线圈(或感应棒)。车辆通过时感应线圈会发出信号给相应设备,对车辆的检测比较准确,但是遇到复杂的环境,机动车和非机动车混杂的道路时很容易出现误触发。同时由于需要在地下埋设感应线圈,加大了施工难度同时提高了工程成15、本。并且线圈在大车重压下容易损坏,增加了维护成本。视频检测方式是根据目标车辆进入视频扫描区域开始实时测,找到系统认为最佳的车牌进行抓拍与识别,特别适用于车流量复杂的城市交通环境。数据处理部分,按照全省公安机关“320”工程建设的要求,需要对全市500多个车辆监控点实时抓拍的车辆轨迹数据进行及时汇聚、管理和分析服务经初步测算,仅集中存储全市“320”文字数据、图片的位置索引,以及车牌小图片片段数据(图像数据在需要时可以按照索引自动到相应的分中心图片系统进行分布调用),按照数据存储3年要求,总记录数近200亿条,原始数据总存储容量约120TB,高峰时段每秒产生的数据将超过1万条记录(每条记录5K数16、据量,包括文字数据、图片索引和号牌特征图片)。加上要为原始数据记录创建查询索引以及保存从原始数据统计分析出的中间结果数据,需提供总量为150TB的原始数据存储量。如此庞大的数据量使得现有的关系式数据库已经难以提供相应的数据存储管理和处理能力。为此,需要考虑基于云平台的分布式海量数据存储和处理解决方案。2.2、方案叙述2.2.1、设计目标 采用视频摄像机抓拍技术,能全天候24小时不间断地对出城车辆自动进行实时监测抓拍,实时自动识别机动车辆牌照号码,并记录显示车辆号牌的图片。将图像存储到磁盘相应目录下,车辆通过的信息写入相关数据库,并在全景图像中标明车辆通行数据,如时间、地点、车型、车辆号牌、车牌17、颜色、车速、方向等。 采取循环覆盖技术,单套系统存储车辆不低于80万辆。当超出80万辆车时,自动对最前面的图片数据依次进行覆盖,整个系统始终保留至少80万辆车的图像,并采用通用的“JPEG”压缩图像。 拍摄车速160km/h,拍摄范围两个车道,完全覆盖整条道路的横截面;道路总宽为二车道,不按道行驶、逆行、越中线和骑中线行驶的车辆均能准确抓拍、识别等,有效地解决没有采用中间物理隔离时压线或跨中线行驶车辆的车牌抓拍问题 系统能测出通行汽车的速度,具备分地点、分车型设置限速值的功能。测速信息与本地限速值比较,一旦发现车辆超速,系统立即自动向指挥中心发送包含车辆图像的主要特征信息,供交警非现场实时执法18、 实时对通过车辆进行车牌识别与实时黑名单进行比对。自动将识别车辆号牌与布控车辆数据库的黑名单进行匹配比对,发现可疑车辆时,实时报警提示;当报警发生时,自动将报警信息上传给指挥中心,同时以声音、图形及文字的方式提示中心值班人员,直到人员干预解除报警,所有报警信息同时生成日志记录到数据库中,方便以后查询和检索 指挥中心进行布(撤)控时,布控软件可以灵活使用统一或选择性布(撤)控的方式。布控车辆号牌的匹配可设置成精确匹配或4位以上字母数字的模糊匹配,以适应车牌识别难以做到100%精确的客观情况,提高嫌疑车辆通过时报警的命中率。 对过往车辆历史记录查询,可根据权限查询卡口的通行车辆信息,查询条件可根据19、时段、地点、车牌、车型、速度进行查询,车牌号码可以给出少数几位(号码可以是连续的,也可以间断不连续的,如01?34或?12?4等等),从而进行模糊匹配查询。 基于WEB的车辆查询,可通过浏览器查询通过车辆图片和数据信息,并可进行流量统计查询。 基于WEB的通过车辆浏览监控,可在浏览器界面上实时浏览通过车辆的图片及数据 辅助光源(夜间补光灯)能适应环境,适时自动开启或关闭辅助光源,并具备很强的抗光干扰能力,如汽车灯光及其他一切外界干扰光源。采用的光源无污染。 采用嵌入式微功耗设计,支持太阳能供电。2.3、方案设计2.3.1 技术路线技术路线图2.3.1.1成像器件:高清200万 CCD摄像机在高20、清公路车辆智能监测记录系统(俗称卡口)中,行业内主路的选择是140万CCD摄像机。考虑到用一台设备覆盖2车道,本套方案中我们选用200万CCD彩色网络摄像机,其成像逼真、稳定可靠、性价比高。因其采用以太网数据传输,组网方式方便,控制主机即可考虑放置前端,也可考虑放置中心集中管理。200万CCD摄像机其实际有效分辨率最大为16001200点,单幅图片可以清晰看到车牌号码、车型、车身颜色等。因此摒弃了传统标清模拟摄像机采用远近景结合的做法,大大提高了成像质量。标准配置是每2车道1台200万CCD摄像机,为高精度的车辆检测率、号牌识别率提供必要条件。2.3.1.2车辆检测:高清动态跟踪视频检测我们采21、用单台200万CCD摄像机既用与成像,又用于视频车辆检测。我公司采用视频车辆检测技术,结合了车牌与车辆轮廓双重校验机制,确保车辆检测精度。通过200万高清摄像机连续生成图片,然后通过逐张图片进行比较分析。若图片背景发生变化后,启动车牌查找,若找到车牌即锁定车牌进行车辆跟踪,对整个车辆行驶轨迹作出分析和判断;若没有找到车牌,即对物体轮廓进行跟踪,直至车辆消失视野范围。2.3.1.3测速方式:视频测速在卡口系统中传统常用的速度检测方式主要是线圈,本方案考虑的到线圈的施工难度大、故障率高,因此我们选用视频软件测速方式。视频软件测速是指不接入任何的测速设备,通过车辆在屏幕里移动的帧数、时间,以及屏幕移22、动距离和实际距离的对照关系,来计算车辆的实际移动速度。2.3.1.4数据处理单元:嵌入式DSP系统数据处理单元实现对检测部分采集的数据进行运算处理,触发拍摄部分进行抓拍、压缩记录数据、号牌识别、实施网络数据传输等。目前行业大多采用工控机来实现,兼容性、风扇、Windows操作系统、病毒都是工控机存在的不稳定因素。我公司基于城市交通对卡口系统的高标准需求,完全为交通行业量身定制了一款嵌入式DSP主机,采用最先进的数字处理技术,将控制系统完全固化到电子芯片中,属于纯硬件抓拍系统,在提高系统稳定性的同时,也大大提高系统的抓拍效力。嵌入式DSP主机与高清摄像机配套使用,每个高清摄像机对应1台DSP系统23、。2.3.1.5补光方式:LED补光灯防眩频闪灯为了保证卡口系统能够全天候提供清晰可见的违法图片,考虑到卡口点夜间光照较差,我们需要在夜间对环境进行补光,我们量身定制了一款LED补光灯,用于车辆检测和车牌识别补光。这种补光灯可以与我们的高清摄像机进行同步控制,提供连续的高速连续闪光。我们用肉眼看去是一个常亮的补光灯,但实际其在快速闪烁。这样的做法既避免了对司机行人等眼睛造成伤害,又可以达到节能目的,同时延长了补光灯的使用寿命,取得了理想的补光效果。选用LED发光二极管作为补光灯,其使用寿命可以达到10年以上,以保障整个系统的长期稳定性。LED补光灯与摄像机配套使用,每车道1台LED补光灯。根据24、客户要求,捕获的车辆图片中能够看清前排乘客面部及衣着,因此我们在LED补光灯的基础上,增加高频防眩频闪灯,此种频闪灯闪光时间短、回电时间快、1500万次的闪光寿命,能够保证长期稳定地野外工作。此种频闪灯的闪光时间短,对人眼的影响低,不宜引起司机的注意。防眩频闪灯与摄像机配套,每车道配置1台防眩频闪灯。2.3.1.6存储传输:硬盘存储、光纤传输由于卡口系统需要对所有经过的车辆进行记录,同时系统还具备高清录像功能,因此有大量需要处理的图片数据,所以目前用硬盘作为本地数据的暂存是首选。我们为系统配置了500G的硬盘。通信线路采用租用当地电信、移动等通信供应商的光纤线路。卡口数据在DSP主机中存储的同25、时,直接通过光纤传送到中心。2.3.1.7中心系统:B/S架构(WEB)卡口中心管理系统主要是用于对卡口数据管理,我们提供Web 方式的用户应用界面,采用B/S架构,以IE浏览器为基本的应用,将信息发布、数据采集以Web应用的方式进行开发。B/S架构的应用,方便了终端客户的使用,同时也可根据不同权限的用户来分配差异的功能模块。2.3.2、系统架构我公司高清视频卡口系统由四大部分构成:前端图像采集部分、数据处理部分、传输部分、中心管理部分。前端采集部分是系统的前沿部分,是整个系统的眼睛,它把监测的内容变为图像和数据信息,传送到控制主机,抓拍识别部分的好坏及它产生的图像信号质量将影响整个系统的质量26、。网络传输部分是系统的图像信号通道。数据处理部分和中心管理部分是实现整个系统功能的指挥中心。系统架构图如下:系统架构图2.3.3图像采集前端图像采集前端包括:200 万 CCD 高清摄像机,百万像素镜头、LED 辅助光源、室外防护罩。图像采集前端通常安装在 L 型架杆上。摄像机与车牌识别设备通过网络连接,支持 TCP/IP 协议。同时考虑防雷措施,在高清摄像机后端接网络防雷器以及电源防雷器。2.3.3.1、数据处理单元数据处理单元采用新奕天高清视频流车牌识别器,型号为TSHTH200,该设备采用高性能DSP芯片,其数据处理能力强大。设备集成度高,高效稳定,可扩张性强。平台具备的极高处理能力,实27、现了海量数据的实时处理。应用先进的计算机视觉算法,可对车辆行进过程中的图像进行逐帧处理和识别,有效提高设备对复杂环境的适应能力。系统可捕获多个有效帧,对每一帧识别处理,经内部评判机制,给出识别结果。2.3.3.2、网络传输该系统适用多种网络传输方式,将检测识别结果传输至中心管理处。2.3.3.3、中心管理中心系统在收到前端系统采集的基本信息之后,根据不同的需求,对这些信息进行相应的处理,例如:对卡口前端系统送来的违法车辆图片进行相应的处理等。总之,后端系统负责对前端系统已经采集并传送到指挥中心的交通数据进行相关的后台处理。中心系统主要由中心交换机、数据服务器、应用服务器、工作站、应用管理软件等28、组成。2.3.4、方案实施根据单向2车道道路的情况,我们设计用1台200万像素高清摄像机完全覆盖2个车道,同时对应每个车道安装一台LED辅助光源,防眩闪光灯,高清摄像机的视频信号通过交换机输入到高清识别器TSH-H200,经过分析处理后,将识别结果经光纤收发器传送到后台服务器进行管理。现场设备安装示意图摄像机安装在2个车道中线的正上方L型杆上,距离地面的高度约为6米。LED光源安装在相机旁约1.5米位置的L型杆上,距离地面的高度约为6米,安装角度以光源照亮检测区域为基准;设备箱内设备安装示意图网络交换机、高清识别器及传输设备安装在设备箱中,高清摄像机的信号通过交换机输入高清识别器,经过分析处理29、后,识别结果经传输设备传送到后台服务器。2.4技术原理本系统采用一种综合性混合优化的计算机人工智能算法,利用大量学习样本,加入了在线学习模块,采用最新的反馈型学习模型来自适应环境的变化,提高了系统对环境的适应能力;其次本系统在时间轴上对图像信息密集采样,对每一帧的全景信息进行实时分析计算,用一种完全基于学习的多种特征融合的车辆定位新算法对图像进行车辆定位,判别出真正的车辆,进行车辆锁定并对锁定的车辆进行实时跟踪。然后得到车辆的精确位置以及车辆运动的矢量轨迹曲线图。本系统视频车辆检测技术采用车牌跟踪和车辆轮廓检测双校验方式,根据捕获后的图片,在设定的模拟线圈区域进行高速逐帧扫描处理,若发现检测区30、域灰度值发生变化,开始对车辆号牌进行寻找。找到车辆号牌的话,开始对车辆号牌进行定位及跟踪;若没有找到号牌的话,对整个车辆轮廓进行跟踪。本套高清视频检测的优点如下: 采用高清摄像机采集图像进行检测,检测准确率高,不会对一些行人、自行车等的误判断,有效过滤了非机动车辆的干扰。 逐帧比对检测:系统可同时捕获多个百万像素的有效帧,对每一帧逐帧比对分析,经内部评判机制,确定为动态车辆并给出识别结果。实时跟踪,多次识别,保证高抓拍率和识别率。特别在夜间、复杂气候环境中,依然高识别率。 多目标跟踪:采用我公司的多目标跟踪与多目标识别技术,可对视频图像中的所有目标(车辆)进行检测、锁定、跟踪,并精确描述其运动31、轨迹,判断其违法行为。车辆定位模块车辆跟踪模块全景摄像机虚拟线圈在线学习模块同步校准模块输出判别结果信息以及图像噪声过滤模块车牌定位车牌识别判断是否违章行为系统技术原理图2.5主要功能模块2.5.1 车辆捕获系统采用高清视频检测方式进行车辆检测,可准确进行车辆速度测定和对超速车辆进行抓拍,除了能够捕获在车道上正常行驶的车辆外,还可以具备捕获跨线行驶车辆的功能,在正常车速(5km/h180km/h)范围内的监控区域内规范行驶的车辆图像捕获准确率达到99%以上。2.5.2速度检测在屏幕中标定8个控制点,实地测量这些控制点的空间距离,保存后程序能自动算出测距矩阵。通过测距矩阵和视频中车辆的实际行驶轨32、迹、时间等,准确计算车辆的实际行驶速度。此种方法计算出来的速度较为准确,但测量过程较为复杂,对空间坐标测量的准确性有较大要求。车辆行驶速度在40-120Km/h范围内测速误差6%,车辆行驶速度在120Km/h以上范围时测速误差10%2.5.3 车牌识别系统能准确识别车牌号码、颜色,在环境无雾和牌照清晰的条件下,系统车牌识别结果与实际车牌全牌准确识别率大于等于85(包括白天和夜间)。其中车牌自动截图牌照大小的图片,供查询车辆信息时一起调用,便于及时辨别信息准确性。同时,对于过往的摩托车、拖拉机等机动车信息,可准确抓拍、识别车型并作保存,以“其他类别”方式与无牌、无法识别车辆予以区分保存。车辆识别33、包括车牌识别、车辆类型识别、车身颜色识别,标准符合公安部公路车辆智能监测系统通用技术标准(GA/T497-2009)和机动车号牌图像自动识别技术规范(GA/T833-2009)的要求,全天全车牌识别率不低于93%。车牌识别涵盖所有牌照种类:包括02式个性化牌照(GA36.1-2001)、现用92式牌照(GA36-92)、新式军车牌照、外交使馆牌照、警车牌照、武警车牌照等;可识别的牌照颜色包括蓝、白、黄、黑。所能识别的字符包括:“09”十个阿拉伯数字;“AZ”二十六个英文字母;省市区汉字简称(京、津、晋、冀、蒙、辽、吉、黑、沪、苏、浙、皖、闽、赣、鲁、豫、鄂、湘、粤、桂、琼、川、贵、云、藏、陕、34、甘、青、宁、新、渝、使、临、台);军牌汉字(军、海、空、集、北、沈、南、兰、广、成、济等);号牌分类用汉字(警、学、领、试、挂、港、澳等) ;武警车牌字(“WJ、09 、消、边、水、警、电、林、通、金”等) 。a.正常天气情况下,白天(6:00-19:00)对车辆的号牌识别率不小于90%,号牌识别准确率于95%,号牌颜色识别率大于90%。b.正常天气情况下,晚间(19:00-次日6:00)对车辆的号牌识别率不小于85%,后5位字符的识别准确率不小于90%,号牌颜色识别率大于85%。2.5.4高清录像本系统具备高清视频监控录像功能,考虑到高清录像所占用空间较大,我们在保证不丢车,又能连贯反映车辆35、行进记录,我们采用以2帧/秒抽帧录像方式。获取的录像图片,可以通过人工查看来辨别车辆颜色、车辆类型等信息。由于录像所占数据量较大,我们建议使用单位在100M及以下的光纤网络状态下,将卡口录像数据只存储到前端的嵌入式DSP主机中,当需要提供连续的动态录像时,可通过我公司专用的卡口录像软件,有针对性的从前端调取录像资料。若使用单位有1000M的光纤网络环境,可以通过光纤直接将录像时时传送到中心存储设备中。建议中心存储设备使用磁盘阵列。2.5.5 自动截取车牌系统可对抓拍的高清全景图片进行车牌自动定位,按牌照大小尺寸自动截取照片并保存,与车辆全景图片共同作为一组违法图像数据,供查询车辆信息时一起调用36、,便于及时辨别信息准确性。2.5.6黑名单自动比对报警系统具有在设置黑名单的功能,对嫌疑车辆进行报警,并将报警信息发送到监控中心。系统对识别出的车辆号牌可实时与黑车库进行数据比对,根据比对结果对报警系统发送不同的报警指令。在每个卡点拦截端均安装一套(红、黄)警灯、警报器的声光报警装置,遇黑名单车辆时,可发出不同类型的警报以提醒民警及时处理。2.5.7智能补光系统使用先进的光学成像技术,全天候都能拍摄到清晰的图像,同时还解决了夜间车大灯对图像的影响;系统使用LED补光灯,配合高频防眩频闪灯进行补光,无需长明灯,能耗低。光脉冲宽度在微秒级可调,对驾驶员影响极小。2.5.8前端卡点存储每个车道对应嵌37、入式DSP系统,自带500G存储介质,抓拍的每张图片在200K,可容纳260万张以上的图片数据,以备网络故障时过车图片保存在前端存储上,在网络恢复后续传到服务器,确保过车图片不丢失。2.5.9自动校时系统具有NTP校时功能,使所有系统内的计算机设备保持同步。提供路口机时间校正接口(24h内计时误差不超过1.0s,并确保每月至少校准一次计时时钟),参数设置接口,路口设备运行情况的诊断和检测、恢复。2.5.10数据自动上传系统将违法数据传输至前端执法岗亭给予报警,便于民警现场拦截、处理,为现场拦截处罚的车辆将其数据上传所辖交警大队,纳入交通监控资料数据库管理。2.5.11数据检索、流量统计系统提供38、按车辆信息检索的应用平台,按不同权限对数据库进行操作,并提供模糊查询、数据备份和数据打印输出功能。能够按车道和时段进行车辆流量统计,并以报表形式输出。2.5.12本地存储,循环覆盖系统记录过往车辆图像信息记录,对过往的车辆进行实时图像信息采集及记录,车辆信息实时传输到本地服务器,卡口本地数据存贮采用循环覆盖技术,车辆图片信息存贮6个月。图像信息分为车牌特写图像与车辆前景图像。车牌特写图像主要用于车牌识别及信息读取,车辆前景图像用于反映车辆特征及前排司乘人员特征。车辆图像存储时间不小于90天,全景录像存储时间不小于10天,车辆信息及号牌特写的存储时间不小于2年,布/撤控信息及报警信息的存储时间不39、小于3年。2.5.13设施安全保障系统设备(室内设备和室外设备)均采取了防雷、接地措施。系统安装有效的过载、接地、漏电、短路保护装置及稳压、二级防雷装置、防雨装置。系统设备、立杆、机箱等都有防盗、防腐、防尘、防水设计,使用过程中不会倾斜或倒塌,可抗12级台风和7级地震。2.5.14运行状态监测系统实时监测运行状态,及时发现系统故障以一定的时间间隔循环地向中心服务器报告自身及其管辖范围内硬件设备的运行状态。系统可对下列的监测对象实现运行状态的实时监测:摄像机:监测摄像机的工作状态及定位情况频闪灯:监测频闪灯的工作状态及定位情况DSP:监测DSP处理器工作状态2.5.15数据库性能数据存储时间:车40、辆图像存储时间不小于1年,全景录像存储时间不小于30天,车辆信息及号牌特写的存储时间不小于2年,布/撤控信息及报警信息的存储时间不小于3年。车辆信息布控响应时间:在网络正常的情况下,从发出布控指令到布控信息被实际加入比对监测的时间应不大于3s。车辆信息监测响应时间:在网络正常的情况下,从布控的车辆经过卡口前端车辆检测点到卡口中心端发出报警信息的时间应不大于5s;卡口前端具备硬件条件的,从布控的车辆经过卡口前端车辆检测点到卡口前端发出报警信息的时间应不大于1s。车辆信息查询响应时间:精确查询:查询数据库中某条件确定的数据,查询响应时间应不大于5s。模糊查询:查询数据库中任意6小时时间段内,含有条41、件不确定的数据,查询响应时间应不大于10s。数据库反应速度:当符合条件的记录不超过1000,000条时,查询响应时间不应大于10s,即每秒至少返回100,000条数据。2.5.16开放的系统集成接口为了不断满足新的应用和可以集成新的技术,卡点抓拍系统的接口完全开放,可根据智能卡点拦截与处理系统的要求进行对接和开发,实现整个系统的无缝融合。2.5.17、违章记录图片防篡改模块南京新奕天高清车牌识别器TSHH200对各类路口违章和交通事件进行抓拍后,为了保证记录的准确性和真实性,按照国家标准GA/T496-2009的最新要求,加入了防篡改功能。当中心管理系统接受到违章记录图片后,首先通过复杂的算法42、验证防篡改标识是否被修改。对图像的任何变更都会引起防篡改标识的错误信息,只有通过认证的图片才能进入下一步的处理。2.6、系统特点及优势2.6.1、系统特点l 单高清相机解决方案,系统结构简单。l 无需地感线圈,纯视频方式检测停车线,方便系统施工。l 专利技术支持多车道、多辆车同时号牌识别。l 车牌号码识别时间平均在100ms内。l 适应车速为0200公里/小时l 专利动态智能视频跟踪技术可以完整描述车辆运行轨迹。l 号牌识别平均有效率符合GA/T497的要求,在满足国标要求120像素180像素的情况下,识别率可达到99%l 识别车牌大小范围可达到80像素到200像素;识别车牌亮度、对比度动态范43、围大;支持识别车牌一定程度的倾斜,倾斜10以内。2.6.2、系统优势l 高可靠性:选用当前流行的最先进的嵌入式DSP技术,具有高度的稳定可靠性。l 高适应性:采用专用辅助光源,可快速调节摄像头的曝光时间、快门等参数,保证抓拍图像的视觉效果。可适应白天、夜晚、车辆大灯、阳光直射、以及雨、雪、雾等天气情况。l 高速数据处理:有能力处理大流量情况,可以处理每小时车道流量在8000辆以上的极端情况。l 高性价比:本系统高度集成,能实现卡口以及综合违章抓拍等功能。l 安装维护简便:本系统由高清识别设备、高清摄像机、补光灯、传输设备等组成,结构简单,没有复杂的设备连线,故障率低,维护简单。3、后台云处理平44、台系统总体设计3.1数据处理云平台系统总体设计3.1.1云计算系统设计方案概述3.1.1.1系统基本功能按照全省公安机关信息化建设总体规划,为实现对重点车辆的自动比对和动态管控、对异常车辆行踪的自动研判预警、对特定车辆行车轨迹的自动生成、对重要节点道路交通信息的远程再现、对基层单位和执勤民警的勤务实施管理等建设目标,为交通管理、治安管控、侦查破案、巡逻防范、反恐处突等各项公安工作提供服务保障。系统的基本功能和性能如下:海量历史交通监控数据汇总能够对千亿级的海量历史交通监控数据进行汇总处理。海量原始交通监控数据上报能够对千亿级的海量上报交通监控数据进行上报处理。海量原始数据实时入库、生成索引能够45、对流量超过10000条/m的全量原始交通监控数据流进行实时处理。海量数据存储、计算能够存储千亿级别的数据, 并完成各种复杂业务应用计算。千亿级数据秒级查询能力高效索引算法,智能化调度任务系统,满足秒级查询速度。秒级实时业务响应高效实时数据通道,对于像实时监控、告警等实时业务,提供秒级响应时间。3.1.1.2主要设计思想和设计目标、设计原则设计思想:将海量数据分解到由大量X86架构计算机构成的低成本云计算平台上进行实时处理,依靠分布式云计算软件进行容错,从而提升智慧交通云平台海量数据分析的实时性和性价比。3.1.1.3智慧交通云平台的云计算解决方案在公安网内部,构建若干X86架构计算/存储节点,46、虚拟出海量存储空间、处理能力和数据管理能力。同时研制面向应用的分布式数据处理软件,满足数据汇总、数据上报、数据入库、数据查询、数据计算和数据管理等应用需求。图表 1 智慧交通云平台云计算解决方案3.1.1.4系统的主要技术特点实时性:平台在高效率并行分布式软件的支撑下,可以实时完成交管数据入库、分析和管理工作,如数据汇总、数据上报、数据入库、数据查询、数据计算和数据管理等。海量数据入库不会出现数据堆积现象,各类分析和查询工作基本都在秒级完成,具有前所未有的高效性。高可靠性:基于对云计算可靠性深厚的研究积累,彻底解决了当前分布式计算平台易出现的单点故障问题。任何一个节点出现故障,系统将自动屏蔽,47、而且不会出现丢失数据的现象。包括查询任务分配节点、计算任务分配节点、分布式云存储元数据节点、分布式云存储数据存储节点、MapReduceJob Tracker节点、MapReduce Worker节点、数据立方管理节点、数据立方 Region节点等。可伸缩性:在不停机的情况下,增加节点,平台的处理能力自动增加;减少节点,平台的处理能力自动缩减。这样,可以做到与云计算平台的无缝对接,根据计算和存储任务动态地申请或释放资源,最大限度地提高资源利用率。高性价比:采用X86架构廉价计算机构建云计算平台,用软件容错替代硬件容错,大大节省成本。在目标性能和可靠性条件下,可比传统的小型机加商用数据库方案节省48、10倍左右的成本。全业务支持:采用分布式数据库模式,绝大部分海量数据存放于分布式平台并进行分布式处理,少量实时性要求很高的数据存放于关系数据库中,可支撑各种类型的业务。不仅支撑查询、统计、分析业务,还可支撑深度数据挖掘和商业智能分析业务。3.1.2系统总体构架3.1.2.1系统基本组成与构架智慧交通云平台是一个处于交管数据采集与交管数据监测应用之间的系统。从系统基本组成与构架上来看,该共享平台由7个主要部分组成:历史数据汇总处理系统,上报数据上报系统,实时数据入库系统,交管数据存储系统,交管数据查询分析应用系统,数据管理系统以及系统管理。在基础设施构架上,该平台将架构将构建在南京公安云计算平台49、之上,利用南京公安所提供的计算资源、存储资源和网络资源,作为智慧交通云平台的基础设施和支撑平台。图表 2 智慧交通云平台的基本组成与构架3.1.2.2系统功能构架智慧交通云平台需要提供的7大主要功能描述如下。(1)历史数据汇总处理系统历史数据汇总处理主要负责把南京市6个分散的数据中心的历史数据,进行读取解析处理,并将处理后的历史数据汇入一个统一的数据中心。在内部处理模块上,历史数据汇总系统主要包括三个模块:读取模块、解析模块和汇总模块。读取模块主要负责各个数据中心历史数据的读取处理,解析模块主要负责把读取到的历史数据解析成合理的数据格式,而汇总模块主要负责把解析好的历史数据上传到统一的数据中心50、。在系统构架上,为了满足6个分散的数据中心处理需要,需要在每一个数据中心处安装一个数据汇总程序。(2)上报数据上报处理信系统上报数据上报处理负责把市数据中心的数据,按照一定的需求(按时间段或一定的数据量),上报给省厅数据中心。在内部处理模块上,上报数据上报系统主要包括三个模块:读取模块、解析模块和上报模块。读取模块主要负责市数据中心需要上报数据的读取处理,解析模块主要负责把读取到的数据解析成合理的数据格式,而上报模块主要负责把解析好的数据上传到的省厅数据中心。在系统构架上,为了满足市数据中心处理需要,需要在市数据中心处安装一个数据上报程序。而省厅数据中心需要提供数据上报的接口。(3)实时数据入51、库系统实时数据入库系统主要负责全市每个卡口产生的数据实时入库。在内部处理模块上,实时数据入库系统主要包括三个模块:接受模块、解析模块和数据入库模块。接受模块主要负责接收每个卡口产生的数据流,解析模块主要负责把接受到的数据流解析成合理的数据格式,而数据入库模块负责把解析好的数据加入到市数据中心。在系统架构上,为了使每个卡口的数据能实时入库市数据中心,需要在每一个负责接受卡口数据的工控机上安装一个实时数据入库系统。(4)交管数据存储系统原始交管数据,将全部存储在智慧交通云平台的云存储资源中。资源池提供两种存储资源:一种是结构化数据存储资源,用于存储少量的接口中间数据;另一种是分布式文件系统,用于存52、储海量的非结构化数据。为了满足和适应数据量、数据特征和查询处理的不同需求,将采用一种混搭式的数据存储方案。对容量巨大、常规数据库难以处理的数据,如交管数据,将主要存储在基于分布式云存储的分布式文件系统中;这些数据将通过分布式云存储接口进行访问和计算处理。而对于部分数据量不大、且查询响应性能要求很高的数据,如用于报警比对的中间数据,将被存放在关系数据库中。关系数据库将采用Sybase ASE版本。这些数据将通过结构化数据存储访问接口(如JDBC)进行访问。在存储构架上,若以存储3年的原始交管数据、报警信息数据和针对快速查询建立的索引数据,在10000条/s的交管数据流量下,将大约需要512TB的53、存储容量,按照每个存储节点16TB的存储容量,加上少量的冗余节点,将需要32个存储节点。(5)交管数据查询分析应用系统交管数据查询分析应用主要提供包括实时监控、报警监控、车辆轨迹与回放、电子地图、报警管理、布控管理、设备管理、事件检测报警、流量统计和分析等功能。车辆轨迹查询处理时,由于交管数据量巨大,难以存储在常规的关系数据库中,而如果直接存储在分布式云存储或数据立方中又难以保证查询效率。为此,需要考虑对交管数据进行索引处理,并将索引数据存储在分布式云存储或数据立方中。为了建立交管数据索引,需要在交管数据传送到云存储系统中时,进行实时的索引处理。但由于交管数据流量巨大,需要调度使用多台服务器节54、点进行并行处理。此外,用户从客户端发起以上各种数据查询分析任务时,也会产生大量并发的查询任务。以上各种查询分析计算任务的处理将需要考虑在计算集群上进行并行化任务调度和负载均衡处理。这些并行计算任务及负载均衡处理将使用Zookeeper基于计算集群完成统一的控制和实现。在系统构架上,以上查询分析计算任务将需要使用一个大规模数据并行计算集群。在编程实现上,存储在数据库中的数据将使用常规的数据库查询语言实现;对存储在分布式文件系统中的交管数据,针对不同的处理要求,在数据量极大而处理实时性要求不是特别高的情况下,为了方便对海量数据的并行处理,将采用MapReduce编程方式实现;而对于那些实时性要求很55、高的查询分析计算,由于MapReduce启动作业需要较长的时间开销,将不适合采用MapReduce编程实现,而需要用非MapReduce编程方式实现。(6)数据管理系统在实际使用中,可能用户会对某一时间段或者类型的数据特别关心,就可以通过数据管理系统查询并导出这部分数据以供使用。包括数据查询和数据导出两大部分。数据查询让用户以自定义的条件查询出数据,而数据导出就是将这些数据以合理的格式导出到数据中心以外。(7)系统管理系统管理主要包括智慧交通云平台的配置管理、系统安全管理、系统用户管理,以及数据备份、系统故障监测复等管理维护功能。配置管理是其中最主要的部分,是系统各个模块正常运行的基础。系统应56、能够对网络地址、设备地址等进行配置;能够对用户做权限管理,以防止数据外泄;并能及时有效的对数据进行备份和故障检测等工作,防止数据的意外丢失。系统应支持树图、数据表格、网络拓扑图形式展示配置数据。3.1.2.3系统总体构架与功能模块基于以上基本的系统组成和功能构架,系统的详细总体构架和功能模块设计如图所示。图表 3 智慧交通云平台总体构架与功能模块图上图中,自底向上分为五个层面。最下层是硬件平台层,将使用南京市公安局云计算中心所提供的计算、存储和网络资源。从系统处理系统的角度看,这一层主要包括云存储计算集群,此外还包括接口和管理服务器、包括用于实现客户端访问的Web服务器。第二层是系统软件层,包57、括移动的云存储系统软件,综合分析云计算软件平台,以及Web服务软件等。云存储系统将提供基于Sybase ASE关系数据库的结构化数据存储访问能力,以及基于分布式云存储的分布式文件系统存储访问能力,分别提供基于JDBC/SQL的数据库访问接口以及分布式云存储访问接口。综合分析云计算软件平台可提供对分布式云存储、数据立方数据的访问,并提供MapReduce编程模型和接口、以及非MapReduce模型的编程接口,以及用于实现并行计算任务负载均衡和服务器单点失效恢复的Zookeeper。第三层是智慧交通云平台中的数据层,包括原始交管数据、索引数据、用于分析的中间数据、以及系统配置数据等。其中,原始交管58、数据、索引数据等海量数据将存储在南京公安局云存储系统的分布式云存储分布式文件系统中,用分布式云存储接口进行存储和访问处理;而其它用于分析的中间数据等数据量不大、但处理响应性能要求较高的数据,将存储在云存储系统的关系数据库系统中,用JDBC/SQL进行存储和访问处理。第四层是交管数据处理软件层,主要完成智慧交通云平台所需要提供的诸多功能,包括实时监控、报警监控、车辆轨迹查询与回放、电子地图、报警管理、布控管理、设备管理、事件检测报警、流量统计和分析、系统管理等功能。最上层是客户端用户界面软件,主要供用户查询和监视相关的数据信息,除了事件检测报警不需要用户界面外,其它部分都需要实现对应的用户界面。59、3.1.3系统基本功能与处理方案3.1.3.1交管数据入库功能与处理方案交管数据入库系统总架构如图:图表 4 智慧交通云平台架构智慧交通云平台通过实时数据入库系统接入采集层的交管数据,数据分配进入负载均衡机,负载均衡机根据集群各节点负载情况,动态分配交管数据到各存储处理机, 进行报警检测、建立索引等处理, 同时将交管数据存入分步式存储系统。负载均衡机功能监控所集群机器负载情况,动态分配交管数据。监控所有集群机器,如果发现问题,那么就把分配给这台机器的交管数据重新分配到其他机器,去除单点故障,提高系统可靠性。负载均衡机采用Paxos 算法解决一致性问题,集群在某一时刻只有一个Master负责均衡60、能力,当Master宕机后,其他节点重新选举Master。保证负载均衡机不会存在单点问题,集群机器一致性。实时业务对于实时性要求高的业务应用,如:实时监控、实时报警,走实时专道。3.1.3.2数据存储功能与处理方案数据存储处理总架如图:图表 5 数据存储处理架构数据存储系统提供如下功能:交管数据处理:接收来自数据汇总和数据入库系统的交管数据, 索引模块实时生成索引,以提高查询速度。生成的索引存储到分布式云存储中,以供查询交管数据使用。专题业务分析,通过MapReduce并行计算,同期提取业务数据,将结果分存两路,一路存入数据立方或日志详单存储, 一路存入关系型数据库。报警数据处理智慧交通云平台61、对接收到的实时交管数据进行计算,以判断这辆车有没有符合报警条件。如果符合,会对报警信息入库,并同时通过对外实时报警的接口,将报警信息迅速展示到用户界面上。3.1.3.3查询分析功能与处理方案交管数据查询构架如图:图表 6 交管数据接入当客户发起请求后, 客户端把请求发向查询接口服务器,查询接口服务器解析查询请求,后向Master任务调度机发送查询任务执行命令;Master回应执行命令节点信息,查询服务器根据节点信息将查询命令发向查询计算模块,进行具体查询操作,将查询结果返回给客户端,呈现给用户。3.1.4系统互联与管理3.1.4.1组网方案组网方案如图:图表 7组网方案我司可向公安数据中心申请62、VPN或公网IP服务,如果系统出故障,可以保障第一时间远程排查。3.1.4.2网络管理3.1.4.2.1服务器间网络安全检查系统自管理通过启用网络安全检查进程(netinspect),定期检查整个系统的网络状况,并上报各服务模块网络流量信息,在终端形成网络拓扑图,实时在界面呈现各节点网络状态,管理员也能及时了解,各服务模块的网络流量机承载的负荷。若出现网络故障,netinspect进程实时上报故障情况,在网络拓扑图上以报警方式提示,或以短信的方式提示,便于管理员及时发现问题,并恢复网络故障,确保系统在安全的网络环境下运行。3.1.4.2.2服务模块进程监控管理系统自管理通过启用服务模块运行状态63、检查进程(proinspect),定期检查整个系统的服务模块进程运行状况,并上报各服务模块进程的运行状态信息,在终端将运行的进程的状态以表格形式显示,定时更新进程的运行状态信息。通过它管理员也能及时了解,各服务模块的进程运行负荷。若在固定的时间内没有更新,视为进程运行故障,启动主机代理自动恢复故障进程,保障各服务模块进程持续稳定的运行的状态。3.1.4.2.3系统性能监控管理系统自管理通过启用服务模块性能检查进程(serverinspect),定期检查整个系统的各服务器性能指标,包括CPU开销、内存占用、IO峰值、网络流量、连接数等。并上报各服务性能指标,在终端形成拓扑图,实时在界面呈现各节点64、服务器性能状态,管理员也能及时了解,各服务节点处理性能及资源开销。若性能持续高负荷,拓扑图上以报警方式提示,或以短信的方式提示,便于管理员及时发现问题,查找问题的来源或重新评估服务器配置情况,为系统稳定运行提供一个确实可靠的标准。3.1.4.2.4系统日志分析处理系统各服务模块在运行期间写日志文件,将进程的模块编号、服务器的IP、出错页码等日志的状态(错误、告警、提示)等级别的信息保存磁盘文件,供工程师来分析系统运行状态。同时日志分析进程(loganalyse)分析日志文件,将重要的日志信息,进行对比、分析并汇总后,生产统一格式的日志信息,提取出来,写入的数据库表中,终端管理通过查询界面来来显65、示,能及时了解到系统的运行的状态。3.1.4.2.5系统运行状态及报警处理系统运行报警分为以下几种:服务器运行状态报警服务器网络状态报警服务模块进程报警日志模块状态报警3.1.4.3系统安全3.1.4.3.1网络安全为保障整个系统稳定运行,首先要保障系统在网络方面是安全的。从硬件、软件方面做相应的安全措施。硬件:所有的网络设备都要1+1 冗余配置,涉及以下网络硬件设备冗余配置以太网100M/ 1000M网卡以太网网络交换设备光纤网络接口FC/HBASAN光纤网络交换机软件:在整个系统上部署防火墙软件、及自产的安全管理管理软件模块来保障系统平稳运行。3.1.4.3.2数据文件安全性见集群可靠性章66、节。3.1.5系统可靠性与扩展性3.1.5.1系统可靠性 分布式云存储可靠性概述:分布式云存储包括元数据节点(Namenode)和数据节点(Datanode),Namenode是一个中心服务器,负责管理文件系统的Namespace和客户端对文件的访问。,Datanode在集群中一般是一个节点一个,Datanode是文件系统中真正存储数据的地方。DataNode所在机器挂了怎么办? 分布式云存储(分布式云计算 Distributed File System)默认的最基本的存储单位是64M的数据块(block)。 一个文件对应的所有BLOCK全部按照一定的部署策略存在于DataNode上,文件的所67、有block为了容错都会被复制(一般为3份),每个文件的block大小和replication因子都是可配置的。Datanode每3分钟向Namenode发送心跳,如果10分钟datanode没有向Namenode发送心跳,则Namenode认为该Datanode已经dead,Namenode将取出该Datanode上对应的block,对其进行复制。 Namenode挂了怎么办?Namenode主控服务器,为了避免主节点失效而影响整个系统正常工作,我们采用基于分布式云存储的改进方案Avatar,同时可开启两个Namenode,主Namenode和secondNamenode,实际工作的只有主N68、amenode。主Namenode将所有关于文件和目录的操作记录都会写入日志,并定时序列化到本地做镜像,并且保存到本地的NFS服务器,同时secondNamenode读取主Namenode所在NFS服务器的日志并对镜像日志做CheckPoint。故障后,secondNamenode升级为Namenode,通过镜像数据和文件日志迅速恢复系统。数据服务器可通过分布式协同服务机制得知关于主控服务器的更迭情况,然后向新的主控注册并继续发送心跳。 数据立方可靠性概述:数据立方系统由数据立方集群和ZooKeeper集群组成。数据立方的可靠性由其自身的ZooKeeper机制保证。数据立方包括Hregion服69、务器群和Master主服务器构成。Master负责管理Hregion。物理上,一张表是被拆成多个块,一张完整的表格是保存在多个Hregion上面的。master挂掉怎么办?由于master只维护表和region的元数据,因此master下线短时间内对整个数据立方集群没有影响,master保存的信息全是可以冗余信息(都可以从系统其它地方收集到或者计算出来),因此,启动数据立方时可以再启动一个备用的master,实际工作的只有主master,当主master所在节点宕机,会自动切换到备用master所在节点。Hregionserver挂掉怎么办?物理上,表格分为多个Region一张表是被拆成多个块70、,一张完整的表格是保存在多个Hregionserver上面的。并且分布在多台Hregionserver中,物理上所有数据存储在分布式云计算的分布式云存储上,由一些子表服务器来提供数据服务,提供服务时,子表先查HMemcache,如果没有,再查分布式云存储上的HStore,由分布式云存储来保证数据的可靠性。如果丢失Region的数据所在节点的datanode宕机,分布式云存储会自动映射到其他节点,从而保证Region数据的可靠性。ZooKeeper挂掉怎么办?Zookeeper分为2个部分:服务器端和客户端。启动Zookeeper服务器集群环境后,多个Zookeeper服务器在工作前会选举出一个71、Leader,在接下来的工作中这个被选举出来的Leader死了,而剩下的Zookeeper服务器会知道这个Leader死掉了,在活着的Zookeeper集群中会继续选出一个Leader,选举出leader的目的是为了可以在分布式的环境中保证数据的一致性。MapReduce可靠性概述:MapReduce整体上可以分为这么几条执行的线索,JobTracker与JobTracker是一个master服务,软件启动之后JobTracker接收job,负责调度job的每一个子任务task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。一般情况应该把JobTracker部72、署在单独的机器上。TaskTracker是运行于多个节点上的slaver服务。TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。TaskTracker都需要运行在分布式云存储的DataNode上,JobTracker0挂掉怎么办?在系统启动时同时启动备份JobTracker1节点,当JobTracker0节点宕机时,ZooKeeper会在其上启动JobTracker进程替代JobTracker0节点,虚拟IP会指向此节点,TaskTracker会注册到此节点上,未完成的MapReduce作业会被ZooKeeper调度到此节点上重新执行。TaskTrack73、er挂掉怎么办?JobTracker是一个master服务,软件启动之后JobTracker接收job,负责调度job的每一个子任务task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。并且将其负责的task分配给其他TaskTracker上。3.1.5.2系统扩展性已有的分布式云计算集群规模分布式云计算是一个相当有弹性和扩展性的平台,它既可以在成千上万的机器上跑,也可以在很小规模上运行。目前最大的分布式云计算集群有四千台机器。 分布式云计算扩展优势:与其它分布式系统相比,使用分布式云计算的好处在于它的水平的可扩展性,在少量结点上,用分布式云计算处理有限的数74、据时,不能展示分布式云计算的性能,因为开始分布式云计算程序相关的代价比较高,其它并行/分布程序方式,比如MPI (Message Passing Interface)可能在2台,4台或许10多台计算机上有更好的性能,尽管在少量机器上协同工作在这种系统上也许会取得更好的性能,但这种为性能所要付出的努力是非线性的增长。用其它分布式框架所写的程序在从十台机器的级别到成百上千台机器需要大量的重构工作,这也许要程序重写几次,并且其它框的基础元素会限制应用的规模大小。但是特别设计的分布式云计算有着水平的可扩展性,一个分布式云计算程序写完后,在10个结点上运行,如果迁徙到更大的集群上运行,几乎不需要做什么工75、作, 分布式云计算平台会管理数据和硬件资源并提供与可用资源成比例的可靠性能。分布式云计算扩展方法:数据立方集群具备线性扩展功能,只需要将配置好的region server节点加入到集群中。MapReduce集群具备线性扩展功能,只需要将配置好的TaskTracker节点加入到集群中,JobTracker节点就会将Map或Reduce任务分配给此节点处理。分布式云存储具备线性扩展功能,只需要将配置好的DataNode节点加入到集群中,并且在集群空闲时执行balancer工具以平衡集群中DataNode的数据块负载。3.1.6系统设计性能3.1.6.1交管数据流量处理能力交管数据集群完全采用分布式76、实现,支持线性扩展, 每节点采用低端X86PC Server处理500条/s流量。 对于全全市总量10000条/s的实时入库数据和大量的历史数据来说,需要34台处理机。以下是各部分处理能力统计: l 交管数据存储查询服务器配置: 8核CPU2,主频2.3GHz,内存32G,硬盘82T SATA处理能力:折合交管数据入库流量 500条/s/台l 应用分析服务器配置: 8核CPU2,主频2.3GHz,内存16G,硬盘2300G SAS处理能力:折合处理并发访问量500次/s/台3.1.6.2数据存储能力原始交管数据存储采用云存储平台,分布式文件系统存储服务。性能指标:l 存储量指标单系统应支持PB77、级存储容量。l 吞吐量指标吞吐量是指在没有帧丢失的情况下,设备能够接受的最大速率。吞吐量根据应用系统读写方式和应用系统读取存储内容大小分成四个指标。分布式文件存储系统按照32个节点并发500个用户计算,单节点8块2T大小的硬盘情况下,每个节点指标具体内容如下表所示:表8分布式文件存储系统吞吐量指标编号读写方式存储内容大小平均吞吐量指标(MBps)1100%读1GB602100%写1GB303100%读100KB304100%写100KB15图表 8 分布式文件存储系统吞吐量指标l 系统响应时间指标千兆网络环境下,局域网客户端从分布式文件存储系统中读取4096字节存储内容的响应时间应不高于50m78、s。交管数据存储采用分布式云存储性能指标,如下:l 数据读取性能:4080MB/s节点;l 数据规模:10PB规模;l 数据负载均衡时间:可依据流量配置而确定;l 集群重新启动时间(10PB规模):分钟级别;3.1.6.3查询分析计算性能 对任何实时分析操作的反应时间小于10秒; 查询、统计操作的首次响应时延小于1秒; 并发操作终端数大于30个 ; 基于交管数据的统计,记录5000万条以内,30秒可以统计完成。3.1.7定制化开发方案相对于已经完成的传统方案,云计算方案还需要在以下方面进行特定开发。(1)历史数据汇入处理平台定制开发历史数据入库系统需要使用与计算存储集群分立的专用机器(可安装在79、各县市现有的数据服务器上)。由于数据汇入处理不需要存储任何数据,仅仅需要读取、解析和入库数据。因此,数据汇入时对服务器的要求比较简单,不需要考虑和使用诸如分布式云计算的大规模数据并行计算和存储系统,只需要一般的单一的服务器即可。(2)上报数据上报处理平台定制开发上报数据上报系统需要使用与计算存储集群分立的专用机器(可安装在市数据中心现有的数据服务器上)。由于数据上报处理不需要存储任何数据,仅仅需要读取、解析和上报数据。因此,数据上报时对服务器的使用比较简单,不需要考虑和使用诸如分布式云计算的大规模数据并行计算和存储系统,只需要一般的单一的服务器即可。但是由于上报的数据量比较大,而上报时间又不会80、很长,所以对服务器的性能有一定要求。(3)交管数据实时入库并创建索引程序定制开发交管数据存储在分布式云计算系统的分布式云存储中,但由于巨大的交管数据流量,每秒钟将有大量的交管数据产生,为了提供及时的数据查询,这些数据文件必须得到及时的索引创建处理,否则将造成大量的交管数据积压。因此,索引创建程序需要有较高的实时处理能力,以便能在毫秒级时间内保证处理完大量的一秒钟的交管数据。由于MapReduce计算任务需要较长的作业初始化时间,交管数据索引创建程序将难以用MapReduce程序实现,而需要基于分布式云存储、利用分布式云存储编程接口编写和定制较为复杂的非MapReduce程序,该程序不能依赖任何81、MapReduce的编程构架和接口,而需要自行编写程序完成全部的数据读出、解析处理、复杂的索引计算、以及索引数据的输出(输出到分布式云存储或者数据立方)处理过程。(4)查询分析接口开发智慧交通云平台会提供以下的应用接口:实时监控、报警监控、车辆轨迹查询与回放、电子地图、报警管理、布控管理、设备管理、事件检测报警、流量统计和分析、系统管理等。这些应用接口都需要根据实际的应用需求再进行合理的改进过程。(5)查询分析软件定制开发(可选)查询分析软件将设计为基于Web的应用程序,包括客户端查询用户界面以及服务器端查询服务程序。客户端查询用户界面可基于通用的浏览器实现,也可设计为独立(standalon82、e)的客户端软件。具体的客户端界面将需要根据不同的查询功能需求设计实现不同的查询界面。查询服务软件将基于ApacheWeb服务器设计实现。需要特别考虑的是,大量并发的用户查询任务将需要设计实现查询任务分发时的负载均衡处理。(6)并行处理任务的负载均衡调度和单节点失效恢复机制的定制方案前述的交管数据入库、建立索引、数据汇总和数据上报、数据查询等处理中需要考虑的一个共性的重要问题是,为了对大量数据进行并行化的处理、或者大量用户同时发出了很多查询请求时,需要考虑并行计算任务的分发调度和负载均衡,尤其是负责分发调度的节点可能出现单节点失效而导致系统无法正常工作。为此,将基于Zookeeper设计实现一83、个可防止单节点失效的并行计算任务分发调度控制机制和程序框架。该框架中,Zookeeper将使用3台并行计算任务调度服务器,并有Zookeeper负责选择和确定一个主服务器进行工作,但当主服务器失效时,Zookeeper将能够自动感知并选择另一个服务器作为主服务器工作,以此完成单节点失效的恢复处理。进而,通过Zookeeper还可以控制和均衡调度使用大量的计算节点,从而完成并行计算任务分发调服时的负载均衡。(7)分布式云计算计算与存储集群的可靠性设计和功能扩展 分布式云计算作为一个开源的面向大规模数据并行计算的编程框架和平台,其可靠性和性能方面还存在不少需要改进的地方。比如,分布式云计算集群的M84、aster服务器虽然开用了一个备份Master服务器,但当主Master服务器失效时,备份Master服务器并不能自动完成失效恢复和切换处理。这就无法满足智慧交通的实时性处理需求。为此,我们需要对分布式云计算进行改进,设计实现一个能自动完成Master服务器失效处理和切换的定制分布式云计算系统,以便为智慧交通云平台提供一个高可靠性的大规模数据并行计算和存储平台。云技术方案建议书 第92页系统设计实施与关键技术方法3.2系统设计实施与关键技术方法3.2.1系统软硬件平台系统软硬件结构如图:图表 9 系统软硬件结构系统的物理硬件采用低端的x86 PC服务器,操作系统采用RedHat Linux。385、.2.2数据处理流程数据汇总上报处理流程如图:图表 10 数据汇总上报处理流程实时数据入库流程如图: 图表 11 实时数据入库流程3.2.3数据存储子系统 3.2.3.1海量数据分布式数据存储构架 云计算是一种超级的计算模式,可以把网络中的计算机虚拟为一个资源池,将所有的计算资源集中起来,并用特定软件实现自动管理,使得各种计算资源可以协同工作,这就使得处理数量巨大的数据成为了可能。 基于云计算的海量数据存储模型,是依据云计算的核心计算模式MapReduce,并依托实现了MapReduce 计算模式的开源分布式并行编程框架分布式云计算,将存储模型和云计算结合在一起,实现海量数据的分布式存储。 M86、apReduce 是云计算的核心计算模式,是一种分布式运算技术,也是简化的分布式编程模式,用于解决问题的程序开发模型,也是开发人员拆解问题的方法。MapReduce 模式的主要思想是将自动分割要执行的问题,拆解成Map(映射)和Reduce(化简)的方式。在数据被分割后通过Map 函数的程序将数据映射成不同的区块,分配给计算机集群处理达到分布式运算的效果,在通过Reduce 函数的程序将结果汇整,从而输出开发者需要的结果。 MapReduce 借鉴了函数式程序设计语言的设计思想,其软件实现是指定一个Map 函数,把键值对(key/value)映射成新的键值对(key/value),形成一系列中87、间结果形式的key/value 对,然后把它们传给Reduce(规约)函数,把具有相同中间形式key 的value 合并在一起。Map 和Reduce 函数具有一定的关联性。MapReduce流程如图所示:图表 12 分布式计算流程 分布式云计算 是一个实现了MapReduce 计算模型的开源分布式并行编程框架,程序员可以借助分布式云计算 编写程序,将所编写的程序运行于计算机集群上,从而实现对海量数据的处理。此外,分布式云计算 还提供一个分布式文件系统(分布式云存储)及分布式数据库(数据立方)用来将数据存储或部署到各个计算节点上。借助分布式云计算 框架及云计算核心技术MapReduce 来实现88、数据的计算和存储,并且将分布式云存储 分布式文件系统和数据立方 分布式数据库很好的融入到云计算框架中,从而实现云计算的分布式、并行计算和存储,并且得以实现很好的处理大规模数据的能力。综合MapReduce和分布式云存储来看分布式云计算的结构:图表 13 分布式云计算结构在分布式云计算的系统中,会有一台Master,主要负责Namenode的工作以及JobTracker的工作。JobTracker的主要职责就是启动、跟踪和调度各个Slave的任务执行。还会有多台Slave,每一台Slave通常具有DataNode的功能并负责TaskTracker的工作。TaskTracker根据应用要求来结合本89、地数据执行Map任务以及Reduce任务。 主服务控制集群相当于控制器部分,主要负责接收应用请求并且根据请求类型进行应答。存储节点集群相当于存储器部分,是由庞大的磁盘阵列系统或是具有海量数据存储能力的集群系统,主要功能是处理数据资源的存取。分布式云存储 和数据立方 用来将数据存储或部署到各个计算节点上。分布式云计算 中有一个作为主控的Master,用于调度和管理其它的计算机(将其称之为TaskTracker),Master 可以运行于集群中任一台计算机上。TaskTracker 负责执行任务,必须运行于DataNode上,DataNode 既是数据存储节点,也是计算节点。Master将Map 90、任务和Reduce 任务分发给空闲的TaskTracker,让这些任务并行运行,并负责监控任务的运行情况。如果其中任意一个TaskTracker 出故障了,Master 会将其负责的任务转交给另一个空闲的TaskTracker 重新运行。用户不直接通过分布式云计算 架构读取及分布式云存储 和数据立方存取数据,从而避免了大量读取操作可能造成的系统拥塞。用户从分布式云计算 架构传给主服务控制集群的信息后,直接和存储节点进行交互进行读取操作。3.2.3.2适应应用需求的混合存储策略 混合存储策略可以简述为分布式云存储分布式文件系统用来存储海量数据,可以根据存储的数据类型建立索引,数据立方也可用来存储91、海量数据,其由查询条件建立索引表, Database对小型数据的存储处理。 分布式文件系统分布式云存储是一个开源云计算平台分布式云计算框架的底层实现部分,适合运行在通用硬件上的分布式文件系统,具有高容错性,能提高吞吐量的数据访问,非常适合于大规模数据集上的应用。MapReduce在分布式云存储的基础上实现的并行框架,为用户提供容易使用的并行编程模式,MapReduce计算包括两个阶段,Map(映射)阶段和Reduce(规范)阶段。首先,Map函数把一组(Key,Value)输入,映射为一组中间结果 (Key,Value),然后通过Reduce函数把具有相同Key值的中间结果,进行合并化简。Ma92、pReduce将计算作业分成许多小的单元,同时数据也会被分布式云存储分为多个Block,并且每个数据块被复制多份,保证系统的可靠性,分布式云存储按照一定的规则将数据块放置在集群中的不同机器上,以便MapReduce在数据宿主机器上进行计算。 数据立方类似Bigtable的分布式数据库,是一个稀疏的,长期存储的,多维的,排序的映射表.这张表的索引是行关键字,列关键字和时间戳。所有数据库的更新都是一个时间戳标记,每个更新都是一个新的版本,而数据立方会保留一定数量的版本,这个值是可以设定的。客户端可以获取距离某个时间最近的版本,或者一次获取所有版本。3.2.3.3分布式云存储数据存储 分布式文件系统93、分布式云存储被设计为将海量文件存储在一个大集群的多台计算机上。分布式云存储将每一个文件以分块序列的形式进行存储,一个文件的所有分块除去最后一个分块外都是等大小的。为了实现容错将文件分块进行自动复制。文件分块的块大小和复制比例都是可以按照单个文件进行配置的。分布式云存储中的所有文件都是“只写一次”并且严格限定在任何时候只有一个写文件操作者。 分布式云存储是分布式云计算框架的分布式并行文件系统,是分布式计算的存储基石。负责数据分布式存储及数据的管理,并能提供高吞吐量的数据访问。分布式云存储的基本特征如下:(l)对于整个集群有单一的命名空间。(2)文件会被分割成多个文件块,每个文件块被分配存储到数据94、节点上,而且根据配置会有复制的文件块来保证数据安全性。(3)数据一致性。适合一次写入多次读取的模型,客户端在成功创建文件之后,才能看到文件的存在。(4)分布式云计算,包括分布式云存储,非常适合在廉价机器上的分布式存储和分布式处理。它是容错的、可伸缩的、非常易于扩展。并且,以简单性和适用性著称的MapReduce是分布式云计算不可缺少的重要组成部分。(5)分布式云存储的默认配置适合于大多数安装的应用。通常情况下,只有在一个非常大规模的集群上才需要修改默认配置。(6)支持shell命令行风格的分布式云存储目录交互。(7)分布式云存储是用java编写的,可广泛运行在多种软硬件平台上。(8)分布式云存95、储经常性地实现新的特性和改进。(9)Namenode和DataNode都内建了Web服务器,可以方便地查看集群的状态。 分布式云存储的体系框架是Master/Slave结构,一个典型的分布式云存储通常由单个Namenode和多个DataNode组成。Namenode是一个中心服务器,负责文件系统的名字空间的操作,比如打开、关闭、重命名文件或目录,它负责维护文件路径到数据块的映射,数据块到DataNode的映射,以及监控DataNode的心跳和维护数据块副本的个数。集群中的DataNode一般是一个节点一个,负责管理它所在节点上的存储。分布式云存储暴露了文件系统的名字空间,用户能够以文件的形式在96、上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组DataNode上。DataNode负责处理文件系统客户端的读写请求。在Namenode的统一调度下进行数据块的创建、删除和复制。 所有对目录树的更新和文件名和数据块关系的修改,都必须能够持久化,文件在分布式云存储中存储图如图:图表 14 分布式云存储结构分布式云存储涉及到Namenode、DataNode和客户端们之间的交互。本质上,客户端与Namenode通讯是通过获取或者修改文件的元数据,与 DataNode进行实际的I/O操作。如图13所示,在分布式云存储中有三个重要的角色:Namenode、DataNode和97、Client,其中Client就是需要获取分布式文件系统文件的应用程序。这里通过三个操作来说明他们之间的交互关系:(l)文件写入。首先Client向Namenode发起文件写入的请求,Namenode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。(2)文件读取。Client向Namenode发起文件读取的请求,Namenode返回文件存储的DataNode的信息。Client根据返回的信息读取DataNode上的文件信息。(3)文件Block复制98、。Namenode发现部分文件的Block不符合最小复制数或者部分DataNode失效,通知DataNode相互复制Block。DataNode收到通知后开始直接相互复制。图表 15 分布式云存储 Namenode、DataNode和客户端们之间的交互3.2.3.4数据立方数据存储 数据立方 分布式云计算 Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用数据立方技术可在廉价PC Server上搭建起大规模结构化存储集群。其目的是处理庞大的表,可以用普通的计算机处理10亿行数据,并且有数百万列元素组成的数据表这张表的索引是行关键字。数据立方可以直接使用本地的文件系统99、和分布式云计算作为数据存储方式,不过为了提高数据的可靠性和系统的健壮性,发挥数据立方处理大数据量等功能,需要使用分布式云计算作为文件系统。1、数据模式 数据立方类似Bigtable的分布式数据库,是一个稀疏的,长期存储的,多维的,排序的映射表.这张表的索引是行关键字,列关键字和时间戳。每个值是一个不解释的字符数组,数据都是字符串,没类型。用户在表格中存储数据,每一行都是一个可排序的主键和任意多的列。由于是稀疏存储的,所以同一张表里面的每一行数据都可以有截然不同的列。列名字的格式是:,都是由字符串组成,每一张表有一个family集合,这个集合是固定不变的,相当于表的结构,只能通过改变表的结构来改100、变。但是lable值相对于每一行来说都是可以改变的。数据立方把同一个family里面的数据存储在同一个目录底下,而数据立方的写操作时锁行的,每一个都是一个原子元素都可以加锁。所有数据库的更新都是一个时间戳标记,每个更新都是一个新的版本,而数据立方会保留一定数量的版本,这个值是可以设定的。客户端可以获取距离某个时间最近的版本,或者一次获取所有版本。2、 概念视图一个表可以想象成一个大的映射关系,通过主键,或者主键+时间戳,可以定位一行数据,由于是稀疏数据,所以某些列可以是空白的,下面就是数据的概念视图: Row KeyTime StampColumnColumn anchorColumn mim101、en.wwwt9anchor:CNNt8anchor:my.look.caCNN.comt6.t5.text/htmlt3.3、物理视图从概念视图看每个表格是有很多行组成,但是在物理存储上,它是按照列来保存的。Row KeyTime StampColumn contentsn.wwwt6.t5.t3.Row KeyTime StampColumn anchorn.wwwt9anchor:CNNt8anchor:my.look.caCNN.comRow KeyTime StampColumn minen.wwwt6text/html在概念视图上面有些列是空白的,这样的列实际上并不会被存储,当请求102、这些空白的单元格的时候,会返回null值。如果在查询的时候不提供时间戳,那么会返回距离现在最近的那个版本数据。因为在存储的时候,数据会按照时间戳排序3.2.3.5Database数据存储数据库(Database)是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。数据库中的数据有两种性质:1、数据整体性 数据库是一个单位或是一个应用领域的通用数据处理系统。数据库中的数据是从103、全局观点出发建立的,他按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。 2、数据共享性 数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。数据库的基本结构分为三层: 1.物理数据层它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据104、是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。 2.概念数据层它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。 3.逻辑数据层它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。 数据库不同层次之间的联系是通过映射进行转换的。主要特点: (1)实现数据共享。 数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。 (2)减少数105、据的冗余度。 同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。 (3)数据的独立性。 数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。 (4)数据实现集中控制。 文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。 (5)数据一致性和可维护性,以确保数据的安全性和可靠性。 主要包括:安全性控制:以防止数据丢失、错误更新和越权使用;106、完整性控制:保证数据的正确性、有效性和相容性;并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏 (6)故障恢复。 由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。3.2.3.6数据存储的可靠性 数据立方采用的是分布式云计算作为文件系统,分布式云计算以机柜为基础的数据存放策略, 那么不仅充分利用了网络宽带,而且提高数据可靠性。107、分布式云存储的主要目标就是实现在失败情况下的数据存储可靠性。常见的三种失败:Namenode failures, Datanode failures和网络分割(network partitions)。(1)硬盘数据错误、心跳检测和重新复制每个Datanode节点都向Namenode周期性地发送心跳包。网络切割可能导致一部分Datanode跟Namenode失去联系。 Namenode通过心跳包的缺失检测到这一情况,并将这些Datanode标记为dead,不会将新的IO请求发给它们。寄存在dead Datanode上的任何数据将不再有效。Datanode的死亡可能引起一些block的副本数目低于108、指定值,Namenode不断地跟踪需要复制的 block,在任何需要的情况下启动复制。在下列情况可能需要重新复制:某个Datanode节点失效,某个副本遭到损坏,Datanode上的硬盘错误,或者文件的replication因子增大。(2)集群均衡分布式云存储支持数据的均衡计划,如果某个Datanode节点上的空闲空间低于特定的临界点,那么就会启动一个计划自动地将数据从一个Datanode搬移到空闲的Datanode。当对某个文件的请求突然增加,那么也可能启动一个计划创建该文件新的副本,并分布到集群中以满足应用的要求。这些均衡计划目前还没有实现。(3)数据完整性从某个Datanode获取的数据109、块有可能是损坏的,这个损坏可能是由于Datanode的存储设备错误、网络错误或者软件bug造成的。分布式云存储客户端软件实现了分布式云存储文件内容的校验和。当某个客户端创建一个新的分布式云存储文件,会计算这个文件每个block的校验和,并作为一个单独的隐藏文件保存这些校验和在同一个分布式云存储 namespace下。当客户端检索文件内容,它会确认从Datanode获取的数据跟相应的校验和文件中的校验和是否匹配,如果不匹配,客户端可以选择从其他Datanode获取该block的副本。(4)元数据磁盘错误FsImage和Editlog是分布式云存储的核心数据结构。这些文件如果损坏了,整个分布式云存110、储实例都将失效。因而,Namenode可以配置成支持维护多个FsImage和Editlog的拷贝。任何对FsImage或者Editlog的修改,都将同步到它们的副本上。这个同步操作可能会降低 Namenode每秒能支持处理的namespace事务。这个代价是可以接受的,因为分布式云存储是数据密集的,而非元数据密集。当Namenode重启的时候,它总是选取最近的一致的FsImage和Editlog使用。Namenode在分布式云存储是单点存在,如果Namenode所在的机器错误,手工的干预是必须的。目前,在另一台机器上重启因故障而停止服务的Namenode这个功能还3.2.3.7数据压缩 (1)111、分布式云存储数据压缩与组织方法任何一种数据资源都具有生命周期,不同的时期有其存在的不同意义。在数据刚生成的数日内,访问频率最高,带来的使用价值也最高。随着时间推移,访问频率会逐渐降低,数据的价值也随之下降,低访问频率的数据量远远超过高访问频率的数据量。不同生命周期的数据是提供给不同使用对象的,这就为以最低的成本获得最高的使用价值提供了可能。通常情况下,某段时间内访问量比较大的数据只有不到20%,80%的数据是不经常被访问的,虽然这些数据访问量低,但这些数据仍然很重要,必须完好的保存。同时考虑到方便数据压缩,这里采用了分级存储策略,这样不仅可以方便为访问量大的数据项设置缓存,而且为数据压缩提供了112、方便,显著提高了效率。分级存储就是以信息生命周期管理理论为依据,根据数据所能提供的使用价值来决定存储成本、存储设备。文件依据用户需求有选择地对某些数据进行迁移,如进行远端备份等。数据分级存储之所以重要,是因为它既能最大限度地满足变化的需求,又能方便文件的组织和压缩。数据分级存储的优点有减少总体存储成本、性能优化、改善数据可用性、数据迁移对应用透明。借助云平台,分级存储满足以下要求:数据的安全性、数据的高可用性、容量可扩展性、设备的兼容性、管理的高效性、经济效益性。数据将被组织成两级,一级称为chuck,一级称为block。chuck被分为多个block,文件将以block的形式存储在数据服务器113、上。block的优点是方便文件压缩和文件的传输,适合多种备份方式,在很大程度上提高了存储效率和可扩展性。下图给出了基于分级存储的数据块级压缩方式。图表 16 分布式云存储数据压缩与组织处理流程如下:1)将一个chunk划分成为多个block。2)读取一个block,对该block进行数据压缩并写入到临时缓存中。3)将临时缓存的压缩数据拷贝到缓冲池中。4)重复2-3步直到一个chunk中的block都被压缩拷贝完成。5) 将缓冲池中的内容按顺序回写到存储区域。3.2.4数据查询与统计分析子系统3.2.4.1数据查询与统计分析系统基本构架图表 17 数据查询子系统构架3.2.4.2实时监控3.2.114、4.2.1电子地图实现可视化日常操作功能与系统图像化管理功能,包括路口图形化布点、实时视频查看、车辆轨迹分析等。实时体现联网卡口布控情况,可以通过防线、地图缩放、卡口选择等方式来查看各卡口情况,包括:卡口名称、联系人、联系电话、管理单位。异常设备在地图中会高亮闪烁,鼠标移到图标上,显示设备状态和异常信息。电子地图可提供基于影像图(JPG)的方式,也可以整合常见GIS系统,如ArcGIS、SuperGIS、高德GIS、百度地图等。3.2.4.2.2实时报警监控实时监听报警信息,当有布控报警、黑名单报警、红名单报警、特种车报警等警情发生时,页面弹出红色报警提示框,显示报警信息和车辆全景图,同时发出115、声光提示。3.2.4.2.3实时车辆监控实时监测和查看监控点或某一车道的过车信息、车辆图片等。车辆信息和图片信息保存于云存储中,可供快速查询检阅。实时车辆监控支持单画面监控和四画面监控。3.2.4.2.4实时视频监控实时视频预览,用于客户端工作站及大屏轮巡预览实时道路通行状况,实时视频信息按时间分段存储于云存储中,可供快速查询回放。实时视频监控支持单画面和多画面。3.2.4.3查询统计3.2.4.3.1车辆信息查询基于云计算技术在数以亿计海量历史数据中,快速查询满足检索条件的历史过车数据,并可查看结果中的任意一条过车信息的全景图片、号牌图片、识别信息,可对车辆信息进行核查矫正。3.2.4.3.116、2车辆报警查询基于云计算技术在数以亿计海量历史数据中,快速查询满足检索条件的历史报警数据,并可查看结果中的任意一条报警信息的全景图片、号牌图片、识别信息。3.2.4.3.3车辆查询轨迹根据车辆号牌号码、号牌颜色和指定的时间段查询出车辆在各个监控点之间的行驶轨迹,并在地图上显示出轨迹。3.2.4.3.4轨迹查询车辆选择一组点位(卡口)设定车辆行驶轨迹,查询在指定时间段内按该轨迹通行的所有车辆,按涉及车辆分组列出每辆车通过该轨迹的时间。3.2.4.3.5伴随车辆分析设定待查询车辆的号牌号码和号牌颜色(可选)、时间段和最少伴随点位数,基于云计算技术分析出伴随该车前后的可疑车辆。伴随车辆定义:又称为同117、行车辆或尾随车辆,是指多辆车在某个时间段内,都通过多个相同的卡口,且通过每个卡口时,和待查询车辆同方向行驶(可以不同车道、变换车道、忽前忽后),通过卡口的顺序间隔不超过阀值,时间间隔也不超过阀值的车辆。3.2.4.3.6卡口流量统计设定流量统计的时间段及分组标准(按小时、天、周、月、季、年),统计各点位的车流量,输出数据表和对应的统计图表,并可导出。由道路顺序经过的各点位实时车流量可以分析道路瓶颈及堵塞预测,从而实施关键卡口分流措施。由道路途径个点位历史最高车流量可以对比分析道路承载压力是否超负荷,可选择关节节点改造,进行道路拓宽、减小车道宽度(可增加车道)、增加智能控制的红绿灯(该红绿灯不显118、示倒计时,根据实时车流量状况,由管控中心远程动态变更红绿灯,变更前连续闪烁3秒钟,最好有明显的辅助用变更状态提示灯,闪烁时常亮)、增加智能控制的双向车道(很多车道在不同时段存在明显的双向流量差异,可以在中间设定可根据方向流量远程调整通信方向的动态双向车道,出入口在变更方向前,需要有暂时封闭车道的明显提示及即将变更后的通行方向提示)3.2.4.4布控管理根据公安临控/常控要求,针对嫌疑人关联车辆动态发布车辆布控,当该车辆经过卡口时系统能够实时比对,并在本地客户端发出声光报警提示,同时可以联动提醒前方查报站迅速设卡盘查。布控及布控取消一般需要审批流程,布控过期则自动失效。3.2.4.4.1布控查询119、具有布控查询权限的用户可查询布控记录,有修改权限用户可以修改及删除记录。3.2.4.4.2新增布控具有布控新增权限的用户进行布控新增。3.2.4.5黑名单管理系统将每辆经过的车辆与黑名单信息库中的车辆进行比对,比对成功并发生声光报警提示。黑名单信息库可手动录入和批量导入导出。例如:套牌车,盗抢车,违规车等。3.2.4.6红名单管理系统将每辆经过的车辆与红名单信息库中的车辆进行比对,比对成功同样作为报警记入数据库,但该报警记录及车辆通行记录仅面向有权限人员提示、查询。红名单信息库可手动录入和批量导入导出。例如:政府机构保密用车,领导专车等。增删改查功能及导入导出功能界面和黑名单管理类似。3.2.120、4.7特种车管理系统将每辆经过的车辆与特种车信息库中的车辆进行比对,比对成功并发生声光报警提示。特种车信息库可手动录入和批量导入导出。例如:公交车、渣土车等。增删改查功能及导入导出功能界面和黑名单管理类似。流量统计时,可以针对特种车的车辆类型进行过滤统计,比如可以统计出道路上各点位间公交车的实时流量,从而调整公交车线路,优化公交车通行运客效率;统计出各点位间出租车的实时流量,从而协调出租车公司有目的的分流出租车,降低抢客和空等的概率,提高出租车的利用率,同时也为乘客带来方便。更进一步,可以结合公交车的线路号(如1路车、35路车)或出租车的公司标识进行增强识别,提供更有针对性的智能服务。3.2.121、4.8配置管理3.2.4.8.1终端系统管理管理员对终端系统进行增、删、改、查操作。3.2.4.8.2点位信息管理管理员对地点信息进行增、删、改、查操作。3.2.4.8.3监控设备管理管理员对前端监控设备进行增、删、改、查操作。3.2.4.8.4报警方案管理管理员对报警方案进行增、删、改、查操作。报警方案包括监控地点范围和报警类型的各种组合。3.2.4.8.5伴随车辆报警设定设定伴随车辆检测报警的地点。例如:如果只设置了通榆桥,那么其他点不会报。假设只设定了通榆桥进城方向伴随车辆报警,那么通榆桥的其他方向也不报伴随车辆。设定伴随车辆通行时间间隔、最少连续伴随点位数及倒溯时间段(默认值一天)。3122、.2.4.8.6套牌车辆报警设定设定套牌车检测报警的点位,和各点位间的套牌时间间隔报警阀值。在比对服务器的内存中会存储所有车辆的前回通行点位及时间,本次记录和前回记录快速对比,如点位相同,时间间隔很短,通常是车辆掉头;如点位相临,则判断时间是否小于阀值(即该阀值时间内车辆通常无法在道路限速内抵达),如是则报警;如点位不相邻,车辆不可能飞到另一点位,直接按套牌车报警。这样分类的方式,比对的内容很少,可以基于内存比对的方式进行海量数据基准下的套牌车辆实时检测报警。3.2.4.8.7流量报警设定设定流量报警的最小流量和最大流量阀值。流量大且车速快,说明道路畅通;流量大且车速慢,说明承载量饱和或过饱和123、;流量小且车速慢,说明拥堵或有交通事故,需要报警并紧急处理。3.2.4.9扩展功能3.2.4.9.1路径规划调用GIS系统的路径规划功能,可以获取出发地和目的地间的可选道路及各道路途径点位(卡口)信息,结合各点位间的实时流量,可给出简单的推荐道路,即前方拥堵提示避让。更进一步,结合各点位间道路该时间段历史流量、历史平均车速及当前实时流量、最大实时流量的关键节点,可以快速分析并推荐一条优选线路。通常并不需要花很长时间,按最优化技术求出最优线路,因为道路状况是实时在变化的,实时的次优线路远比过时的最优线路有效。路径规划及流量统计功能,还可以结合采集的封闭停车场及道路边临时停车场的实时空车位,实现停124、车诱导,给出前往目的地附近停车的优化方案。3.2.4.9.2关联信息查询道路监控信息可以和车管所信息库等相关信息实现交互联动,发挥1+12的作用。例如将机动车登记系统、驾驶证管理系统、交通违法处理系统、交通事故处理系统、交警队信息平台、剧毒品公路运输管理系统等六大业务系统进行整合,构建六合一的公安交通管理综合应用平台。3.2.4.9.3交通应急预案管理针对重大人员/车辆聚集、自然灾害等紧急事件,制定车辆限行、线路调整分流等配合安保总体预案的交通应急预案。3.2.4.10信息发布交管信息中部分不涉密数据,可以通过网站发布,供市民查询、智能提示,为交通出行提供便利。3.2.5基于云方案的交管数据查125、询索引与查询优化技术传统的基于关系数据库存储和查询交管数据的方案在存储和查询较小的交管数据量时可以适用并有很好的查询性能,但其处理巨量的交管数据时存在存储和处理能力不足的缺陷,将难以适用。为此,需要基于云存储方案考虑将海量的交管数据存储在分布式文件系统分布式云存储中。但由此又将带来一个新的问题,以文本或二进制数据文件保存的交管数据难以支持高效的数据查询。一个有效的解决方法是对交管数据建立查询索引。有种解决方案,介绍如下。3.2.5.1基于分布式数据库的交管数据查询索引处理方案这种种方案是使用数据立方存储交管数据查询索引,并使用HBQL完成交管数据查询。(1)数据提取阶段在本过程中,我们会将分布126、式云存储的交管数据导入到数据立方之中。具体流程如下:1)每当要处理一些新的交管数据的时候,我们先将这些数据读入内存。2)对于读入内存的交管数据,逐行扫描其中的每条交管记录,并将该记录的key值记录下来,与记录中药建索引的字段组合成一个新的变量,该变量的即做为索引头,而该记录的key值作为索引指向交管数据的指针。3)由于每个交管记录中的几十个字段中,只有少数几个是我们常用的,因此将某条交管记录插入到数据立方中时,我们只需要对这些常用的几个字段建立索引即。4)抽象出来的具体描述:Inster (Index,CarNumber,) Into CLXX.(2)索引建立阶段上一阶段的主要工作是通过解析保127、存在分布式云存储上的交管数据,抽出其中常用的几项字段,将这些交管信息映射到数据立方中。本阶段的工作是对已保存在数据立方中经过字段精简之后的交管记录建立索引表,以方便后面的查询。在数据立方中每条数据记录现在有20多个字段中,而其中用于我们查询的字段只有几个,因此我们只需要根据这几个字段建立几张索引表这里我们通过HBql建立索引表。索引表的数目有几张,以按车牌号码建立的索引表Table_NumberIndex为例,其中的每个ID字段是“号码+key”,该字段是自动生成的且会自动排序。对应地我们还保存了“key”,这样方便直接查找和读取。根据相关调查,HBql建立的索引表会自动实现新增索引的有序插入128、工作(底层开销有多大有待调查)。3.2.6交管数据处理集群的可靠性与负载均衡设计2.2.6.1负载均衡处理机的单点失效容错处理负载均衡机分布如图: 图表 18 负载均衡机分布图全量原始数据接入交换机,将数据发向指IP的负载均衡机,负载均衡机向负载均衡Master节点请求任务处理机,Master返回存任务处理机IP端口信息,负载均衡机根据任务处理机的IP端口信息将数据发向任务处理机。单点容错如图: l 当某一台负载均衡机宕机后:图表 19 负载均衡机宕机预案第一步 Master节点能过链接心跳得知宕机负载均衡机。第二步 Master节点从所有均衡机中选出负载小的负载均衡机,启动虚拟IP及相关进程129、第三步 启动虚拟IP接收原始交管数据,进行负载均衡l 当Master节点宕机后: 图表 20 Master节点宕机预案第一步Master节点宕机, 负载均衡节点及存储计算节点能过链接心跳得知Master宕机第二步所有负载均衡节点,重选举出Master节点,并通知存储计算节点新Master节点所有存储计算节点,根据负载均衡IP列表,请求新Master节点,后向新Master节点上报负载状态。第三步 新Master节点接管所有工作,对宕机的Master节点容错。2.2.6.2查询处理机的单点失效容错处理图表 21 查询处理单点失效容错处理第一步:任务处理机宕机, 负载均衡机得知任务处理机宕机,缓存130、交管数据.同时Master得知任务处理宕机后, 将任务处理机信息删除待分配列表。第二步:负载均衡机向Master请求任务处理机,Master重新分配任务处理机给负载均衡机。第三步: 负载均衡机将原始数据发向新任务处理机,进行查询3.2.7计算与存储集群的可靠性与负载均衡设计2.2.7.1计算与存储集群Master单点失效容错处理图表 22 Master单点失效容错处理AvatarNode0以Primary方式启动,AvatarNode0作为Namenode节点与用户交互。AvatarNode1以Standby方式启动,它是一个处于safemode的Namenode。它定期读取AvatarNod131、e0的日志来更新自己内存和磁盘中的元数据,并定期做checkpoint,更新AvatarNode0上的fsimage以及editlog。DataNode节点向AvatarNode0和AvatarNode1同时发送心跳信息和BlockReport,其中包括Block的位置信息。NFS服务器存储AvatarNode0和AvatarNode1的fsimage和editlog。AvatarNode的primary节点写入editlog,standby节点读取editlog,更新内存中的元数据信息,并且定期做checkpoint,将fsimage及editlog回写到nfs服务器。具体使用时:Avata132、rNode0以Primary方式启动,AvatarNode1以Standby方式启动,然后启动各个DataNode。当AvatarNode0确认故障后,手动切换AvatarNode1到Primary,同时,选取一个备用节点,以standby启动,这样,当AvatarNode1发生故障时,即可将备用节点切换到Primary状态,始终保持Namenode可以对外提供服务。 运行流程AvatarNode0以Pimary启动(1)等待DN的心跳信息 (2)图5-2中的sharedir为NFS服务器上的共享目录/usr/local/sharedir,share0、share1分别为AvatarNode0133、AvatarNode1镜像日志的存储目录(3)一个DN抽象代表了所有的DataNodeAvatarNode0:PrimaryNFS服务器ClientDN读写镜像日志用户请求只能操作元数据AvatarNode1:XXXXsharedirshare1share0图表 23 AvatarNode0以Pimary启动过程 AvatarNode1以Standby启动(1)若启动参数中有 -sync,则AvatarNode1备份本地和NFS的镜像日志目录,而后用NFS中的AvatarNode0对应镜像日志目录中覆盖AvatarNode1的本地和NFS的对应目录;(2) 启动之后,处于保护模式;(3) 等134、待DN的心跳信息;(4)ingest线程从NFS中的AvatarNode0对应日志的目录中读取AvatarNode0启动后的日志后线程关闭;(5)启动ingest线程定期从NFS中的AvatarNode0对应日志的目录中读取AvatarNode0的日志。AvatarNode0:PrimaryClientDNAvatarNode1:Standby读日志用户请求,读写文件操作数据与元数据用户请求只能读操作NFS服务器NFS服务器sharedirshare1share0写镜像写日志写镜像图表 24 AvatarNode1以Standby启动过程DataNode启动(1)向Primary、Standb135、y发送心跳信息。(2)AvatarNode0与AvatarNode1收集DN的心跳信息,构建Block元数据与Block备份位置的映射AvatarNode0:PrimaryClientAvatarNode1:Standby读日志用户请求,读写文件操作数据与元数据NFS服务器NFS服务器sharedirshare1share0写镜像写日志写镜像DN心跳信息心跳信息用户请求只能读操作图表 25 DataNode启动过程AvatarNode0宕机AvatarNode0:XXXXClientAvatarNode1:Standby读日志NFS服务器NFS服务器sharedirshare1share0写镜136、像写镜像DN心跳信息用户请求只能读操作图表 26 AvatarNode0宕机后的状态AvatarNode1切换为Primary(1)启动ingest线程最后一次从NFS中的AvatarNode0对应日志的目录中读取AvatarNode0的日志。结束ingest线程。(2) AvatarNode1将依据用户操作写入日志 AvatarNode0:XXXXClientDNAvatarNode1:Primary写日志心跳信息用户请求,读写文件操作数据与元数据NFS服务器sharedirshare1share0图表 27 AvatarNode1切换为Primary过程AvatarNode0以Standb137、y重启或其它备用机器以Standby重启(1) AvatarNode0:Standby重新接收心跳信息,(2) 定期从NFS中的AvatarNode1对应存储的目录中读取AvatarNode1的日志。(3)当日志文件达到上限,则将日志与镜像合并,写入本地与NFS中的AvatarNode0对应的存储目录AvatarNode0:StandbyClientAvatarNode1:Primary读日志用户请求,读写文件操作数据与元数据NFS服务器NFS服务器sharedirshare1share0写镜像写日志写镜像DN心跳信息心跳信息用户请求只能读操作图表 28 AvatarNode0重启过程Avat138、arNode启动切换流程图AvatarNode0以Primary启动,AvatarNode1以Standby启动,AvatarNode0第一次宕机则改变配置文件的参数设置,当再有AvatarNode0、 AvatarNode1或其替代节点宕机时不再改变配置文件,并均以Standby方式启动,另一个节点在此之前若为Primary状态应切换到Standby状态。AvatarNode0以Primary启动AvatarNode1以Standby启动AvatarNode0或其他机器重新设置配置文件正常运行:AvatarNode0:PrimaryAvatarNode1:StandbyAvatarNode1139、或其他机器以Standby启动DataNode启动宕机AvatarNode1宕机AvatarNode0或其他机器以Standby启动AvatarNode0宕机宕机AvatarNode1宕机正常运行:AvatarNode0: Standby AvatarNode1: PrimaryAvatarNode0宕机AvatarNode0切换为PrimaryAvatarNode0或其他机器以Standby启动AvatarNode1切换为PrimaryAvatarNode1或其他机器以Standby启动正常运行:AvatarNode0:PrimaryAvatarNode1:Standby宕机AvatarNo140、de0宕机宕机AvatarNode1宕机AvatarNode1切换为Primary图表 29 AvatarNode启动切换流程图2.2.7.2计算与存储集群的负载均衡处理负载的均衡,就是要让大家各尽其力齐心干活,发挥各自独特的优势,不能忙得忙死闲得闲死,影响战斗力。而且,负载均衡也是一个复杂的问题,什么是均衡,是一个很模糊的概念。 比如,在分布式文件系统中,总共三百个数据块,平均分配到十个数据服务器上,就算均衡了么?其实不一定,因为每一个数据块需要若干个备份,各个备份的分布 应该充分考虑到机架的位置,同一个机架的服务器间通信速度更快,而分布在不同机架则更具有安全性,不会在一棵树上吊死。在这里说141、的负载均衡,是宽泛意义上的均衡过程, 主要涵盖两个阶段的事务,一个是在任务初始分配的时候尽可能合理分配,另一个是在事后时刻监督及时调整。分布式云存储中,ReplicationTargetChooser类, 是负责实现为新分配的数据块寻找婆家的。基本上来说,数据块的分配工作和备份的数量、申请的客户端地址(也就是写入者)、已注册的数据服务器位置,密切相 关。其算法基本思路是只考量静态位置信息,优先照顾写入者的速度,让多份备份分配到不同的机架去。具体算法,自行参见源码。此外,分布式云存储的Balancer类, 是为了实现动态的负载调整而存在的。Balancer类派生于Tool类,这说明,它是以一个独142、立的进程存在的,可以 独立的运行和配置。它运行有NamenodeProtocol和ClientProtocol两 个协议,与主控服务器进行通信,获取各个数据服务器的负载状况,从而进行调整。主要的调整其实就是一个操作,将一个数据块从一个服务器搬迁到另一个服务器 上。Balancer会向相关的目标数据服务器发出一个DataTransferProtocol.OP_REPLACE_BLOCK消 息,接收到这个消息的数据服务器,会将数据块写入本地,成功后,通知主控服务器,删除早先的那个数据服务器上的同一块数据块。MapReduce负载平衡用的是公平调度算法,公平调度是一种多用户的赋予作业(job)资源的143、策略,它的目的是让所有的作业随着时间的推移,都能获取与权值相应的共享资源。当单独一个作业在运行时,它将使用整个集群。当有其它作业被提交上来时,系统会将任务(task)空闲计算槽(slot)赋给这些新的作业,以使得每一个作业都大概获取到与权值相应的计算时间。这个特性让短作业在合理的时间内完成的同时又保证了长作业的服务质量。公平调度器按资源池(pool)来组织作业,默认情况下,每一个用户拥有一个独立的资源池。在节点的TaskTracker上设置有同时运行的Map任务和Reduce任务个数上限,若未达到上限,则就产生了空闲计算槽,包括Map和Reduce空闲计算槽。当集群上出现空闲计算槽时,调度按两144、步进行,首先空闲计算槽在作业池之间分配,其次在作业池内的作业间分配。最小份额和公平份额最小份额确保作业池总能获取到足够的资源,由用户设定。作业池的公平份额的计算是根据作业的权值将集群的资源总量划分给各个运行的作业池。在缺省的情况下,作业池权值的设定是基于优先级的,即优先级每升高一级,那么相应的权值就增加一倍即所分配的计算槽是次一级的两倍。例如:平台上有甲乙两个作业池,甲优先级为high,乙低一级为normal,则甲被分配计算槽总数的,则乙被分配计算槽总数的。通常情况下一个作业池的最小份额小于公平份额。池间的公平分配算法描述如下:1) 若存在没有达到最小份额的作业池,则设c为池内已分配到的计算槽145、,m为作业池的最小份额,值为最小的作业池将被优先分配计算槽,2) 若每个池都已得到最小份额,设w为计算槽的权重,则值为最小的作业池将被优先分配计算槽。3) 公平调度算法中为每个作业池维护着两个变量,最小份额时限T和公平份额时限T,当作业池在T时间内没达到最小份额或T时间内没达到公平份额的一半时,公平调度器将杀死最近开始运行的任务占用其计算槽,以最小化被浪费的计算。抢占不会导致被抢占的作业失败,因为分布式云计算作业容忍任务丢失。每个作业池中有运行作业数量限制。若达到作业池上限,则后续作业将在调度队列中等待,直到早先的作业执行完成并释放计算槽。池内计算槽的分配池内作业间计算槽的分配,可以按照池间公146、平分配算法或按照分布式云计算默认的FIFO进行。当采取公平分配算法时,池内的作业也被设置最小份额并按权值被统计公平份额,作业间的公平分配与作业池间的公平分配基本类似。而由于较差的数据本地性,公平调度策略又提供了一个辅助的池内作业间的等待调度算法(Delay Scheduling),虽然牺牲了一定程度的公平性,但由于考虑到了分布式云计算平台的数据本地性,使得小作业的响应时间有了较大的改善并提高了集群的吞吐率。算法描述如下:在作业池内,当出现空闲计算槽时,按公平分配或FIFO排序的作业队列,头结点作业所需数据不在此计算槽所在的节点上时,则将此槽分配给下一个节点,以此类推。如果作业由于数据本地性未被147、分配计算槽超过一定时间,则此作业被允许分配一个计算槽,此计算槽所在节点可以与其所需数据所在节点在同一机架内,若再过一定时间后此作业仍然在等待,则允许分配一个计算槽,此计算槽所在节点可以与其所需数据所在节点不在同一机架内。2.2.7.3分布式云存储的可靠性设计本存储系统采用基于分布式云存储的FaceBook版本的改进方案Avatar方案。图表 30 Avatar体系架构图各节点功能说明1) AvatarNode0以Primary方式启动,作为主Namenode节点接受用户请求。同时作为NFS服务器,存储AvatarNode0和AvatarNode1的fsimage和editlog。AvatarN148、ode0的primary节点写入editlog,standby节点读取editlog,更新内存中的元数据信息,并且定期做checkpoint,将fsimage及editlog回写到nfs服务器。2) AvatarNode1以Standby方式启动,它是一个处于safemode的Namenode节点。它定期读取AvatarNode0存储在NFS上的日志来更新自己内存中的元数据,并定期做checkpoint,更新AvatarNode0、AvatarNode1上的fsimage以及AvatarNode0的editlog。3) DataNode此节点存储数据块,并向AvatarNode0和Avatar149、Node1同时发送心跳信息和BlockReport,其中包括Block的位置信息。虚拟IP机制本方案在AvatarNode0 、AvatarNode1所在的节点上使用虚拟IP工具ucarp。客户端通过虚拟IP提交请求。具体流程1) 在AvatarNode0上启动ucarpucarp的启动脚本将会检测到AvatarNode1节点上的AvatarNode进程未启动,则以Primary方式启动AvatarNode进程,并且将虚拟IP指向AvatarNode0(真实IP:IP0);2) 在AvatarNode1上启动ucarpucarp的启动脚本将会检测到AvatarNode0节点上的AvatarNo150、de进程已启动,则以Standby方式启动AvatarNode进程;3) 启动各个DataNode;4) AvatarNode0节点宕机若AvatarNode0所在节点(IP0)宕机, 此时在AvatarNode1上ucarp自动调用脚本使虚拟IP自动指向AvatarNode1(真实IP:IP1),同时调用脚本将AvatarNode进程切换到Primary状态(切换时间在20秒以内),保持分布式云存储可以对外提供服务,客户端通过VIP访问分布式云存储。2.2.7.3数据立方可靠性设计数据立方系统由数据立方集群和ZooKeeper集群组成。如图所示图表 31 数据立方系统架构方案说明数据立方的可151、靠性由其自身的ZooKeeper机制保证,ZooKeeper被包括在数据立方的tar包中。各节点功能说明1) Zookeeper集群1 保证任何时候,集群中只有一个master2 存贮所有Region的寻址入口。3 实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master4 存储数据立方的schema,包括有哪些table,每个table有哪些column family2) Master1 为Region server分配region2 负责region server的负载均衡3 发现失效的region server并重新分配其上的regio152、n4 分布式云存储上的垃圾文件回收5 处理schema更新请求3) Region Server1 Region server维护Master分配给它的region,处理对这些region的IO请求2 Region server负责切分在运行过程中变得过大的region具体流程1) 启动ZooKeeper集群2) 启动多个Master节点最先启动的节点将会在zookeeper上的建立代表自己的文件,并获得该文件的独占锁,用来阻止其它master成为master。3) 启动各个region server;master使用zookeeper来跟踪region server状态。当某个region s153、erver启动时,会首先在zookeeper上的server目录下建立代表自己的文件,并获得该文件的独占锁。由于master订阅了server目录上的变更消息,当server目录下的文件出现新增或删除操作时,master可以得到来自zookeeper的实时通知。因此一旦region server上线,master能马上得到消息。4) Master节点宕机由于master只维护表和region的元数据,而不参与表数据IO的过程,master宕机仅导致所有元数据的修改被冻结(无法创建删除表,无法修改表的schema,无法进行region的负载均衡,无法处理region上下线,无法进行region的154、合并,唯一例外的是region的split可以正常进行,因为只有region server参与),表的数据读写还可以正常进行。因此master下线短时间内对整个数据立方集群没有影响。从上线过程可以看到,master保存的信息全是可以冗余信息(都可以从系统其它地方收集到或者计算出来),因此,一般数据立方集群中总是有一个master在提供服务,还有一个以上的master在等待时机抢占它的位置。2.2.7.4MapReduce计算可靠性设计本方案通过使用ZooKeeper的选举机制解决MapReduce的单点故障,当JobTracker节点宕机时,能够在一台备用的JobTracker节点上启动Job155、Tracker进程,并使用虚拟IP机制将虚拟IP指向备用JobTracker节点。在JobTracker进程启动后,ZooKeeper将未完成的MapReduce作业提交给备用JobTracker节点重新执行。各节点功能说明1.JobTracker0节点主JobTracker节点,接受客户端的MapReduce作业并处理。初始启动时虚拟IP会指向此节点。2.JobTracker1节点备份JobTracker节点,当JobTracker0节点宕机时,ZooKeeper会在其上启动JobTracker进程替代JobTracker0节点,虚拟IP会指向此节点,TaskTracker会注册到此节点上,156、未完成的MapReduce作业会被ZooKeeper调度到此节点上重新执行。 3.TaskTracker节点执行Map或Reduce任务。 4.ZooKeeper集群接受客户端提交的MapReduce作业的注册,监控JobTracker0和JobTracker1节点,当监控到JobTracker0宕机时,会在JobTracker1节点上启动JobTracker进程,并将未完成的MapReduce作业提交给JobTracker1节点重新执行,轮询作业状态,当作业完成时注销作业具体流程1)启动MapReduce和ZooKeeper集群在JobTracker0节点上启动JobTracker进程,同时157、启动ucarp使得虚拟IP(VIP)指向此节点的真实IP(IP0),在TaskTracker节点上的TaskTracker进程;2)作业提交当客户端将作业提交给JobTracker0节点的同时需要在ZooKeeper上注册此作业;如图所示图表 32 作业提交3宕机:JobTracker0宕机时,虚拟IP(VIP)会指向JobTracker1,TaskTracker节点注册到JobTracker1上,ZooKeeper会监测到JobTracker0已宕机,在JobTracker1节点上启动JobTracker进程,并将未完成的MapReduce作业提交给JobTracker1节点重新执行。如图所158、示图表 33 JobTracker0宕机 4.作业注销ZooKeeper轮询作业状态,当作业的状态为已完成时注销此作业。如图所示图表 34 作业注销3.2.8查询统计计算可靠性与负载均衡设计3.2.8.1基于Zookeeper的单点失效和负载均衡设计ZooKeeper可为分布式应用建立更高层次的同步(synchronization)、配置管理 (configuration maintenance)、群组(groups)以及命名服务(naming)。在编程上,ZooKeeper使用的数据模型风格很像文件系统的目录树结构,简单来说,有点类似windows中注册表的结构,有名称,有树节点,有Key(159、键)/Value(值)对的关系,可以看做一个树形结构的数据库,分布在不同的机器上做命名管理。Zookeeper的基本工作结构如下图所示。图表 35 Zookeeper基本工作结构图Zookeeper分为2个部分:服务器端和客户端,客户端只连接到整个ZooKeeper服务的某个服务器上。客户端使用并维护一个TCP连接,通过这个连接发送请求、接受响应、获取观察的事件以及发送心跳。如果这个TCP连接中断,客户端将尝试连接到另外的ZooKeeper服务器。客户端第一次连接到ZooKeeper服务时,接受这个连接的 ZooKeeper服务器会为这个客户端建立一个会话。当这个客户端连接到另外的服务器时,这160、个会话会被新的服务器重新建立。启动Zookeeper服务器集群环境后,多个Zookeeper服务器在工作前会选举出一个Leader作为主服务器。在后续工作中,如果这个被选举出来的主服务器失效,而剩下的Zookeeper服务器会感知这个事件,并在活着的Zookeeper集群中重新选出一个Leader作为新的主服务器,选举出leader的目的是为了可以在分布式的环境中保证数据的一致性。查询索引创建、以及各种查询分析计算任务的处理将需要调度和使用计算集群上的一组服务器节点进行并行任务的分发和负载均衡处理。而负责并行任务调度和分发的节点可能会出现单点故障,进而引起整个计算系统无法正常工作。因此,需要设161、计一个单点失效恢复机制,以保证查询分析计算的可靠性,以及正确的并行计算任务分发和负载均衡处理。在具体实现上,我们将使用Zookeeper基于计算集群完成统一的控制和实现。基本设计和实现方法是,将计算集群中所有的计算节点都纳入Zookeeper的管理,选择其中3个计算节点注册为Zookeeper的服务器节点负责并行计算任务的调度和分发节点,Zookeeper将自动在这3个服务器节点中选举一个主服务器节点。当主服务器节点出现故障时,Zookeeper将能自动从剩下的2个服务器节点中重新选举产生一个新的主服务器节点来接管失效的主服务器。以此,将能保证并行计算任务的分发和调度处理不会出现单点失效。Zo162、okeeper能感知当前所管辖的节点中任何节点的失效并作出相应的处理。当Zookeeper保证有一个负责并行任务分发调度的主服务器工作后,该主服务器将能在Zookeeper中所维护的当前有效的计算节点中挑选一个空闲的节点,并把一个计算任务分发给该节点;当多个计算任务到达时,主节点将能有效地将计算任务分发给不同的计算节点,从而实现并行计算任务在整个集群节点上的负载均衡。图表 36 基于Zookeeper的查询分析计算单点失效和3.2.9系统安全性设计3.2.9.1安全保障体系框架NSA提出的信息安全保障技术框架(IATF),如下图所示。IATF依据“深度防护战略”理论,要求从整体、过程的角度看待163、信息安全问题,强调人、技术、操作这三个核心原则,关注四个层次的安全保障:保护网络和基础设施、保护边界、保护计算环境、支撑基础设施。 图表 37 基于深度防护战略的IATF模型IATF模型从深度防护战略出发,强调人、技术和操作三个要素:人:人是信息的主体,是信息系统的拥有者、管理者和使用者,是信息保障体系的核心,是第一位的要素,同时也是最脆弱的。正是基于这样的认识,安全组织和安全管理在安全保障体系中是第一位的,要建设信息安全保障体系,首先必须建立安全组织和安全管理,包括组织管理、技术管理和操作管理等多个方面。技术:技术是实现信息安全保障的重要手段,信息安全保障体系所应具备的各项安全服务就是通过技164、术机制来实现的。当然IATF所指的技术是防护、检测、响应、恢复并重的、动态的技术体系。操作:也可称之“运行”,它体现了安全保障体系的主动防御,如果说技术的构成是被动的,那操作和流程就是将各方面技术紧密结合在一起的主动过程,运行保障至少包括安全评估、入侵检测、安全审计、安全监控、响应恢复等内容。信息安全保障体系的实现就是通过建立安全组织、安全管理和防护技术体系,协调组织、技术、运作三者之间的关系,明确技术实施和安全操作中技术人员的安全职责,从网络和基础设施、区域边界、计算环境、支撑基础设施等多层次保护,从而达到对安全风险的及时发现和有效控制,提高安全问题发生时的反应速度和恢复能力,增强网络与信息165、的整体安全保障能力。对于云计算安全参考模型,云安全联盟CSA(Cloud Security Alliance)提出了基于3种基本云服务的层次性及其依赖关系的安全参考模型,并实现了从云服务模型到安全控制模型的映射。该模型显示PaaS位于IaaS之上,SaaS位于PaaS之上。该模型的重要特点是供应商所在的等级越低,云服务用户所要承担的安全能力和管理职责就越多。 根据资源或服务的管理权、所有权和资源物理位置的不同,CSA也给出了不同的云部署模型的可能实现方式及其不同部署模式下共享云服务的消费者之间的信任关系,如下图所示。图表 38 云部署模型的实现此图显示,对于私有云和社区云,有多种实现方式,可以166、和公共云一样,由第三方拥有和管理并提供场外服务(off-premises),所不同的是共享云服务的消费者群体之间具有信任关系,局限于组织内部和可信任的群体之间。 对于每一种云部署实现方式,都可以提供3种基本的云服务。云部署实现的不同方式和基本云服务的组合构成不同的云服务消费模式。结合云服务安全参考模型,可以确定不同的云服务消费模式下供应商和用户的安全控制范围和责任,用户评估和比较不同云服务消费模式的风险及现有安全控制与要求的安全控制之间的差距,做出合理的决策。3.2.9.2云计算平台的多级信任保护云计算可信平台实现系统平台(计算环境)认证、应用系统完整性认证、分布式资源信任认证和用户身份认证4167、个层次。多层信任保护的具体结构如下图所示。图表 39 多级信任保护在上图中,平台认证是基础,为其他3种认证提供一个可靠的计算环境。平台认证、应用认证、资源认证和用户认证都通过统一的证书机制来实现。(1)云平台信任保护由于TPM(trust platform module)规范能够支持现有的公钥基础设施,并且TPM内部的认证密钥和64位物理唯一序列号都能很好地实现自身和平台的绑定。因此可信平台之间的信任关系可以借助基于可信第三方的证书机制来保障。即每一个节点将能够代表自身特征的关键信息以可靠地方式提交到可信第三方(如CA中心),可信第三方在核实这些数据的真实性和完整性后对其签名,并为其颁发一个平168、台证书。此后,该平台在和其他平台通信时可以出示该证书,以表明自己的合法身份。平台在向可信第三方提交平台信息和验证其他平台证书合法性时,都需要借助TPM的硬件支持。在下图所示的实例中,云平台A和B都从证书颁发中心获得自己的平台证书。当B请求与A建立连接并向A出示自己的证书后,A借助TPM验证B出示的证书的有效性。图表 40 基于可信第三方的平台认证为了确保云端用户访问云平台的可信性,并确保远程节点具有期望的完全保障条件,基于可信计算平台的多级信任保护方法构造包含下表中各种主要因素的平台证书。数据名称数据类型数据说明Cert_NumChar证书编号Cert_TypeShort证书类型Cert_Di169、stributeTimeByte20颁发时间Cert_LimitTimeByte20有效期限TPM_IDByte8TPM序列号Hardware_CodeByte20平台硬件标识Software_CodeByte20平台软件标识SecureComponent_CodeByte20安全组织组件标识CA_SignatureByte128CA签名信息图表 41 主要因素平台证书在图中,TPM和端系统唯一绑定;硬件标识码代表了端系统中各种硬件设备的完整性信息,包括CPU序列号、主板型号、硬盘序列号、内存容量等;软件标识码代表了端系统中包含操作系统版本、补丁、主要服务等软件完整性信息;安全组件标识码是各种170、安全组件的完整性度量结果,包括防火墙类型、安全补丁、防病毒软件名称等。为了获取这些数据的完整性度量结果,采用Hash函数对系统中的硬件标识信息、软件版本信息或安全组件描述信息进行计算,得出一个代表该系统相关信息完整性的度量值。此处,选择SHA-1算法作为完整性度量函数。签名信息是可信第三方对证书内容的数字签名,签名信息的存在确保了证书的合法性和不可篡改性。(2)应用信任保护有了云平台认证,用户就能断言远程协作者在确定的节点和环境中进行工作。但在网络计算等复杂应用中,一个节点可能承载了多个应用系统、担负着多个计算任务。所以,需要确保单个应用系统不同部分间(如客户端和服务器端)的可信。Seshad171、ri等人研究了代码的远程完整性验证方法。该方法从数据完整性的角度解决了授权执行的远程应用的可信性。借鉴他的思想,采用认证应用系统中进程完整性的办法对应用系统进行信任保护。即端系统控制各个应用的进程,只有通过完整性认证并授权执行的进程才能被启动。为此,系统为每个重要的分布式应用定义若干个进行完整性证书,证书的主要内容如下表所示。数据名称数据类型数据说明Process_IDByte20进程IDProcess_IntegrityByte20完整性度量值TPM_SignByte20TPM签名信息在图中,进程完整性度量值是采用单向散列函数对进程代码进行计算后得出的值。进程完整性证书中。进程完整性认证可以172、确保远程协作进程的可信性,一定程度上降低病毒和木马进行插入攻击的风险。(3)资源信任保护多级信任保护方法仍然采用证书机制实现对资源的信任保护。即端系统基于TPM给平台中共享的网络资源颁发完整性证书并签名。其他对等的端系统需要访问该资源时,可以验证该证书的合法性并从证书中获悉资源的完整性度量数据。由于采用单向散列函数计算出的资源完整性度量值能够代表该资源的可信性,因此远程用户可以据此决定是否访问该网络资源。考虑单纯采用单向散列函数计算资源的完整性消耗的时间过长,实际实现时根据资源可信要求的不同采取了一些灵活的措施。如一些可信要求不高的资源文件,只针对资源文件的基本属性或按样条规则抽出部分数据进行173、完整性度量;资源完整性证书的主要数据成员如下表所示。数据名称数据类型数据说明Process_IDByte20资源标识IDProcess_IntegrityByte20资源完整性信息TPM_SignByte20TPM签名信息(4)用户信任保护用户信任保护的需求在现有分布式应用中已经普遍存在,但现有基于身份认证的用户信任保护方法仅仅针对用户实体进行认证,无法将用户实体和计算环境以及用户的物理存在性联系起来。基于可信平台的多级信任保护方法在系统平台认证和应用认证的基础上进一步进行用户身份认证,从而能够将系统中的用户锁定到具体的计算平台和具体的应用系统。多级信任保护方法中的用户身份证书的主要数据成员如174、下表所示。数据名称数据类型数据说明User_IDByte16用户IDApplication_IDByte16应用IDPlatform_IDByte16平台IDApp_SignByte16应用签名TPM_SignByte16TPM签名在上表中,用户ID是系统中用户的惟一标识,可以使用用户编号(用户名称)或者用户拥有的智能卡(SKEY)的序列号;所属应用ID是用户所属应用的惟一标识,可以使用应用的完整性度量值来代替(单进程应用可以使用进程的完整性数据代替,多进程应用可以将各个进程完整性度量数据拼接后,计算出新的整个应用的完整性度量数据);平台ID是创建该用户的端系统标识,可以使用和平台绑定的TPM175、的惟一序列号。3.2.9.3基于多级信任保护的访问控制用户管理与权限控制子系统的接口关系如下图所示,各模块间接口关系如下:身份服务模块在用户提交进入系统的申请后向身份管理系统模块提交用户信息和身份申请;身份管理系统模块在确认用户信息后将身份管理指令和身份信息反馈至身份服务模块;认证服务模块对用户身份进行验证,确认用户合法性;访问控制模块接收用户的授权请求后,向授权管理系统模块提交用户授权和相关信息;授权管理系统模块根据用户信息(如用户所对应角色、所在安全域等)为用户分配相应的权限或回收相应权限将结果反馈给访问控制模块;访问控制模块得到用户的权限信息后根据信息的内容和用户请求执行需要的具体操作。176、数据隔离、数据校验(防篡改)、数据加密和数据保护模块提供对存储数据的安全保护。图表 42 云存储安全子系统接口关系图在云平台中,用户有不同的访问权限,针对不同权限的用户可以设定不同等级的操作。同时存储在底层资源池中的资源也同样划分为不同的安全等级,不同等级的资源,访问途径是不相同的。本项目提出了基于可信平台的多级信任保护方法,其主要目标是能够认证访问云平台的应用(进程)、资源和用户的可信性,从而能够非常方便地服务于多级访问控制技术,为其提供良好的基础。简单地,可以将系统中的资源按可信性需求程度分为高、中和低3个等级。资源的可信要求越高,对访问该资源的用户的可信性也要求越高。具体流程如下图所示:177、图表 43 基于多级信任保护的多级访问控制流程为了更好的保护虚拟资源池的数据安全,首先要建立一个可信的资源访问控制,可以利用网闸和访问控制器建立一套监控机制,对访问资源池的请求进行监督,只允许外部连接通过专用的协议进行访问,而对其它非可信的访问一律拒绝,以防止恶意的非法入侵和攻击,包括漏洞攻击、DDoS攻击和带宽攻击等,建立一个数据安全交换平台,如下图所示。图表 44 数据安全交换平台具体实现方式包括:会话终止:请求端通过网闸与资源池建立连接时,网闸的对外网络接口会通过模拟应用的服务器端,终止网络之间的会话连接,这样可确保在不可信和可信网络之间没有一条激活的会话连接;协议安全检查:对来自连接的178、数据包进行基于内部RFC的协议分析,也可以对某些协议进行动态分析,检查是否有攻击成分;数据抽取和内部封装:在协议检查同时,将协议分析后的数据包中的数据提取出来,然后将数据和安全协议一起通过特定的格式压缩、数据封装转化成网闸另一端能接受的格式;基于安全策略的决策审查:安全策略决策是运行在访问控制器上,由系统管理员定义。它分析外部来的数据,主要是源地址、目的地址以及协议等信息,并且和规则库进行匹配,看是否允许通过或丢弃;编码与解码:对静态的数据块进行编码,编码是相对复杂而且基于随机关键字的。一旦编码,则打乱了数据或命令的原有格式,使数据中可能携带的可执行恶意代码失效,阻止恶意程序执行。一旦数据经过179、了内容检测且确认是安全的,它就被解码,准备发送到内部网络;会话生成内部服务器模拟应用的客户端,将经检测过的数据发送到内部网络,和内部网络上真正的应用服务器建立一个新的连接,接着生成符合RFC协议的新通信包。同时,通过外部集成入侵检测系统IDS,对网络通信进行安全审计,及时发现和追踪各类非法连接行为;通过外部集成的负载均衡设备,为访问用户提供虚拟IP地址,保证物理机器对用户不可见,避免非法用户对真实物理机的直接访问,避免对物理机的可能操作动作。3.2.9.4云平台安全审计云平台安全审计任务由分布于网络各处的功能单元协作完成,这些单元还能在更高层次结构上进一步扩展,从而能够适应网络规模的扩大。云安180、全审计体系结构如下图所示。图表 45 云存储安全审计体系结构它由三部分组成:l 主机代理模块:在受监视系统中作为后台进程运行的审计信息收集模块。主要目的是收集主机上与安全相关的事件信息,并将数据传送给中央管理者。l 局域网监视器代理模块:主要分析局域网通讯流量,根据需要将结果报告给中央管理者。l 中央管理者模块:接收包括来自局域网监视器和主机代理的数据和报告,控制整个系统的通信信息,对接收到的数据进行分析。在云安全审计体系结构中,代理截获审计收集系统生成的审计记录,应用过滤器去掉与安全无关的记录,然后将这些记录转化成一种标准格式以实现互操作。然后,代理中的分析模块分析记录,并与该用户的历史映像181、相比较,当检测出异常时,向中央管理者报警。局域网监视器代理审计主机与主机之间的连接以及使用的服务和通讯量的大小,以查找出显著的事件,如网络负载的突然改变、安全相关服务的使用等。对于安全审计系统来说,数据源可以分为三类:基于主机、基于网络和其他途径,下面分别对每类来源进行论述。(1)基于主机的数据源基于主机(包括虚拟机)的数据有以下四类:操作系统日志、系统日志、应用日志和基于目标的信息。(2)基于目标的数据源评估出系统中关键的或是有特殊价值的对象,针对每一个对象制定信息收集和监视机制,该对象即为审计的目标;对于审计目标的每一次状态转变,与系统的安全策略进行比较,所出现的任何异常都进行记录或响应。182、最常见的基于目标的审计技术是完整性校验,其审计对象多为文件。采用消息摘要算法,计算需要保护的系统对象(如关键文件)的校验值,并存储在安全区域。周期性地对目标进行检查,可以发现目标是否被改变,从而提供一定级别的保护。(3)基于网络的数据源网络数据源的基本原理是:当网络数据流在网段中传播时,采用特殊的数据提取技术,收取网络中传输的数据,作为安全审计系统的数据源。在计算机网络系统中,局域网普遍采用的是基于广播机制的IEEE 802.3协议,即以太网(Ethernet)协议。该协议保证传输的数据包能被同一冲突域内的所有主机接收,基于网络的安全审计正是利用了以太网的这一特性。安全审计方法描述:为系统描述183、方便,用T表示安全服务器,与外部网络隔离,它的通信安全性可由各种方法实现,如抵赖的令牌、VPN安全信道、SSL安全信道等,如内部网络中的安全服务器、安全的电子证据收集设备或安全的中央服务器等;用U表示不安全的系统,容易受到攻击却记录着日志的计算机系统,它在物理位置上并不安全,也就是说它是接入网络的,也没有有效的防御措施来确保不被攻击者控制,如个人PC、防火墙、入侵检测系统或其它应用系统等;用V表示某些授权用户使用的计算机,安全性介于U和T之间,它能被信任查看某些日志记录,但不能修改记录,也就是说并不支持所有的操作,如内部工作站等。本系统创建新的安全日志文件时,由U随机产生初始认证密钥,并由安全184、信道发送到T保存。U产生原始日志信息,通过多种加密的标准工具对原始日志的每条记录进行保护后写入安全审计日志文件中,并定期将安全审计日志文件备份到T中保存。安全审计时,T发送认证码给V,指定V查看或审计U和T中的日志文件的部分日志记录,也可由T直接对U中的日志文件进行安全审计,出现可疑信息时与T中的备份日志数据进行比较,发现确实不一致的则可初步判断U可能遭受攻击。安全日志审计系统结构如下图所示。图表 46 安全日志审计系统结构图U开始创建日志文件时与安全的认证系统T共享一个密钥,用这个密钥创建日志文件。对于分布式安全审计系统的具体实现来说,应用Agent技术是一个较好的解决方案,该技术已经在一些185、实际的安全审计系统中得到了应用。Agent最早起源于人工智能,现广泛地应用于人工智能、网络管理、软件工程等领域,。我们将Agent(代理)定义为“一个自治的实体,它能够感知环境,并且对外界的信息做出判断和推理,来控制自己的决策和行动,以便完成一定的任务”。基于Agent的安全审计系统是将Agent分布于系统的关键点上,包括提供各项服务的服务器、重要的工作站、内部网关和防火墙上,完成大部分安全审计和响应任务。由于代理本身具有自治性,可以针对特定的应用环境编程和配置,使得代理占用系统资源最小;在将代理放入具体复杂环境前可以对它进行独立测试;同时通过Agent间的有限交互(包括数据和控制信息),可以186、获得更复杂的信息,有利于解决网络中的协作入侵活动。安全审计中Agent通过探查所在的系统的日志文件,捕获网络数据包或其他的信息源获取数据。此外,将审计任务分配到多台计算机上有利于减少监控计算机的负荷,而且能提高系统的处理速度和效率,提高系统的实时性;最后,Agent可以自动升级,而且对系统的其他部分保持透明。3.2.9.5云计算综合安全网关我司参与研制的云计算综合安全网关(Cloud-USG)是满足云计算环境网络安全交付需求的综合安全网关, Cloud-USG采用高性能的硬件架构和一体化的软件设计(合理的Single Pass & Parallel Processing SP3软件体系及数据平187、面与控制平面分离的硬件架构),集防火墙、VPN(IPSec VPN/SSL VPN)、抗拒绝服务攻击(Anti-DoS/DDoS)、入侵防御(IPS)、Web应用防火墙(WAF)、上网行为管理、流量管理等功能,以及云数据中心边界安全防护技术于一身;可选的支持(地端的)防病毒、内容审计、反垃圾邮件等安全技术,同时全面支持QoS、高可用性(HA)、日志审计等功能,支持云计算环境下,不同虚拟系统的不同安全策略和防护手段,为云计算数据中心提供了全面、实时的安全防护和安全高效的云计算性能交付。Cloud-USG云计算综合安全交付网关采用了一体化的设计方案,在一个产品中协调统一地实现了接入安全需要考虑的方188、方面面,采用Cloud-USG云计算综合安全交付网关,可以从整体上解决接入安全的问题。用户可不必考虑产品部署、兼容性等困惑,也不再因为多个产品难于维护管理而苦恼,Cloud-USG云计算综合安全交付网关是低成本、高效率、易管理的理想解决方案。云计算综合安全网关(Cloud-USG)由三个部分组成:(1)Cloud-USG-Appliance,(安全网关服务器设备)Cloud-USG-Appliance设备部署在云计算数据中心,融合多种安全能力,针对恶意攻击、非法活动和网络资源滥用等威胁,实现精确防控的高可靠、高性能、易管理的网关安全设备。(2)Cloud-USG-Console,(安全网关管理189、控制台)部署在云计算数据中心内部管理区,对Cloud-USG-Appliance设备进行集中管理。对Cloud-USG-Appliance 设备集中管理、统一监控和升级中心,通过它可以集中配置、监控和管理所管辖的多台Cloud-USG-Appliance设备;按照一定的规则组织成层次结构,方便管理员对于整网Cloud-USG-Appliance设备的监控维护工作。(3)Cloud-USG-SDC(安全数据管理中心)部署在云数据中心或其他数据中心,集中存储多个安全网关的安全数据信息,并集中的进行分析处理。收集、存储多台Cloud-USG的安全数据信息;集中分析、审计和处理安全数据信息,形成相关决190、策建议或报告。Cloud-USG采用了以下三项独特的识别技术,可实现对应用程序、用户和内容的可视化和控制:App-ID、User-ID 和 Content-ID。系统采用统一安全策略管理,所有功能采用一套安全策略控制,只需要定制一个策略模板就可以实现全部的安全功能,这就是策略单通功能(One Policy);同时,所有安全功能按照并行处理进行设计,每一个数据包只需要处理一次即可,大大节省了处理时间,确保网络性能的达成,这就是数据包单通功能(Single Pass)。Cloud-USG的三个组成部分,分别部署在不同的位置:Cloud-USG-Appliance设备部署在云计算数据中心,针对恶意攻191、击、非法活动和网络资源滥用等威胁,实现精确防控;Cloud-USG-Console部署在云计算数据中心内部管理区,对Cloud-USG-Appliance设备进行集中管理;Cloud-USG-SDC部署在云数据中心或其他数据中心,集中存储多个安全网关的安全数据信息,并集中的进行分析处理。Cloud-USG部署方式支持以下三种模式:支持路由、透明、混合等多种模式;支持分布式多级部署;支持http等透明代理。图表 47 Cloud-USG三种部署模式Cloud-USG针对不同虚拟域,可根据实际防护内容,采用不同防护手段;能够采用关联分析技术快速分析恶意URL、病毒、木马等不同安全风险,具备即时、立192、体的安全防御能力。Cloud-USG具有下列主要功能:(1)安全访问控制Cloud-USG支持云计算所用到的多种虚拟环境,包括应用于硬件抽象层、操作系统层、应用程序编程接口层和编程语言层等层次的高级虚拟机,以及应用虚拟化和存储虚拟化技术等;采用智能状态检测技术,不仅对数据包进行检测,还对控制通信的基本状态信息(例如,通信信息、通信状态、应用状态和信息操作性)进行检测;提供基于源/目的IP地址、协议/端口、时间、用户、VLAN、VPN、安全区的精细粒度的安全访问控制。(2)远程安全接入云Cloud-USG支持标准IPSEC VPN和SSL VPN;支持基于标准IKE协商的VPN通信隧道;支持多种193、IKE认证方式,如预共享密钥、数字证书;支持IKE扩展认证,如Radius认证等;支持3DES、DES、AES等算法;支持标准MD5、SHA-1认证算法;支持隧道的NAT穿越;支持隧道内的QoS。(3)抗拒绝服务能力Cloud-USG具备对SYN Flood、ICMP Flood、UDP Flood等流量型DDoS攻击的防御能力;具备对CC攻击等应用层DDoS攻击的防御能力。(4)入侵检测/防护能力Cloud-USG除针对各种传统网络攻击,例如远程扫描、暴力破解、缓存区溢出、蠕虫病毒、木马后门等进行入侵检测和防护以外,重点针对虚拟化技术本身引入的hypervisor和其它管理模块所带来新攻击方194、式进行入侵检测;攻击规则不少于1000条,每条规则具备详细的攻击规则描述及解决方案,按照攻击手段、严重程度分类,还可以自定义规则。(5)WEB安全Cloud-USG系统内置先进、可靠的Web可信度判断机制,能够有效抵御Web安全威胁渗入;URL分类库:提供超过1000万条的URL分类库,提供多种精细分类(网络“钓鱼”、论坛聊天等),支持独立配置界面,实时告警、阻断并记录。(5)网关设备自身管理支持安全事件、网络流量、网络状态、设备状态日志查询;提供日志存储、事件检索、统计报表功能,支持用户自定义报表模版,同时提供定时自动发送报表功能,支持将生成的报表以html、word、uof等通用格式输出。93南京云创存储科技有限公司