根据上述安全预警系统的基本功能,安全预警平台搭建包括数据库和预警软件开发。下面将详细介绍各部分的开发过程。
1.数据库设计
(1)数据库分析
数据库设计是在选定了操作系统和数据库管理系统的基础上,准确地表达用户的需求,将其转换成有效存储数据的数据模型的过程。数据库设计在需求分析和数据分析之后,包括概念结构设计、逻辑结构设计和物理结构设计等阶段。本项目道路环境数据库是实现安全预警的数据基础,针对安全预警的需求,采用MySQL5.5作为数据库软件,为预警模型的运行提供关于道路环境基本信息、天
气路况、车辆信息等。
(2)数据库逻辑结构设计
概念结构是对现实世界的一种抽象。通过对预警需求的分析,抽象出以下几个实体类型:危险点信息(dangerous loc)、车辆信息(car_info)、实时位置信息(rtloc)、危险驾驶行为信息(dangerous behavious)。
每个实体的属性分别如下。
危险点信息:危险点编号,经度、纬度,预警级别,所属路段。
车辆信息:车牌号,终端号,所属车队。
实时位置信息:终端号,经度、纬度,时间,速度,航向。
危险驾驶行为信息:危险点编号,车牌号,距离,危险行为信息。
将这些实体转换到关系模式,建立了如下的关系,具体说明如下。
1)危险点信息指的是存储危险点信息关系表。其属性包括:危险点编号,经度、纬度,预警级别,所属路段。其中危险点编号作为主键。
2)车辆信息表指的是存储车辆基本信息关系表。其属性包括:车牌号,终端号,所属车队。其中车牌号是主键,终端号是外键,与实时信息表关联。
3)实时位置信息指的是记录车辆实时位置信息关系表。其属性包括:终端号,经度、纬度,时间,速度,航向。其中终端号和时间是联合主键。
4)危险驾驶行为信息指的是记录驾驶人危险驾驶行为关系表。其属性包括:危险点编号,车牌号,距离,危险行为信息。其中危险点编号和车牌号为联合主键,危险点编号与危险点信息表关联,车牌号与车辆信息表关联。
根据上面的关系表的具体说明,可以得出这四个关系表之间的关系,在MySQL中创建的四个表之间的关系如图5-2所示。
(3)数据表设计
物理结构设计的目的,是根据具体DBMS的特征确定数据库的物理结构。关系数据库的物理结构设计包括两个方面:一是确定所有数据库文件的名称及其所含字段的名称、类型和宽度;二是确定各数据库文件上需要建哪些索引。该项目的主要逻辑结构表有dangerous loc(危险点信息表)、car_info(车辆信息表)、rtloc(车辆实时位置信息表)、dangerous behavious(危险驾驶行为信息)。各表结构如表5-1~表5-4所示。(www.xing528.com)
图5-2 四个关系表之间的关系图
表5-1 dangerousloc逻辑结构
表5-2 car_info逻辑结构
表5-3 rtloc逻辑结构
表5-4 dangerousbehavious逻辑结构
2.预警软件的开发
软件开发在Java环境下进行,利用Socket建立起车载端服务程序与后台数据服务程序的通信。随着开源系统Android的兴起,车载端软件在Android平台上开发,通过调用百度地图的API接口,采集车辆的位置相关信息;编写预警策略,在预警点处通过预警信息的显示以语音提示为驾驶人提供预警服务。后台的WEB网页通过数据库的查询,在百度在线地图显示车辆实时位置及状况,并实现对危险点的管理与显示。图5-3~图5-5为开发软件的截图。
图5-3 实时数据服务程序
图5-4 安全预警软件
图5-5 Web网页
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。