APP下载

基于非关系型数据库的测绘档案管理系统的设计及实现

2016-10-13柯亚男

移动信息 2016年5期
关键词:云盘预览文档

柯亚男



基于非关系型数据库的测绘档案管理系统的设计及实现

柯亚男

上海市测绘院,上海 200063

结合上海市测绘院《基于Web的数字测绘档案管理系统》的建设实践,着重阐述了非关系型数据库、云技术、工作流控制、在线浏览等新技术在测绘档案管理系统中的应用与实现。

非关系型数据库;测绘档案;云技术;工作流;Web

引言

测绘档案资料是国家的重要财富[1]。现如今,各单位保存测绘档案资料的意识在逐渐增强,相关部门都对此加以重视。然而,为了进一步保存以及利用测绘档案,测绘档案资料数字化以及管理系统的应用已经越来越必不可少。目前国内外使用的档案数字化的手段,以及系统的设计都大不相同。因此,需要结合自身需求,因地制宜,采用信息化的手段和方式,设计实现适合本单位的数字测绘档案管理系统,来提升档案数据的利用以及单位的工作效率。本系统基于浏览器/服务器模式(B/S),采用新兴的非关系型数据库(NoSQL),很好地解决了测绘档案数据量大、信息结构不固定,访问效率低、不便于扩展等问题。并且利用工作流,在线浏览、云储存等新技术,更好地提高了测绘档案的管理效率。同时,通过分层开发技术以及接口的采用,建立了一套易于维护与扩展的系统开发架构,满足了新系统日后的维护以及与其他系统集成的需要。本文首先简要分析了系统所用到的新技术,并对系统的整体架构,业务功能,设计及部署等方面进行了阐述。然后,对在系统实现过程中的核心技术及实现方法进行了重点分析。

1 研究内容

1.1 非关系型数据库

目前运行的大部分档案管理系统采用的都是Oracle数据库管理系统。Oracle数据库为严格遵循三大范式的关系型数据库,对数据表格的定义有及其严格的要求,其特点就是具有固定的表结构,因此扩展性极差。测绘档案数据种类较多,各种档案需要记录的信息相差较大,如果只采用统一的定义或按类分表存储,在著录、查询统计、信息存储及扩展的环节中都存在比较大的问题,因此必须采用一种新的数据结构存储来代替关系数据库。

非关系型数据库(NoSQL)提出另一种理念。例如,以键值对存储,其特点是结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,用户可以根据需要去添加自己需要的字段,这样,为了获取用户的不同信息,不需要像关系型数据库中,要对多表进行关联查询,仅需要根据id取出相应的value就可以完成查询。它适合存储一些相对简单的非结构化数据,例如影像照片、文本、视频资料等。在解决量大数据、问题上效果显著,而对于需要进行较复杂查询的数据,SQL数据库显得更为合适。NoSQL数据库都是基于键值对的形式存储的,根据存储类型可以分为很多种,目前常见的有五种:文档式(MongoDB)、列式(Hbase等)、键值式(Flare等)、对象式(db4o等)和XML式(BaseX)。其中MongoDB数据库作为NoSQL数据库系列的杰出代表,受到业界的一致追捧。[2]

MongoDB与非关系数据库最为接近,而且支持嵌套文档的存储,即将文档或者数组内嵌,一条记录可表示非常复杂的层次结构,这一特性特别适合档案数据模型。[2]其分布式的存储结构也为系统分担压力和负载均衡提供了良好的实现基础。[3]而且支持云计算层次的扩展,这解决了空间数据存储、利用上的诸多问题。[4]

1.2 附件预览

大量的测绘档案数据以电子文件的形式存在。以往电子文档的浏览都受限于文档的格式以及客户端文档阅读软件环境的支持。而SWF格式文件可直接嵌入网页中进行网络传输供用户在线阅读,不需要安装任何阅读器,它支持多种格式的文档转换,并且能防止乱码、图片错误等问题。早期的SWF在线文档预览大多用FlashPaper。FlashPaper的工作原理就是用FlashPaper虚拟打印机将可打印文档转换为SWF文档。[5]但是FlashPaper目前只支持Windows 32位系统,不支持64位系统。因此本系统采用的是FlexPaper。FlexPaper是一款高性能、轻量级且极具表现能力的客户端运行时播放器,能够在各种主流操作系统、浏览器上使用,使得在没有安装阅读器软件的情况下浏览文档成为可能。[6]而且不论对方的平台和语言版本是什么,都可以自由的浏览文档,并可以进行自由的放大,缩小和打印,翻页等操作,对文档的传播非常有好处,刚好适用于本系统的在线文档浏览,不过要先进行文档格式转换。

1.3 工作流

工作流管理,即工作流自定义功能。根据实际的业务工作流程,定义流程图,以及流程中每个节点的用户及转移条件。[7]随着人们的工作越来越依赖计算的在线完成,我们需要通过工作流的机制,来协调业务过程中的各个环节,将工作分解为定义好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,从而实现业务过程的自动化,提高工作效率以及管理效率。[8]在档案管理工作中,从预归档开始、归档整理、档案整理到最终归档入库,都需要一个完整的工作流程,而在档案的借阅和鉴定操作中也需要具备工作流机制,以实现档案的高效控制管理。

1.4 云存储

测绘档案系统需要存储大量的测绘档案数据,并且逐年增多。随着现在云平台的迅猛发展,越来越多的用户选择使用云存储来存放自己的资料。云存储的最大特点在于存储,即服务,用户可以通过公有API将自己的数据上传到云端保存,并供多人同时读取。[9]本系统也尝试了这种存储方式来减少本地存储空间,增加多人读取的效率。目前已有多种云储存的相关产品,包括金山云盘,360云盘,百度云盘,IBM云盘等。本系统采用的是金山云盘,因为金山云盘的设计更适合公司内部的多人使用,并且有详细的权限设计。

2 系统设计

2.1 体系架构

本系统采用面向服务(SOA)的体系结构,遵循面向切面编程(AOP)的设计理念,使系统各个部分相对独立,分成包括数据层、基础平台层以及业务层等在内的各个独立的组件,各组件间通过调用公共的接口服务来互相协调工作,并且可以在遵循接口要求的基础上进行自定义开发、配置,既提供强大的功能,又提供高度的灵活性和自主性。

2.2 数据库设计

本系统采用的MongoDB数据库,是一种非关系型的数据库,并且支持云计算层面的扩展,其扩展性,灵活性大。本数据库中的信息表主要包括案卷表体系、借阅表体系、权限体系以及一些其他表(类别表、库位表、日志表等)。其中,因为MongoDB支持嵌套文档,因此案卷表直接嵌套多个文件信息以及附件信息,呈树状结构,便于检索查询。而且每条记录除了共有字段外,还有不同的扩展字段,灵活性大。

图1 体系架构

2.3 功能设计

本系统设计主要实现以下几块功能,包括档案著录管理、档案检索浏览、档案借阅管理、档案信息统计以及其他一些功能(类别管理、权限管理、日志管理)。

3 系统实现及运行

3.1 实现环境:

开发语言:JAVA;

部署系统:linux系统;

系统模式:浏览器/服务器模式(B/S);

浏览器版本:支持多种浏览器,包括IE(IE6以上)、chrome、火狐等。

3.2 Mongo数据库实现

Java语言可以方便的操作数据库的各种行为,包括连接数据库、插入记录、查询记录以及更新记录,并且也可以查询更新内嵌文档。

(1)连接数据库:

(2)插入记录:

(3)查询记录

(4)更新记录

3.3 文档在线浏览实现

在电子文件上传后就通过后台服务利用工具包SWFtools将PDF文件转换成SWF文件,并在客户端页面使用FlexPaper组件实现预览。其他格式例如Word、PPT、Excel等先利用软件Openoffice转换成PDF格式再实现在线预览。通过设置页面参数还可以根据用户权限判断只预览文档部分页面还是全文预览。

3.4 工作流实现

本系统利用时光工作流内置了两个工作流程:案卷著录流程以及案卷借阅流程,为每个结点设置了相应的参与者以及转移条件。通过调用相应服务来新建流程实例,运行工作项以及显示流程图像。

案卷著录流程运行如下图2所示:

图2 工作流流程示例图

3.5 金山云实现

金山云盘通过HTTP请求的方式来调用相应服务,实现数据的上传、下载以及分享,支持多用户使用。其中分享支持多种形式的分享,包括发送文件给指定用户或者发送含密码链接。分享还可以限制文档分享时间。

3.6 结语与展望

本系统基本上结合了当下最新的技术,包括非结构数据库,云技术,在线浏览技术,工作流控制技术,实现了数字测绘档案管理系统所需要的基本功能,为测绘管理人员工作提供了很大的便利,提高了效率,使测绘档案管理工作有条不紊地进行。测绘档案属于国家保密档案,因此在后续使用中一定要多注意安全问题。

[1]解延宏.基于云计算的纳税服务平台的研究和实现[D].天津:天津大学,2013.

[2]Kristina C,Michael D.MongoDB 权威指南[M].北京:人民邮电出版社,2011.

[3]秦强,王晏民,黄明.基于MongoDB的海量遥感影像大数据存储[J].北京建筑大学学报,2015(3):22.

[4]任国栋,施化吉,等.基于工作流图的办公自动化系统及其实现[J].计算机应用,2002(22):13.

[5]史美林,杨光信,向勇,等.WMS:工作流管理系统[J].计算机学报,1999(22):12-13.

[6]薛锐思,陈建斌,刘龙.知识库中文档在线预览功能的实现[J].计算机光盘软件与应用,2013(13):07-08.

[7]元小涛.基于FlashPaper的文档在线阅读技术探析[J].软件导刊,2013(03):22-25.

[8]邹贵.金MongoDB管理与开发实战详解[J].深入云计算,2013(06):70-71.

[9]周曦,鞠建荣,武小军.刘广霞基于Flex的数字测绘档案业务管理系统的设计与实现[J].城市勘测,2010(06):08.

P208;G270.7;TP311.52

A

1009-6434(2016)05-0060-02

猜你喜欢

云盘预览文档
一键搬家!轻松实现从百度网盘到阿里云盘的直传
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
编辑精选APP
新品预览
Word文档 高效分合有高招
11月在拍电视剧预览表
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
云端难题巧解决
阿里发布SSD云盘 性能大幅提升