一种异构主从模式数据同步园区停车系统的设计与实现

异构主从模式数据同步园区停车系统的设计与实现的架构图:

什么是数据服务中心

数据服务中心提供各个岗亭数据服务中心提供各个岗亭对车牌号码的信息查询,各个岗亭人员的执勤情况,以及整个区域的车辆进出历史信息。中心管理员对数据服务中心内部的数据进行更新,包括车辆白名单、人员在岗信息、人员执勤卡信息、岗亭信息、用户信息等。数据服务中心通过网络建立和各个岗亭的直接数据连接,当管理中心客户端发起一键应急开启或关闭道闸时,可以立即响应该指令。

1. 2 管理中心客户端

中心客户端的主要功能有白名单的录入、违章数据的查询、用户权限的增删改查、对车辆信息的查询(包括实时在园区内的车辆和历史车辆进出信息)、当前工作人员执勤信息的查询等功能。当出现紧急情况时,中心客户端可以启动一键紧急开或者一键紧急关闭功能,通过数据服务中心已经和岗亭客户端建立的网络连接,打开全部道闸或者关闭全部道闸。

1. 3 岗亭客户端

岗亭设在各个道闸的路口,负责车辆从驶进道闸直到车辆离开道闸的整个动作过程的数据交互工作。当有车辆压到地感线圈时,工控机启动高清摄像机抓拍车牌照片并且传到岗亭客户端予以显示,程序自动对新进的车牌信息进行分析。若分析成功,客户端查询数据服务中心获取该号牌的信息,查询包含白名单和违章记录。若车牌识别程序无法识别时,执勤人员可以在岗亭客户端手动输入当前的号牌信息,同样该号牌进入数据服务中心比对白名单,并查询违章记录。岗亭客户端设有一块 LED 屏幕用于显示车辆的车牌,权限信息和违章记录等信息。获取了该车辆的详细情况后,若该车辆属于白名单,则自动放行;若数据显示违章数目超标,则禁止驶入;若既不是白名单且违章记录不超标,则由岗亭执勤人员打印通行证,并且车辆驾驶员交纳 24 小时的临时通行费用,由执勤人员刷卡放行。

2 岗亭与数据中心的工作方式
结合实际需求,本着先进、实用,保证工程的成本优化,本文所设计的园区停车管理系统采用. NET 框架下 C#开发。支持现有的网络编程新标准,也能够消除大量程序错误,对版本的更新有的网络编程新标准,也能够消除大量程序错误,对版本的更新有的网络编程新标准,也能够消除大量程序错误,对版本的更新提供内在的支持,降低了开发成本。

2. 1 ADO. NET 数据库访问技术
ADO. NET 是微软. NET 框架的一部分,是一组用于和数据源进行交互的面向对象类库 [7 -9] 。并提供了平台互用性和可伸缩的访问。它是当前数据库中的重要技术,特别是在 C#应用开发实例中,主要作用是将数据库与数据之间建立起链接,为对方
的数据存取提供一个平台。
并且 ADO. NET 提供程序可以 支 持 SQLServer、ODBC、Access和 Oracle 等多种数据库。其中比较重要的两个类———数据集(DataSet)和数据表(DataTable)能够实现独立于所有数据源的数据访问,表示的是内存关系数据库,不但能方便与实际数
据库做数据交换,并且能够方便与 XML 文件进行读写数据。

2. 2 分布式数据库的设计
根据系统的架构设计,如果要满足在网络出现故障时,各个岗亭仍然能够单机运行,那么则需要在岗亭本地系统设置临时数据库。该临时数据库需备份数据服务中心的白名单记录,车辆通行信息和人员执勤信息。当网络恢复时,岗亭临时数据库
只需要手动或者按照设定的时间间隔自动与中心数据库进行白名单、车辆通行信息和执勤人员数据的同步。中心和岗亭数据库的设计如图 3 所示。系统的数据服务中心采用 Windows 上 IIS 服务器的 WebService 部署[10,11] ,中心数
据库使用 SQL Server,而岗亭的本地数据库采用轻量级的 Access数据库。当网络不通畅时,启用岗亭的本地数据库,将正常情况下的白名单查询都从本地数据库查询获取,车辆通行信息以及岗亭执勤人员交班也根据本地数据库信息执行。岗亭车辆出入
控制的基本流程如图 4 所示。

3 系统数据同步的实现
本文所设计的分布式数据库系统采用的是主从模式的异构数据库系统。各个岗亭的本地 Access 数据库集合可以与数据服务中心的 SQL Server 进行数据共享和访问。数据库系统的各个组成部分分别具有自身的自治性,在实现数据同步和共享的
同时,每个数据库仍保持有自己的独立应用特性。常用的数据库复制技术 分为同步复制和异步复制。主要方法有基于触发器法、基于事务法、基于时间戳法和基于API 法。考虑到本文所设计的园区停车系统只有在网络出现故障的情况下,岗亭

才会访问自身本地的 Access 临时数据库,一般情况下所有岗亭均统一访问中心数据库,因而不需要数据库之间频繁的通信。所以本文采用的是占用较少额外系统资源的基于 API 的复制方法。在系统中引入中同步模块,当网络恢复正常后,同步

模块可以自动将各岗亭的数据与中心数据库同步,而中心管理员可以手动选择将中心数据库同步到各个岗亭。

3. 1 同步模块的设计
针对需求,同步模式分为从—主模式同步和主—从模式同步,同步功能类型分为新增、修改或删除。所有同步的表格数据以 DataSet 类型进行传输,并根据不同的表数据定义,不同的API 复制接口进行相应的解析和操作。

1) 从—主模式的异步复制方法
从—主模式的异步数据复制方法在该系统中主要是实现当岗亭网络恢复后,自动将本地数据库的数据同步到中心数据库。首先由岗亭客户端向数据服务中心 WebService 提交异步请求;WebService 响应请求后,各个岗亭客户端准备好需要同步一致
的数据集,然后根据维护类型对中心数据库进行同步更新。
2) 主—从模式的同步复制方法
主—从模式的同步数据复制方法在该系统中主要是实现当中心管理员修改了中心数据库的白名单时,实时地同步到各个岗亭数据库的白名单,以防止后续网络故障出现的数据差错。当中心管理员成功修改了白名单时,通过网络发送命令至岗亭
数据库,将更新的白名单同步到所有岗亭数据库。

3. 2 同步模块定时器

在数据服务中心模块中,设定了一个独立定时线程,主要完成整个停车管理系统的日常定时同步数据任务。定时任务精度要求不高,并且粒度较大,因而只用精确到秒级即可。在初始化定时队列时,分配一定数量的定时节点,并放入空闲队列中,需
要添加定时任务时,从空闲队列中申请一个节点,填充好超时时间和定时回调任务等内容后加入到定时队列中。节点超时后,定时线程执行节点中的回调函数,并回收节点到空闲队列中。










原文地址:https://www.cnblogs.com/zyt-bg/p/10989284.html