2021年4月26日

基于证件扫描的导览设备租赁系统的设计实现

作者 讲解员

随着物联网概念不断普及和其技术的不断发展,物联网越来越多地渗透到人们日常生活的各个方面 。智慧旅游, 也被称为智能旅游 。就是利用云计算、物联网等新技术,通过互联网/移动互联网 ,借助便携 的智能导 览设备,主动感知旅游资源、旅游经济、旅游活动 、旅游者等方面的信息 ,及时发布 ,让人们能够及时了解这些信息 ,及时安排和调整工作与旅游计划,从而达到对各类旅游信息的智能感知、方便利用的效果 。 在已经部署 智慧景区的旅游景点中,会有大量的智能导览设备可供游客使用 。而作为智能导览设备的的提供方 ,越来越多的租赁 和归还信息 ,以及游客,员工绩效等信息有必要生成系统进行管理。为此笔者设计了一套基于身份证件扫描的智能导览设备的租赁管理系统 。

一、系统功能需求分析

该系统采用 SQLServer数据库对景点的所有租赁设备实行标准化管理,借助 OCR(Optical CharacterRecognition,光 学字符识别 )设备,建立起游客与租赁设备之间的一一 对应关系.方便景点工作人员及时掌握租赁设备 的使用情况 。该系统的主要功能功能包括:系统登录,导览机租借,导览机更 换,导览机归还,导 览机查看,汇总统计,客户资料,系统设置。用户管理等 。

(1)系统登录模块:需用户提供正确的账户和密码方可进入系统 。

( 2)导览机租借模块 :借助身份证件扫描仪建立游客与导览机之间的对应关系。做出出租记录。

( 3)导览机更换模 块:提供故障导览机的更换服务,做出更换记录 。

( 4)导览机归还模块:将已出租的设备回收等级,并做出归还记录 。

( 5)导览机查看模块:提供导览机租赁情况的实时查询服务 。

(6)汇总统计模块:统计汇总景点工作人员选定时间段内的工作量 。工作时间等信息 。

(7)客户资料模块:提供 OCR设备所扫描出的游客资料的查询服务 。

( 8)系统设置模块 :设置OCR设备按键的功能调整,扫描图片的保存路径等 。

(9)用户管理模块:用户密码修改,用户添加和用户删除。

二、 系统实现的关键技术

解析扫描信息通过调用 IDeard.OCX控件中的特定方法来实现扫描信息的初步获取。以二代身份证为例 ,接口方法为 BOOLRecog NewIDCardALL(),其实现了对二代证的扫描和识别,识别内容包括身份证号码、姓名、性别、民族、出生日期住址等。该方法的调用需要提供4个参数。透过这些参数来完成扫描结果的输出。其中 Content参数为识别 内容选项 ,仅使用最低的五个 比特。例如要识别姓名和证件号,那么通过 位运算 OxO0000001&OxO0000010得值 为 Ox0000ool1。在本系统中,需要将扫描出来的信息全部识别出来 ,则 Content参 数 的值 为 OxO000O01E。

ADo.NET数据库技术ADO.NET的名称起源于ADO(ActiveX DataObjects),这是一个广泛的类组 ,用于在以往的 Microsoft技术中访问数据.之所以使用 ADO.NET名称,是因为 Microsoft希望表明 , 这是在.NET编程环境中优先使用的数据访问接口。 它提供了平台互用性和可伸缩的数据访问 。ADO.NET增强了对非连接编程模式的支持。并支持RICH XML。由于传送的数据都是 XML格式的 ,因此任何能够读 取 XML格式的应用程序都可以进行数据处理。事实,接受数据的组件不一定要是ADO.NET组件 , 它可以是基于一 个 MicrosoftVisual Studio的解决方案 ,也可以是任何运行在其他平台上的任何应用程序 。 ADO.NET的最重要概念之一 是 DataSet。DataSet是不依赖于数据库的独立数据集合 。所谓独立,就是:即使断开数据链路,或者关闭数据 库 ,DataSet依然是可用的。 有了DataSet,那么,ADO.NET访问数据库的步骤就相应地改变 了 :

(1)创建一个数据库链路 ;

(2)请求一个记录集合;

(3)把记录集合暂存到DataSet;

(4)如果需要,返回第2步;(DataSet可以容纳多个数据集合 );

(5)关闭数据库链路 ;

96)在DataSet上作所需要的操作 。

DataSet在内部是用XML来描述数据的。由于 XML是 一 种平台无 关 、语 言 无 关 的 数 据 描 述 语 言 ,而 且 可以描述 复杂数据关系的数据,比如父子关系的数据。所以 DataSet实 际 上 可 以容 纳具 有 复 杂 关 系 的数据,而且不再依赖于数据库链路 。

2.3 多线 程 技 术

一 个采用了多线程技术的应用程序可以更好地利用系统资源 。其主要优势在于充分利用了CPU的空闲时间片 ,可 以用尽可能少的时间来对用户 的要求做出响应 。使得进程的整体运行效率得到 较大提高,同时增强了应用程序的灵活 性 。 更为重要的是。由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制 ,不需要建立共享存储区或共享文件.从而使得不同任务之间的协调操作与运行、 数据的交互、资源的分配等问题更加易于解决。 在智能导览设备的租赁环节,需要同时进行两项工作 :

(1)即时响应现场工作人员关于扫描导览设备的条码 ;

(2)即时响应身份扫描设备的按键开始扫描游客证件。为此需要借助vb.net的多线程技术。 由vb.net是 基于.net框架的 ,而net框架的重要组成部分 CLR(CommonLanguageRuntime,通用语言运行时 ) 内置支持多线程应用.可以通过系统的System.Threading类直接建立多线程应用程序。 多线程应用程序把程序分解为独立的事务.

它们能通过下面的途径充分提高性能 :

(1)多线程技术可以使程序更容易响应,因为在其他工作继续时用户界面可以保持激活 。

( 2)当前不忙的事务可以把处理器时间让给其他事务。

( 3)花费大量处理时间的事务可以周期性的把时间让给其他的事务。

( 4)事务可以在任何时候停止。

(5)可通过把单独事务的优先级调高或调低来优化性能 。

创建和维护线程的基类是 System.Th reading Thread类。它能够创建并控制线程。设置其优先级并获取其状态。在创 建 线 程 前 必 须 引 用 threading基 类:ImportsSystem.Threading。然后可创建一个新的线程类实例.并使用 AddressOf语 句为要行的线程指定任务。接着可以利用Start、Resume、Suspend、Sleep、Stop、Abort和 Join等方法操纵线程.还可以通过如 IsAliveJsBackgroundYriorityApartmentState和ThreadState 等属性查询和设 置线程状态。如使用Thread类的Sleep方法可以阻滞当前线程,使用Suspend方法可以挂起线程,使用 Resume可以重新启动挂起的线程,使用Abort方法可以停止一个线程。使用Join方法可以使当前线程等待其他线程运行结束。

智能导览设备的激活认证

为了防止现场工作人员私自将导览设 备借 出而不在系统记录以谋取私利的情况发生,有必要加入导览设备的激活认证过程。具体实现过程如下:导览机开机后并不直接进入导程序,而是进入特殊的激活认证环节,监听等待着来自管理机的激活信号:管理机也只有在完成机器条码扫描及游客身份证件扫描后才会发出激活信号,待导览机与管理机完成一次握手协议后导览机便进入正常的导览程序。而此时管理机已经将机器的激活信息记录下来,这样就可以有效避免前文提到的问题发生 。

三、系统的实现

完成各个功能模块的设计后就可以将整体融合建立可执行文件,形成一个独立的可执行文件,再利用安装向导或者其他打包工具把系统打包成一个安装文件 。

 

智慧展馆里智慧讲解的标配:导览系统  自动讲解器  分区讲解系统