(计算机系统结构专业论文)高速公路车辆监控系统中卡口端软件的实现.pdf_第1页
(计算机系统结构专业论文)高速公路车辆监控系统中卡口端软件的实现.pdf_第2页
(计算机系统结构专业论文)高速公路车辆监控系统中卡口端软件的实现.pdf_第3页
(计算机系统结构专业论文)高速公路车辆监控系统中卡口端软件的实现.pdf_第4页
(计算机系统结构专业论文)高速公路车辆监控系统中卡口端软件的实现.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机系统结构专业论文)高速公路车辆监控系统中卡口端软件的实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京交通大学硕士学位论文1 ,8 7 8 3 8 2 高压容型设备介损在线监测研究 摘要 随着电力事业的迅速发展,对电力系统运行可靠性的要求进一 步提高。传统的定期检修已不能满足输变电设备安全运行的要求, 以状态检修代替定期检修已成为电力系统设各检修的必然趋势,电 气设备在线监测技术的发展日益得到重视。高压电容型电气设备在 变电站中占有相当大的比例,而介质损耗角正切值( t a n6 ) 是反 映其绝缘状况的重要参数,因此,研究电容型设备t a n6 的在线监 测方法具有十分重要的意义。 由于t a n6 值本身很小,对信号的准确性要求很高。本文针对 国内外在进行该项研究中存在的技术难点,如电网基波频率不稳、 高次谐波的存在、现场电磁干扰等问题,从剔除现场干扰,提高 t a n6 的精确程度入手,以软件处理方法为主,提出了采用提升小 波变换去除随机干扰噪声,用相关分析法求出t a n6 值,最后用5 3 h 算法剔除野点的信号处理方法,通过仿真和模拟试验证明了该方法 的可行性和可取性。这种方法与传统的谐波分析法相比,避免了由 于基波频率提取不准确造成的频谱泄漏现象,在一定频率变化范围 内具有较高的监测准确度,满足工程测量的精度要求。 在信号处理 a b s t r a c t t h ee x p r e s s w a yi nc h i n ag r e wm p i d l yi nr e c e n ty e a r s ,a 1 1 dz h e j i a l l gi so n eo fb e s t p r o v i n c e si ne x p r e s s w a yd e v e l o p m e n t b yt h ee n do f2 0 0 4 ,m ee x p r e s s w a yo fz h e j i a n g p r o v i n c eh a sb e e n1 4 4 2 k m1 0 n ga n dh a sp l a y e dak e yr o l ei n 衄m s i t i o no f z h e j i a n gp m v i n c e i n o r d e rt op u n i s hm e g a ld r l v e r sa 1 1 dm o n i t o rc a r st h ep o l i c ei n t e r e s t s ,t h ee x p r e s s w a yv 曲i c l e s u r v e i l l a t l c es y s t e mi sb u i l t ,w h i c hc o v e r s3 0g a t e w a y si ne x p r e s s 、v a yo fz h e j i a n gp r o v i n c e t h es y s t e mc o r u l e c t sa l l3 0g a t e w a y sa n dm a i l a g e m e mc e n t e ra i l di tc a ng i v ew a m i n gt o p o l i c e sw h e nf i n d i n gi l l e g a lc a r s t h i sp 印e rf o c u s e so nt l l ed e s i g na 1 1 di m p l e m e n t a t i o no f r o a d w a ys i d eo f e x p r e s s w a yv e h i c l es u r v e i l l a i l c es y s t e m f i r s t l y ,t h i sp a p e rp r e s e n t st h ed e s i g na n dl o 西cs t r u 魄聪o ft h ew h o ks y s t e mb a s e do n 也e r e q u i r e m e mo f t h ep r o j e c t a i l di nt h er e s t ,t l l i sp 印e rf o c l l s e so nt h ed e s i 凹a i l di m p l e m e n 诅t i o n o f t l l er o a d w a ys i d es o f t w a r eo f t h es y s t e m s e c o n d ly ,t 1 1 i sp a p e ri m r o d u c e st h ed e s i g na n di m p l e m e n t 撕o no fs u r v e i l l a i i c ea n dp r o c e s s p r o g r 锄i tc o v e r st h et e c h n i q u e so fu s i n gd e l p h id l l si nv c + + e n v i r o m e n t ,t l l ef l o wo f v e h i c l ed a 吨ap r o c e s s i n 舀a r i dt h ec o n t r o lo fs 甜a lp o r te q u i p m e n t s t h i r d l y ,t h i sp 印e rp r e s e n t sa ne 仃e c t i v ea i l dr e l i a b l ea p p r o a c ht oe x c h a l l g i n gd a t ab e t w e e n d a t a b a s e s i ta l s od i c u s s e ss o m ei s s u e sd b o u td a t ac o n s i s t e n c y f o u r t h l y ,t l i i sp a p e ri n 们d u c e st h ed e s i g na n di m p l e m e n t 砒i o no f 印p l i c a t i o ns t a t u s s u r v e i l l a n c ea 1 1 dc o n t i o l p r o g r a m i tp r e s e n t s a ne 毹c t i v em e m o do f 印p l i c a t i o ns t a t u s s u r v e i l l a n c ea 1 1 dc o n t r o lu s i n gh a r d w a r e w a t c h d o g na l s oi m r o d u c e sm et e c l l i l i q u e so f r e b o o t i n gs y s t e mu s i n g 晰n d o w sa p ia 1 1 da c c e s s i n gi 0p o r td i r e c t l yu s i n gw i n i oh b r a 够 a t1 a s t ,m ep a p e ri n t r o d u c e st h ed e s 嘶o fs i m u l a t i o ns o r w a r eo fp l a t er e c o g n i t i o n e q u i p m e n t ,i t si m p l e m e n t a t i o nu s i n gm u l t i - m r e a dt e c l l i l o l o g y a l l dam e m o do fg e n e r a t i n gc a r i n f o n n a t i o nu s i n gr a n d o mf u n c t i o n s k e y w o r d s :v e h i c l es u r v e i l l a n c es y s t e m ,o r a c l ed a t a b a s e ,p l a t er c c o g n i t i o ne q u i p m e n t s i m u l a t e o n ,s e r i a lc o m m u n i c a t i o nu s i n gm u l t i - t h r e a d ,l e dc o n t r o l 1 1 项目背景及意义 第一章绪论 我国的高速公路发展比西方发达国家晚近半个世纪,从上世纪8 0 年代术丌 始起步,经历了8 0 年代末至1 9 9 7 年的起步建设阶段和1 9 9 8 年至今的快速发展阶 段。经过1 7 年的持续快速发展,我国高速公路基础设施总体水平实现了历史性跨 越。2 0 0 3 年我国新修通了4 6 0 0 公里高速公路,全国高速公路通车总里程( 不包括 台湾) 延伸到2 9 8 万公里。2 0 0 4 年中国新增公路通车里程4 6 万公里,总里程将 达1 8 5 6 万公里;高速公路里程新增4 4 0 0 公里,到2 0 0 4 年底,我国高速公路通车 里程已超过3 4 万公里,继续保持世界第二。 浙江省高速公路的发展一直处于国内前列,截止2 0 0 4 年底,已开通1 4 4 2 公 里,省内实现了”四小时交通圈”,高速公路己成为浙江省公路交通的主动脉。由 于高速公路行车环境良好、行车方便,出现了一些行车违法行为,较为突出的有: 在高速公路上超速行驶、不按指定车道行驶等现象,针对这现象,浙江省公安 厅高速公路交警总队( 以下简称“总队”) 于2 0 0 4 年初建设了“高速公路超速抓 拍系统”和“高速公路非法车道行驶抓拍系统”,加大了对超速行驶等违法行为 的整治力度,但由于多种原因,造成交通违法案件不能及时处罚,以示教育。同 时,省公安厅也希望能在高速公路上进行对黑车、肇事车等刑事车辆的布控和设 防。 2 0 0 2 年至2 0 0 4 年,总队已在我省内五个省际卡点( 嘉兴大云、王江泾、湖 州父子岭、温州分水关、衢州窑上) 建设了省际卡口车辆监控系统,初步形成浙 江省高速公路卡口网络的雏形。两年多的实践证明,车辆监控系统在打击违法行 为、震慑犯罪分子方面起了重要的作用。 为了迸一步加大对交通违法行为的整治力度,实现对刑事车辆的布控设防, 总队拟在浙江省高速公路主要出口建设车辆监控系统,整个系统实现全省联网, 对于交通违法车辆、布控车辆、设防车辆进行监控和报警。根据浙江省交警总队 调研和论证,高速公路卡口监控系统建设将分批进行。一期确定先在3 0 个主要 卡口实施车辆监控系统建设。 在每个卡口的各车道安装d s p 抓拍设备及报警设备,卡口端子系统对出入 车道的车辆进行抓拍,进而将车辆信息与本地存放的黑名单库进行比对,对问题 车辆进行报警,并将车辆数据存入库中,同时将其通过c d m a 网络传输到总队中 心服务器,由中心管理程序对其进行监控,并对违法车辆进行相应的处理。 陔系统的建成不仅能提高对交通违法车辆( 特别是超速车辆) 现场抓获率, 还能实现对逃逸车辆、被盗抢车辆和其他协查车辆的布控,一旦浚系统_ f 常运行, 这将大大改善我省高速公路的安全行车环境同时服务于社会治安管理。 1 2 项目需求 高速公路车辆监控系统的主要任务即是对高速公路卡口通过车辆进行监视, 并对交通违法、布控、设防车辆进行报警。同时将重要的车辆数据及报警数据汇 总到数据中心以提供查询和统计功能。 本系统主要分成两部分:中心端子系统和卡口端子系统。中心端子系统主要 是软件部分。它将超速抓拍系统产生超速车辆,公安厅下发的逃逸、被盗抢等黑 名单车,存入中心库中,并及时下发到各卡口。卡口端子系统由前端车牌识别、 报警设备与卡口软件构成。它对通过卡口的车辆进行比对入库,对于比对后发现 是黑名单中的车辆及时报警,以进行警示或现场抓获。卡口将通过车辆及报警车 辆数据传到系统中心端,使中心端操作员可以进行实时监控、查询、统计等操作。 1 2 1 中心端软件需求 中心端软件是对卡口上传的数据进行实时监控显示、并可对这些数据进行查 询、统计等操作,负责超速车辆黑名单及公安网设防黑名单数据的导入,并提供 手工录入接口。它具体需求列表如下: 一系统管理:用户权限管理功能、登录验证功能、卡口信息设置、系统 设置 一查询功能:卡口过往车辆查询、报警车辆查询、交通违法黑名单查询、 设防黑名单查询、布控黑名单查询 _ 统计功能:报警统计功能、流量统计功能、通过车辆统计功能、月年报 表功能 - 黑名单录入功能:交通违法黑名单录入功能、靠控黑名单录入功能、设 2 防黑名单录入功能 主界面功能 _ 手工校正功能 r 志功能:黑名单同志功能、用户同志功能 数据备份与恢复功能 对超速抓拍系统中的数据导入中心库中 1 2 2 卡口端软件需求 卡口端软件是负责从前端车牌识别设备上采集数据,并进行入库、数据比对、 黑名单车辆报警等处理。同时将报警数据、通过车辆数据、卡口状态数据等上传 到中心服务器、将交通违法车辆、布控、设防车辆等黑名单车辆信息下载到卡口 数据库中。 _ 卡口端软件需要提供核心功能是完成抓拍车辆信息的入库、比对、报警, 以及上传功能。卡口软件的输入为车牌识别设备获取的车辆数据,具体 包括车牌信息和全景、特写图片。本软件的输出为报警设备,具体包括 i 。e d 显示屏、声光报警设备。具体包括以下功能点。 采集进( 出) 卡口的车辆信息( 包括图片) ; 将从车牌识别设备采集的“车辆信息”与从中心下发的“黑名单车 辆信息库”中的车辆信息进行比对,给出比对结果。若该车辆比对 结果符合三种报警模式一项或多项,则按照相应的报警预案进行报 警; 通过车辆信息在程序界面上实时显示,包括车牌信息、报警类型、 通过时l _ 白j 、全景特写图片; 实时上传卡口的车辆信息、报警信息( 包括图片) 和设备故障信息 等; 实时接收中心数掘库中的黑名单更新信息: 提供本地设防功能,可以在卡口本地管理一个设防黑名单: 提供对已抓拍车辆信息进行手工校正的功能: _ 卡口端软件提供参数配置功能,同时针对些高级参数的配置的提供身 份验证功能。具体包括以下功能点: 配置对不同报警类型车辆的报警方式,包括配置各种报警类型车道 l e d 、主l e d 的显示内容; 配置卡口信息,包括卡口名,卡口号、车道数、车道方向: 配置硬件设备地址,包括各车道l e d 的串口地址、主l e d 的i p 地 址、各车道d s p 的i p 地址: 可配置工控机定时自动重启; 进入高级配置界面前,包括卡口车道信息配置、硬件地址配置、密 码修改,进行密码验证: 可修改高级配置进入密码; 卡口软件具有崩溃自恢复功能; 卡口服务器上保留六个月的数据; 对车辆图片进行双份存储; - 为便于卡口软件的调试及使用,提供一些辅助功能,具体包括下面的功 能点: 实时显示调试信息以方便调试及故障定位,具体包括程序各模块实 时的输出信息; 提供历史数据查询功能,可以按时阳j 、车牌、报警类型等参数进行 历史数据查询; 提供数据库连接初始参数设置程序,使数据库连接参数可以修改。 一提供数据上传下发功能: 将报警车辆记录、通过车辆汜录时实上传至中心库; 将布控设防图片在网络空闲时上传至中心库; 将卡口状态定时上传至中心库。 将手工校正记录实时上传至中心库。 将中心库的黑名单按辖区下发至本地卡口库中。 图1 1 为卡口端软件的用例图。 o 驾驶# 9 7 顽 巾心紊j 弋 铽必机 1 3 本文的组织结构 圈1 一】 口端软件的用例图 高速公路车辆监控系统的设计与实现涉及到多方面的技术内容,如中心多功 能统计、数据库备份与恢复、中心操作同志、卡口串口设备控制等。本文针对该 项目工程设计与实现方案中本人所承担部分的技术难点要点进行了分析与论述。 主要内容包括: 第一章介绍高速公路车辆监控系统项目背景和意义,以及系统的项目需求。 第二章介绍高速公路车辆监控系统的总体设计方案,以及本人主要负责的卡 口端软件的架构设计。 第三章介绍在项目设计与实现中所运用的基本原理和关键技术。包括 o r a c l e 数据库应用技术、a d o 数据库接口技术、w i n d o w s 平台下的串口通信技术、 w i n d o w s 环境多线程技术。 第四章详细介绍了卡口端软件的具体实现,包括卡口端监控处理程序数据采 集与比对模块、串口报警设各控制模块、上传下发程序、以及软件状态监控程序 的软件结构设计、主要功能的实现以及主要算法实现。 第五章详细介绍了牌照识别设备模拟库的设计与实现。首先介绍了对牌照识 别设备进行模拟的需求及软件结构的设计,然后介绍了具体的实现方法。 第六章包括对整个项目工作的总结,以及对未来工作的展望。 2 1 系统整体结构设计 第二章系统总体设计 整个高速公路车辆监控系统要对全省几十个卡口的车辆进行比对处理,并要在数据 中心提供数据管理界面。这就决定了整个高速公路车辆监控系统是作为一个分布式的系 统工作的,它主要由中心端子系统和卡口端子系统两部分组成。如图2 一l 所示。 卡口端子系统分布在全省3 0 个卡口,它们的软硬件都是一致的。每个卡口端子系统 由软硬件两部分组成。硬件包括每个车道上安装一台车辆监控单元,即一台车牌识别系 统,每个车道上安装一个l e d 显示屏和声光报警灯,一个大l e d 显示屏,还有一台工 控机做为数据存储和处理单元。工控机通过以太网连接各车道的车牌识别系统,通过两 条r s 2 3 2 总线分别连接各车道的l e d 屏和大l e d 显示屏。卡口端软件运行在工控机上, 它主要包括用于存储车辆数据的卡口数据库和实现数据处理功能以及与中心库交换数据 功能的应用软件。 中心端子系统安装在高速交警部队的机房内。它由一台中心外网服务器、一台中心 内网服务器和多台工作站组成。中心外网服务器上运行有中心数据库和应用软件。中心 数据库存储了从各卡口上传上来的车辆数据。应用软件完成了本系统与内网服务器、超 速抓拍服务器的数据交换工作。在工作站上,出中心数据管理软件来向用户提供对中,c 数据库中的数据进行的查询、统计、录入等操作功能。中心内网服务器作为一个w e b 服 务器向所有公安内网用户提供数据的查询、统计、录入等功能。 f ;司 川 = i 酵 网 藤 心管理工作站2 虱 习 孽”i ,l , 【三| | l 数据库i闸 雪 j l 剧 :丑一: ! 竺竺三芝,二一皇! 腥登曼一一一i 公安i| 网服壹 莘。 。” 一 r 聪件i :匡倒i ! 一一一一一一! 呈乇型l 一一i 离凼豳幽商豳 幽2 1 高速公路车辆监控系统接体结构 2 2 系统软件逻辑结构设计 高速公路车辆监控系统软件包括两部分:卡口端数据处理软件和中心端数据管理软 件。 卡口端数据处理软件主要实现车辆信息的比对报警处理、卡口数据的上传与中心黑 名单数据的下发。比对报警处理功能具体包括从车牌识别系统中采集车辆信息、将其与 本地数据库中的黑名单记录进行比对、在比对成功的条件下驱动报警设备进行声光报警、 并将数据存在卡口数据库中。数据上传下发功能主要包括将卡口采集到的通过车辆、报 警车辆、卡口状态信息上传至中心数据库,并将中心数据库中最新的黑名单数据下载到 卡口数据库中。 中心数据管理软件包括两部分,即基于c s 结构的外网部分( 位于c d m a 网络结构 内) 和基于b s 结构的内网部分( 位于公安内网) 。两部分使用的实现技术不同,但提供 了基本相同的功能。c s 结构外网部分主要用于高速部队局域网环境,b s 结构的内网部 分则应用于公安内网的广域网环境。中心端软件主要实现了对卡口上传至中心数据库中 的车辆信息进行查询、统计等功能,对中心数据库中的黑名单进行管理、导入功能,内 外网数据库的同步功能,以及对中心数据库的备份功能。外网中心管理软件主要包括了 外网中心数据库、中心数据管理软件、网闸数据交换软件、未比对超速抓拍数据导库软 件等组成。内网软件部分包括内网中心数据库、基于w e b 的内网数据管理软件、网闸数 据交换软件、已比对超速抓拍数据导库软件、盗抢车辆数据导库软件、交通指挥数据库 导库软件等组成。 外网数据中心服务器通过使用c d m a 网络与卡口数据库实现数据交换,保证了外网 中心服务器与卡口端子系统的数据一致性。同时,内网中心服务器又通过使用网闸与外 网中心数据服务器实现数据交换,从而保证了内外网中心服务器的数据一致性。 系统软件的整体逻辑结构如图2 2 : 晕嘏薄斟芒餐螺耋犁埘霹*留匈剐眶n|n翌 2 3 卡口端软件架构设计 卡口端软件主要实现的功能车辆信息的比对报警处理、卡口数据的上传与中心黑名单 数据的下发。同时,卡口端软件还要满足一些非功能性要求: 一保证卡口软件2 4 + 7 小时不问断运行,软件就具有一定的自恢复功能。 _ 数据的上传下发功能要稳定可靠,即使在网络断掉修复后,仍能f 确地继续做上 传下发操作。 软件对车辆数据处理的速度足够快,在多车道、大流量的情况下能够保证处理速 度。 为了增加程序的稳定性、可维护性,整个卡口端软件被划分成4 个独立的程序模块: 卡口数据库、卡口监控程序、数据更新程序、程序状态监测狗。 卡口数据库是由套完整的d b m s 系统产品集合组成,它提供了数据存取、查询的 应用接口,以及一些备份、处理工具。在本系统中,它用来存储卡口数据,包括从中心 下发的黑名单记录、从车牌识别系统中采集的车辆数据、以及卡口配置数据等。卡口数 据库系统使用功能强大的o r a c l e 9 i 数据库产品。o r a c l e 9 i 优异的性能,以及对触发器、作 业、导入导出等高级功能的良好支持使其在本系统中得到很好的应用。 卡口监控处理程序是卡口实现功能的核心部分。它主要负责从车牌识别系统中采集车 辆信息、将其与本地数据库中的黑名单记录进行比对、在比对成功的条件下驱动报警设 备进行声光报警、并将数据存在卡口数据库中。同时它还提供了本地通过车辆记录的查 询、本地设防管理、参数设置、显示输出、设备测试等功能。卡口监控程序要保证数据 处理的实时性,在足够短的时间内完成比对、入库、报警系列动作。 数据更新程序的作用是进行中心库与卡口库之间的数据交换。它将卡口记录下的通过 车辆、报警车辆数据、稚控设防车辆图片、卡口及设备状态、手工校正记录上传到中心 库,并将中心库中最新的黑名单数据下载到本地卡口数据库中。数据更新程需要使用一 种机制保证上传下发的可靠性,使其在网络断掉修复后,或在软件重启后,能够自动继 续上次的断点进行数据的传送。 软件状态侦测程序是一个用来监测卡口监控处理程序和数据上传下发程序运行状态 程序。它不断地关注卡口监控处理程序与上数掘上传下发程序的运行状态,当确认某个 程序死掉时,它将芎启系统,从而使这些软件重新正常运行。这个程序将使用工控机中 i i 的看门狗硬件。 初始化参数程序用于设置登录卡口数据库与中心数据库的用户名和密码。 图2 3 口端软件结构 第三章系统实现中的关键技术 3 1o r a c l e 数据库应用技术 o r a c l e 数据库系统是美国o r a c l e 公司( 甲骨文) 提供的以分布式数据库为核 心的。组软件产品,是目前世界上使用最为广泛的关系数据库管理系统作为一个通用的 数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的 产品:作为分布式数据库它实现了分布式处理功能。o r a c l e 数据库系统可移植性好,使 用方便,功能强大,适用于各类大、中、小型微机环境,只要在一种机型上学习了o r a c l e 知识,便能在各种类型的机器上使用它,因此得到了广泛的应用【1 。 3 1 1o r a c l e 数据库体系结构 1 、0 r a c l e 软件结构 每一个运行的o r a c l e 数据库都与一个o r a c l e 实例( i n s t a n c e ) 相联系,由这个实例来访 问和控制硬盘中的数据文件,这个实例实际上就是o r a c l e 的软件结构,是存取和控制数 据库的软件机制,它由操作系统中的内存结构和一系列进程所组成【2 。如图3 1 所示: 图3 1o r a c l e 数据库的软件结构 1 3 0 r a c l e 实例在启动时,在系统内存中创建个内存结构来进行数据处理。它出系统 全局区( s g a ) 、软件代码区、程序全局区( p g a ) 组成。s g a 含有数据维护、s q l 语句分析 及重做缓存所必须的内存结构,它驻留在一段系统的共享内存中,其中的数据是共享的, 也就是说多个进程可以在同一时问对s g a 中的数据进行访问和修改,当实例起动时分配 s g a ,当实例关闭时释放s g a :它包括数据库缓存、重做日志缓存、共享池、j a v a 池、 大型池、数据字典缓存以及保存其他控制信息的内存结构。p g a 是保存特定服务进程的 数据和控制信息的内存结构,是非共享的,每个服务进程都有自己的p g a 区【4 。 o r a c l e 在系统工作过程中,通过o r a c k 进程来完成指定的任务,它包括服务进程和 后台进程。服务进程用于处理连接到实例中的用户进程所提出的请求。后台进程是一系 列独立的进程,它以最有效的方式为并发建立的多个用户进程提供i o 操作、监视各个 进程的状态、维护系统的性能和可靠性等系统服务。 2 、o r a c l e 的存储结构 0 m c l e 的存储结构分为逻辑存储结构和物理存储结构两部分。 逻辑存储结构主要用于描述在0 r a c l e 内部组织和管理数据的方式。0 r a c l e 数据库的 逻辑结构自上而下有六层,分别是:数据库、表空间、逻辑对象、数据段、数据区间、 数据块。数掘库由一个或者多个表空间组成,某个应用程序的所有逻辑存储结构和数据 库对象存储在一个独立的表空间中,用户在数据库中创建的具有实际存储结构的对象的 数据保存在某个表空间为它创建的段中,每个段由多个区组成,这些区就是数据的存储 空间,每个区是由多个连续的块组成的,o r a c l e 进行存储空间的分配、回收、管理都是以 块为基本单位,块就是最小的逻辑存储单元【3 】。如图3 2 所示: 逻辑对舷 越擞投 戢撤t 蛳 转蝌尊 。嗽k9 l 转捌蝇l f i 避避如懈 图3 2o m c l e 数据库的逻辑存储结构 物理存储结构指逻辑结构在物理上是如何实现的。0 r a c l e 数据库逻辑上由一个或多 个表空间组成,每个表空间在物理上由一个或多个数据文件组成,其中s y s t e m 表空间 由一个独立的数据文件组成。数据库的存储结构包括数据文件、控制文件和重做日志文 件三个物理文件。数据文件用于存放所有的数据,日志文件记录了对数据库所作的所有 操作,而控制文件则记录了数据库所有文件的控制信息。数据库在加载实例时,必须读 取控制文件中记录的数据库的逻辑结构和物理结构等基本信息,它是数据库能否成功启 动和正常运行的关键文件,而当数据库发生故障时,需要重做日志文件中的信息来恢复 内存中丢失的数据修改信息。以保持数据库的完整性和一致性。如图3 3 所示: 戢搬缱 物理茁件 翱理块 3 1 2p l s q l 简介 o f l e9 i 数撼庠的存螭辅柏 图3 3o r a c l e 数据库的物理存储结构 o r a c l e 是一种关系型数据库,用来访问这种关系型数据库的语言是“结构化查询语 言”( 简称s q l ) 。s q l 是一种第四代语言,就是说它只描述应该做些什么,但不会描述 如何去做。相对于第三代程序设计语言来说,使用起来非常简单,但它将用户与实际的 数据结构与算法隔离开来,在某些情况下,第三代语言使用的过程结构对表达某些任务 过程柬说非常有用。这也就是引入p l s q l 的原因 8 】。 p l s q l 是过程化语言与s q l 语言的结合。它在s q l 语言的基础上做了很多扩充, 如: 一用户使用预定义的变量和类型,也可以自定义变量和类型。 一可使用控制语句和循环语句。 一对过程和函数的支持。 对象类型和方法的使用。 p l s q l 被称为块结构化语言,p l s q l 块是p l s q l 语言的基本单位,其中可能包 含程序代码、变量声明、错误处理程序、过程、函数或其它p l ,s q l 块【9 】。它的语法如 下: d e c l a r e 声明部分,声明变量、游标、过程、函数等 b e 西n p 执行部分,由p l s q l 构成的程序主体 e n d 信息在数据库与p l ,s q l 之间是通过变量进行传递的。变量就是可由程序读取或赋 值的存储单元,它是在p l ,s q l 块的声明部分定义的。每个变量都有一个特定的类型, 变量的类型定义了变量可以存放的信息类别。如下所示: d e c l a r e v d e p t n a m ev a r c h a r 2 ( 2 0 ) ; v c u n 它n t d a t ed a t e ; v c r e d i t sn u m b e “3 ) ; 除此以外,p l s q l 还支持用户自定义的数据类型,如记录类型、表类型等。 3 1 3o r a c l e 触发器 触发器是存储在数据库中的过程,当数据库中某些事件发生的时候,这个过程就会 1 6 触发,或者晓在后台运行而无须用户手工干预。一般来说,当数据库的表或视图发生插 入、删除或者修改时,触发器就能够执行p l s q l 块 1 1 。 触发器可以做很多事情,包括: _ 维护不能通过表的声明性约束进行的复杂完整性约束限制。 一记录对表所进行的修改信息。 - 在表被修改时,自动做相关操作或给其它程序发信号。 触发器由下面几个部分组成: 触发触发器的事件。能够创建被如下语句触发的触发器:d m l ( d e l e t e ,i n s e r t u p d a t e ) ,d d l ( c r e a t e ,a l t e r ,d r o p ) ,数据库操作( s e r v e r e r r o r ,l o g o n , l o g o ff ,s t a r t u p ,s h u t d o w n ) 。 发生触发器的对象。触发器可以创建在下列对象上:数据表,视图,用户模式,数 据库实例。 事件发生时触发器执行的条件和时机。包括是事件前触发还是事件后触发,以及是 记录级触发还是语句级触发。事件前或后触发是指,触发器的执行是在产生事件的d m l 语句执行前还是执行后。记录级触发对每条受影响的记录都触发一次,而语句级触发器 只被一条d m l 语句触发一次而不管其影响了多少条记录。记录级触发器能够访问受影响 的记录中的数据值,而语句级触发器不能。 触发器被触发时的执行体。它一般是一个p l s q l 块。在这段p l s q l 代码中,町以 使用条件谓词来确定当前事件,如 i f j n s e r t i n gt h e n e n di f i 一- 判断是否是插入操作触发的 i f d e l e t i n gt 1 1 e n e n di f ,一判断是否是插入操作触发的 i f u p d “n gt 1 1 e n e n di f ;判断是否是插入操作触发的 在记录级触发器体力,p l s q l 代码可以访问当前产生触发事件的记录中的旧值和新 值。如果是被u p d a t e 语句触发,那么可访问的当前记录的值有两个,一个对应旧值,一 个对应新值;如果是被i n s e r t 语句触发,那么只有新值才有意义,因为行是新插入的,旧 值是空:如果是被d e l e t e 语句触发,那么只有旧值才有意义,因为在相应行被删除后, 新值为空。新的列值通过在列名f ; 使用n e w 标识符来引用,旧列值通过使用在列名前使 用o l d 标识符来引用。如 i f :n e w i d 1 0 0 0 i f :o l d d r i c e o p e n ( ”p r o v i d e r = o r a 0 l e d b o r a c l e ;d 8 t as o u r c e = c e n t e r ;u s e r i d = c e n t e r ;p a s s w o r d = c e n t e r ”, ”a d m o d e u n k n o w n ) ;使州o p e n 方法连接o r a c i e 数据库 j 使用c o n n e c t i o n 对象的o p e n 方法连接数据库的方法原型如下: h r e s u l tc o n n e c t i o n l 5 :0 帚e n ( 一b s t r _ tc o n n e c t i o n s t n g , s t r - tu s e r i d , _ b s t r _ tp a s s w o r d , l o n go p t i o n s ) ; 其中c o n n e c t i o n s t r i n g 是连接字串;u s e r i d 用户名:p a s s w o r d 登陆密码;o p t i o n s 是连接选项,用于指定c o n n e c t i o n 对象的数据更新方式。 s 创建r e c o r d s e t 对象,执行s q l 命令并取得结果记录集 在使用c o n n e c t i o n 对象建立与数据库服务器连接后,就可以使用r e c o r d s e t 对象的 0 p e n 方法打丌并取得结果数据集。我们首先要定义一个r e c o r d s e t p t r 类型的变量这晕 是m r e c o r d s e t ,并为其创建r e c o r d s e t 对象实例: r e c o r d s e t p l rmp r e c o r d s e t ;定义记录集接口指针 m _ p r e c o r d s e t c r e a t e j n s t a n c e ( ”a d o d b r e c o r d s e t ”) ;,创建记录集对象实例 一般有三种方法来使r e c o r d s e t 对象获取记录集数据。 一是直接使用r e c o r d s e t 对象执行查询s q l 语句,如下所示 m p r e c o r d s e t o p e n ( 。s e l e c t f r o mg a l e - i n f 0 ”, t h e a p p m p c o n n e c t j o n g e t 【n t e r f k e p 坂) , a d o p e n s t a t j c ,a d l o c k r e a d o n i y ,a d c m d t e x t ) ; 使用r e c o r d s e t 对象的o p e n 方法的原型是这样的: h r e s u l tr e c o r d s e t l 5 :o p e n ( c o n 瓢一v a r i a n t _ t s o u r c e , c o n s t v a a n l t & a c t i v e c o n n e c “o n , e n u mc u r s o r t y p e e n u mc u r s o r t y p e , e n u ml o c k t y p e e n u ml o c k t y p e , o n go 讲i o n s 2 3 s o u r c e 是数据查询字符串;a c t i v e c o l l l l e c t i o n 是已经建立好的连接;c u r s o r t y p e 光标 类型;l o c k t y p e 锁定类型。 二是使用c o r u l e c t i o n 对象的e x e c u t e 方法执行s q l 查询语句,这时返回值为一个 r e c o r d s e t p t r 类型。 e x e c u t e 方法的原型如下所示: 一r e c o r d s e t p t rc o n n e c t i o n l 5 :e x e c u t e ( j s _ r _ tc o m m a n d t e 札 v a r i a n t + r e c o r d s a f f e c t e d 1 0 n go p t i o n s ) ; c o m m a n d t e x t 是命令字串,通常是s q l 命令;r e c o r d s a f f e c t e d 是操作完成后所影 响的行数。0 p t i o n s 表示c o m m a i l d t e x t 中内容的类型。 e x e c u t e 执行完后返回一个指向汜录集的指针。 三是利用c o m m a n d 对象来执行s q l 查询语句,与第二个方法类似,也是返回一个 r e c o r d s e t p t r 类型值。 一c o m m 锄d p t rm _ 一p c o m m a n d ; m p c o m m a n d c r e a t e i n s t a n c e ( ”a d o d b c o m m a n d ”) ; m p c o m m a n d - a c t i v e c o n n e c t i o n = t h e a p p m - p c o n n e c t i o n ; m p c o m m a n d c o m m a n d t e x t - ”s e l e c t + f r o mp a s s _ c a r ”; 一r e c o r d s e t p t rm p r e c o r d s e t = m p c o m m 卸d - e x e c u t e ( n u 【上,n u l l ,a d c m d t e x t ) ; 6 记录集的遍历、读取、更新、删除等操作 当我们打开记录集时t 通过要移动光标,遍历记录集,并对记录进行读取、删除、 更新等操作。 t r y c s 们n gs t 圮a r i d ; j a r i a n t _ tv i d ; j t e c o r d s e t p t rm _ p r e c o r d s e t ;,定义记录集指针 m p r e c o r d s e tc r e a t e l n s t a n c e ( ”a d o d b r e c o r d s e n ;,实例化记录集对象 m p r e c o r d s e t o p e n ( s e l e c t + f o m lp 鹳s _ c a m _ p c o n n e c t i o n g e t i n t e r f a c e p t r ( ) ,a d o p e n s t a t i c ,a d l o c k r e a d o n l y ,a d c m d t e x t ) ;打开记录集 w h i l e ( ! m _ p r e c o r d s e t - a d o e o f ) v i d = m _ p r e c o r d s e t - g e t c o i l e c t ( ”i d | ) ;读取当前记录字段值 i f ( v i d 1 、,a i 一1 0 0 0 1 ) m p r e c o r d s e t d e l e t e ( a d a 讯c t c u r r e n t ) ;习时除此条记录 e l s ei f ( v l dl v a 卜= l 0 0 0 2 ) 2 4 s t r c a r i d = ( l p c s t r ) m p r e c o r d s e t - g e t c o l l e c t ( ”c a l i d ”) ; md r e c o r d s e t m o v e n e x t ( ) ,移动光标到f 一条记录 在最后涂加一条新记录 m p r e c o r d s e t - a d d n e w ( ) ; m - p r e c o r d s e t - p u t c 0 1 1 e c t l v a r i a n u ( ”g a 丁e i d ”) ,一v a r i a n l t ( ( 1 0 n g ) 3 ) ) m p r e c o r d s e t 一 u p d a t e ( ) : m p r e c o r d s e t c 1 0 s e ( ) ;关削记录集指针 ) c a t c h ( ) l 7 记录集对象与连接对象的关闭 记录集对象和连接对象都可以c l o s e 方法来进行关闭。 m _ p r e c o r d s e t c l o e ( ) ;关闭记录集 m j c o n n e c t i o n - cj o s e ( ) ;关闭连接 3 3w i n d o w s 平台串口通信技术 3 3 1 串口通信简介 串口通信一般采用了美国电子工业协会( e i a ) 于1 9 6 9 年制定的r s 一2 3 2 标准 1 】。 r s 一2 3 2 标准规定了数据终端设备和数据通信设备之间的连接和通信规则【2 0 。 在串口通信中,用于接收和发送数据的设备称为数据终端设备( d t e ) ,用于连接d t e 与数据通信网络的设备称为数据通信设备(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论