1设计思想
基于模式开发的测绘仪器校准管理系统,测量仪器的检定校准过程从人工文件记录转变为从用户浏览器进行流程管理。一方面,依据检定校准的流程,校准信息从客户端浏览器通过局域网发送到服务器,存储在数据库里;另一方面,客户端的查询、修改、出证书等请求得到服务器响应,响应结果通过局域网返回给用户浏览器。B/S结构由表示层、功能层、数据层三个相对独立的单元组成,如图1所示[3]。表示层指用户浏览器,用于显示用户界面,接收用户事件及向服务器发送请求。功能层是能够运行网站应用程序的Web服务器,位于表示层与数据层之间,作用是接收表示层请求,执行相关程序,并对数据库服务器发出操作请求,然后将执行结果返回给表示层。数据层是数据库服务器,功能是对数据表进行插入、查询、删除等操作。系统的Web服务器采用Windows自带的IIS,应用程序为开发的应用程序,数据库使用Access数据库,对浏览器没有要求(IE即可)。在平台上开发的Web应用程序,它的每一个页面都是一文件,具有一定功能,比如登录验证、录入信息等。将Web应用程序置于B/S结构体系的IIS服务器下运行,当用户从客户机浏览器发出一个“请求”,该请求通过局域网到达服务器,IIS将“请求”通过相应.dll文件,发送至引引擎响应“请求”加载相文件,并能通过对数据库进行操作,最后生成结果页面发送到客户机浏览器显示。图2显示了的运行机制。测绘仪器校准管理系统的所有功能都以这样的机制运行。
2系统结构设计及实现
2.1功能模块设计
客户将仪器委托给检定机构校准检定的一般流程是:仪器入库—仪器校准检定—出具证书—仪器出库。仪器入库过程记录入库信息(包括仪器名称、送校人、送校要求等);仪器校准检定过程严格依据检定校准流程记录检定结果;出具证书过程是在检定校准结束后出具校准检定证书;仪器出库过程记录出库日期、付款情况等信息。由此设计测绘仪器校准管理系统的功能模块,包括登录验证模块、仪器入库模块、仪器校准模块、出具证书模块、仪器出库模块,如图3所示。为了保证数据的安全性,系统只给特定人员登录权限,并设置权限级别。对于管理人员来说,他关心的是仪器的送检情况、检测人员[4];对于工作人员,他主要关心自己在检定环节里的那部分工作。一级用户可以进行所有操作;二级用户可以使用系统的特定功能(如:出具证书);三级用户仅能进行记录查询。登录信息和权限级别直接写入数据库,在用户登录时验证权限及权限级别,如图4所示。在这样的功能结构里,有权限的工作人员能进入系统管理仪器的校准过程;级别的划分使工作人员仅在权限范围内操作,保证系统数据的安全性;仪器依次经过仪器入库、仪器校准、出具证书、仪器出库四个过程,为一个生命周期;每一过程必须在前面过程完成之后才能进行,实现有序管理。
2.2数据库设计
2.2.1设计原则及数据结构
数据库的设计以实现对数据的高效存储,满足系统的需求为原则。测绘仪器校准管理系统的数据信息分为三块:人员登录数据、校准仪器入库/出库数据、仪器的校准数据。不同类型仪器的校准数据不同,例如:全站仪校准包括测距、测角两块校准数据;经纬仪只有测角校准数据;测距仪只有测距校准数据。如果给这些数据独自建表会带来数据库操作及编程上的麻烦。因此,将仪器的校准数据集中存储在一个表,同时合并仪器的入库/出库信息,形成一条完整的校准记录。这样做的好处是减少了一部分数据冗余,同时避免了数据表间交叉索引造成的查询麻烦;但其缺点是存在不少空值,不过这对小型数据库性能的影响可以忽略不计。以下是数据库中表的部分结构及实例:登录信息表:用于存储具有权限人员的身份信息,如表1所示。校准信息表:用于保存整个校检过程的信息(仪器入库信息、仪器校准信息、仪器出库信息。)仪器入库信息:清单编号、校准编号、样品类型、送校要求、送校单位、送校人、联系电话、送校日期、校准费用、维修费用、样品接收人、样品名称、样品生产厂商、样品型号、样品编号、样品外观、附件、其它事项,如表2所示。仪器校准信息:加常数校准、周期误差校准、棱镜常数、校准棱镜、校准日期、温度、气压、设施、加常数K、标准不确定度、乘常数、振幅A、振幅A的标准偏差、初相位、校准员、校核者等。如表3所示。仪器出库信息:证书编号、证书批准人、证书取否、样品取否、取样品客户姓名、取样品日期、付款情况、发放样品人等,如表4所示。
2.2.2ADO.NET技术访问数据库
可用于存取数据库和对数据库进行操作。它具有一些顶层对象,具体包含:编程人员利用这些对象建立与Access数据库的联系,对数据库进行SQL语句操作。系统的主要功能是通过用户浏览器对服务器上的数据库执行插入、修改、查询等操作,并将操作结果显示在浏览器上。下面是通过页面上实现以上功能的方法:(1)创建数据库连接和数据库建立起连接,就能实现同数据库的交互。的对象提供了连接功能。(2)对数据库进行查询、修改、插入等操作对象可以对数据库进行查询、修改、插入等操作。这个对象是构架在对象上,也就是对象是通过连接到数据源的对象来下命令的,所以接到哪个数据库,象命令就下到哪里[5]。Command对象的命令是操作数据库的SQL语句。根据运行机制,操作请求通过浏览器发送到引擎,再调用对象,执行SQL命令,就能实现对数据库的操作。(3)控件的数据绑定绑定数据到控件(如:Gridview)可以将数据在页面上进行显示。对象实例可看作数据在内存中的镜像,为数据绑定控件提供了可能。
3结论
采用B/S模式,结合ASP.NET技术、IIS和Access数据库技术开发的测绘仪器校准管理系统,实现了在局域网内通过浏览器对仪器的检定过程进行管理,相对于传统的纸张记录模式有了质的提高,相对于客户端/服务器模式的管理系统也有维护成本低的优势。测绘仪器校准管理系统的功能模块、数据结构依据上海某测量仪器检定公司的仪器校检流程进行设计,贴近实际的仪器校检过程,有很好的实用性。实例测试证明,在使用测绘仪器校准管理系统后,工作人员不必再进行繁琐的纸张记录;信息的查询修改变得更为容易;记录的数据能够在网上进行共享,为工作带来了方便。
作者:辛杰 王解先 高明 陈士连 单位:同济大学测绘与地理信息学院 现代工程测量国家测绘局重点实验室